
            /* @import statements hoisted from the tenant's custom CSS — they
               must precede every other rule in this stylesheet or browsers
               silently drop them. */
            @import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

            /* Theme variables and custom CSS.
               themeStyles (:root brand vars) is emitted in BOTH native and
               advanced modes so page-builder components keep brand colors/fonts.
               In advanced mode the imported custom_css is injected afterwards and
               overrides the imported markup's look. */
            :root {
  --color-primary: #ffbf00;
  --color-secondary: #1a1a1a;
  --color-accent: #061893;
  --color-secondaryAccent: #8b5cf6;
  --color-background: #fbfaf9;
  --color-surface: #ffffff;
  --color-text: #1a1a1a;
  --color-textSecondary: #666666;
  --color-heading: var(--color-text);
  --heading-h1-size: 2.5rem;
  --heading-h1-color: var(--color-heading, var(--color-text));
  --heading-h2-size: 2rem;
  --heading-h2-color: var(--color-heading, var(--color-text));
  --heading-h3-size: 1.75rem;
  --heading-h3-color: var(--color-heading, var(--color-text));
  --heading-h4-size: 1.5rem;
  --heading-h4-color: var(--color-heading, var(--color-text));
  --heading-h5-size: 1.25rem;
  --heading-h5-color: var(--color-heading, var(--color-text));
  --heading-h6-size: 1rem;
  --heading-h6-color: var(--color-heading, var(--color-text));
  --color-border: #e6e6e6;
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-secondary: 'Playfair Display', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --content-max-width: 100%;
}
body { background-color: #fbfaf9; }

body { background-color: #fbfaf9; }

            /* Site-level custom CSS (sanitized). Only applied in advanced mode;
               native mode stores but does not apply. */
            

/*
 * NAOBI-DC source foundation, not a page/chrome stylesheet.
 * Source: client/src/index.css, ui/button.tsx, ui/card.tsx,
 * installed Tailwind theme/preflight, prebuild/STYLE_INVENTORY.md.
 * Native selector/variable evidence and ownership: ../STYLE_OWNERSHIP.md.
 * Append to, never replace, active tenant CSS. Requires advanced mode.
 */
:root {
  --background: 40 20% 98%;
  --foreground: 0 0% 10%;
  --card: 0 0% 100%;
  --card-foreground: 0 0% 10%;
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 10%;
  --primary: 45 100% 50%;
  --primary-foreground: 0 0% 10%;
  --secondary: 0 0% 10%;
  --secondary-foreground: 45 100% 50%;
  --muted: 40 10% 94%;
  --muted-foreground: 0 0% 40%;
  --accent: 233 92% 30%;
  --accent-foreground: 0 0% 100%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 0 0% 98%;
  --border: 0 0% 90%;
  --input: 0 0% 90%;
  --ring: 45 100% 50%;
  --chart-1: 12 76% 61%;
  --chart-2: 173 58% 39%;
  --chart-3: 197 37% 24%;
  --chart-4: 43 74% 66%;
  --chart-5: 27 87% 67%;
  --font-sans: 'Inter', sans-serif;
  --font-heading: 'Playfair Display', serif;
  --radius: 0.5rem;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  /* Names actually consumed by the native renderer; these hold CSS colors,
     not bare HSL channels. Preserve its exact camelCase textSecondary name. */
  --color-primary: hsl(var(--primary));
  --color-secondary: hsl(var(--secondary));
  --color-accent: hsl(var(--accent));
  --color-background: hsl(var(--background));
  --color-surface: hsl(var(--card));
  --color-text: hsl(var(--foreground));
  --color-textSecondary: hsl(var(--muted-foreground));
  --color-text-secondary: hsl(var(--muted-foreground));
  --color-heading: hsl(var(--foreground));
  --color-border: hsl(var(--border));
  --color-on-primary: hsl(var(--primary-foreground));
  --font-primary: var(--font-sans);
  --font-secondary: var(--font-heading);
  --button-border-radius: var(--radius-md);
}

/* Source token parity only; does not activate a mode or implement the
   source accessibility toolbar's invert/hue-rotate dark-mode behavior. */
.dark {
  --background: 0 0% 5%;
  --foreground: 40 20% 98%;
  --card: 0 0% 8%;
  --card-foreground: 40 20% 98%;
  --popover: 0 0% 8%;
  --popover-foreground: 40 20% 98%;
  --primary: 45 90% 50%;
  --primary-foreground: 0 0% 5%;
  --secondary: 0 0% 15%;
  --secondary-foreground: 40 20% 98%;
  --muted: 0 0% 15%;
  --muted-foreground: 0 0% 65%;
  --accent: 0 0% 15%;
  --accent-foreground: 40 20% 98%;
  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 0 0% 98%;
  --border: 0 0% 20%;
  --input: 0 0% 20%;
  --ring: 45 90% 50%;

  /* Redeclare aliases so a nested .dark resolves its own channel values. */
  --color-primary: hsl(var(--primary));
  --color-secondary: hsl(var(--secondary));
  --color-accent: hsl(var(--accent));
  --color-background: hsl(var(--background));
  --color-surface: hsl(var(--card));
  --color-text: hsl(var(--foreground));
  --color-textSecondary: hsl(var(--muted-foreground));
  --color-text-secondary: hsl(var(--muted-foreground));
  --color-heading: hsl(var(--foreground));
  --color-border: hsl(var(--border));
  --color-on-primary: hsl(var(--primary-foreground));
}

/* Source base layer + Tailwind preflight inherited line-height.
   No universal reset, form reset, image rule, or runtime-widget override. */
body {
  font-family: var(--font-sans);
  line-height: 1.5;
  color: hsl(var(--foreground));
  background-color: hsl(var(--background));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Heading emits an h1–h6, NOT a .puck-heading. Low specificity leaves
   card/runtime component typography and later page rules in control.
   No global size, margin, alignment, color, or hero title prescription. */
:where(#puck-content) :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: -0.025em;
}

/* Leave native .puck-text's 1.6 line-height, Quill/list formatting and
   MediaDirectory/Contact runtime styles intact. They are not page defaults. */

/* Source ui/button.tsx default size; native Button's actual anchor class.
   Deliberately excludes all generic buttons, widget controls and chrome. */
.puck-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  min-height: 2.25rem;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-md);
  font-family: var(--font-sans);
  font-size: 0.875rem;
  line-height: calc(1.25 / 0.875);
  font-weight: 500;
  text-decoration: none;
  transition-property: color, background-color, border-color;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Native variants confirmed in the captured Button switch.
   Border uses source base border-border: named primary-border and
   secondary-border tokens have no definition in the inspected source. */
.puck-button-primary {
  background-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border: 1px solid hsl(var(--border));
}
.puck-button-secondary {
  background-color: hsl(var(--secondary));
  color: hsl(var(--secondary-foreground));
  border: 1px solid hsl(var(--border));
}
.puck-button-outline {
  background-color: transparent;
  color: inherit;
  border: 1px solid hsl(var(--border));
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}
.puck-button-outline:active {
  box-shadow: none;
}
.puck-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px hsl(var(--ring));
}
.puck-button[aria-disabled="true"],
.puck-button:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.puck-button svg {
  pointer-events: none;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

/* Source Card shell only; child padding, featured overlays, avatars,
   typography sizes and interactions belong to the page/card variant. */
.puck-card {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-xl);
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),
    0 1px 2px -1px rgb(0 0 0 / 0.1);
}

/* OPT-IN ONLY: supported Grid/GridPreset customVariant generates
   .puck-grid--{sanitized-token}. No column-count or display overrides.
   Do not add these tokens to existing Resources blocks. */
.puck-grid--source-container {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 40rem) {
  .puck-grid--source-container { max-width: 40rem; }
}
@media (min-width: 48rem) {
  .puck-grid--source-container { max-width: 48rem; }
}
@media (min-width: 64rem) {
  .puck-grid--source-container { max-width: 64rem; }
}
@media (min-width: 80rem) {
  .puck-grid--source-container { max-width: 80rem; }
}
@media (min-width: 96rem) {
  .puck-grid--source-container { max-width: 96rem; }
}
.puck-grid--source-section-12,
.puck-grid--source-section-16,
.puck-grid--source-section-20,
.puck-grid--source-section-24 {
  margin-top: 0;
  margin-bottom: 0;
}
.puck-grid--source-section-12 { padding-top: 3rem; padding-bottom: 3rem; }
.puck-grid--source-section-16 { padding-top: 4rem; padding-bottom: 4rem; }
.puck-grid--source-section-20 { padding-top: 5rem; padding-bottom: 5rem; }
.puck-grid--source-section-24 { padding-top: 6rem; padding-bottom: 6rem; }

/* Card's supported variant prop emits .puck-card--{token}.
   These are full-shell opt-ins, not replacements for CardHeader/Content. */
.puck-card--source-pad-6 { padding: 1.5rem; }
.puck-card--source-pad-8 { padding: 2rem; }

/*
 * Native header candidate. Append AFTER the preserved foundation stylesheet.
 * Source: Navbar.tsx / sheet.tsx; original-measurements.json (1440/1024/768/390).
 * Hooks: captured native stylesheet's semantic chrome contract only.
 * No navigation tree, generated editorial text, HTML or runtime behavior.
   * Configured central DOM/cascade is checked by check-header-browser.mjs.
 */
.site-header {
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  min-height: 97px;
  padding: 0;
  border-bottom: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
}

.site-header .header-flex,
.site-header .header-grid {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: 96px;
  min-height: 96px;
  margin: 0 auto;
  padding: 0 16px;
  gap: 24px;
  flex-wrap: nowrap;
}

.site-header .header-flex,
.site-header .header-grid-row {
  align-items: center;
  justify-content: space-between;
}

.site-header .header-grid-row {
  min-height: 96px;
  gap: 24px;
}

.site-header .header-grid-zone {
  min-width: 0;
  align-items: center;
  gap: 24px;
}

.site-header .header-logo {
  flex-shrink: 1;
  min-width: 0;
  margin-right: auto;
}

.site-header .header-logo-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: hsl(var(--foreground));
}

.site-header .header-logo-img {
  width: 64px;
  height: 64px;
  max-width: 64px;
  max-height: 64px;
  flex-shrink: 0;
  object-fit: contain;
}

/*
 * Both lines are real logo.text content, separated by a real newline.
 * first-line applies to a block; no generated title or subtitle is used.
 * Match the measured source line boxes: title 32px, subtitle 15.36px.
 * Verify the published renderer preserves the newline and the block hook.
 */
.site-header .header-logo-text {
  display: block;
  min-width: 0;
  max-width: 174.984375px;
  white-space: pre-line;
  font-family: var(--font-sans);
  font-size: 9.6px;
  line-height: 15.36px;
  font-weight: 500;
  letter-spacing: 0.48px;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.site-header .header-logo-text::first-line {
  font-family: var(--font-heading);
  font-size: 20px;
  line-height: 32px;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: hsl(var(--foreground));
}

.site-header .header-logo-link:hover .header-logo-img {
  opacity: 0.9;
}

.site-header .header-nav {
  flex: 0 1 auto;
  min-width: 0;
}

.site-header .nav-menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.site-header .nav-link,
.site-header .nav-link-dropdown {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  white-space: nowrap;
  color: hsl(var(--muted-foreground));
}

/* No open-state/active-route assumptions: task 5 owns those states. */
.site-header .header-cta {
  flex-shrink: 0;
}

.site-header .header-cta-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 16px;
  border: 1px solid hsl(var(--border));
  border-radius: 6px;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}

.site-header .header-cta-button[href="https://member.getrecur.com/naobidc"] {
  border-color: hsl(var(--foreground));
  background: transparent;
  color: hsl(var(--foreground));
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

/* Decorative Lucide ExternalLink geometry only; no editorial text. */
.site-header .header-cta-button[href="https://member.getrecur.com/naobidc"]::after {
  content: "";
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.site-header .header-cta-button:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

.site-header .mobile-menu-toggle {
  display: none !important;
}

.mobile-nav,
.mobile-nav.active {
  display: none;
}

@media (min-width: 640px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 640px; }
}
@media (min-width: 768px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 768px; }
}
@media (min-width: 1024px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 1024px; }
}
@media (min-width: 1280px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 1280px; }
}
@media (min-width: 1536px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 1536px; }
}

/* Expand ALL native mobile shell rules, not just the toggle, to source lg. */
@media (max-width: 1023.98px) {
  .site-header .desktop-nav,
  .site-header .header-nav,
  .site-header .header-cta {
    display: none !important;
  }

  .site-header .mobile-menu-toggle {
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    margin-left: auto;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: hsl(var(--foreground));
    line-height: 1;
  }

  .site-header .mobile-menu-toggle svg {
    width: 16px;
    height: 16px;
  }

  /*
   * Decorative backdrop only. Blocks pointer clicks through the dark layer;
   * it does not add outside-click dismissal, modal semantics or focus handling.
   */
  body:has(.mobile-nav.active)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgb(0 0 0 / 0.8);
  }

  .mobile-nav {
    box-sizing: border-box;
    position: fixed;
    inset: 0 0 0 auto;
    width: 300px;
    max-width: 100%;
    height: 100dvh;
    padding: 24px;
    border-left: 1px solid hsl(var(--border));
    overflow-y: auto;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    z-index: 9999;
    font-family: var(--font-sans);
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  }

  .mobile-nav.active {
    display: block;
  }

  .mobile-nav .mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 40px 0;
    padding: 0;
    border: 0;
  }

  .mobile-nav .mobile-nav-title {
    font-family: var(--font-heading);
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
    letter-spacing: -0.6px;
    color: hsl(var(--primary));
  }

  .mobile-nav .mobile-nav-close {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 0;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: hsl(var(--foreground));
    opacity: 0.7;
  }

  .mobile-nav .mobile-nav-close svg {
    width: 16px;
    height: 16px;
  }

  .mobile-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .mobile-nav ul li {
    margin: 0 0 24px;
    border: 0;
  }

  .mobile-nav ul li a {
    display: block;
    padding: 0;
    color: hsl(var(--foreground));
    font-family: var(--font-sans);
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
    text-decoration: none;
  }

  .mobile-nav ul ul.mobile-nav-sub {
    margin: 16px 0 0;
    padding: 0;
    border: 0;
  }

  .mobile-nav ul ul.mobile-nav-sub li {
    margin: 0 0 16px;
    border: 0;
  }

  .mobile-nav ul ul.mobile-nav-sub li a {
    padding: 0;
    font-size: 18px;
    line-height: 28px;
  }
}

@media (min-width: 640px) and (max-width: 1023.98px) {
  .mobile-nav { width: 384px; }
}

/* Source variable faces have distinct aliases: Recur's same-named static faces
   otherwise win font matching and change line breaks (340.565px vs 343.813px).
   These are the exact Latin font URLs from the source's Google Fonts response.
   Unique names prevent changes to the already-published header or page bodies. */
@font-face {
  font-family: "NAOBI Footer Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}

@font-face {
  font-family: "NAOBI Footer Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}

@font-face {
  font-family: "NAOBI Footer Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}

/*
 * Task 4 native footer candidate; append after unchanged foundation + header.
 * Source: Footer.tsx and original-measurements.json at 1440/768/1024/390.
 * User approved retaining native copyright and credit only. No replacements,
 * generated editorial text, guessed IDs, positional selectors or HTML.
 * Configured central DOM/cascade remains parent-verified.
 */
.site-footer {
  --font-sans: "NAOBI Footer Inter", "Inter", sans-serif;
  --font-heading: "NAOBI Footer Playfair", "Playfair Display", serif;
  --color-border: hsl(var(--secondary-foreground) / 0.2);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto auto auto auto auto auto;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 64px 16px 32px;
  border: 0;
  background: hsl(var(--secondary));
  color: hsl(var(--secondary-foreground));
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
}

/* Expose native sections, but preserve the actual bottom bar as one item. */
.site-footer .site-footer-content {
  display: contents;
}

.site-footer .site-footer-section {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.site-footer .site-footer-title {
  margin: 0 0 24px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: -0.45px;
  color: hsl(var(--primary));
}

/* Empty native titles contain no editorial content. */
.site-footer .site-footer-title:empty {
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
}

.site-footer .site-footer-description,
.site-footer .site-footer-text {
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 25.6px;
  color: hsl(var(--secondary-foreground) / 0.8);
}

.site-footer .site-footer-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .site-footer-links li {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 25.6px;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-footer .site-footer-links a {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: inherit;
  font-weight: 400;
  opacity: 1;
}

.site-footer a:hover {
  color: hsl(var(--primary));
  text-decoration: none;
}

.site-footer a:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}

/* Brand, mission and social remain independent genuine native sections. */
.site-footer .site-footer-section:has(a[href="/"]) {
  grid-row: 1;
  margin-bottom: 16px;
}

.site-footer .site-footer-section:has(a[href="/"]) .site-footer-links a {
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: var(--font-heading);
  font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  letter-spacing: normal;
  color: hsl(var(--primary));
}

.site-footer .site-footer-section:has(.site-footer-description):not(:has(.site-footer-text)) {
  grid-row: 2;
  padding-bottom: 24px;
}

.site-footer .site-footer-section:has(.site-footer-description):not(:has(.site-footer-text)) .site-footer-description {
  max-width: 448px;
}

.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) {
  grid-row: 3;
  margin-bottom: 48px;
}

.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) .site-footer-links {
  flex-direction: row;
  gap: 16px;
}

.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) li {
  width: 20px;
  height: 20px;
  line-height: 20px;
}

/* Real native labels remain in the accessibility tree. The mask is decoration;
   indentation clips the visual label without replacing its text or attributes. */
.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) a {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 28px;
}

.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: currentColor;
  -webkit-mask: var(--footer-social-icon) center / contain no-repeat;
  mask: var(--footer-social-icon) center / contain no-repeat;
}

.site-footer a[href="https://www.facebook.com/share/1C6fnGuDwh/?mibextid=wwXlfr"] {
  --footer-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
}

.site-footer a[href="https://www.youtube.com/@NAOBIDC"] {
  --footer-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17'/%3E%3Cpath d='m10 15 5-3-5-3z'/%3E%3C/svg%3E");
}

.site-footer a[href="https://www.instagram.com/naobidc?igsh=cHQ0ZzFoZjRiNm52"] {
  --footer-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' x2='17.51' y1='6.5' y2='6.5'/%3E%3C/svg%3E");
}

.site-footer .site-footer-section:has(a[href="/about"]) {
  grid-row: 4;
  margin-bottom: 48px;
}

.site-footer .site-footer-section:has(.site-footer-contact) {
  grid-row: 5;
  margin-bottom: 48px;
}

/* Verified central DOM uses direct div wrappers and redundant strong labels.
   Hide only the template labels, retaining the full real address/mail content. */
.site-footer .site-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 25.6px;
}

.site-footer .site-footer-contact > div {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 0;
  white-space: pre-line;
  font-size: 16px;
  line-height: 25.6px;
  color: hsl(var(--secondary-foreground));
}

.site-footer .site-footer-contact > div > strong {
  display: none;
}

.site-footer .site-footer-contact > div:not(:has(a)) {
  order: 0;
}

.site-footer .site-footer-contact > div:has(a[href="mailto:info@naobidc.org"]) {
  order: 1;
  align-items: center;
}

.site-footer .site-footer-contact > div::before {
  content: "";
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  background: hsl(var(--primary));
  -webkit-mask: var(--footer-contact-icon) center / contain no-repeat;
  mask: var(--footer-contact-icon) center / contain no-repeat;
}

.site-footer .site-footer-contact > div:not(:has(a)) {
  --footer-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.site-footer .site-footer-contact > div:has(a[href="mailto:info@naobidc.org"]) {
  --footer-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

.site-footer .site-footer-contact > div:has(a[href="mailto:info@naobidc.org"])::before {
  margin-top: 0;
}

.site-footer .site-footer-contact a {
  margin: 0;
  color: inherit;
  font-size: 16px;
  line-height: 25.6px;
}

/* Cohesive acknowledgment/native nonprofit prose: no HTML or pseudo-copy. */
.site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) {
  grid-row: 6;
  padding-top: 32px;
  padding-bottom: 0;
  margin-bottom: 8px;
  border-top: 1px solid hsl(var(--secondary-foreground) / 0.2);
  text-align: center;
}

.site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) p {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 22.4px;
  color: hsl(var(--secondary-foreground) / 0.6);
}

.site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) .site-footer-description {
  font-style: italic;
}

/* Source last-paragraph margin collapses into the parent's 24px margin. Grid
   items prevent that collapse, so reproduce the measured effective spacing. */
.site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) .site-footer-text {
  margin-bottom: 0;
}

/* Keep the platform's enforced visible flex bar and badge intact. Its 16px
   top margin combines with the preceding 8px to match the source's 24px gap.
   Its 8px top padding combines with child margins to match source 32px. */
footer.site-footer > .footer-bottom-bar {
  grid-row: 7;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
  line-height: 22.4px;
}

footer.site-footer > .footer-bottom-bar > .footer-bottom-bar-details {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
  min-width: 0;
  max-width: 100%;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
  text-align: center;
  color: hsl(var(--secondary-foreground) / 0.6);
  font-size: 14px;
  line-height: 22.4px;
}

footer.site-footer > .footer-bottom-bar > .footer-bottom-bar-link {
  flex: 0 0 auto;
  margin: 8px auto 16px;
}

.site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) {
  grid-row: 8;
  justify-self: center;
  margin: 0;
  padding: 0;
  color: hsl(var(--secondary-foreground) / 0.6);
}

.site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) .site-footer-links {
  flex-direction: row;
  gap: 24px;
}

.site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) li,
.site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) a {
  font-size: 14px;
  line-height: 20px;
}

@media (min-width: 640px) {
  .site-footer {
    padding-right: max(16px, calc((100% - 640px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 640px) / 2 + 16px));
  }
}

@media (min-width: 768px) {
  .site-footer {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: 52px max-content 20px minmax(0, 1fr) auto auto;
    column-gap: 48px;
    padding-right: max(16px, calc((100% - 768px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 768px) / 2 + 16px));
  }

  .site-footer .site-footer-section:has(a[href="/"]),
  .site-footer .site-footer-section:has(.site-footer-description):not(:has(.site-footer-text)),
  .site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) {
    grid-column: 1 / 3;
    margin-bottom: 0;
  }

  .site-footer .site-footer-section:has(a[href="/about"]) {
    grid-column: 3;
    grid-row: 1 / 5;
    margin-bottom: 0;
  }

  .site-footer .site-footer-section:has(.site-footer-contact) {
    grid-column: 4;
    grid-row: 1 / 5;
    margin-bottom: 0;
  }

  .site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) {
    grid-column: 1 / -1;
    grid-row: 5;
    margin-top: 48px;
  }

  footer.site-footer > .footer-bottom-bar {
    grid-column: 1 / -1;
    grid-row: 6;
    width: calc(50% + 90px);
    align-self: stretch;
  }

  footer.site-footer > .footer-bottom-bar > .footer-bottom-bar-details {
    flex: 1 1 0;
    justify-content: flex-start;
    text-align: left;
  }

  footer.site-footer > .footer-bottom-bar > .footer-bottom-bar-link {
    margin: 24px 0 0;
  }

  .site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) {
    grid-row: 6;
    grid-column: 3 / 5;
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    z-index: 1;
    margin: 0;
    padding-top: 49px;
    border: 0;
    align-self: start;
  }

  /* Continue the native bar's divider across the legal column. The opaque
     backing avoids doubling alpha over the native segment; no content changes. */
  .site-footer::after {
    content: "";
    grid-column: 1 / -1;
    grid-row: 6;
    align-self: start;
    height: 1px;
    margin-top: 16px;
    border-top: 1px solid hsl(var(--secondary-foreground) / 0.2);
    background: hsl(var(--secondary));
    pointer-events: none;
  }
}

@media (min-width: 1024px) {
  .site-footer {
    padding-right: max(16px, calc((100% - 1024px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 1024px) / 2 + 16px));
  }
}

@media (min-width: 1280px) {
  .site-footer {
    padding-right: max(16px, calc((100% - 1280px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 1280px) / 2 + 16px));
  }
}

@media (min-width: 1536px) {
  .site-footer {
    padding-right: max(16px, calc((100% - 1536px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 1536px) / 2 + 16px));
  }
}

/*
 * Navigation-only layer; append AFTER unchanged foundation/header/footer.
 * Source: Navbar.tsx and generated-artifacts/recur-navigation/source-measurements.json.
 * Actual central DOM: published-home.html. No guessed IDs or generated labels.
 * Native behavior is retained, including documented unresolved semantics/focus.
 */
@font-face {
  font-family: "NAOBI Navigation Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}

@font-face {
  font-family: "NAOBI Navigation Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}

.site-header .header-nav .nav-menu {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header .header-nav .nav-menu > li {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

/* These genuine navigation links are mobile actions, not duplicate desktop CTAs. */
.site-header .header-nav:has(.nav-item-dropdown) .nav-menu > li:has(> a[href="https://member.getrecur.com/naobidc"]),
.site-header .header-nav:has(.nav-item-dropdown) .nav-menu > li:has(> a[href="/donate"]) {
  display: none;
}

.site-header .header-nav .nav-menu > li > a {
  box-sizing: border-box;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: hsl(var(--muted-foreground));
  font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  transition: none;
}

.site-header .header-nav .nav-menu > li > a.nav-link-dropdown {
  gap: 8px;
  height: 38px;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 6px;
}

.site-header .header-nav .nav-menu > li > a:hover {
  background: transparent;
  color: hsl(var(--primary));
}

.site-header .header-nav .nav-menu > li > a:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Replace only the existing decorative triangle with source Lucide geometry.
 * Source ChevronDown does not rotate on open. No labels are generated here. */
.site-header .header-nav .nav-link-dropdown > .dropdown-arrow {
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0 0 0 4px;
  padding: 0;
  font-size: 0;
  line-height: 0;
  transform: none;
  transition: none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.site-header .header-nav .nav-item-dropdown > .nav-dropdown {
  box-sizing: border-box;
  position: absolute;
  top: 100%;
  left: 0;
  right: auto;
  bottom: auto;
  width: max-content;
  min-width: 128px;
  max-width: none;
  margin: 4px 0 0;
  padding: 4px;
  border: 1px solid hsl(var(--border));
  border-radius: 6px;
  background: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
  list-style: none;
  z-index: 50;
  /* Display remains controlled by the native .active click handler. */
}

.site-header .header-nav .nav-dropdown > li {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.site-header .header-nav .nav-dropdown > li > a.nav-link,
.site-header .header-nav .nav-dropdown > li > a.nav-link:link,
.site-header .header-nav .nav-dropdown > li > a.nav-link:visited,
.site-header .header-nav .nav-dropdown > li > a.nav-link:active {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 32px;
  margin: 0;
  padding: 6px 8px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: hsl(var(--popover-foreground));
  font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  transition: none;
}

.site-header .header-nav .nav-dropdown > li > a.nav-link:hover,
.site-header .header-nav .nav-dropdown > li > a.nav-link:focus {
  background: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
  outline: none;
}

@media (max-width: 1023.98px) {
  /* Preserve existing drawer geometry and native header/title/close control.
   * Header title remains the actual native text; its known parity gap is not
   * disguised with generated text, truncation, or a fake replacement link. */
  .mobile-nav > ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
  }

  .mobile-nav > ul > li,
  .mobile-nav > ul > li > ul.mobile-nav-sub > li {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
  }

  .mobile-nav > ul > li > a,
  .mobile-nav > ul > li > ul.mobile-nav-sub > li > a {
    box-sizing: border-box;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: hsl(var(--foreground));
    font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
    transition: none;
  }

  .mobile-nav > ul > li > a:hover,
  .mobile-nav > ul > li > ul.mobile-nav-sub > li > a:hover {
    color: hsl(var(--primary));
    background: transparent;
  }

  .mobile-nav > ul > li:has(> .mobile-nav-sub) > a[href="#"] {
    font-family: "NAOBI Navigation Playfair", "Playfair Display", serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    color: hsl(var(--muted-foreground));
    /* Still a real native anchor. Do not disable its click handler with CSS. */
  }

  .mobile-nav > ul > li > ul.mobile-nav-sub {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 16px 0 0;
    padding: 0;
    border: 0;
    list-style: none;
  }

  .mobile-nav > ul > li:has(> a[href="https://member.getrecur.com/naobidc"]) {
    margin-top: 16px;
  }

  .mobile-nav > ul > li > a[href="https://member.getrecur.com/naobidc"],
  .mobile-nav > ul > li > a[href="/donate"] {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 38px;
    padding: 8px 16px;
    border: 1px solid hsl(var(--foreground));
    border-radius: 6px;
    background: transparent;
    color: hsl(var(--foreground));
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
  }

  .mobile-nav > ul > li > a[href="/donate"] {
    border-color: transparent;
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
  }

  .mobile-nav > ul > li > a[href="https://member.getrecur.com/naobidc"]::after {
    content: "";
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-left: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .mobile-nav > ul a:focus-visible {
    outline: 2px solid hsl(var(--ring));
    outline-offset: 2px;
  }
}

/* About-only layer. Append after the unchanged foundation/header/footer/nav.
   Measured original: generated-artifacts/recur-about/source-measurements.json.
   Public renderer contract: published-home.html Hero/Grid/Heading/Text cases.
   Distinct source-variable aliases avoid native exact-weight face collisions. */
@font-face {
  font-family: "NAOBI About Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI About Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}

/* Native main has 2rem padding. Break out by that exact amount; do not
   alter main, chrome, the global font families or development/auth surfaces. */
.puck-hero.puck-hero--about-banner {
  box-sizing: border-box;
  display: block;
  width: calc(100% + 4rem);
  max-width: none;
  min-height: 0 !important;
  height: auto;
  margin: -2rem -2rem 0 !important;
  padding: 80px 0;
  background: hsl(0 0% 10%) !important;
  color: hsl(45 100% 50%);
  text-align: center;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: "NAOBI About Inter", sans-serif;
}
.puck-hero--about-banner .puck-hero-content {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0 16px;
  text-align: center;
}
.puck-hero--about-banner .puck-hero-title {
  padding: 0;
  margin: 0 0 24px !important;
  font-family: "NAOBI About Playfair", serif !important;
  font-size: 36px !important;
  line-height: 40px;
  font-weight: 700;
  letter-spacing: -0.025em;
  text-transform: none;
  color: hsl(45 100% 50%) !important;
}
.puck-hero--about-banner .puck-hero-subtitle {
  width: auto;
  max-width: 768px;
  margin: 0 auto !important;
  padding: 0;
  font-family: "NAOBI About Inter", sans-serif !important;
  font-size: 20px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: normal;
  color: hsl(45 100% 50% / 0.8) !important;
}

.puck-grid.puck-grid--about-body,
.puck-grid.puck-grid--about-container,
.puck-grid.puck-grid--about-split,
.puck-grid.puck-grid--about-purpose,
.puck-grid.puck-grid--about-mission,
.puck-grid.puck-grid--about-vision {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: "NAOBI About Inter", sans-serif;
  font-weight: 400;
  letter-spacing: normal;
}
.puck-grid.puck-grid--about-body {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem -2rem !important;
  padding: 80px 0;
  background: hsl(40 20% 98%);
  color: hsl(0 0% 10%);
}
.puck-grid--about-body .puck-grid-column {
  min-width: 0;
}
.puck-grid.puck-grid--about-container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid.puck-grid--about-split {
  gap: 48px !important;
}
.puck-grid.puck-grid--about-vision {
  margin-top: 48px;
}
.puck-grid--about-body h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 0;
  margin: 0 0 24px !important;
  font-family: "NAOBI About Playfair", serif !important;
  font-size: 30px !important;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: -0.025em;
  color: hsl(0 0% 10%) !important;
  text-align: left;
}
.puck-grid--about-body .puck-text {
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  font-family: "NAOBI About Inter", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: normal;
  color: hsl(0 0% 40%);
  text-align: left;
}
.puck-grid--about-body .puck-text p {
  padding: 0;
  margin: 0 !important;
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.puck-grid--about-vision .puck-text {
  max-width: 896px !important;
}

/* Exact source Lucide paths. Empty pseudo-elements are decorative; Heading
   contains real editable Purpose/Mission/Vision words for accessible names. */
.puck-grid--about-purpose h2::before,
.puck-grid--about-mission h2::before,
.puck-grid--about-vision h2::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  background-color: hsl(45 100% 50%);
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  mask-position: center;
}
.puck-grid--about-purpose h2::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E");
}
.puck-grid--about-mission h2::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E");
}
.puck-grid--about-vision h2::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
@media (min-width: 640px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 640px; }
}
@media (min-width: 768px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 768px; }
  .puck-hero--about-banner .puck-hero-title { font-size: 48px !important; line-height: 48px; }
  .puck-grid.puck-grid--about-split { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 1024px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 1024px; }
}
@media (min-width: 1280px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 1280px; }
}
@media (min-width: 1536px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 1536px; }
}

/* Home fidelity layer SIX. Append only after the unchanged five-layer About
   stylesheet f20a102768f73d04c12b1f9e4ffbb799120a415e2618950436a07a37a5314e96.
   Native Grid/Card/Button/Image hooks verified in recur-about/published.html.
   Editorial markup is native Quill, never a custom layout fragment. */
@font-face {
  font-family: "NAOBI Home Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Home Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Home Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Home Playfair";
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--home-"] {
  --home-gold: hsl(45 100% 50%);
  --home-dark: hsl(0 0% 10%);
  --home-muted: hsl(0 0% 40%);
  --home-background: hsl(40 20% 98%);
  --home-muted-surface: hsl(40 10% 94% / .3);
  --home-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: "NAOBI Home Inter", sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  letter-spacing: normal;
  color: var(--home-dark);
}
.puck-grid[class*="puck-grid--home-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--home-"] :where(.puck-text) {
  padding: 0 !important;
  margin: 0 !important;
  font-family: "NAOBI Home Inter", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
  color: inherit;
  text-align: inherit;
}
.puck-grid[class*="puck-grid--home-"] :where(.puck-text p) {
  padding: 0;
  margin: 0 !important;
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.puck-grid[class*="puck-grid--home-"] :is(h1,h2,h3) {
  font-family: "NAOBI Home Playfair", serif !important;
  font-weight: 700;
  letter-spacing: -.025em;
  text-transform: none;
  padding: 0;
}
.puck-grid--home-hero,
.puck-grid--home-scholarship,
.puck-grid--home-mission,
.puck-grid--home-features,
.puck-grid--home-newsletter,
.puck-grid--home-vision,
.puck-grid--home-events,
.puck-grid--home-partners {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem !important;
  background: hsl(40 20% 98%);
}
.puck-grid.puck-grid--home-hero {
  position: relative;
  height: 80vh;
  min-height: 600px;
  margin-top: -2rem !important;
  overflow: hidden;
  background: rgb(0 0 0);
  align-items: center;
  text-align: center;
}
.puck-grid--home-hero > .puck-grid-column { position: static; }
.puck-grid--home-hero > .puck-grid-column > .puck-image {
  position: absolute;
  inset: 0;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.puck-grid--home-hero .puck-image-img {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover !important;
  border-radius: 0 !important;
  opacity: .6;
}
.puck-grid--home-hero > .puck-grid-column::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgb(0 0 0 / .9), rgb(0 0 0 / .5), transparent);
}
.puck-grid.puck-grid--home-container,
.puck-grid.puck-grid--home-newsletter-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid--home-hero .puck-grid--home-container { position: relative; z-index: 2; }
.puck-grid.puck-grid--home-hero-copy {
  max-width: 896px;
  margin: 0 auto;
  animation: home-hero-enter .8s cubic-bezier(0,.71,.2,1.01) both;
}
@keyframes home-hero-enter {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.puck-grid--home-hero-copy h1 {
  margin: 0 0 24px !important;
  color: rgb(255 255 255) !important;
  font-size: 36px !important;
  line-height: 1.25;
}
/* Source accessibility defaults set span line-height 1.6 even with extra=0.
   Retain its observed inline line box while using legitimate Quill emphasis. */
.puck-grid--home-hero-copy h1 em {
  color: hsl(45 100% 50%);
  font-style: italic;
  line-height: 1.6;
}
.puck-grid--home-hero-copy .puck-text p {
  max-width: 672px;
  margin: 0 auto !important;
  font-size: 18px;
  line-height: 1.6;
  color: oklch(.928 .006 264.531);
}
.puck-grid.puck-grid--home-hero-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px !important;
  margin-top: 24px;
  padding-top: 32px;
}
.puck-grid[class*="puck-grid--home-"] :where(.puck-button-container) {
  display: flex;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}
.puck-grid[class*="puck-grid--home-"] :where(.puck-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 16px;
  border: 1px solid hsl(0 0% 90%);
  border-radius: 6px;
  font-family: "NAOBI Home Inter", sans-serif !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  transition: color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid[class*="puck-grid--home-"] :where(.puck-button):focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 1px hsl(45 100% 50%);
}
.puck-grid--home-hero-actions .puck-button {
  padding: 24px 32px;
  font-size: 18px;
  line-height: 28px;
  min-height: 40px !important;
}
.puck-grid--home-hero-actions .puck-button-container,
.puck-grid--home-hero-actions .puck-button { width: 100%; }
.puck-grid--home-hero-actions .puck-button--home-join { background: hsl(45 100% 50%); color: hsl(0 0% 10%); }
.puck-grid--home-hero-actions .puck-button--home-join:hover { background: hsl(45 100% 50% / .9); }
.puck-grid--home-hero-actions .puck-grid--home-hero-learn .puck-text p {
  margin: 0 !important;
  padding: 0;
  font-size: 18px;
  line-height: 28px;
  color: rgb(255 255 255);
}
.puck-grid--home-hero-learn .puck-text a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  padding: 24px 32px;
  border: 2px solid rgb(255 255 255);
  border-radius: 6px;
  font-family: "NAOBI Home Inter", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  white-space: nowrap;
  text-decoration: none;
  background: transparent;
  color: rgb(255 255 255);
  box-shadow: none;
  transition: color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--home-hero-learn .puck-text a:hover { background: rgb(255 255 255 / .1); }
.puck-grid--home-hero-learn .puck-text a:focus-visible { outline: none; box-shadow: 0 0 0 1px hsl(45 100% 50%); }
.puck-grid.puck-grid--home-scholarship { padding: 64px 0; background: hsl(45 100% 50%); }
.puck-grid.puck-grid--home-scholarship-split { max-width: 896px; margin: 0 auto; gap: 32px !important; align-items: center; text-align: center; }
.puck-grid--home-scholarship-split > .puck-grid-column:last-child { display: none; }
.puck-grid--home-scholarship-split .puck-text > p:first-child { display: flex; justify-content: center; margin-bottom: 16px !important; }
.puck-grid--home-scholarship .puck-text > p > strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border: 1px solid hsl(0 0% 10% / .2);
  border-radius: 9999px;
  background: hsl(0 0% 10% / .1);
  color: hsl(0 0% 10%);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  line-height: 20px;
}
.puck-grid--home-scholarship .puck-text > p > strong::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: currentColor; }
.puck-grid--home-scholarship h2 { margin: 0 0 16px !important; color: hsl(0 0% 10%) !important; font-size: 30px !important; line-height: 36px; }
.puck-grid--home-scholarship .puck-text > p:last-child { color: hsl(0 0% 10% / .7); font-size: 18px; line-height: 1.6; margin-bottom: 24px !important; }
.puck-grid--home-scholarship .puck-button-container { justify-content: center; }
.puck-grid--home-scholarship .puck-button--home-scholarship {
  width: 100%;
  min-height: 40px !important;
  padding: 0 32px;
  color: hsl(0 0% 10%);
  border: 1px solid hsl(0 0% 10% / .4);
  background: transparent;
  box-shadow: 0 1px 2px rgb(0 0 0 / .05);
}
.puck-grid--home-scholarship .puck-button--home-scholarship:hover { background: hsl(0 0% 10% / .1); }
.puck-grid--home-scholarship .puck-button--home-scholarship:active { box-shadow: none; }
.puck-grid--home-scholarship .puck-button--home-scholarship::after,
.puck-grid--home-features .puck-card-button::after,
.puck-grid--home-newsletter-panel .puck-text a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: currentColor;
  mask: var(--home-arrow) center / contain no-repeat;
}
.puck-grid--home-scholarship .puck-button--home-scholarship::after { margin-left: 8px; }
.puck-grid--home-scholarship .puck-image { padding: 0 !important; margin: 0 !important; }
.puck-grid--home-scholarship .puck-image-figure { margin: 0; width: 224px; }
.puck-grid--home-scholarship .puck-image-img { width: 224px !important; height: 224px !important; object-fit: cover !important; object-position: top; border-radius: 16px !important; border: 4px solid hsl(0 0% 10% / .2); box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1); }
.puck-grid--home-scholarship .puck-image-caption { margin: 8px 0 0; font-size: 12px; line-height: 19.2px; color: hsl(0 0% 10% / .7); text-align: center; font-style: normal; }
.puck-grid.puck-grid--home-mission { padding: 96px 0; text-align: center; }
.puck-grid--home-mission .puck-text { max-width: 768px; margin: 0 auto !important; }
.puck-grid--home-mission .puck-text::before { content: ""; display: block; width: 96px; height: 4px; margin: 0 auto 32px; background: hsl(45 100% 50%); }
.puck-grid--home-mission .puck-text p { font-size: 20px; line-height: 32px; }
.puck-grid--home-mission .puck-text p:first-child { margin-bottom: 32px !important; color: hsl(0 0% 40%); }
.puck-grid--home-mission .puck-text p:first-child { font-style: italic; }
.puck-grid--home-mission .puck-text p:last-child { font-weight: 700; }
.puck-grid--home-mission .puck-text strong { font-weight: 700; }
.puck-grid.puck-grid--home-features { padding: 80px 0; background: hsl(40 10% 94% / .3); }
.puck-grid.puck-grid--home-feature-cards { gap: 32px !important; align-items: stretch; }
.puck-grid--home-features .puck-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: 100%;
  margin: 0;
  padding: 32px !important;
  border: 0;
  border-radius: 12px;
  background: hsl(0 0% 100%) !important;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1) !important;
  transition: box-shadow .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--home-features .puck-card:hover { box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1) !important; }
.puck-grid--home-features .puck-card::before { content: ""; width: 64px; height: 64px; flex: 0 0 64px; margin-bottom: 16px; border-radius: 50%; background: hsl(45 100% 50% / .1); transition: background-color .3s cubic-bezier(.4,0,.2,1); }
.puck-grid--home-features .puck-card::after { content: ""; position: absolute; top: 48px; left: calc(50% - 16px); width: 32px; height: 32px; background: hsl(45 100% 50%); mask: var(--home-icon) center / contain no-repeat; transition: background-color .3s cubic-bezier(.4,0,.2,1); }
.puck-grid--home-features .puck-card:hover::before { background: hsl(45 100% 50%); }
.puck-grid--home-features .puck-card:hover::after { background: hsl(0 0% 10%); }
.puck-grid--home-features .puck-card--home-feature-cmp { --home-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z'/%3E%3Cpath d='M22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E"); }
.puck-grid--home-features .puck-card--home-feature-community { --home-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Cpath d='M16 3.128a4 4 0 0 1 0 7.744'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E"); }
.puck-grid--home-features .puck-card--home-feature-scholarship { --home-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E"); }
.puck-grid--home-features .puck-card > div { width: 100%; padding: 0 !important; }
.puck-grid--home-features .puck-card-title { width: fit-content; max-width: 100%; margin: 0 auto 16px !important; font-size: 20px !important; line-height: 28px; color: hsl(0 0% 10%) !important; }
.puck-grid--home-features .puck-card-description { margin: 0 0 16px; font-family: "NAOBI Home Inter", sans-serif; font-size: 16px; line-height: 25.6px; color: hsl(0 0% 40%); }
.puck-grid--home-features .puck-card > div > div:has(.puck-card-button) { display: flex; justify-content: center; margin: 0 !important; }
.puck-grid--home-features .puck-card-button {
  display: inline-flex !important;
  min-height: 36px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px;
  gap: 8px;
  background: transparent !important;
  color: hsl(45 100% 50%) !important;
  font-weight: 600;
  transition: transform .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--home-features .puck-card-button::after { margin-left: 4px; }
.puck-grid--home-features .puck-card:hover .puck-card-button { transform: translateX(4px); }
.puck-grid--home-features .puck-card-button:hover { text-decoration: underline; text-underline-offset: 4px; }
.puck-grid.puck-grid--home-newsletter { padding: 48px 0; }
.puck-grid.puck-grid--home-newsletter-container { max-width: 896px; }
.puck-grid.puck-grid--home-newsletter-panel {
  position: relative;
  align-items: center;
  gap: 32px !important;
  margin: 0;
  padding: 32px;
  border: 0;
  border-radius: 16px;
  background: hsl(0 0% 10%);
  color: hsl(45 100% 50%);
  box-shadow: none;
  text-align: center;
  cursor: pointer;
  transition: box-shadow .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--home-newsletter-panel:hover { box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1); }
.puck-grid--home-newsletter-panel:focus-within { outline: 1px auto rgb(16 16 16); }
.puck-grid--home-newsletter-panel > .puck-grid-column,
.puck-grid--home-newsletter-panel .puck-text,
.puck-grid--home-newsletter-panel .puck-text p,
.puck-grid--home-newsletter-panel .puck-text a { position: static; }
.puck-grid--home-newsletter-panel .puck-image { padding: 0 !important; margin: 0 !important; }
.puck-grid--home-newsletter-panel .puck-image-img { width: 256px !important; height: auto !important; object-fit: fill !important; border-radius: 8px !important; box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1); transition: box-shadow .15s cubic-bezier(.4,0,.2,1); }
.puck-grid--home-newsletter-panel:hover .puck-image-img { box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
.puck-grid--home-newsletter-panel .puck-text > p:first-child { line-height: 24px; }
.puck-grid--home-newsletter-panel .puck-text > p > strong { padding: 4px 12px; background: hsl(45 100% 50% / .1); color: hsl(45 100% 50%); border-radius: 9999px; font-size: 14px; line-height: 22.4px; font-weight: 500; letter-spacing: normal; text-transform: none; }
.puck-grid--home-newsletter-panel h2 { margin: 0 0 16px !important; font-size: 30px !important; line-height: 36px; color: hsl(45 100% 50%) !important; }
.puck-grid--home-newsletter-panel .puck-text > h2 + p { margin-bottom: 16px !important; font-size: 18px; line-height: 28.8px; color: hsl(45 100% 50% / .8); }
.puck-grid--home-newsletter-panel .puck-text a { display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 8px; font-size: 16px; line-height: 25.6px; font-weight: 600; color: hsl(45 100% 50%); text-decoration: none; }
/* Genuine Quill anchor: one focus target, stretched over its owned native Grid.
   The empty overlay adds no content, link, action, or script. */
.puck-grid--home-newsletter-panel .puck-text a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 16px; }
.puck-grid--home-newsletter-panel .puck-text a:focus-visible { outline: none; }
.puck-grid--home-newsletter-panel:hover .puck-text a { text-decoration: underline; }
.puck-grid.puck-grid--home-vision { padding: 96px 0; }
.puck-grid.puck-grid--home-vision-split { gap: 48px !important; align-items: center; }
.puck-grid.puck-grid--home-vision-video { aspect-ratio: 16/9; position: relative; background: hsl(40 10% 94%); border-radius: 8px; overflow: hidden; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
.puck-grid--home-vision-video > .puck-grid-column > div { margin: 0 !important; position: absolute; inset: 0; width: 100%; height: 100%; }
.puck-grid--home-vision-video iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.puck-grid--home-vision h2 { margin: 0 0 24px !important; color: hsl(0 0% 10%) !important; font-size: 36px !important; line-height: 40px; }
.puck-grid--home-vision .puck-text p { margin-bottom: 24px !important; font-size: 18px; line-height: 28.8px; color: hsl(0 0% 40%); }
.puck-grid--home-vision .puck-button--home-vision { min-height: 36px !important; background: hsl(0 0% 10%); color: hsl(45 100% 50%); }
.puck-grid--home-vision .puck-button--home-vision:hover { background: hsl(0 0% 10% / .9); }
.puck-grid.puck-grid--home-events { padding: 96px 0; background: hsl(0 0% 10%); color: hsl(45 100% 50%); }
.puck-grid.puck-grid--home-events-heading { margin-bottom: 48px; align-items: end; }
.puck-grid--home-events-heading > .puck-grid-column:last-child { display: none; }
.puck-grid--home-events h2 { margin: 0 0 16px !important; font-size: 30px !important; line-height: 36px; color: hsl(45 100% 50%) !important; }
.puck-grid--home-events-heading .puck-text p { max-width: 576px; font-size: 16px; line-height: 25.6px; color: hsl(45 100% 50% / .7); }
.puck-grid--home-events-heading .puck-text { max-width: 576px !important; }
.puck-grid--home-events .puck-button--home-events { min-height: 36px !important; background: #ffbf00; color: rgb(0 0 0); font-weight: 600; }
.puck-grid--home-events .puck-button--home-events:hover { background: rgb(255 191 0 / .9); }
.puck-grid.puck-grid--home-events-list { min-height: 200px; }
.puck-grid--home-events .recur-event-list { width: 100%; max-width: 600px !important; margin: 0 auto !important; font-family: "NAOBI Home Inter", sans-serif; }
.puck-grid--home-events .recur-event-list-grid { gap: 12px !important; }
.puck-grid--home-events .recur-event-card { padding: 12px !important; gap: 12px !important; border-radius: 8px !important; background: hsl(0 0% 100%) !important; box-shadow: 0 1px 3px rgb(0 0 0 / .1) !important; }
.puck-grid--home-events .recur-event-card-image { width: 70px !important; height: 70px !important; object-fit: cover; border-radius: 8px !important; }
.puck-grid--home-events .recur-event-card-title { margin: 0 !important; padding: 0; font-family: "NAOBI Home Inter", sans-serif !important; font-size: 15.2px !important; font-weight: 700; line-height: 1.5 !important; letter-spacing: -.025em; color: rgb(0 0 0) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.puck-grid--home-events .recur-event-card-date { margin: 2px 0 0 !important; font-family: "NAOBI Home Inter", sans-serif !important; font-size: 12.8px !important; line-height: 1.5 !important; color: #64748b !important; }
.puck-grid--home-events .recur-event-card-button { display: inline-block; padding: 6px 12px !important; font-family: "NAOBI Home Inter", sans-serif !important; font-size: 12.8px !important; font-weight: 400 !important; line-height: 1.5 !important; border-radius: 6px !important; background: #374151 !important; border: 0; color: rgb(255 255 255) !important; text-decoration: none; white-space: nowrap; }
.puck-grid--home-events .recur-event-card-button:hover { background: #374151 !important; }
.puck-grid.puck-grid--home-events-mobile-action { margin-top: 32px; }
.puck-grid--home-events-mobile-action .puck-button-container,
.puck-grid--home-events-mobile-action .puck-button { width: 100%; }
.puck-grid.puck-grid--home-partners { padding: 96px 0; margin-bottom: -2rem !important; background: hsl(40 10% 94% / .3); text-align: center; }
.puck-grid--home-partners h2 { margin: 0 0 16px !important; font-size: 30px !important; line-height: 36px; color: hsl(0 0% 10%) !important; }
.puck-grid--home-partners .puck-text { margin-bottom: 48px !important; }
.puck-grid--home-partners .puck-text p { max-width: 576px; margin: 0 auto !important; font-size: 16px; line-height: 25.6px; color: hsl(0 0% 40%); }
.puck-grid--home-partners .puck-image { padding: 0 !important; margin: 0 !important; justify-content: center; }
.puck-grid--home-partners .puck-image-img { width: auto !important; height: 64px !important; object-fit: contain !important; }
@media (min-width: 640px) {
  .puck-grid.puck-grid--home-container { max-width: 640px; }
  .puck-grid.puck-grid--home-hero-actions { flex-direction: row; }
  .puck-grid--home-hero-actions .puck-button-container,
  .puck-grid--home-hero-actions .puck-button { width: auto; }
  .puck-grid--home-hero-learn .puck-text a { width: auto; }
  .puck-grid--home-scholarship .puck-button--home-scholarship { width: auto; }
}
@media (max-width: 700px) {
  .puck-grid--home-events .recur-event-card-image { width: 50px !important; height: 50px !important; }
  .puck-grid--home-events .recur-event-card-title { font-size: 13.6px !important; }
}
@media (max-width: 480px) {
  .puck-grid--home-events .recur-event-card { padding: 8px !important; gap: 8px !important; }
  .puck-grid--home-events .recur-event-card-image { width: 40px !important; height: 40px !important; }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--home-container { max-width: 768px; }
  .puck-grid--home-hero-copy h1 { font-size: 60px !important; }
  .puck-grid--home-hero-copy .puck-text p { font-size: 20px; line-height: 32px; }
  .puck-grid.puck-grid--home-scholarship-split { grid-template-columns: minmax(0,1fr) 224px !important; text-align: left; }
  .puck-grid--home-scholarship-split > .puck-grid-column:last-child { display: block; }
  .puck-grid--home-scholarship h2 { font-size: 36px !important; line-height: 40px; }
  .puck-grid--home-scholarship .puck-button-container { justify-content: flex-start; }
  .puck-grid--home-scholarship-split .puck-text > p:first-child { justify-content: flex-start; }
  .puck-grid--home-mission .puck-text p { font-size: 24px; line-height: 1.6; }
  .puck-grid.puck-grid--home-feature-cards { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--home-newsletter-panel { grid-template-columns: 256px minmax(0,1fr) !important; text-align: left; }
  .puck-grid.puck-grid--home-vision-split { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--home-vision-video { aspect-ratio: 1; }
  .puck-grid.puck-grid--home-events-heading { grid-template-columns: minmax(0,1fr) auto !important; }
  .puck-grid--home-events-heading > .puck-grid-column:last-child { display: block; }
  .puck-grid--home-events h2,
  .puck-grid--home-partners h2 { font-size: 36px !important; line-height: 40px; }
  .puck-grid.puck-grid--home-events-mobile-action { display: none; }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--home-container { max-width: 1024px; }
  .puck-grid--home-hero-copy h1 { font-size: 72px !important; }
}
@media (min-width: 1280px) { .puck-grid.puck-grid--home-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--home-container { max-width: 1536px; } }

/* Board fidelity layer SEVEN. Append after all six unchanged existing layers.
   Source: BoardOfDirectors.tsx, ui/card.tsx, ui/button.tsx, index.css;
   measured source evidence: generated-artifacts/recur-board/source-measurements.json.
   No global, chrome, Home or About selectors. */
@font-face {
  font-family: "NAOBI Board Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Board Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--board-"] {
  --board-gold: hsl(45 100% 50%);
  --board-dark: hsl(0 0% 10%);
  --board-background: hsl(40 20% 98%);
  --board-muted: hsl(40 10% 94% / .3);
  --board-muted-text: hsl(0 0% 40%);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font: 400 16px/24px "NAOBI Board Inter", sans-serif;
  letter-spacing: normal;
  color: var(--board-dark);
}
.puck-grid[class*="puck-grid--board-"] .puck-grid-column { min-width: 0; }
.puck-grid.puck-grid--board-banner,
.puck-grid.puck-grid--board-executive,
.puck-grid.puck-grid--board-chairs,
.puck-grid.puck-grid--board-advisory,
.puck-grid.puck-grid--board-invitation {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem !important;
  padding: 80px 0;
  background: var(--board-background);
  text-align: center;
}
.puck-grid.puck-grid--board-banner {
  margin-top: -2rem !important;
  background: var(--board-dark);
  color: var(--board-gold);
}
.puck-grid.puck-grid--board-invitation { margin-bottom: -2rem !important; }
.puck-grid.puck-grid--board-executive,
.puck-grid.puck-grid--board-advisory {
  /* Source translucent bg-muted/30 is composited over the warm page background. */
  background: linear-gradient(var(--board-muted),var(--board-muted)),var(--board-background);
}
.puck-grid.puck-grid--board-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid[class*="puck-grid--board-"] .puck-text {
  margin: 0 !important;
  padding: 0 !important;
  font: 400 18px/1.6 "NAOBI Board Inter", sans-serif;
  letter-spacing: normal;
  color: var(--board-muted-text);
}
.puck-grid[class*="puck-grid--board-"] .puck-text :is(h1,h2,h3) {
  margin: 0 0 16px;
  padding: 0;
  font: 700 30px/36px "NAOBI Board Playfair", serif;
  letter-spacing: -.025em;
  color: var(--board-dark);
}
.puck-grid[class*="puck-grid--board-"] .puck-text strong { font-weight: inherit; }
.puck-grid[class*="puck-grid--board-"] .puck-text p {
  margin: 0;
  padding: 0;
  font: inherit;
  line-height: 1.6;
}
.puck-grid.puck-grid--board-banner .puck-text h1 {
  margin-bottom: 24px;
  font-size: 36px;
  line-height: 40px;
  color: var(--board-gold);
}
.puck-grid.puck-grid--board-banner .puck-text p {
  max-width: 768px;
  margin: 0 auto;
  font-size: 20px;
  color: hsl(45 100% 50% / .8);
}
.puck-grid.puck-grid--board-executive-roster,
.puck-grid.puck-grid--board-chairs-roster,
.puck-grid.puck-grid--board-advisory-roster {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 32px !important;
  max-width: 1024px;
  width: 100%;
  margin: 48px auto 0;
  align-items: stretch;
}
/* Owned native zones, in editorial row-major order. Contents flatten only
   roster columns, not section/container columns. This preserves responsive rows. */
:is(.puck-grid--board-executive-roster,.puck-grid--board-chairs-roster,.puck-grid--board-advisory-roster) > .puck-grid-column {
  display: contents;
}
.puck-grid[class*="puck-grid--board-person-"] {
  box-sizing: border-box;
  display: grid !important;
  align-items: start;
  gap: 0 !important;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 32px 24px 16px !important;
  border: none;
  border-radius: 12px;
  background: hsl(0 0% 100%) !important;
  color: var(--board-dark);
  overflow: visible;
  text-align: center;
  font: 400 16px/24px "NAOBI Board Inter", sans-serif;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1) !important;
  transition: box-shadow .15s cubic-bezier(.4,0,.2,1);
  transform: none;
  text-decoration: none;
}
.puck-grid[class*="puck-grid--board-person-"]:hover {
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1) !important;
  transform: none;
}
.puck-grid[class*="puck-grid--board-person-"] > .puck-grid-column {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.puck-card[class*="puck-card--board-"] {
  display: block !important;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  border: none;
  border-radius: 0;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--board-dark);
  font: 400 16px/24px "NAOBI Board Inter", sans-serif;
  text-align: center;
  transform: none !important;
  transition: none;
}
.puck-card[class*="puck-card--board-"]:hover { box-shadow: none !important; }
.puck-card[class*="puck-card--board-"] > div {
  width: 100%;
  padding: 0 !important;
  margin: 0;
}
.puck-card[class*="puck-card--board-"] .puck-card-title {
  padding: 0;
  margin: 0 0 6px;
  font: 600 18px/28px "NAOBI Board Playfair", serif;
  letter-spacing: -.025em;
  color: var(--board-dark) !important;
}
.puck-grid--board-executive .puck-card[class*="puck-card--board-"] .puck-card-title { font-size: 20px; }
.puck-card[class*="puck-card--board-"] .puck-card-description {
  padding: 0;
  margin: 0;
  font: 500 14px/1.6 "NAOBI Board Inter", sans-serif;
  letter-spacing: .025em;
  text-transform: uppercase;
  color: var(--board-gold);
}
.puck-grid[class*="puck-grid--board-person-"] .puck-image {
  display: block;
  box-sizing: border-box;
  flex: none;
  width: 112px;
  height: 112px;
  padding: 0 !important;
  margin: 0 auto 16px !important;
  overflow: hidden;
  border: none;
  border-radius: 50%;
  box-shadow: 0 0 0 4px hsl(45 100% 50% / .2);
}
.puck-grid--board-chairs .puck-grid[class*="puck-grid--board-person-"] .puck-image { width: 80px; height: 80px; }
.puck-grid--board-advisory .puck-grid[class*="puck-grid--board-person-"] .puck-image { width: 96px; height: 96px; }
.puck-grid[class*="puck-grid--board-person-"] .puck-image-img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  margin: 0;
  border: none;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center top;
  transform: none;
}
.puck-grid.puck-grid--board-person-dreu .puck-image-img { object-position: center 30%; }
.puck-grid.puck-grid--board-person-milana .puck-image-img {
  object-position: center 0%;
  transform: scale(2.5);
  transform-origin: center 15%;
}
.puck-grid.puck-grid--board-person-cedric .puck-image-img { object-position: center 20%; }
.puck-grid.puck-grid--board-person-brittany .puck-image-img { object-position: center 60%; }
.puck-grid.puck-grid--board-person-pamela .puck-image-img { object-position: center center; }
/* Empty native Grid is a genuinely decorative placeholder. No icon-font text
   is emitted or hidden, and no portrait is invented for the four records. */
.puck-grid.puck-grid--board-placeholder {
  position: relative;
  display: block;
  flex: none;
  box-sizing: border-box;
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: hsl(40 10% 94%);
  line-height: 1;
}
.puck-grid.puck-grid--board-placeholder::after {
  content: "";
  position: absolute;
  inset: 18px;
  background: var(--board-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.puck-grid.puck-grid--board-invitation .puck-grid--board-container { max-width: 672px; }
.puck-grid.puck-grid--board-invitation .puck-text::before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 24px;
  background: var(--board-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5M4 13.5V6a2 2 0 0 1 2-2h2M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.puck-grid.puck-grid--board-invitation .puck-text p:last-child { margin-top: 32px; line-height: 24px; }
.puck-grid.puck-grid--board-invitation .puck-text a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  min-height: 40px !important;
  height: 40px;
  padding: 0 32px;
  border: 1px solid hsl(0 0% 90%);
  border-radius: 6px;
  background: hsl(233 92% 30%);
  color: hsl(0 0% 100%);
  font: 500 14px/20px "NAOBI Board Inter", sans-serif;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  transition: background-color .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--board-invitation .puck-text a::after {
  content: "";
  display: block;
  flex: none;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.puck-grid.puck-grid--board-invitation .puck-text a:hover { background: hsl(233 92% 30% / .9); }
.puck-grid.puck-grid--board-invitation .puck-text a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px var(--board-gold);
}
@media (min-width: 640px) {
  .puck-grid.puck-grid--board-container { max-width: 640px; }
  .puck-grid.puck-grid--board-executive-roster,
  .puck-grid.puck-grid--board-chairs-roster,
  .puck-grid.puck-grid--board-advisory-roster { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--board-container { max-width: 768px; }
  .puck-grid.puck-grid--board-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--board-container { max-width: 1024px; }
  .puck-grid.puck-grid--board-executive-roster,
  .puck-grid.puck-grid--board-chairs-roster { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--board-advisory-roster { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
}
@media (min-width: 1280px) {
  .puck-grid.puck-grid--board-container { max-width: 1280px; }
}
@media (min-width: 1536px) {
  .puck-grid.puck-grid--board-container { max-width: 1536px; }
}

/* Events fidelity layer. Append after unchanged accepted shared/page layers.
   Source captured at ten widths before authoring. Native owned Grid zones only. */
@font-face {
  font-family: "NAOBI Events Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Events Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--events-"] {
  --events-gold: hsl(45 100% 50%);
  --events-dark: hsl(0 0% 10%);
  --events-muted: hsl(0 0% 40%);
  --events-background: hsl(40 20% 98%);
  --events-surface: hsl(40 10% 94%);
  --events-border: hsl(0 0% 90%);
  --events-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Cpath d='M16 3.128a4 4 0 0 1 0 7.744'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E");
  --events-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z'/%3E%3C/svg%3E");
  --events-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  --events-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6v6l4 2'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E");
  --events-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font: 400 16px/24px "NAOBI Events Inter",sans-serif;
  letter-spacing: normal;
  color: var(--events-dark);
}
.puck-grid[class*="puck-grid--events-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--events-"] :where(.puck-text) {
  margin: 0 !important;
  padding: 0 !important;
  font: 400 16px/1.6 "NAOBI Events Inter",sans-serif;
  color: inherit;
  letter-spacing: normal;
  text-align: inherit;
}
.puck-grid[class*="puck-grid--events-"] :where(.puck-text :is(p,ul,li)) {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}
.puck-grid[class*="puck-grid--events-"] :where(.puck-text :is(h1,h2,h3,h4)) {
  margin: 0;
  padding: 0;
  font-family: "NAOBI Events Playfair",serif !important;
  font-weight: 700;
  letter-spacing: -.025em;
  color: inherit;
  text-transform: none;
}
.puck-grid[class*="puck-grid--events-"] .puck-text strong { font-weight: 600; }
.puck-grid.puck-grid--events-banner,
.puck-grid.puck-grid--events-upcoming,
.puck-grid.puck-grid--events-community,
.puck-grid.puck-grid--events-featured,
.puck-grid.puck-grid--events-archive {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem !important;
  padding: 64px 0;
  background: var(--events-background);
}
.puck-grid.puck-grid--events-banner {
  margin-top: -2rem !important;
  background: linear-gradient(hsl(45 100% 50% / .1),hsl(45 100% 50% / .1)),var(--events-background);
}
.puck-grid.puck-grid--events-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid--events-banner .puck-text h1 {
  margin-bottom: 16px;
  font-size: 36px;
  line-height: 40px;
}
.puck-grid--events-banner .puck-text p {
  max-width: 672px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--events-muted);
}
.puck-grid.puck-grid--events-upcoming { padding: 80px 0; }
.puck-grid.puck-grid--events-upcoming-heading {
  margin-bottom: 36px;
  padding-left: 20px;
  border-left: 4px solid var(--events-gold);
}
.puck-grid--events-upcoming-heading .puck-text p {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--events-gold);
}
.puck-grid--events-upcoming-heading .puck-text h2 { font-size: 36px; line-height: 1.25; }
.puck-grid.puck-grid--events-feed-panel {
  padding: 16px;
  border: 1px solid var(--events-border);
  border-radius: 16px;
  background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid.puck-grid--events-feed { min-height: 200px; }
.puck-grid--events-feed .recur-event-list {
  width: 100%;
  max-width: 100% !important;
  margin: 0 !important;
  font-family: "NAOBI Events Inter",sans-serif;
}
.puck-grid--events-feed .recur-event-list-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 20px !important;
}
.puck-grid--events-feed .recur-event-card {
  position: relative;
  padding: 0 !important;
  border: 0;
  border-radius: 12px !important;
  overflow: hidden;
  background: hsl(0 0% 100%) !important;
  box-shadow: 0 1px 3px rgb(0 0 0 / .1) !important;
}
.puck-grid--events-feed .recur-event-card-image {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.puck-grid--events-feed .recur-event-card-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.puck-grid--events-feed .recur-event-card-body { padding: 12px !important; }
.puck-grid--events-feed .recur-event-card-title {
  margin: 0 !important;
  padding: 0;
  font: 700 14px/21px "NAOBI Events Inter",sans-serif !important;
  letter-spacing: -.025em;
  color: rgb(0 0 0) !important;
}
.puck-grid--events-feed .recur-event-card-date {
  margin: 4px 0 0 !important;
  padding: 0;
  font: 400 12px/18px "NAOBI Events Inter",sans-serif !important;
  color: #64748b !important;
}
/* Native feed's genuine destination link becomes the source-style full-card
   hit area. Its accessible name remains the native "Learn More"; no fake action
   or frozen runtime event is authored. Native semantics are documented. */
.puck-grid--events-feed .recur-event-card-button {
  position: absolute;
  inset: 0;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
}
.puck-grid--events-feed .recur-event-card:focus-within { outline: 2px solid var(--events-gold); outline-offset: 2px; }
@media (max-width: 768px) {
  .puck-grid--events-feed .recur-event-list-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 16px !important; }
}
@media (max-width: 480px) {
  .puck-grid--events-feed .recur-event-list-grid { grid-template-columns: minmax(0,1fr) !important; gap: 12px !important; }
}
.puck-grid.puck-grid--events-community {
  background: linear-gradient(hsl(40 10% 94% / .4),hsl(40 10% 94% / .4)),var(--events-background);
}
.puck-grid--events-community-heading .puck-text { text-align: center; }
.puck-grid--events-community-heading .puck-text h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 30px;
  line-height: 36px;
}
.puck-grid--events-community-heading .puck-text p {
  max-width: 672px;
  margin: 0 auto 32px;
  color: var(--events-muted);
}
.puck-grid--events-community-heading .puck-text h2::before,
.puck-grid--events-featured-heading .puck-text h2::before,
.puck-grid--events-archive-heading .puck-text h2::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  flex-shrink: 1;
  background: var(--events-gold);
  mask: var(--events-icon) center / contain no-repeat;
}
.puck-grid--events-community-heading { --events-icon: var(--events-users); }
.puck-grid.puck-grid--events-flyers {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  align-items: start;
  gap: 16px !important;
}
.puck-grid--events-flyers > .puck-grid-column,
.puck-grid--events-featured-cards > .puck-grid-column { display: contents; }
.puck-grid.puck-grid--events-flyer {
  border: 1px solid var(--events-border);
  border-radius: 12px;
  background: hsl(0 0% 100%);
  overflow: hidden;
  box-shadow: 0 1px 3px rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
  transition: box-shadow .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--events-flyer:hover { box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1); }
.puck-grid.puck-grid--events-flyer-well {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4/5;
  margin: 0 !important;
  padding: 8px !important;
  background: hsl(40 10% 94% / .3);
}
.puck-grid--events-flyer-well > .puck-grid-column { height: 100%; }
.puck-grid--events-flyer-well .puck-image { display: block; height: 100%; padding: 0 !important; margin: 0 !important; }
.puck-grid--events-flyer .puck-grid--events-flyer-well .puck-text {
  position: absolute;
  inset: 8px;
  padding: 0 !important;
}
.puck-grid--events-flyer-well .puck-text p { height: 100%; margin: 0; }
/* A genuine native Quill hyperlink supplies the source accessible link name
   and noreferrer. Native Image remains the image, not an HTML image fragment.
   Link text is the source's nonvisual label; only its image-well hit area is
   visible, just as in the original. Titles below the well remain unlinked. */
.puck-grid--events-flyer-well .puck-text a {
  display: block;
  height: 100%;
  border-radius: 8px;
  font-size: 0;
  line-height: 0;
  color: transparent;
  text-decoration: none;
}
.puck-grid--events-flyer-well .puck-text a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px hsl(0 0% 100%),0 0 0 4px var(--events-gold);
}
.puck-grid--events-flyer .puck-image-img {
  display: block;
  max-width: none;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
.puck-grid--events-flyer .puck-text { padding: 12px 12px 16px !important; }
.puck-grid--events-flyer .puck-text h3 { font-size: 14px; font-weight: 600; line-height: 19.25px; }
.puck-grid--events-flyer .puck-text p { margin-top: 4px; font-size: 12px; line-height: 1.6; color: var(--events-muted); }
.puck-grid--events-flyer-well .puck-text p { margin-top: 0; }
.puck-grid.puck-grid--events-featured { background: var(--events-dark); color: var(--events-gold); }
.puck-grid--events-featured-heading .puck-text h2,
.puck-grid--events-archive-heading .puck-text h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 24px;
  line-height: 32px;
}
.puck-grid.puck-grid--events-featured-heading { --events-icon: var(--events-star); color: var(--events-gold); }
.puck-grid--events-featured-heading .puck-text p { max-width: 672px; margin-bottom: 32px; color: hsl(45 100% 50% / .7); }
.puck-grid.puck-grid--events-featured-cards { gap: 32px !important; align-items: stretch; }
.puck-grid.puck-grid--events-featured-card {
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  background: hsl(0 0% 100%);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
}
.puck-grid.puck-grid--events-featured-card-head { padding: 24px; background: hsl(45 100% 50% / .1); }
.puck-grid--events-featured-card-head .puck-text h3 { margin-bottom: 8px; font-size: 20px; line-height: 28px; }
.puck-grid--events-featured-card-head .puck-text p { font-size: 14px; line-height: 1.6; font-weight: 600; color: var(--events-gold); }
.puck-grid.puck-grid--events-featured-card-body { padding: 24px; }
.puck-grid--events-featured-card-body > .puck-grid-column { display: grid; gap: 16px; }
.puck-grid--events-featured-card-body .puck-text { font-size: 14px; line-height: 1.6; color: var(--events-muted); }
.puck-grid--events-featured-card-body .puck-text > p:first-child { margin-bottom: 16px; }
.puck-grid--events-featured-card-body .puck-text > p:has(strong) { margin-bottom: 8px; font-weight: 600; color: var(--events-dark); }
.puck-grid--events-featured-card-body .puck-text ul { list-style: none; margin-bottom: 0; }
.puck-grid--events-featured-card-body .puck-text li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 4px;
  list-style: none;
}
.puck-grid--events-featured-card-body .puck-text li:last-child { margin-bottom: 0; }
.puck-grid--events-featured-card-body .puck-text li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  background: var(--events-gold);
  mask: var(--events-item-icon) center / contain no-repeat;
}
.puck-grid--events-seminar-body { --events-item-icon: var(--events-users); }
.puck-grid--events-partnership-body { --events-item-icon: var(--events-star); }
.puck-grid.puck-grid--events-featured-card-note {
  border-top: 1px solid var(--events-border);
  padding-top: 8px;
}
.puck-grid--events-featured-card-note .puck-text {
  font-size: 12px;
  line-height: 1.6;
  color: var(--events-muted);
}
.puck-grid--events-featured-card-note .puck-text > p:first-child { margin-bottom: 0; }
.puck-grid.puck-grid--events-archive {
  margin-bottom: -2rem !important;
  background: linear-gradient(hsl(40 10% 94% / .3),hsl(40 10% 94% / .3)),var(--events-background);
}
.puck-grid--events-archive > .puck-grid-column > .puck-grid--events-container { max-width: 896px; }
.puck-grid--events-archive-heading { --events-icon: var(--events-calendar); }
.puck-grid--events-archive-heading .puck-text h2 { margin-bottom: 32px; }
.puck-grid.puck-grid--events-records { gap: 12px !important; }
.puck-grid--events-records > .puck-grid-column { display: contents; }
.puck-grid.puck-grid--events-record {
  border: 1px solid var(--events-border);
  border-radius: 8px;
  overflow: hidden;
  background: transparent;
}
.puck-grid.puck-grid--events-record-head { padding: 16px 20px; }
.puck-grid--events-record-head .puck-text h4 { font-size: 16px; font-weight: 600; line-height: 24px; }
.puck-grid--events-record-head .puck-text p { margin-top: 2px; font-size: 14px; line-height: 1.6; color: var(--events-muted); }
.puck-grid.puck-grid--events-record-details { padding: 16px 20px; border-top: 1px solid var(--events-border); }
.puck-grid--events-record-details > .puck-grid-column { display: grid; gap: 12px; }
.puck-grid--events-record-details .puck-text { font-size: 14px; line-height: 1.6; color: var(--events-muted); }
.puck-grid--events-record-time .puck-text p,
.puck-grid--events-record-location .puck-text p { display: flex; align-items: center; gap: 8px; }
.puck-grid--events-record-time .puck-text p::before,
.puck-grid--events-record-location .puck-text p::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: var(--events-gold);
  mask: var(--events-detail-icon) center / contain no-repeat;
}
.puck-grid--events-record-time { --events-detail-icon: var(--events-clock); }
.puck-grid--events-record-location { --events-detail-icon: var(--events-pin); }
@media (min-width: 640px) {
  .puck-grid.puck-grid--events-container { max-width: 640px; }
  .puck-grid.puck-grid--events-flyers { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--events-container { max-width: 768px; }
  .puck-grid--events-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid--events-upcoming-heading .puck-text h2 { font-size: 48px; line-height: 60px; }
  .puck-grid.puck-grid--events-feed-panel { padding: 28px; }
  .puck-grid--events-community-heading .puck-text h2 { font-size: 36px; line-height: 40px; }
  .puck-grid--events-featured-heading .puck-text h2,
  .puck-grid--events-archive-heading .puck-text h2 { font-size: 30px; line-height: 36px; }
  .puck-grid.puck-grid--events-featured-cards { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--events-container { max-width: 1024px; }
  .puck-grid.puck-grid--events-flyers { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 24px !important; }
}
@media (min-width: 1280px) { .puck-grid.puck-grid--events-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--events-container { max-width: 1536px; } }

/* Membership-only fidelity layer; accepted layers remain immutable. */
@font-face {
  font-family: "NAOBI Membership Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Membership Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--membership-"] {
  --membership-gold: hsl(45 100% 50%);
  --membership-dark: hsl(0 0% 10%);
  --membership-background: hsl(40 20% 98%);
  --membership-muted: hsl(0 0% 40%);
  --membership-surface: hsl(40 10% 94%);
  --membership-accent: hsl(233 92% 30%);
  --membership-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font: 400 16px/24px "NAOBI Membership Inter",sans-serif;
  letter-spacing: normal;
  color: var(--membership-dark);
}
.puck-grid[class*="puck-grid--membership-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--membership-"] .puck-text {
  padding: 0 !important;
  margin: 0 !important;
  font: 400 16px/1.6 "NAOBI Membership Inter",sans-serif;
  color: inherit;
  text-align: inherit;
  letter-spacing: normal;
}
.puck-grid[class*="puck-grid--membership-"] :where(.puck-text :is(p,ul,li)) { margin: 0; padding: 0; color: inherit; }
.puck-grid[class*="puck-grid--membership-"] :where(.puck-text :is(h1,h2,h3)) {
  margin: 0;
  padding: 0;
  font-family: "NAOBI Membership Playfair",serif;
  font-weight: 700;
  letter-spacing: -.025em;
  color: inherit;
}
.puck-grid.puck-grid--membership-banner,
.puck-grid.puck-grid--membership-products,
.puck-grid.puck-grid--membership-benefits,
.puck-grid.puck-grid--membership-separator,
.puck-grid.puck-grid--membership-bylaws,
.puck-grid.puck-grid--membership-member,
.puck-grid.puck-grid--membership-committee {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem !important;
}
.puck-grid.puck-grid--membership-banner { margin-top: -2rem !important; }
.puck-grid.puck-grid--membership-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid.puck-grid--membership-banner { padding: 80px 0; background: var(--membership-dark); color: var(--membership-gold); text-align: center; }
.puck-grid--membership-banner .puck-text h1 { margin-bottom: 24px; font-size: 36px; line-height: 40px; color: var(--membership-gold); }
.puck-grid--membership-banner .puck-text p { max-width: 672px; margin: 0 auto; font-size: 20px; line-height: 32px; color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--membership-products { padding: 90px 0; background: var(--membership-background); }
.puck-grid--membership-products .recur-product-list { max-width: 800px !important; width: 100%; margin: 0 auto !important; font-family: "NAOBI Membership Inter",sans-serif; }
.puck-grid--membership-products .recur-product-list-grid { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.puck-grid--membership-products .recur-product-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: hsl(0 0% 100%) !important;
  box-shadow: 0 1px 3px rgb(0 0 0 / .1) !important;
  overflow: visible !important;
}
.puck-grid--membership-products .recur-product-card-image {
  width: 70px !important;
  height: 70px !important;
  flex: 0 0 70px !important;
  overflow: hidden;
  border-radius: 8px;
}
.puck-grid--membership-products .recur-product-card-image img { display: block; width: 100% !important; height: 100% !important; min-height: 0 !important; object-fit: cover !important; border-radius: 8px; }
.puck-grid--membership-products .recur-product-card-body {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) max-content !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  flex: 1 !important;
  min-width: 0;
  padding: 0 !important;
  align-items: start;
}
.puck-grid--membership-products .recur-product-card-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0 !important;
  font: 700 15.2px/22.8px "NAOBI Membership Inter",sans-serif !important;
  letter-spacing: -.025em;
  color: hsl(0 0% 0%) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.puck-grid--membership-products .recur-product-card-price {
  grid-column: 1;
  grid-row: 2;
  margin: 2px 0 0 !important;
  font: 400 12.8px/19.2px "NAOBI Membership Inter",sans-serif !important;
  color: #64748b !important;
}
.puck-grid--membership-products .recur-product-card-description {
  grid-column: 1;
  grid-row: 3;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  font: 400 13.2px/19.8px "NAOBI Membership Inter",sans-serif !important;
  color: #64748b !important;
}
.puck-grid--membership-products .recur-product-card-description p { margin: 0 !important; padding: 0; line-height: 1.6; }
.puck-grid--membership-products .recur-product-card-button {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center !important;
  display: block !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #374151 !important;
  color: hsl(0 0% 100%) !important;
  font: 400 12.8px/19.2px "NAOBI Membership Inter",sans-serif !important;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
}
.puck-grid--membership-products .recur-product-card-button:focus-visible { outline: -webkit-focus-ring-color auto 1px; }
.puck-grid.puck-grid--membership-benefits { padding: 64px 0; background: linear-gradient(hsl(45 100% 50% / .05),hsl(45 100% 50% / .05)),var(--membership-background); }
.puck-grid--membership-benefits > .puck-grid-column > .puck-grid--membership-container { max-width: 768px; }
.puck-grid--membership-benefits .puck-text h2 { margin-bottom: 24px; font-size: 30px; line-height: 36px; }
.puck-grid--membership-benefits .puck-text h3 { margin-bottom: 16px; font-size: 24px; line-height: 32px; }
.puck-grid--membership-benefits .puck-text p { font-size: 18px; line-height: 1.6; color: var(--membership-muted); }
.puck-grid--membership-benefits .puck-text > p:first-of-type { margin-bottom: 32px; }
.puck-grid--membership-benefits .puck-text ul { list-style: disc; padding-left: 24px; margin-bottom: 40px; font-size: 18px; line-height: 28px; color: var(--membership-muted); }
.puck-grid--membership-benefits .puck-text li { list-style: disc; font-size: 18px; line-height: 1.6; }
.puck-grid--membership-benefits .puck-text li + li { margin-top: 12px; }
.puck-grid.puck-grid--membership-separator { height: 1px; min-height: 1px; background: hsl(0 0% 90%); }
.puck-grid.puck-grid--membership-bylaws { padding: 80px 0; background: linear-gradient(hsl(40 10% 94% / .3),hsl(40 10% 94% / .3)),var(--membership-background); text-align: center; }
.puck-grid.puck-grid--membership-member { padding: 64px 0; background: var(--membership-surface); text-align: center; }
.puck-grid.puck-grid--membership-committee { padding: 80px 0; margin-bottom: -2rem !important; background: var(--membership-background); text-align: center; }
.puck-grid--membership-bylaws > .puck-grid-column > .puck-grid--membership-container,
.puck-grid--membership-member > .puck-grid-column > .puck-grid--membership-container,
.puck-grid--membership-committee > .puck-grid-column > .puck-grid--membership-container { max-width: 672px; }
.puck-grid--membership-bylaws .puck-text h2,
.puck-grid--membership-member .puck-text h2,
.puck-grid--membership-committee .puck-text h2 { margin-bottom: 16px; font-size: 30px; line-height: 36px; }
.puck-grid--membership-bylaws .puck-text p,
.puck-grid--membership-member .puck-text p,
.puck-grid--membership-committee .puck-text p { font-size: 18px; line-height: 1.6; color: var(--membership-muted); }
.puck-grid--membership-member .puck-text p { font-size: 16px; }
.puck-grid--membership-bylaws .puck-text p:has(a),
.puck-grid--membership-member .puck-text p:has(a),
.puck-grid--membership-committee .puck-text p:has(a) { display: flex; justify-content: center; }
.puck-grid--membership-bylaws .puck-text > p:not(:has(a)),
.puck-grid--membership-member .puck-text > p:not(:has(a)),
.puck-grid--membership-committee .puck-text > p:not(:has(a)) { margin-bottom: 32px; }
.puck-grid--membership-bylaws .puck-text a,
.puck-grid--membership-member .puck-text a,
.puck-grid--membership-committee .puck-text a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 32px;
  border: 1px solid hsl(0 0% 90%);
  border-radius: 6px;
  background: var(--membership-accent);
  color: hsl(0 0% 100%) !important;
  font: 500 14px/20px "NAOBI Membership Inter",sans-serif;
  text-decoration: none;
  white-space: nowrap;
}
.puck-grid--membership-member .puck-text a { min-height: 36px; padding: 8px 16px; }
.puck-grid--membership-bylaws .puck-text a::after,
.puck-grid--membership-committee .puck-text a::after { content: ""; width: 16px; height: 16px; margin-left: 8px; background: currentColor; mask: var(--membership-external) center / contain no-repeat; }
.puck-grid--membership-bylaws .puck-text a:focus-visible,
.puck-grid--membership-member .puck-text a:focus-visible,
.puck-grid--membership-committee .puck-text a:focus-visible { outline: none; box-shadow: 0 0 0 1px var(--membership-gold); }
.puck-grid--membership-bylaws .puck-grid--membership-container::before,
.puck-grid--membership-committee .puck-grid--membership-container::before { content: ""; display: block; width: 48px; height: 48px; margin: 0 auto 24px; background: var(--membership-gold); mask: var(--membership-icon) center / contain no-repeat; }
.puck-grid--membership-bylaws { --membership-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E"); }
.puck-grid--membership-committee { --membership-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5M4 13.5V6a2 2 0 0 1 2-2h2M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z'/%3E%3C/svg%3E"); }
@media (max-width: 640px) {
  .puck-grid--membership-products .recur-product-card-image { width: 50px !important; height: 50px !important; flex-basis: 50px !important; }
  .puck-grid--membership-products .recur-product-card-title { font-size: 13.6px !important; line-height: 20.4px !important; }
}
@media (max-width: 480px) {
  .puck-grid.puck-grid--membership-products { padding: 85px 0; }
  .puck-grid--membership-products .recur-product-card { padding: 8px !important; gap: 8px !important; }
  .puck-grid--membership-products .recur-product-card-body { column-gap: 8px !important; }
  .puck-grid--membership-products .recur-product-card-image { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }
}
@media (min-width: 640px) { .puck-grid.puck-grid--membership-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--membership-container { max-width: 768px; }
  .puck-grid--membership-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--membership-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--membership-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--membership-container { max-width: 1536px; } }

/* Scholarships-only fidelity layer. The nine previously accepted layers are untouched. */
@font-face {
  font-family: "NAOBI Scholarships Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Scholarships Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Scholarships Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--scholarships-"] {
  --scholarships-gold: hsl(45 100% 50%);
  --scholarships-dark: hsl(0 0% 10%);
  --scholarships-background: hsl(40 20% 98%);
  --scholarships-muted: hsl(0 0% 40%);
  --scholarships-surface: hsl(40 10% 94%);
  --scholarships-accent: hsl(233 92% 30%);
  --scholarships-border: hsl(0 0% 90%);
  --scholarships-card: hsl(0 0% 100%);
  --scholarships-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);
  --scholarships-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
  --scholarships-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1);
  --scholarships-graduation: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.83l8.57 3.91a2 2 0 0 0 1.66 0zM22 10v6M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E");
  --scholarships-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3C/svg%3E");
  --scholarships-help: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3M12 17h.01'/%3E%3C/svg%3E");
  --scholarships-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px "NAOBI Scholarships Inter",sans-serif; letter-spacing: normal; color: var(--scholarships-dark);
}
.puck-grid[class*="puck-grid--scholarships-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--scholarships-"] :where(*) { box-sizing: border-box; border: 0 solid var(--scholarships-border); }
.puck-grid[class*="puck-grid--scholarships-"] .puck-text { margin: 0 !important; padding: 0 !important; font: 400 16px/1.6 "NAOBI Scholarships Inter",sans-serif; color: inherit; text-align: inherit; letter-spacing: normal; }
.puck-grid[class*="puck-grid--scholarships-"] :where(.puck-text :is(p,ul,li)) { margin: 0; padding: 0; color: inherit; }
.puck-grid[class*="puck-grid--scholarships-"] :where(.puck-text :is(h1,h2,h3)) { margin: 0; padding: 0; font-family: "NAOBI Scholarships Playfair",serif; font-weight: 700; letter-spacing: -.025em; color: inherit; }
.puck-grid.puck-grid--scholarships-banner,
.puck-grid.puck-grid--scholarships-intro,
.puck-grid.puck-grid--scholarships-gallery,
.puck-grid.puck-grid--scholarships-dates,
.puck-grid.puck-grid--scholarships-about,
.puck-grid.puck-grid--scholarships-separator,
.puck-grid.puck-grid--scholarships-faq,
.puck-grid.puck-grid--scholarships-childress,
.puck-grid.puck-grid--scholarships-questions { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--scholarships-banner { margin-top: -2rem !important; padding: 80px 0; background: var(--scholarships-dark); color: var(--scholarships-gold); text-align: center; }
.puck-grid.puck-grid--scholarships-questions { margin-bottom: -2rem !important; padding: 64px 0; background: var(--scholarships-dark); color: var(--scholarships-gold); text-align: center; }
.puck-grid.puck-grid--scholarships-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid--scholarships-banner .puck-text h1 { margin-bottom: 24px; font-size: 36px; line-height: 40px; color: var(--scholarships-gold); }
.puck-grid--scholarships-banner .puck-text p { max-width: 768px; margin: 0 auto; font-size: 20px; line-height: 32px; color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--scholarships-intro,
.puck-grid.puck-grid--scholarships-about,
.puck-grid.puck-grid--scholarships-childress { padding: 80px 0; background: var(--scholarships-background); }
.puck-grid--scholarships-intro > .puck-grid-column > .puck-grid--scholarships-container,
.puck-grid--scholarships-gallery > .puck-grid-column > .puck-grid--scholarships-container { max-width: 1024px; }
.puck-grid--scholarships-dates > .puck-grid-column > .puck-grid--scholarships-container,
.puck-grid--scholarships-about > .puck-grid-column > .puck-grid--scholarships-container,
.puck-grid--scholarships-faq > .puck-grid-column > .puck-grid--scholarships-container,
.puck-grid--scholarships-childress > .puck-grid-column > .puck-grid--scholarships-container { max-width: 896px; }
.puck-grid.puck-grid--scholarships-intro-grid { gap: 48px !important; }
.puck-grid.puck-grid--scholarships-story { padding: 32px; }
.puck-grid.puck-grid--scholarships-requirements { padding: 32px; background: linear-gradient(hsl(0 0% 10% / .1),hsl(0 0% 10% / .1)),var(--scholarships-background); border-radius: 16px; align-self: start; }
.puck-grid--scholarships-story .puck-text h2 { font-size: 30px; line-height: 36px; margin-bottom: 24px; }
.puck-grid--scholarships-story .puck-text p { font-size: 18px; line-height: 1.6; color: var(--scholarships-muted); margin-bottom: 24px; }
.puck-grid--scholarships-story .puck-text p:has(a) { display: flex; padding-top: 16px; margin-bottom: 0; }
.puck-grid--scholarships-requirements .puck-text h3 { font-size: 24px; line-height: 32px; margin-bottom: 24px; }
.puck-grid--scholarships-requirements .puck-text ul { list-style: none; }
.puck-grid--scholarships-requirements .puck-text li { position: relative; list-style: none; padding-left: 36px; font-size: 16px; line-height: 25.6px; min-height: 26px; }
.puck-grid--scholarships-requirements .puck-text li + li { margin-top: 16px; }
.puck-grid--scholarships-requirements .puck-text li::before { content: ""; position: absolute; left: 0; top: 2px; width: 24px; height: 24px; background: var(--scholarships-gold); mask: var(--scholarships-graduation) center / contain no-repeat; }
.puck-grid--scholarships-story .puck-text a,
.puck-grid--scholarships-childress .puck-text a,
.puck-grid--scholarships-questions .puck-text a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 32px; border: 1px solid var(--scholarships-border); border-radius: 6px; background: var(--scholarships-accent); color: var(--scholarships-card) !important; font: 500 14px/20px "NAOBI Scholarships Inter",sans-serif; text-decoration: none; white-space: nowrap; }
.puck-grid--scholarships-story .puck-text a { background: var(--scholarships-dark); color: var(--scholarships-gold) !important; }
.puck-grid--scholarships-story .puck-text a:focus-visible,
.puck-grid--scholarships-childress .puck-text a:focus-visible,
.puck-grid--scholarships-questions .puck-text a:focus-visible { outline: none; box-shadow: 0 0 0 1px var(--scholarships-gold); }
.puck-grid--scholarships-childress .puck-text a::after { content: ""; flex: 0 0 16px; width: 16px; height: 16px; margin-left: 8px; background: currentColor; mask: var(--scholarships-external) center / contain no-repeat; }
.puck-grid.puck-grid--scholarships-gallery { padding: 64px 0; background: linear-gradient(hsl(0 0% 10% / .05),hsl(0 0% 10% / .05)),var(--scholarships-background); }
.puck-grid--scholarships-gallery .puck-text h3 { margin-bottom: 32px; font-size: 24px; line-height: 32px; text-align: center; }
.puck-grid.puck-grid--scholarships-photos { gap: 24px !important; }
.puck-grid--scholarships-photos .puck-image { padding: 0 !important; margin: 0 !important; height: 100%; display: flex; }
.puck-grid--scholarships-photos .puck-image-figure { margin: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; border-radius: 12px; background: var(--scholarships-card); box-shadow: var(--scholarships-shadow-lg); overflow: hidden; }
.puck-grid--scholarships-photos .puck-image-viewer-trigger { display: block; width: 100%; padding: 0; border: 0; border-radius: 0; background: none; cursor: pointer; flex-shrink: 0; font: inherit; color: inherit; }
.puck-grid--scholarships-photos .puck-image-img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover !important; border-radius: 0 !important; }
.puck-grid--scholarships-photos > .puck-grid-column:nth-child(2) .puck-image-img { object-position: top; }
.puck-grid--scholarships-photos .puck-image-caption { padding: 12px 16px; margin: 0; text-align: center; font: italic 400 14px/1.6 "NAOBI Scholarships Inter",sans-serif; color: var(--scholarships-muted); }
.puck-grid--scholarships-photos .puck-image-viewer-trigger:focus-visible { outline: 2px solid var(--scholarships-gold); outline-offset: -2px; }
.puck-grid--scholarships-photos .puck-image-viewer-overlay { background: rgb(0 0 0 / .8); padding: 16px; }
.puck-grid--scholarships-photos .puck-image-viewer-img { max-height: 80vh; width: auto; height: auto; max-width: min(896px,100%); object-fit: contain; border-radius: 8px; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
.puck-grid--scholarships-photos .puck-image-viewer-overlay button { display: flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 6px; border: 0; border-radius: 9999px; background: #fff; color: #1f2937; font: normal 400 24px/1 "NAOBI Scholarships Inter",sans-serif; box-shadow: var(--scholarships-shadow-lg); cursor: pointer; }
.puck-grid--scholarships-photos .puck-image-viewer-overlay button:focus-visible { outline: 2px solid var(--scholarships-gold); outline-offset: 3px; }
.puck-grid.puck-grid--scholarships-dates { padding: 64px 0; background: var(--scholarships-surface); }
.puck-grid--scholarships-dates .puck-text h2,
.puck-grid--scholarships-about .puck-text h2,
.puck-grid--scholarships-faq .puck-text h2 { margin-bottom: 32px; font-size: 30px; line-height: 36px; text-align: center; }
.puck-grid--scholarships-dates .puck-text h2,
.puck-grid--scholarships-faq .puck-text h2 { display: flex; align-items: center; justify-content: center; gap: 12px; }
.puck-grid--scholarships-dates .puck-text h2::before,
.puck-grid--scholarships-faq .puck-text h2::before { content: ""; width: 32px; height: 32px; flex-shrink: 1; background: var(--scholarships-gold); mask: var(--scholarships-calendar) center / contain no-repeat; }
.puck-grid--scholarships-faq .puck-text h2::before { mask-image: var(--scholarships-help); }
.puck-grid.puck-grid--scholarships-date-grid { gap: 16px !important; }
.puck-grid--scholarships-date-grid .puck-card { box-sizing: border-box; width: 100%; height: 100%; margin: 0; padding: 24px 24px 20px !important; border: 0 !important; border-radius: 12px !important; background: var(--scholarships-card) !important; box-shadow: var(--scholarships-shadow-md) !important; text-align: center; }
.puck-grid--scholarships-date-grid .puck-card--scholarships-deadline { border: 2px solid var(--scholarships-gold) !important; box-shadow: var(--scholarships-shadow-lg) !important; }
.puck-grid--scholarships-date-grid .puck-card-title { margin: 0 0 8px !important; padding: 0; font: 700 18px/28.8px "NAOBI Scholarships Inter",sans-serif !important; letter-spacing: normal; color: var(--scholarships-gold) !important; }
.puck-grid--scholarships-date-grid .puck-card-description { margin: 0 !important; padding: 0; font: 400 14px/1.6 "NAOBI Scholarships Inter",sans-serif !important; color: var(--scholarships-muted) !important; }
.puck-grid--scholarships-date-grid .puck-card--scholarships-deadline .puck-card-description { font-weight: 500 !important; }
.puck-grid.puck-grid--scholarships-video { margin-bottom: 32px; border-radius: 16px; background: hsl(0 0% 0%); overflow: hidden; box-shadow: var(--scholarships-shadow-lg); }
.puck-grid--scholarships-video > .puck-grid-column > div { margin: 0 !important; }
.puck-grid--scholarships-video iframe { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; border: 0 !important; border-radius: 0 !important; }
.puck-grid.puck-grid--scholarships-biography { padding: 32px; background: var(--scholarships-card); border-radius: 12px; box-shadow: var(--scholarships-shadow-lg); }
.puck-grid--scholarships-biography .puck-text p { font-size: 16px; line-height: 25.6px; color: var(--scholarships-muted); }
.puck-grid--scholarships-biography .puck-text p + p { margin-top: 16px; }
.puck-grid--scholarships-biography .puck-text p:first-child { color: var(--scholarships-dark); font-style: italic; font-weight: 500; }
.puck-grid.puck-grid--scholarships-separator { height: 1px; min-height: 1px; background: var(--scholarships-border); }
.puck-grid.puck-grid--scholarships-faq { padding: 64px 0; background: linear-gradient(hsl(40 10% 94% / .3),hsl(40 10% 94% / .3)),var(--scholarships-background); }
.puck-grid.puck-grid--scholarships-faq-panel { border: 1px solid var(--scholarships-border); border-radius: 8px; overflow: hidden; }
.puck-grid.puck-grid--scholarships-faq-panel + .puck-grid--scholarships-faq-panel { margin-top: 12px; }
.puck-grid--scholarships-faq-panel .puck-text h3 { padding: 16px 24px; font: 600 16px/24px "NAOBI Scholarships Playfair",serif; letter-spacing: -.025em; }
.puck-grid--scholarships-faq-panel .puck-text p { padding: 16px 24px; border-top: 1px solid var(--scholarships-border); color: var(--scholarships-muted); font-size: 16px; line-height: 25.6px; }
.puck-grid--scholarships-childress .puck-text h2 { margin-bottom: 24px; font-size: 30px; line-height: 36px; text-align: center; }
.puck-grid--scholarships-childress .puck-text p { max-width: 768px; margin: 0 auto 24px; font-size: 18px; line-height: 28.8px; text-align: center; color: var(--scholarships-muted); }
.puck-grid--scholarships-childress .puck-text p:has(a) { display: flex; justify-content: safe center; max-width: none; margin-bottom: 0; }
.puck-grid--scholarships-questions .puck-text h2 { margin-bottom: 16px; font-size: 30px; line-height: 36px; color: var(--scholarships-gold); }
.puck-grid--scholarships-questions .puck-text p { margin-bottom: 24px; font-size: 18px; line-height: 28.8px; color: hsl(45 100% 50% / .8); }
.puck-grid--scholarships-questions .puck-text p:has(a) { display: flex; justify-content: center; margin-bottom: 0; }
@media (min-width: 640px) { .puck-grid.puck-grid--scholarships-date-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; } }
@media (hover: hover) {
  .puck-grid--scholarships-story .puck-text a:hover { background: hsl(0 0% 10% / .9); }
  .puck-grid--scholarships-childress .puck-text a:hover,
  .puck-grid--scholarships-questions .puck-text a:hover { background: hsl(233 92% 30% / .9); }
  .puck-grid--scholarships-photos .puck-image-figure:has(.puck-image-viewer-trigger:hover) { box-shadow: var(--scholarships-shadow-xl); }
}
@media (min-width: 768px) {
  .puck-grid--scholarships-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--scholarships-intro-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--scholarships-photos { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--scholarships-story,
  .puck-grid.puck-grid--scholarships-requirements,
  .puck-grid.puck-grid--scholarships-biography { padding: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--scholarships-date-grid { grid-template-columns: repeat(5,minmax(0,1fr)) !important; } }
@media (min-width: 1280px) {
  .puck-grid--scholarships-banner > .puck-grid-column > .puck-grid--scholarships-container,
  .puck-grid--scholarships-questions > .puck-grid-column > .puck-grid--scholarships-container { max-width: 1280px; }
}
@media (min-width: 1536px) {
  .puck-grid--scholarships-banner > .puck-grid-column > .puck-grid--scholarships-container,
  .puck-grid--scholarships-questions > .puck-grid-column > .puck-grid--scholarships-container { max-width: 1536px; }
}

/* Contact-only native conversion. All ten previously accepted CSS layers remain untouched. */
@font-face {
  font-family: "NAOBI Contact Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Contact Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--contact-"] {
  --contact-gold: hsl(45 100% 50%);
  --contact-dark: hsl(0 0% 10%);
  --contact-background: hsl(40 20% 98%);
  --contact-muted: hsl(0 0% 40%);
  --contact-surface: hsl(40 10% 94%);
  --contact-accent: hsl(233 92% 30%);
  --contact-border: hsl(0 0% 90%);
  --contact-card: hsl(0 0% 100%);
  --contact-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
  --contact-sans: "NAOBI Contact Inter",sans-serif;
  --contact-heading: "NAOBI Contact Playfair",serif;
  --contact-widget-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --contact-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.991 5.727a1.94 1.94 0 0 1-2.009 0L2 7'/%3E%3C/svg%3E");
  --contact-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --contact-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--contact-sans); letter-spacing: normal; color: var(--contact-dark);
}
.puck-grid[class*="puck-grid--contact-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--contact-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--contact-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/25.6px var(--contact-sans);
  color: inherit; text-align: inherit; letter-spacing: normal;
}
.puck-grid[class*="puck-grid--contact-"] :where(.puck-text :is(p,ul,li)) { margin: 0; padding: 0; color: inherit; }
.puck-grid[class*="puck-grid--contact-"] :where(.puck-text :is(h1,h2,h3)) {
  margin: 0; padding: 0; font-family: var(--contact-heading); font-weight: 700; letter-spacing: -.025em; color: var(--contact-dark);
}
.puck-grid.puck-grid--contact-banner,
.puck-grid.puck-grid--contact-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--contact-banner {
  margin-top: -2rem !important; padding: 80px 0;
  background: linear-gradient(hsl(45 100% 50% / .05),hsl(45 100% 50% / .05)),var(--contact-background);
  text-align: center;
}
.puck-grid.puck-grid--contact-main { margin-bottom: -2rem !important; padding: 80px 0; background: var(--contact-background); }
.puck-grid.puck-grid--contact-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--contact-banner .puck-text h1 { font-size: 36px; line-height: 40px; margin-bottom: 24px; }
.puck-grid.puck-grid--contact-banner .puck-text p { max-width: 672px; margin: 0 auto; color: var(--contact-muted); font-size: 20px; line-height: 32px; }
.puck-grid.puck-grid--contact-columns { align-items: start; gap: 48px !important; }
.puck-grid.puck-grid--contact-information { gap: 32px !important; }
.puck-grid--contact-information > .puck-grid-column { display: grid; grid-template-columns: minmax(0,1fr); gap: 32px; }
.puck-grid.puck-grid--contact-details .puck-text h2 { margin-bottom: 24px; font-size: 24px; line-height: 32px; }
.puck-grid.puck-grid--contact-email,
.puck-grid.puck-grid--contact-address { position: relative; padding-left: 64px; }
.puck-grid.puck-grid--contact-address { margin-top: 24px; }
.puck-grid--contact-email::before,
.puck-grid--contact-address::before { content: ""; position: absolute; top: 0; left: 0; width: 48px; height: 48px; border-radius: 9999px; background: hsl(45 100% 50% / .1); }
.puck-grid--contact-email::after,
.puck-grid--contact-address::after { content: ""; position: absolute; top: 12px; left: 12px; width: 24px; height: 24px; background: var(--contact-gold); mask: var(--contact-mail) center / contain no-repeat; }
.puck-grid--contact-address::after { mask-image: var(--contact-pin); }
.puck-grid.puck-grid--contact-email .puck-text h3,
.puck-grid.puck-grid--contact-address .puck-text h3 { margin-bottom: 4px; font-size: 16px; line-height: 24px; }
.puck-grid.puck-grid--contact-email .puck-text p,
.puck-grid.puck-grid--contact-address .puck-text p { color: var(--contact-muted); }
.puck-grid.puck-grid--contact-committees { padding: 32px; border-radius: 12px; background: var(--contact-surface); }
.puck-grid--contact-committees .puck-text { display: grid; grid-template-columns: minmax(0,1fr); column-gap: 32px; }
.puck-grid.puck-grid--contact-committees .puck-text h3 { grid-column: 1 / -1; margin-bottom: 16px; font-size: 20px; line-height: 28px; }
.puck-grid.puck-grid--contact-committees .puck-text p { grid-column: 1 / -1; margin-bottom: 16px; color: var(--contact-muted); }
.puck-grid.puck-grid--contact-committees .puck-text ul { list-style: none; min-width: 0; color: var(--contact-muted); }
.puck-grid.puck-grid--contact-committees .puck-text ul + ul { margin-top: 8px; }
.puck-grid.puck-grid--contact-committees .puck-text li { list-style: none; color: var(--contact-muted); }
.puck-grid.puck-grid--contact-committees .puck-text li + li { margin-top: 8px; }
.puck-grid--contact-committees .puck-text a { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--contact-accent); text-decoration: underline; }
.puck-grid--contact-committees .puck-text a::after { content: ""; width: 14px; height: 14px; flex: 0 0 14px; background: currentColor; mask: var(--contact-external) center / contain no-repeat; }
.puck-grid--contact-committees .puck-text a:hover { color: hsl(233 92% 30% / .8); }
.puck-grid--contact-committees .puck-text a:focus-visible { outline: 2px solid var(--contact-gold); outline-offset: 3px; }
.puck-grid.puck-grid--contact-newsletter { padding: 32px; border: 1px solid var(--contact-border); border-radius: 12px; }
.puck-grid--contact-newsletter > .puck-grid-column > .puck-text h3 { margin-bottom: 12px; font-size: 20px; line-height: 28px; }
.puck-grid--contact-newsletter > .puck-grid-column > .puck-text p { margin-bottom: 16px; color: var(--contact-muted); }

/* Scope every native runtime override to this page. Inline widget styles require
   explicit important declarations; no title, field, consent or challenge hidden. */
.puck-grid--contact-main .puck-contact-widget {
  --color-primary: var(--contact-gold); --color-text: var(--contact-dark);
  --color-textSecondary: var(--contact-muted); --color-surface: var(--contact-card); --color-border: var(--contact-border);
  width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--contact-sans); color: var(--contact-dark);
}
.puck-grid--contact-general .puck-contact-widget > div {
  padding: 32px !important; border: 1px solid var(--contact-border) !important; border-radius: 12px !important;
  background: var(--contact-card) !important; box-shadow: var(--contact-shadow);
}
.puck-grid--contact-general .puck-contact-widget > div > h3 {
  margin: 0 0 24px !important; text-align: left !important;
  font: 700 24px/32px var(--contact-heading) !important; letter-spacing: -.025em; color: var(--contact-dark) !important;
}
.puck-grid--contact-general .puck-contact-widget > div > p { margin: 0 0 24px !important; text-align: left !important; font: 400 16px/25.6px var(--contact-sans); color: var(--contact-muted) !important; }
.puck-grid--contact-general .puck-contact-widget form { gap: 24px !important; }
.puck-grid--contact-general .puck-contact-widget form > div[style*="display:grid"] { grid-template-columns: minmax(0,1fr) !important; gap: 16px !important; }
.puck-grid--contact-general .puck-contact-widget form > div[style*="display:grid"]:has([data-cf="email"]) { gap: 24px !important; }
.puck-grid--contact-general .puck-contact-widget label:not(:has([type="checkbox"])) {
  display: block !important; margin-bottom: 4px !important; font: 500 14px/20px var(--contact-sans) !important;
}
.puck-grid--contact-general .puck-contact-widget :is(input:not([type="checkbox"]),textarea) {
  display: block; width: 100% !important; min-width: 0; height: 36px; padding: 4px 12px !important;
  border: 1px solid var(--contact-border) !important; border-radius: 6px !important;
  background: transparent !important; color: var(--contact-dark) !important;
  font: 400 16px/24px var(--contact-sans) !important; box-shadow: var(--contact-shadow);
}
.puck-grid--contact-general .puck-contact-widget textarea { height: 150px; min-height: 150px; padding: 8px 12px !important; resize: vertical; }
.puck-grid--contact-general .puck-contact-widget :is(input,textarea):focus-visible {
  outline: none !important; box-shadow: 0 0 0 1px var(--contact-gold),var(--contact-shadow) !important;
}
.puck-grid--contact-general .puck-contact-widget label:has([type="checkbox"]) {
  font: 400 14px/21px var(--contact-sans) !important; color: var(--contact-dark);
}
.puck-grid--contact-general .puck-contact-widget [data-cf="submit"] {
  min-height: 38px; padding: 8px 16px !important; border: 1px solid hsl(45 100% 43%) !important;
  border-radius: 6px !important; background: var(--contact-gold) !important; color: var(--contact-dark) !important;
  font: 500 14px/20px var(--contact-sans) !important;
}
.puck-grid--contact-general .puck-contact-widget [data-cf="submit"]:hover { background: hsl(45 100% 50% / .9) !important; }
.puck-grid--contact-main .puck-contact-widget :is(button,input[type="checkbox"]):focus-visible { outline: 1px solid var(--contact-gold); outline-offset: 2px; }
.puck-grid--contact-main .puck-contact-widget input[type="checkbox"] { margin: 3px 0 0 !important; flex-shrink: 0; }
.puck-grid--contact-general .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) > p {
  margin: 6px 0 0 !important; font: 400 12px/18px var(--contact-sans) !important; color: var(--contact-muted) !important;
}

/* The original newsletter is a distinct embedded widget with its own system
   typography, blue button, 28px interior, and 44.8px fields. Preserve that look,
   while keeping all native security and consent content in native DOM order. */
.puck-grid--contact-newsletter .puck-contact-widget { margin-bottom: 10px !important; font: 400 16px/24px var(--contact-widget-font); }
.puck-grid--contact-newsletter .puck-contact-widget > div {
  padding: 28px !important; border: 0 !important; border-radius: 16px !important;
  background: var(--contact-card) !important; box-shadow: 0 4px 16px rgb(0 0 0 / .08);
}
.puck-grid--contact-newsletter .puck-contact-widget > div > h3 {
  margin: 0 0 8px !important; text-align: left !important; color: rgb(0, 0, 0) !important;
  font: 700 21.6px/32.4px var(--contact-heading) !important; letter-spacing: -.025em;
}
.puck-grid--contact-newsletter .puck-contact-widget > div > p {
  margin: 0 0 20px !important; text-align: left !important; color: rgb(100, 116, 139) !important; font: 400 16px/25.6px var(--contact-widget-font);
}
.puck-grid--contact-newsletter .puck-contact-widget form { gap: 14px !important; }
.puck-grid--contact-newsletter .puck-contact-widget form > div[style*="display:grid"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
.puck-grid--contact-newsletter .puck-contact-widget label:not(:has([type="checkbox"])) { font: 500 14px/21px var(--contact-widget-font) !important; margin-bottom: 6px !important; }
.puck-grid--contact-newsletter .puck-contact-widget label:has(+ input[required]) { line-height: 22.4px !important; }
.puck-grid--contact-newsletter .puck-contact-widget input:not([type="checkbox"]) {
  width: 100% !important; min-width: 0; height: 44.8px; padding: 10px 12px !important;
  border: 1px solid rgb(209 213 219) !important; border-radius: 6px !important;
  color: var(--contact-dark) !important; background: transparent !important; font: 400 15.2px/22.8px var(--contact-widget-font) !important;
}
.puck-grid--contact-newsletter .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) {
  padding: 12px; border: 1px solid rgb(226 232 240); border-radius: 8px; background: rgb(248 250 252);
}
.puck-grid--contact-newsletter .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) > p {
  margin: 6px 0 0 !important; font: 400 12px/18px var(--contact-widget-font) !important; color: var(--contact-muted) !important;
}
.puck-grid--contact-newsletter .puck-contact-widget label:has([type="checkbox"]) {
  padding: 12px !important; gap: 10px !important; border: 1px solid rgb(226 232 240) !important;
  border-radius: 8px !important; background: rgb(248 250 252); font: 400 14px/21px var(--contact-widget-font) !important;
}
.puck-grid--contact-newsletter .puck-contact-widget [data-cf="submit"] {
  min-height: 52px; padding: 14px !important; border: 0 !important; border-radius: 8px !important;
  background: rgb(59 130 246) !important; color: var(--contact-card) !important; font: 600 16px/24px var(--contact-widget-font) !important;
}
.puck-grid--contact-newsletter .puck-contact-widget input:not([type="checkbox"]):focus-visible { outline: 2px solid var(--contact-gold); outline-offset: 2px; }
.puck-grid--contact-newsletter .puck-contact-widget [data-cf="submit"]:hover { background: rgb(37 99 235) !important; }
@media (min-width: 640px) {
  .puck-grid.puck-grid--contact-container { max-width: 640px; }
  .puck-grid--contact-committees .puck-text { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .puck-grid.puck-grid--contact-committees .puck-text ul + ul { margin-top: 0; }
  .puck-grid--contact-general .puck-contact-widget form > div[style*="display:grid"]:has([data-cf="firstName"]) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--contact-container { max-width: 768px; }
  .puck-grid.puck-grid--contact-columns { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--contact-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid--contact-general .puck-contact-widget :is(input:not([type="checkbox"]),textarea) { font-size: 14px !important; line-height: 20px !important; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--contact-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--contact-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--contact-container { max-width: 1536px; } }

/* CMP-only twelfth layer. The eleven accepted layers remain unchanged.
   Reference: actual React /cmp evidence, not a proposed redesign. */
@font-face {
  font-family: "NAOBI CMP Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI CMP Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--cmp-"] {
  --cmp-gold: hsl(45 100% 50%); --cmp-dark: hsl(0 0% 10%);
  --cmp-background: hsl(40 20% 98%); --cmp-muted: hsl(0 0% 40%);
  --cmp-surface: hsl(40 10% 94%); --cmp-border: hsl(0 0% 90%);
  --cmp-sans: "NAOBI CMP Inter",sans-serif; --cmp-heading: "NAOBI CMP Playfair",serif;
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--cmp-sans); color: var(--cmp-dark); letter-spacing: normal;
}
.puck-grid[class*="puck-grid--cmp-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--cmp-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--cmp-"] :where(.puck-text) {
  margin: 0 !important; padding: 0 !important; text-align: inherit;
  font: 400 16px/25.6px var(--cmp-sans); color: inherit; letter-spacing: normal;
}
.puck-grid[class*="puck-grid--cmp-"] :where(.puck-text :is(p,ul,ol,li)) { margin: 0; padding: 0; color: inherit; }
.puck-grid[class*="puck-grid--cmp-"] :where(.puck-text h1,.puck-text h2,.puck-text h3,.puck-card-title,.puck-cta-title) {
  margin: 0; padding: 0; font-family: var(--cmp-heading) !important;
  font-weight: 700; letter-spacing: -.025em; color: var(--cmp-dark);
}
.puck-grid.puck-grid--cmp-banner,.puck-grid.puck-grid--cmp-main {
  width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important;
}
.puck-grid.puck-grid--cmp-banner {
  margin-top: -2rem !important; padding: 64px 0; background: var(--cmp-dark); color: var(--cmp-gold);
}
.puck-grid.puck-grid--cmp-main {
  margin-bottom: -2rem !important; padding: 48px 0; background: var(--cmp-background);
}
.puck-grid.puck-grid--cmp-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid--cmp-banner .puck-text h1 { color: var(--cmp-gold); font-size: 36px; line-height: 40px; }
.puck-grid.puck-grid--cmp-breadcrumb { margin-bottom: 16px; }
.puck-grid--cmp-breadcrumb .puck-text { color: hsl(45 100% 50% / .6); font-size: 14px; line-height: 20px; }
.puck-grid--cmp-breadcrumb .puck-text p { display: flex; align-items: center; gap: 8px; }
.puck-grid--cmp-breadcrumb a { color: inherit; text-decoration: none; }
.puck-grid--cmp-breadcrumb a + a { display: inline-flex; align-items: center; }
.puck-grid--cmp-breadcrumb a + a::before {
  content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 8px; background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid:is(.puck-grid--cmp-shell,.puck-grid--cmp-overview-shell) { gap: 40px !important; align-items: stretch; }
.puck-grid.puck-grid--cmp-sidebar {
  position: sticky; top: 112px; padding: 16px; border-radius: 12px; background: hsl(40 10% 94% / .5);
}
.puck-grid--cmp-sidebar .puck-text h3 { padding: 0 12px; margin-bottom: 12px; font-size: 18px; line-height: 28px; }
.puck-grid--cmp-sidebar .puck-navigation {
  display: block !important; margin: 0 !important; padding: 0 !important; background: transparent !important;
  border: 0; border-radius: 0; text-align: left !important; color: var(--cmp-muted);
}
.puck-grid--cmp-sidebar .puck-navigation ul {
  display: flex !important; flex-direction: column; width: 100%; gap: 4px !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.puck-grid--cmp-sidebar .puck-navigation li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.puck-grid--cmp-sidebar .puck-navigation a {
  display: block !important; position: relative; width: 100%; padding: 8px 12px !important;
  border-radius: 8px; background: transparent !important; color: var(--cmp-muted) !important;
  font: 500 14px/20px var(--cmp-sans) !important; text-decoration: none; transition: color .15s,background-color .15s;
}
.puck-grid--cmp-overview-shell .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp"] { background: var(--cmp-gold) !important; color: var(--cmp-dark) !important; }
.puck-grid--cmp-sidebar a:focus-visible,.puck-grid--cmp-categories a:focus-visible,.puck-grid--cmp-breadcrumb a:focus-visible {
  outline: auto 1px; outline-offset: 1px;
}
.puck-grid--cmp-sidebar .puck-navigation a:focus-visible { outline: none; }
.puck-grid--cmp-sidebar .puck-navigation a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-content > .puck-grid-column { display: flex; flex-direction: column; gap: 48px; }
.puck-grid.puck-grid--cmp-about { gap: 32px !important; }
.puck-grid.puck-grid--cmp-about-copy .puck-text p { font-size: 18px; line-height: 28.8px; color: var(--cmp-muted); }
.puck-grid--cmp-about-copy .puck-text p + p { margin-top: 16px; }
.puck-grid--cmp-main .puck-text h2 { font-size: 24px; line-height: 32px; }
.puck-grid--cmp-main .puck-flex[data-puck-flex-container$="-heading"] {
  gap: 12px !important; padding: 0 !important; margin: 0 0 24px; flex-wrap: nowrap !important;
  min-height: 0 !important; height: auto;
}
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-about-heading"] { margin-bottom: 16px; }
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-submit-heading"] { margin-bottom: 32px; }
.puck-grid--cmp-main .puck-flex[data-puck-flex-container$="-heading"] > .puck-flex-item { flex: 0 1 auto; min-width: 0; }
/* Source-derived decorative styling on genuine Text heading rows. These are
   not editorial content, fake Text SVG or empty decorative native Cards.
   Paths match the installed source Lucide components (ISC licensed). */
.puck-grid--cmp-main .puck-flex[data-puck-flex-container$="-heading"]::before {
  content: ""; display: block; flex: 0 0 28px; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: var(--cmp-heading-icon) center / contain no-repeat;
}
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-about-heading"] {
  --cmp-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526'/%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3C/svg%3E");
}
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-about-heading"]::before { flex-basis: 32px; width: 32px; height: 32px; }
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-submit-heading"] {
  --cmp-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-faq-heading"] {
  --cmp-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3M12 17h.01'/%3E%3C/svg%3E");
}
.puck-grid--cmp-main .puck-card.puck-card--cmp-benefits {
  height: 100%; display: flex; flex-direction: column; justify-content: center;
  text-align: left !important;
  padding: 32px !important; margin: 0 !important; border: 0; border-radius: 16px;
  background: hsl(45 100% 50% / .05) !important; box-shadow: none !important;
}
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-title { font-size: 20px; line-height: 28px; margin-bottom: 16px; }
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-description:empty { display: none; }
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-checklist {
  margin: 0 !important; padding: 0 !important; gap: 12px !important; list-style: none;
}
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-checklist li { gap: 12px !important; margin: 0; padding: 0; }
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-checklist li > span:first-child {
  width: 20px; height: 20px; margin-top: 2px; font-size: 0 !important; line-height: 20px !important;
  color: transparent !important; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-checklist li > span:last-child {
  font: 400 16px/25.6px var(--cmp-sans) !important; color: var(--cmp-muted) !important;
}
.puck-grid.puck-grid--cmp-categories-section,.puck-grid.puck-grid--cmp-submit-section,.puck-grid.puck-grid--cmp-faq-section {
  border-top: 1px solid var(--cmp-border); padding-top: 48px;
}
.puck-grid--cmp-categories-section > .puck-grid-column > .puck-text h2 { margin-bottom: 24px; }
.puck-grid--cmp-categories > .puck-grid-column,.puck-grid--cmp-steps > .puck-grid-column {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: start;
}
.puck-grid--cmp-steps > .puck-grid-column { gap: 24px; align-items: stretch; }
.puck-grid--cmp-main .puck-card:is(.puck-card--cmp-category,.puck-card--cmp-step) {
  display: block; margin: 0 !important; padding: 20px !important; border: 1px solid var(--cmp-border);
  border-radius: 12px; background: hsl(0 0% 100%) !important; text-decoration: none; color: var(--cmp-dark);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1) !important;
}
.puck-grid--cmp-main a.puck-card--cmp-category { transition: border-color .15s; }
.puck-grid--cmp-main a.puck-card--cmp-category { text-align: left !important; }
/* A semantic native Grid cell stretches with its source row. The actual Card
   remains naturally shorter; its own empty pseudo-element supplies the same
   full-row hit area/focus box as the source, with only one genuine anchor. */
.puck-grid.puck-grid--cmp-category-cell { position: relative; align-self: stretch; }
.puck-grid--cmp-category-cell > .puck-grid-column { position: static; }
.puck-grid--cmp-category-cell a.puck-card--cmp-category { position: static !important; overflow: visible; }
.puck-grid--cmp-category-cell a.puck-card--cmp-category::after {
  content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 0;
}
.puck-grid--cmp-category-cell a.puck-card--cmp-category:focus-visible { outline: none; }
.puck-grid--cmp-category-cell a.puck-card--cmp-category:focus-visible::after {
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-main .puck-card--cmp-category .puck-card-title { font-size: 18px; line-height: 28px; margin: 0 0 4px; color: var(--cmp-gold) !important; }
.puck-grid--cmp-main :is(.puck-card--cmp-category,.puck-card--cmp-step) .puck-card-description {
  margin: 0; padding: 0; font: 400 14px/1.6 var(--cmp-sans); color: var(--cmp-muted);
}
.puck-grid--cmp-main .puck-card.puck-card--cmp-step { padding: 24px !important; text-align: center; }
.puck-grid--cmp-main .puck-card--cmp-step .puck-card-eyebrow {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  margin: 0 auto 12px; padding: 0; border-radius: 9999px; background: var(--cmp-gold);
  color: var(--cmp-dark); font: 700 16px/24px var(--cmp-sans); letter-spacing: normal; text-transform: none;
}
.puck-grid--cmp-main .puck-card--cmp-step .puck-card-title { margin: 0 0 8px; font-size: 18px; line-height: 28px; }
.puck-grid--cmp-faq-list > .puck-grid-column { display: flex; flex-direction: column; gap: 20px; }
.puck-grid.puck-grid--cmp-faq-item { border-left: 4px solid var(--cmp-gold); padding-left: 24px; }
.puck-grid--cmp-faq-item .puck-text h3 { font-size: 16px; line-height: 24px; margin-bottom: 4px; }
.puck-grid--cmp-faq-item .puck-text p { color: var(--cmp-muted); }
.puck-grid--cmp-main .puck-cta.puck-cta--cmp-questions {
  margin: 0; padding: 32px; border: 0; border-radius: 16px; background: var(--cmp-dark) !important; text-align: center;
}
.puck-grid--cmp-main .puck-cta--cmp-questions .puck-cta-title { font-size: 24px; line-height: 32px; color: var(--cmp-gold); margin: 0 0 12px; }
.puck-grid--cmp-main .puck-cta--cmp-questions .puck-cta-description {
  max-width: none; margin: 0 0 24px; padding: 0; color: hsl(45 100% 50% / .8); font: 400 16px/25.6px var(--cmp-sans);
}
.puck-grid--cmp-main .puck-cta--cmp-questions .puck-cta-buttons { display: flex; justify-content: center; gap: 0; margin: 0; padding: 0; }
.puck-grid--cmp-main .puck-cta--cmp-questions a.puck-cta-primary {
  display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 32px;
  margin: 0; border: 1px solid var(--cmp-border); border-radius: 6px; background: var(--cmp-gold);
  color: var(--cmp-dark); font: 500 14px/20px var(--cmp-sans); text-decoration: none; box-shadow: none;
}
.puck-grid--cmp-main .puck-cta--cmp-questions a.puck-cta-primary:focus-visible { outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold); }
/* Tailwind source hover variants are gated by this same capability query.
   The CDP browser can match :hover while reporting no hover-capable pointer. */
@media (hover: hover) {
  .puck-grid--cmp-breadcrumb a:hover { color: var(--cmp-gold); }
  .puck-grid--cmp-sidebar .puck-navigation a:hover { background: var(--cmp-surface) !important; color: var(--cmp-dark) !important; }
  .puck-grid--cmp-main a.puck-card--cmp-category:hover { border-color: hsl(45 100% 50% / .5); }
  .puck-grid--cmp-main .puck-cta--cmp-questions a.puck-cta-primary:hover { background: hsl(45 100% 50% / .9); }
}
@media (min-width: 640px) { .puck-grid.puck-grid--cmp-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--cmp-container { max-width: 768px; }
  .puck-grid--cmp-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--cmp-about { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid--cmp-categories > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .puck-grid--cmp-steps > .puck-grid-column { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--cmp-container { max-width: 1024px; }
  .puck-grid:is(.puck-grid--cmp-shell,.puck-grid--cmp-overview-shell) { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  :is(.puck-grid--cmp-shell,.puck-grid--cmp-overview-shell) > .puck-grid-column:nth-child(2) { grid-column: span 3; }
}
@media (min-width: 1280px) { .puck-grid.puck-grid--cmp-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--cmp-container { max-width: 1536px; } }

/* General Info only. Append after the immutable twelve accepted layers.
   Shared CMP shell/fonts are reused byte-for-byte, not redefined. */
.puck-grid--cmp-general-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-general"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
/* Keep the source CMP link's genuine focus/hit box around its label,
   not around the preceding decorative chevron. Visual positions unchanged. */
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a + a {
  position: relative; margin-left: 20px;
}
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-general-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-general-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-general-introduction .puck-text p,
.puck-grid--cmp-general-requirements > .puck-grid-column > .puck-text p {
  font-size: 18px; line-height: 1.6; color: var(--cmp-muted);
}
.puck-grid--cmp-general-introduction .puck-text p + p { margin-top: 16px; }
.puck-grid--cmp-general-requirements > .puck-grid-column > .puck-text p { margin-bottom: 16px; }
.puck-grid.puck-grid--cmp-general-notes {
  padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05);
}
.puck-grid--cmp-general-notes .puck-text h3,
.puck-grid--cmp-general-questions .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-general-notes .puck-text h3::before,
.puck-grid--cmp-general-questions .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: var(--cmp-general-icon) center / contain no-repeat;
}
.puck-grid--cmp-general-notes {
  --cmp-general-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E");
}
.puck-grid--cmp-general-notes .puck-text ul { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-general-notes .puck-text li {
  display: flex; align-items: flex-start; gap: 8px; list-style: none; margin: 0; padding: 0;
  color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid--cmp-general-notes .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-general-notes .puck-text li > span:first-child { margin-top: 4px; color: var(--cmp-gold); }
.puck-grid--cmp-general-activities > .puck-grid-column {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: stretch;
}
.puck-grid--cmp-general-content .puck-card.puck-card--cmp-general-activity {
  display: block; margin: 0 !important; padding: 20px !important; border: 1px solid var(--cmp-border);
  border-radius: 12px; background: hsl(0 0% 100%) !important; text-align: left !important;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1) !important;
}
.puck-grid--cmp-general-content .puck-card--cmp-general-activity .puck-card-title {
  display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 16px; line-height: 24px;
  color: var(--cmp-dark) !important;
}
.puck-grid--cmp-general-content .puck-card--cmp-general-activity .puck-card-title::before {
  content: ""; display: block; flex: 0 0 16px; width: 16px; height: 16px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-general-content .puck-card--cmp-general-activity .puck-card-description {
  margin: 0; padding: 0; font: 400 14px/1.6 var(--cmp-sans); color: var(--cmp-muted);
}
.puck-grid--cmp-general-instructions > .puck-grid-column { display: flex; flex-direction: column; gap: 16px; }
.puck-grid.puck-grid--cmp-general-step { grid-template-columns: 32px minmax(0,1fr) !important; gap: 16px !important; align-items: start; }
.puck-grid--cmp-general-step-number .puck-text p {
  display: flex; align-items: center; justify-content: center; width: 32px; height: 32px;
  margin: 0; padding: 0; border-radius: 9999px; background: var(--cmp-gold); color: var(--cmp-dark);
  font: 700 16px/24px var(--cmp-sans);
}
.puck-grid--cmp-general-step-copy .puck-text h3 { margin: 0; font-size: 16px; line-height: 24px; }
.puck-grid--cmp-general-step-copy .puck-text p,
.puck-grid--cmp-general-questions .puck-text p { font-size: 16px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid.puck-grid--cmp-general-questions { border-left: 4px solid var(--cmp-gold); padding-left: 24px; }
.puck-grid--cmp-general-questions .puck-text h3 { margin-bottom: 8px; }
.puck-grid--cmp-general-questions {
  --cmp-general-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
@media (min-width: 768px) {
  .puck-grid--cmp-general-activities > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Full genuine fees-page candidate. Append after the immutable13 layers.
   Source evidence predates authoring. Product/Table native selectors remain
   subject to actual-public runtime verification; no business copy is faked. */
@font-face {
  font-family: "NAOBI CMP Pay Inter Italic"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
.puck-grid--cmp-pay-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-pay"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a + a { margin-left: 20px; }
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-pay-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-pay-introduction .puck-text h2 {
  position: relative; display: block; width: fit-content; max-width: calc(100% - 40px);
  margin: 0 0 16px 40px; font-size: 24px; line-height: 32px;
}
.puck-grid--cmp-pay-introduction .puck-text h2::before {
  content: ""; position: absolute; left: -40px; top: 50%; transform: translateY(-50%);
  display: block; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-pay-introduction .puck-text p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-pay-table-section > .puck-grid-column { overflow-x: auto; }
.puck-grid--cmp-pay-table-section :is(.puck-table,.puck-table-container,.puck-table-wrapper) {
  margin: 0 !important; padding: 0 !important; max-width: none; background: transparent !important;
}
.puck-grid--cmp-pay-table-section .puck-table-wrapper { overflow: visible !important; }
.puck-grid--cmp-pay-table-section table {
  width: 100% !important; margin: 0 !important; border-collapse: collapse !important; table-layout: auto !important;
  font: 400 16px/24px var(--cmp-sans); color: var(--cmp-dark); background: transparent !important; border: 0 !important;
}
.puck-grid--cmp-pay-table-section :is(thead,tbody,tr) { background: transparent !important; border: 0 !important; }
.puck-grid--cmp-pay-table-section :is(th,td) {
  padding: 12px 16px !important; border: 0 !important; vertical-align: middle;
  background: transparent !important; white-space: normal !important; font-size: 16px; line-height: 24px; letter-spacing: normal;
}
.puck-grid--cmp-pay-table-section thead tr { border-bottom: 2px solid var(--cmp-gold) !important; }
.puck-grid--cmp-pay-table-section th {
  font-family: var(--cmp-heading) !important; font-weight: 700 !important; color: var(--cmp-dark) !important; text-align: center !important;
}
.puck-grid--cmp-pay-table-section th:first-child { text-align: left !important; }
.puck-grid--cmp-pay-table-section tbody tr:nth-child(odd) { background: hsl(40 10% 94% / .3) !important; }
.puck-grid--cmp-pay-table-section td {
  font-family: var(--cmp-sans) !important; font-weight: 400 !important; color: var(--cmp-muted) !important; text-align: center !important;
}
.puck-grid--cmp-pay-table-section td:first-child { font-weight: 500 !important; color: var(--cmp-dark) !important; text-align: left !important; }
.puck-grid--cmp-pay-table-section td:nth-child(2) { font-weight: 600 !important; color: var(--cmp-gold) !important; }
.puck-grid--cmp-pay-table-note .puck-text p {
  margin-top: 12px; font-size: 14px; line-height: 1.6; font-family: "NAOBI CMP Pay Inter Italic", sans-serif; font-style: italic; color: var(--cmp-muted);
}
.puck-grid.puck-grid--cmp-pay-payment-information { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-pay-payment-information .puck-text h3 { margin: 0 0 12px; font-size: 18px; line-height: 28px; }
.puck-grid--cmp-pay-payment-information .puck-text ul { margin: 0; padding: 0; list-style: none; line-height: 24px; }
.puck-grid--cmp-pay-payment-information .puck-text li { margin: 0 0 8px; padding: 0; list-style: none; color: var(--cmp-muted); font-size: 16px; line-height: 1.6; }
.puck-grid--cmp-pay-payment-information .puck-text li:last-child { margin-bottom: 0; }
.puck-grid--cmp-pay-purchase-section > .puck-grid-column > .puck-text h3 { margin: 0 0 24px; font-size: 20px; line-height: 28px; }
.puck-grid--cmp-pay-products > .puck-grid-column { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; align-items: stretch; }
.puck-grid.puck-grid--cmp-pay-product-cell { padding: 10px 0; align-content: start; }
/* Existing native product-class anchors are used provisionally. Actual native
   output—not these selectors—will decide the runtime capability gate. */
.puck-grid--cmp-pay-products :is(.recur-single-product,.recur-product-single) {
  width: 100% !important; max-width: 400px !important; margin: 0 auto !important; padding: 0 !important;
  font-family: var(--cmp-sans) !important;
}
.puck-grid--cmp-pay-products :is(.recur-product-card,.recur-single-product-card,.recur-product-single-card) {
  display: block !important; width: 100%; height: auto !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 12px !important; overflow: hidden; background: hsl(0 0% 100%) !important;
  box-shadow: 0 2px 8px rgb(0 0 0 / .1) !important; transform: none !important;
}
.puck-grid--cmp-pay-products :is(.recur-product-card-image,.recur-single-product-image,.recur-product-image) {
  width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 16/9; border-radius: 0;
  margin: 0 !important; padding: 0 !important; overflow: hidden;
}
.puck-grid--cmp-pay-products img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16/9; object-fit: cover !important; border-radius: 0; }
.puck-grid--cmp-pay-products :is(.recur-product-card-body,.recur-single-product-content,.recur-single-product-body,.recur-product-content) {
  display: block !important; padding: 16px !important; margin: 0 !important; text-align: left !important;
}
.puck-grid--cmp-pay-products :is(h2,h3,.recur-product-card-title,.recur-single-product-title,.recur-product-title) {
  margin: 0 0 8px !important; padding: 0; color: hsl(0 0% 0%) !important;
  font: 700 20px/30px var(--cmp-sans) !important; letter-spacing: -.025em !important; text-align: left;
}
.puck-grid--cmp-pay-products :is(.recur-product-card-price,.recur-single-product-price,.recur-product-price) {
  margin: 0 0 4px !important; padding: 0; color: #3b82f6 !important;
  font: 600 14px/1.6 var(--cmp-sans) !important; letter-spacing: normal; text-align: left;
}
.puck-grid--cmp-pay-products :is(.recur-product-card-button,.recur-single-product-button,.recur-product-button) {
  display: inline-block !important; width: auto !important; min-height: 0; margin: 12px 0 0 !important; padding: 8px 16px !important;
  background: #3b82f6 !important; color: hsl(0 0% 100%) !important; border: 0 !important; border-radius: 6px !important;
  font: 500 14px/21px var(--cmp-sans) !important; letter-spacing: normal; text-decoration: none; box-shadow: none !important; transform: none !important;
}
.puck-grid--cmp-pay-products :is(.recur-product-card-button,.recur-single-product-button,.recur-product-button):hover { opacity: .9; }
.puck-grid--cmp-pay-products :is(.recur-product-card-button,.recur-single-product-button,.recur-product-button):focus-visible {
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
@media (min-width: 768px) {
  .puck-grid--cmp-pay-products > .puck-grid-column { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .puck-grid.puck-grid--cmp-pay-product-cell { padding: 5px 0; }
}

/* PINRA-only append layer. Shared CMP shell, fonts and accepted layers untouched.
   Source /cmp/pinra measured at all eight widths before this candidate existed. */
.puck-grid--cmp-pinra-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-pinra"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a + a { margin-left: 20px; }
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-pinra-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-pinra-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-pinra-introduction .puck-text p,
.puck-grid--cmp-pinra-ceu .puck-text p { font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-pinra-introduction .puck-text p + p { margin-top: 16px; }
.puck-grid--cmp-pinra-ceu .puck-text p { margin-bottom: 16px; }
.puck-grid--cmp-pinra-content .puck-text ul { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-pinra-content .puck-text li {
  list-style: none; margin: 0; padding: 0; color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid--cmp-pinra-eligibility .puck-text li,
.puck-grid--cmp-pinra-documentation .puck-text li {
  position: relative; padding-left: 32px;
}
.puck-grid--cmp-pinra-eligibility .puck-text li + li,
.puck-grid--cmp-pinra-documentation .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-pinra-eligibility .puck-text li::before,
.puck-grid--cmp-pinra-documentation .puck-text li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px;
  background: var(--cmp-gold); mask: var(--cmp-pinra-list-icon) center / contain no-repeat;
}
.puck-grid--cmp-pinra-eligibility {
  --cmp-pinra-list-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E");
}
.puck-grid--cmp-pinra-documentation {
  --cmp-pinra-list-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
.puck-grid.puck-grid--cmp-pinra-documentation-panel {
  padding: 24px; border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid--cmp-pinra-documentation .puck-text li { padding-left: 28px; }
.puck-grid--cmp-pinra-documentation .puck-text li::before { top: 4px; width: 16px; height: 16px; }
.puck-grid.puck-grid--cmp-pinra-tips { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-pinra-tips .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-pinra-tips .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-pinra-tips .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-pinra-action > .puck-grid-column { text-align: center; }
.puck-grid--cmp-pinra-action .puck-button-wrapper {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-pinra-action a.puck-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-height: 40px;
  margin: 0; padding: 0 32px; border: 1px solid var(--cmp-border); border-radius: 6px;
  background: var(--cmp-gold); color: var(--cmp-dark); font: 500 14px/20px var(--cmp-sans);
  letter-spacing: normal; text-decoration: none; white-space: nowrap; box-shadow: none;
}
.puck-grid--cmp-pinra-action a.puck-button:focus-visible {
  outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold);
}
@media (hover: hover) {
  .puck-grid--cmp-pinra-action a.puck-button:hover { background: hsl(45 100% 50% / .9); }
}
/* Actual-public correction batch, 2026-10-21.
   Source block margins collapse against space-y-10; native Grid contains them.
   The genuine native anchor also emits inline min-height:44px. */
.puck-grid--cmp-pinra-ceu .puck-text p { margin-bottom: 0; }
.puck-grid--cmp-pinra-action .puck-button-container {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-pinra-action a.puck-button {
  box-sizing: border-box; min-height: 40px !important; height: 40px;
}

/* Academic-only source recreation. Shared CMP shell and accepted layers unchanged.
   Source captured at all eight widths before page/CSS authoring. */
.puck-grid--cmp-academic-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-academic"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a + a { margin-left: 20px; }
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-academic-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-academic-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-academic-introduction .puck-text h2 {
  display: flex; align-items: center; gap: 12px;
}
.puck-grid--cmp-academic-introduction .puck-text h2::before {
  content: ""; display: block; flex: 0 1 28px; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-academic-introduction .puck-text p,
.puck-grid--cmp-academic-ceu .puck-text p { font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-academic-introduction .puck-text p + p { margin-top: 16px; }
/* React's CEU mb-4 collapses against the following space-y-10. Native Grid
   contains that margin: zero here preserves the measured 40px visible gap. */
.puck-grid--cmp-academic-ceu .puck-text p { margin-bottom: 0; }
.puck-grid--cmp-academic-categories > .puck-grid-column {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: stretch;
}
.puck-grid--cmp-academic-content .puck-card.puck-card--cmp-academic-category {
  display: block; height: 100%; margin: 0 !important; padding: 20px !important;
  border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%) !important;
  color: var(--cmp-dark); text-align: left !important;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1) !important;
}
.puck-grid--cmp-academic-content .puck-card--cmp-academic-category .puck-card-title {
  margin: 0 0 8px; font-size: 16px; line-height: 24px; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-academic-content .puck-card--cmp-academic-category .puck-card-description {
  margin: 0; padding: 0; font: 400 14px/1.6 var(--cmp-sans); color: var(--cmp-muted);
}
.puck-grid--cmp-academic-content .puck-text ul { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-academic-content .puck-text li {
  list-style: none; margin: 0; padding: 0; color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid.puck-grid--cmp-academic-documentation-panel {
  padding: 24px; border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid--cmp-academic-documentation .puck-text li { position: relative; padding-left: 28px; }
.puck-grid--cmp-academic-documentation .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-academic-documentation .puck-text li::before {
  content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid.puck-grid--cmp-academic-notes { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-academic-notes .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-academic-notes .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-academic-notes .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-academic-action > .puck-grid-column { text-align: center; }
.puck-grid--cmp-academic-action :is(.puck-button-wrapper,.puck-button-container) {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-academic-action a.puck-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; min-height: 40px !important; height: 40px; margin: 0; padding: 0 32px;
  border: 1px solid var(--cmp-border); border-radius: 6px; background: var(--cmp-gold); color: var(--cmp-dark);
  font: 500 14px/20px var(--cmp-sans); letter-spacing: normal; text-decoration: none; white-space: nowrap; box-shadow: none;
}
.puck-grid--cmp-academic-action a.puck-button:focus-visible {
  outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold);
}
@media (hover: hover) {
  .puck-grid--cmp-academic-action a.puck-button:hover { background: hsl(45 100% 50% / .9); }
}
@media (min-width: 768px) {
  .puck-grid--cmp-academic-categories > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Independent Study-only seventeenth append layer. Prior sixteen layers unchanged.
   Original /cmp/independent-study independently captured at all eight widths first. */
.puck-grid--cmp-independent-study-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-independent-study"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a + a { margin-left: 20px; }
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-independent-study-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-independent-study-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-independent-study-introduction .puck-text h2 { display: flex; align-items: center; gap: 12px; }
.puck-grid--cmp-independent-study-introduction .puck-text h2::before {
  content: ""; display: block; flex: 0 0 28px; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-independent-study-introduction .puck-text p,
.puck-grid--cmp-independent-study-ceu .puck-text p { font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-independent-study-introduction .puck-text p + p { margin-top: 16px; }
/* Source CEU paragraph's 16px bottom margin collapses into the next 40px gap.
   Native Grid contains margins, so no extra bottom margin is added here. */
.puck-grid--cmp-independent-study-ceu .puck-text p { margin-bottom: 0; }
.puck-grid--cmp-independent-study-content .puck-text ul { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-independent-study-content .puck-text li {
  list-style: none; margin: 0; padding: 0; color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid--cmp-independent-study-eligibility .puck-text li,
.puck-grid--cmp-independent-study-documentation .puck-text li { position: relative; padding-left: 32px; }
.puck-grid--cmp-independent-study-eligibility .puck-text li + li,
.puck-grid--cmp-independent-study-documentation .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-independent-study-eligibility .puck-text li::before,
.puck-grid--cmp-independent-study-documentation .puck-text li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px;
  background: var(--cmp-gold); mask: var(--cmp-independent-study-list-icon) center / contain no-repeat;
}
.puck-grid--cmp-independent-study-eligibility {
  --cmp-independent-study-list-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E");
}
.puck-grid--cmp-independent-study-documentation {
  --cmp-independent-study-list-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
.puck-grid.puck-grid--cmp-independent-study-documentation-box {
  padding: 24px; border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid--cmp-independent-study-documentation .puck-text li { padding-left: 28px; }
.puck-grid--cmp-independent-study-documentation .puck-text li::before { top: 4px; width: 16px; height: 16px; }
.puck-grid.puck-grid--cmp-independent-study-tips { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-independent-study-tips .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-independent-study-tips .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-independent-study-tips .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-independent-study-action > .puck-grid-column { text-align: center; }
.puck-grid--cmp-independent-study-action :is(.puck-button-wrapper,.puck-button-container) {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-independent-study-action a.puck-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; min-height: 40px !important; height: 40px; margin: 0; padding: 0 32px;
  border: 1px solid var(--cmp-border); border-radius: 6px; background: var(--cmp-gold); color: var(--cmp-dark);
  font: 500 14px/20px var(--cmp-sans); letter-spacing: normal; text-decoration: none; white-space: nowrap; box-shadow: none;
}
.puck-grid--cmp-independent-study-action a.puck-button:focus-visible {
  outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold);
}
@media (hover: hover) {
  .puck-grid--cmp-independent-study-action a.puck-button:hover { background: hsl(45 100% 50% / .9); }
}

/* Eighteenth, Workshops-only layer. All seventeen accepted layers stay intact.
   Source captured at eight widths before this page or stylesheet was authored. */
.puck-grid--cmp-workshops-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-workshops"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
/* Five flex items, as in CmpLayout: two real links, two decorative chevrons,
   and the complete editable final title. Chevron shrinking at 390px matters. */
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p {
  display: flex; align-items: center; gap: 8px;
}
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p::before,
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p::after {
  content: ""; display: block; flex: 0 1 12px; width: 12px; height: 12px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p::before { order: 1; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p::after { order: 3; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a {
  position: relative; display: block; flex-shrink: 0; white-space: nowrap; font-size: 14px; line-height: 20px;
}
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a + a { order: 2; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a + a::before { content: none; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  order: 4; display: block; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-workshops-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-workshops-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-workshops-introduction .puck-text h2 { display: flex; align-items: center; gap: 12px; }
.puck-grid--cmp-workshops-introduction .puck-text h2::before {
  content: ""; display: block; flex: 0 1 28px; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h20M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3M7 21l5-5 5 5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-workshops-introduction .puck-text p,
.puck-grid--cmp-workshops-recurring .puck-text p { font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-workshops-introduction .puck-text p + p { margin-top: 16px; }
/* Measured source recurring prose ends 40px before reminders. Its mb-4
   collapses with space-y-10; a native Grid contains margins, so retain zero. */
.puck-grid--cmp-workshops-recurring .puck-text p { margin-bottom: 0; }
.puck-grid--cmp-workshops-audiences > .puck-grid-column {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: stretch;
}
.puck-grid--cmp-workshops-content .puck-card.puck-card--cmp-workshops-audience {
  display: block; height: 100%; margin: 0 !important; padding: 20px !important;
  border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%) !important;
  color: var(--cmp-dark); text-align: left !important;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1) !important;
}
.puck-grid--cmp-workshops-content .puck-card--cmp-workshops-audience .puck-card-title {
  margin: 0 0 8px; font-size: 16px; line-height: 24px; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-workshops-content .puck-card--cmp-workshops-audience .puck-card-description {
  margin: 0; padding: 0; font: 400 14px/1.6 var(--cmp-sans); color: var(--cmp-muted);
}
.puck-grid--cmp-workshops-content .puck-text :is(ul,ol) { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-workshops-content .puck-text li {
  list-style: none; margin: 0; padding: 0; color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid.puck-grid--cmp-workshops-req-panel {
  padding: 24px; border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid--cmp-workshops-requirements .puck-text li { position: relative; padding-left: 28px; }
.puck-grid--cmp-workshops-requirements .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-workshops-requirements .puck-text li::before {
  content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* One editable ordered list, not four decorative Cards. 32px circle + 16px
   separation; 4px text top inset reproduces the source paragraph's pt-1. */
.puck-grid--cmp-workshops-timeline .puck-text ol { counter-reset: workshops-step; }
.puck-grid--cmp-workshops-timeline .puck-text li {
  position: relative; counter-increment: workshops-step; min-height: 32px; padding: 4px 0 0 48px;
}
.puck-grid--cmp-workshops-timeline .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-workshops-timeline .puck-text li::before {
  content: counter(workshops-step); position: absolute; top: 0; left: 0;
  display: flex; align-items: center; justify-content: center; width: 32px; height: 32px;
  border-radius: 9999px; background: var(--cmp-gold); color: var(--cmp-dark); font: 700 14px/20px var(--cmp-sans);
}
.puck-grid.puck-grid--cmp-workshops-reminders { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-workshops-reminders .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-workshops-reminders .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-workshops-reminders .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-workshops-action > .puck-grid-column { text-align: center; }
.puck-grid--cmp-workshops-action :is(.puck-button-wrapper,.puck-button-container) {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-workshops-action a.puck-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; min-height: 40px !important; height: 40px; margin: 0; padding: 0 32px;
  border: 1px solid var(--cmp-border); border-radius: 6px; background: var(--cmp-gold); color: var(--cmp-dark);
  font: 500 14px/20px var(--cmp-sans); letter-spacing: normal; text-decoration: none; white-space: nowrap; box-shadow: none;
}
.puck-grid--cmp-workshops-action a.puck-button:focus-visible {
  outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold);
}
@media (hover: hover) {
  .puck-grid--cmp-workshops-action a.puck-button:hover { background: hsl(45 100% 50% / .9); }
}
@media (min-width: 768px) {
  .puck-grid--cmp-workshops-audiences > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Community-only source recreation. No shared chrome or accepted layer edits. */
@font-face {
  font-family: "NAOBI Community Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Community Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--community-"] {
  --community-gold: hsl(45 100% 50%);
  --community-dark: hsl(0 0% 10%);
  --community-background: hsl(40 20% 98%);
  --community-muted: hsl(0 0% 40%);
  --community-surface: hsl(40 10% 94%);
  --community-border: hsl(0 0% 90%);
  --community-card: hsl(0 0% 100%);
  --community-sans: "NAOBI Community Inter",sans-serif;
  --community-heading: "NAOBI Community Playfair",serif;
  --community-widget-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --community-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3C/svg%3E");
  --community-news: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18h-5M18 14h-8M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2'/%3E%3Crect width='8' height='4' x='10' y='6' rx='1'/%3E%3C/svg%3E");
  --community-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M22 21v-2a4 4 0 0 0-3-3.87M16 3.128a4 4 0 0 1 0 7.744'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E");
  --community-briefcase: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3Crect width='20' height='14' x='2' y='6' rx='2'/%3E%3C/svg%3E");
  --community-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--community-sans); letter-spacing: normal; color: var(--community-dark);
}
.puck-grid[class*="puck-grid--community-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--community-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--community-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/25.6px var(--community-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--community-"] .puck-text :is(h1,h2,h3,p,ul,li) { padding: 0; margin: 0; color: inherit; }
.puck-grid[class*="puck-grid--community-"] .puck-text :is(h1,h2,h3) {
  font-family: var(--community-heading); font-weight: 700; letter-spacing: -.025em; color: var(--community-dark);
}
.puck-grid.puck-grid--community-banner,
.puck-grid.puck-grid--community-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--community-banner {
  margin-top: -2rem !important; padding: 80px 0; background: var(--community-surface); text-align: center;
}
.puck-grid.puck-grid--community-main { margin-bottom: -2rem !important; padding: 80px 0; background: var(--community-background); }
.puck-grid.puck-grid--community-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid--community-banner .puck-text h1 { font-size: 36px; line-height: 40px; margin-bottom: 24px !important; }
.puck-grid--community-banner .puck-text p { max-width: 672px; margin: 0 auto !important; font-size: 20px; line-height: 32px; color: var(--community-muted) !important; }
.puck-grid.puck-grid--community-columns { gap: 48px !important; align-items: start; margin-bottom: 80px; }
.puck-grid--community-left > .puck-grid-column { display: flex; flex-direction: column; gap: 64px; }
.puck-grid--community-main .puck-text h2 {
  position: relative; padding-left: 44px !important; min-height: 36px; margin: 0 0 24px !important;
  font-size: 30px; line-height: 36px;
}
.puck-grid--community-main .puck-text h2::before {
  content: ""; position: absolute; top: 2px; left: 0; width: 32px; height: 32px;
  background: var(--community-gold); mask: var(--community-news) center / contain no-repeat;
}
.puck-grid--community-committees .puck-text h2::before { mask-image: var(--community-users); }
.puck-grid--community-newsletter .puck-text h2::before { mask-image: var(--community-mail); }
.puck-grid--community-jobs > .puck-grid-column > .puck-text h2::before { mask-image: var(--community-briefcase); }
.puck-grid--community-news .puck-text > p:first-of-type,
.puck-grid--community-committees > .puck-grid-column > .puck-text p,
.puck-grid--community-jobs > .puck-grid-column > .puck-text p {
  margin-bottom: 24px; font-size: 18px; line-height: 28.8px; color: var(--community-muted);
}
.puck-grid--community-news .puck-text > p:last-child { display: flex; align-items: center; gap: 24px; }
.puck-grid--community-news .puck-text a {
  display: flex; flex: 0 0 auto; align-items: center; gap: 8px; font-weight: 500; color: var(--community-muted); text-decoration: none; transition: color .15s;
}
.puck-grid--community-news .puck-text a::before {
  content: ""; width: 24px; height: 24px; flex: 0 0 24px; background: currentColor; mask: var(--community-social-icon) center / contain no-repeat;
}
.puck-grid--community-news .puck-text a[href*="facebook.com"] { --community-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E"); }
.puck-grid--community-news .puck-text a[href*="youtube.com"] { --community-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17'/%3E%3Cpath d='m10 15 5-3-5-3z'/%3E%3C/svg%3E"); }
.puck-grid--community-news .puck-text a[href*="instagram.com"] { --community-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' x2='17.51' y1='6.5' y2='6.5'/%3E%3C/svg%3E"); }
.puck-grid--community-news .puck-text a:hover { color: var(--community-gold); }
.puck-grid--community-committees .puck-text a { color: var(--community-gold); font-weight: 600; text-decoration: underline; }
.puck-grid--community-committees .puck-text a::after { content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 4px; vertical-align: middle; background: currentColor; mask: var(--community-external) center / contain no-repeat; }
.puck-grid--community-committees .puck-text a:hover { color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--community-committee-list { padding: 32px; background: var(--community-surface); border-radius: 16px; }
.puck-grid--community-committee-list .puck-text ul { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px 48px; list-style: none; }
.puck-grid--community-committee-list .puck-text li {
  position: relative; list-style: none !important; padding-left: 20px !important; font-size: 18px; line-height: 28.8px;
}
.puck-grid--community-committee-list .puck-text li::before {
  content: ""; position: absolute; top: calc(50% - 4px); left: 0; width: 8px; height: 8px; padding: 0; border-radius: 9999px; background: var(--community-gold);
}
.puck-grid--community-newsletter > .puck-grid-column > .puck-text p { margin: 0 0 16px; color: var(--community-muted); }
.puck-grid--community-jobs > .puck-grid-column > .puck-text p { margin-bottom: 32px; }
.puck-grid.puck-grid--community-positions { border: 1px solid var(--community-border); border-radius: 16px; overflow: hidden; margin-bottom: 24px; }
.puck-grid.puck-grid--community-positions-head { background: var(--community-surface); border-bottom: 1px solid var(--community-border); padding: 16px 24px; }
.puck-grid--community-positions-head .puck-text p { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; line-height: 22.4px; }
.puck-grid--community-positions-head .puck-text p::before {
  content: ""; display: block; flex: 0 0 16px; width: 16px; height: 16px; background: var(--community-muted);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid.puck-grid--community-positions-empty { padding: 32px; text-align: center; }
.puck-grid--community-positions-empty .puck-text::before {
  content: ""; display: block; width: 40px; height: 40px; margin: 0 auto 12px; background: hsl(0 0% 40% / .4); mask: var(--community-briefcase) center / contain no-repeat;
}
.puck-grid--community-positions-empty .puck-text p:first-child { font-weight: 600; color: var(--community-muted); }
.puck-grid.puck-grid--community-positions-empty .puck-text p + p { margin-top: 4px; font-size: 14px; line-height: 22.4px; color: hsl(0 0% 40% / .7); }
.puck-grid.puck-grid--community-post { border: 1px solid var(--community-border); border-radius: 16px; padding: 24px; }
.puck-grid--community-post > .puck-grid-column > .puck-text p:first-child { font-size: 14px; line-height: 22.4px; font-weight: 600; letter-spacing: .025em; text-transform: uppercase; color: var(--community-muted); margin-bottom: 4px; }
.puck-grid--community-post > .puck-grid-column > .puck-text h3 { font-size: 20px; line-height: 28px; margin-bottom: 4px; }
.puck-grid--community-post > .puck-grid-column > .puck-text p:last-child { font-size: 14px; line-height: 22.4px; color: var(--community-muted); margin-bottom: 24px; }
.puck-grid--community-packages > .puck-grid-column { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; }
.puck-grid.puck-grid--community-package-cell { min-height: 200px; }
.puck-grid--community-package-cell .recur-single-product { max-width: 400px !important; width: 100%; margin: 10px auto !important; padding: 0 !important; font: 400 16px/24px var(--community-sans); }
.puck-grid--community-package-cell .recur-product-card { background: var(--community-card) !important; border: 0 !important; border-radius: 12px !important; overflow: hidden; box-shadow: 0 2px 8px rgb(0 0 0 / .1) !important; }
.puck-grid--community-package-cell .recur-product-card-image { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; overflow: hidden; }
.puck-grid--community-package-cell .recur-product-card-image img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.puck-grid--community-package-cell .recur-product-card-body { display: block !important; padding: 16px !important; text-align: left; }
.puck-grid--community-package-cell .recur-product-card-title { margin: 0 0 8px !important; color: hsl(0 0% 0%) !important; font: 700 20px/30px var(--community-sans) !important; letter-spacing: -.025em; }
.puck-grid--community-package-cell .recur-product-card-price { margin: 0 0 4px !important; color: rgb(59 130 246) !important; font: 600 14px/22.4px var(--community-sans) !important; letter-spacing: normal; }
.puck-grid--community-package-cell .recur-product-card-description { color: var(--community-muted); font-family: var(--community-sans) !important; }
.puck-grid--community-package-cell .recur-product-card-button {
  display: inline-block !important; width: auto; padding: 8px 16px !important; margin: 12px 0 0 !important; min-height: 0; border: 0 !important; border-radius: 6px !important;
  background: rgb(59 130 246) !important; color: var(--community-card) !important; font: 500 14px/21px var(--community-sans) !important; text-decoration: none; letter-spacing: normal; box-shadow: none;
}
.puck-grid--community-package-cell .recur-product-card-button:hover { opacity: .9; }
.puck-grid--community-main a:focus-visible { outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px; }
/* Keep the native newsletter's actual security/consent semantics visible.
   Contact-specific approval is NOT an approval of Community's native gaps. */
.puck-grid--community-newsletter .puck-contact-widget {
  --color-primary: var(--community-gold); --color-text: var(--community-dark); --color-textSecondary: var(--community-muted);
  --color-surface: var(--community-card); --color-border: var(--community-border);
  width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important; font: 400 16px/24px var(--community-widget-font);
}
.puck-grid--community-newsletter .puck-contact-widget > div { padding: 28px !important; border: 0 !important; border-radius: 16px !important; background: var(--community-card) !important; box-shadow: 0 4px 16px rgb(0 0 0 / .08); }
.puck-grid--community-newsletter .puck-contact-widget > div > h3 { margin: 0 0 8px !important; text-align: left !important; color: hsl(0 0% 0%) !important; font: 700 21.6px/32.4px var(--community-heading) !important; letter-spacing: -.025em; }
.puck-grid--community-newsletter .puck-contact-widget > div > p { margin: 0 0 20px !important; text-align: left !important; color: rgb(100 116 139) !important; font: 400 16px/25.6px var(--community-widget-font); }
.puck-grid--community-newsletter .puck-contact-widget form { gap: 14px !important; }
.puck-grid--community-newsletter .puck-contact-widget form > div[style*="display:grid"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
.puck-grid--community-newsletter .puck-contact-widget label:not(:has([type="checkbox"])) { font: 500 14px/21px var(--community-widget-font) !important; margin-bottom: 6px !important; color: rgb(55 65 81); }
.puck-grid--community-newsletter .puck-contact-widget label:has(+ input[required]) { line-height: 22.4px !important; }
.puck-grid--community-newsletter .puck-contact-widget input:not([type="checkbox"]) { width: 100% !important; min-width: 0; height: 44.8px; padding: 10px 12px !important; border: 1px solid rgb(209 213 219) !important; border-radius: 6px !important; color: var(--community-dark) !important; background: transparent !important; font: 400 15.2px/22.8px var(--community-widget-font) !important; }
.puck-grid--community-newsletter .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) { padding: 12px; border: 1px solid rgb(226 232 240); border-radius: 8px; background: rgb(248 250 252); }
.puck-grid--community-newsletter .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) > p { margin: 6px 0 0 !important; font: 400 12px/18px var(--community-widget-font) !important; color: var(--community-muted) !important; }
.puck-grid--community-newsletter .puck-contact-widget label:has([type="checkbox"]) { padding: 12px !important; gap: 10px !important; border: 1px solid rgb(226 232 240) !important; border-radius: 8px !important; background: rgb(248 250 252); font: 400 14px/21px var(--community-widget-font) !important; color: rgb(55 65 81); }
.puck-grid--community-newsletter .puck-contact-widget input[type="checkbox"] { margin: 3px 0 0 !important; flex-shrink: 0; }
.puck-grid--community-newsletter .puck-contact-widget [data-cf="submit"] { min-height: 52px; padding: 14px !important; border: 0 !important; border-radius: 8px !important; background: rgb(59 130 246) !important; color: var(--community-card) !important; font: 600 16px/24px var(--community-widget-font) !important; }
.puck-grid--community-newsletter .puck-contact-widget input:not([type="checkbox"]):focus-visible { outline: none; box-shadow: none; }
.puck-grid--community-newsletter .puck-contact-widget :is(button,input[type="checkbox"]):focus-visible { outline: 1px auto -webkit-focus-ring-color; outline-offset: 0; }
.puck-grid--community-newsletter .puck-contact-widget [data-cf="submit"]:hover { background: rgb(59 130 246) !important; }
@media (max-width: 480px) {
  .puck-grid--community-package-cell .recur-single-product { margin: 5px auto !important; }
}
@media (min-width: 640px) {
  .puck-grid.puck-grid--community-container { max-width: 640px; }
  .puck-grid--community-committee-list .puck-text ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--community-container { max-width: 768px; }
  .puck-grid--community-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid--community-packages > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--community-container { max-width: 1024px; }
  .puck-grid.puck-grid--community-columns { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 1280px) { .puck-grid.puck-grid--community-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--community-container { max-width: 1536px; } }

/* Donate-only faithful source recreation. Shared chrome/styles remain untouched. */
@font-face {
  font-family: "NAOBI Donate Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Donate Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Donate Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--donate-"] {
  --donate-gold: hsl(45 100% 50%);
  --donate-dark: hsl(0 0% 10%);
  --donate-background: hsl(40 20% 98%);
  --donate-muted: hsl(0 0% 40%);
  --donate-card: hsl(0 0% 100%);
  --donate-sans: "NAOBI Donate Inter",sans-serif;
  --donate-heading: "NAOBI Donate Playfair",serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--donate-sans); letter-spacing: normal; color: var(--donate-dark);
}
.puck-grid[class*="puck-grid--donate-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--donate-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--donate-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/25.6px var(--donate-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--donate-"] .puck-text :is(h1,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--donate-banner,
.puck-grid.puck-grid--donate-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--donate-banner {
  margin-top: -2rem !important; padding: 80px 0; text-align: center;
  background: hsl(45 100% 50% / .1);
}
.puck-grid.puck-grid--donate-main {
  margin-bottom: -2rem !important; padding: 64px 0; background: var(--donate-background);
}
.puck-grid.puck-grid--donate-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid--donate-banner .puck-text::before {
  content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 24px;
  background: var(--donate-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--donate-banner .puck-text h1 {
  font: 700 36px/40px var(--donate-heading); letter-spacing: -.025em; margin-bottom: 24px !important;
}
.puck-grid--donate-banner .puck-text p {
  max-width: 672px; margin: 0 auto !important; font-size: 20px; line-height: 32px; color: var(--donate-muted) !important;
}
.puck-grid.puck-grid--donate-content { width: 100%; max-width: 768px; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--donate-guidance { border-left: 4px solid var(--donate-gold); padding-left: 24px; margin-bottom: 48px; }
.puck-grid--donate-guidance .puck-text p { font-size: 18px; line-height: 28.8px; }
.puck-grid--donate-guidance .puck-text p:not(:last-child) { margin-bottom: 16px; }
.puck-grid--donate-guidance .puck-text p:nth-child(2) { color: var(--donate-gold); font-style: italic; font-weight: 600; }
.puck-grid--donate-guidance .puck-text strong { font-weight: 600; }
.puck-grid--donate-guidance .puck-text a { color: var(--donate-gold); font-weight: 600; text-decoration: underline; }
@media (hover: hover) {
  .puck-grid--donate-guidance .puck-text a:hover { color: hsl(45 100% 50% / .8); }
}
.puck-grid--donate-guidance .puck-text a:focus-visible { outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px; }
/* Native Donations retains all real controls, summary and security messaging.
   CSS cannot repair its $1/no-max validation, labels or different step model. */
.puck-grid.puck-grid--donate-form { margin: 10px 0; }
.puck-grid--donate-form .recur-donation {
  --color-primary: var(--donate-gold); --color-text: var(--donate-dark);
  --color-textSecondary: var(--donate-dark); --color-background: var(--donate-card);
  --color-surface: var(--donate-card); --color-border: rgb(212 212 212);
  max-width: none !important; width: 100%; padding: 28px !important; margin: 0 !important;
  border: 0 !important; border-radius: 16px !important; background: var(--donate-card) !important;
  box-shadow: 0 4px 16px rgb(0 0 0 / .08) !important;
  font: 400 16px/24px var(--donate-sans); letter-spacing: normal; color: var(--donate-dark);
}
.puck-grid--donate-form .recur-donation * { font-family: var(--donate-sans) !important; letter-spacing: normal; }
.puck-grid--donate-form .recur-donation .recur-donation-title {
  margin: 0 0 20px !important; padding: 0 !important; text-align: center !important;
  color: hsl(0 0% 0%) !important; font: 700 21.6px/32.4px var(--donate-heading) !important; letter-spacing: -.025em;
}
.puck-grid--donate-form .donation-amounts {
  display: grid !important; grid-template-columns: repeat(4,minmax(70px,1fr)) !important;
  container-type: inline-size;
  gap: 8px !important; margin: 0 0 16px !important;
}
.puck-grid--donate-form .recur-donation .recur-donation-amount-button {
  min-width: 0; min-height: 0; padding: 12px 8px !important; margin: 0 !important;
  border: 1px solid var(--donate-gold) !important; border-radius: 8px !important;
  background: var(--donate-gold) !important; color: var(--donate-dark) !important;
  font: 600 15.2px/22.8px var(--donate-sans) !important; box-shadow: none;
}
.puck-grid--donate-form .recur-donation .donation-other-btn {
  grid-column: 1 / -1; width: 100cqw; padding: 12px 16px !important; font-weight: 500 !important;
}
.puck-grid--donate-form .recur-donation button:not(.recur-donation-amount-button) {
  background: var(--donate-gold) !important; color: var(--donate-dark) !important; border-color: var(--donate-gold) !important;
}
.puck-grid--donate-form .recur-donation button:hover { background: #e6ac00 !important; }
.puck-grid--donate-form .recur-donation label {
  display: block; font: 500 14px/21px var(--donate-sans) !important; margin: 0 0 6px !important; color: var(--donate-dark) !important;
}
.puck-grid--donate-form .recur-donation :is(input,select,textarea) {
  min-width: 0; width: 100%; padding: 12px !important; margin: 0; border: 1px solid rgb(212 212 212) !important;
  border-radius: 8px !important; background: var(--donate-card) !important; color: var(--donate-dark) !important;
  font: 400 15.2px/22.8px var(--donate-sans) !important;
}
.puck-grid--donate-form .recur-donation input[type=number] { padding-left: 32px !important; font-size: 17.6px !important; line-height: 26.4px !important; }
.puck-grid--donate-form .recur-donation select { height: 48.8px; }
.puck-grid--donate-form .recur-donation .donation-frequency { margin-bottom: 16px !important; }
.puck-grid--donate-form .recur-donation .recur-donation-submit {
  min-height: 0; padding: 14px !important; border: 0 !important; border-radius: 8px !important;
  font: 500 16px/24px var(--donate-sans) !important; box-shadow: none;
}
.puck-grid--donate-form .recur-donation > p:last-child {
  margin: 12px 0 0 !important; padding: 0; color: var(--donate-dark) !important;
  text-align: center; font: 400 12px/19.2px var(--donate-sans) !important;
}
.puck-grid--donate-form .recur-donation [id$="-donor-info"] input {
  padding: 10px 12px !important; border-radius: 6px !important; font: 400 16px/24px var(--donate-sans) !important;
}
.puck-grid--donate-form .recur-donation [id$="-custom-wrapper"] { margin-bottom: 16px !important; }
.puck-grid--donate-form .recur-donation [id$="-donor-info"] { margin-bottom: 16px !important; }
.puck-grid--donate-form .recur-donation [id$="-donor-info"] > div:not(:last-child) { margin-bottom: 16px !important; }
.puck-grid--donate-form .recur-donation [id$="-donor-info"] label { margin-bottom: 4px !important; }
.puck-grid--donate-form .recur-donation [id$="-back-btn"] {
  padding: 8px 0 !important; margin: 0 0 16px !important; border-radius: 0;
  font: 400 14px/21px var(--donate-sans) !important;
}
.puck-grid--donate-form .recur-donation :is(button,input,select,textarea):focus-visible { outline: 1px auto -webkit-focus-ring-color; outline-offset: 0; }
/* Source widget switches from10px to5px margins at480px. Top margin still
   collapses with the preceding48px guidance margin; bottom margin is additive. */
@media (max-width: 480px) { .puck-grid.puck-grid--donate-form { margin: 5px 0; } }
@media (min-width: 640px) { .puck-grid.puck-grid--donate-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--donate-container { max-width: 768px; }
  .puck-grid--donate-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--donate-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--donate-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--donate-container { max-width: 1536px; } }

/* President's Vision only: measured React editorial, not a redesign.
   Shared header, footer, active stylesheet layers and theme are untouched. */
@font-face {
  font-family: "NAOBI PV Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI PV Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI PV Playfair"; font-style: italic; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--pv-"] {
  --pv-gold: hsl(45 100% 50%);
  --pv-dark: hsl(0 0% 10%);
  --pv-background: hsl(40 20% 98%);
  --pv-sans: "NAOBI PV Inter", sans-serif;
  --pv-heading: "NAOBI PV Playfair", serif;
  display: grid; grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--pv-sans); letter-spacing: normal; color: var(--pv-gold);
}
.puck-grid[class*="puck-grid--pv-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--pv-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--pv-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/24px var(--pv-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--pv-"] .puck-text :is(h1,h2,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--pv-banner,
.puck-grid.puck-grid--pv-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--pv-banner {
  margin-top: -2rem !important; padding: 80px 0; text-align: center; background: var(--pv-dark);
}
.puck-grid.puck-grid--pv-main {
  margin-bottom: -2rem !important; padding: 80px 0; background: var(--pv-background);
}
.puck-grid.puck-grid--pv-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--pv-breadcrumb { margin-bottom: 16px; color: hsl(45 100% 50% / .6); }
.puck-grid--pv-breadcrumb .puck-text p { font: 400 14px/20px var(--pv-sans); }
.puck-grid--pv-breadcrumb .puck-text p > span { margin: 0 8px; line-height: 1.6; }
.puck-grid--pv-breadcrumb .puck-text a {
  font: inherit; color: inherit; text-decoration: none;
  transition: color 150ms cubic-bezier(.4,0,.2,1);
}
@media (hover: hover) {
  .puck-grid--pv-breadcrumb .puck-text a:hover { color: var(--pv-gold); }
}
.puck-grid--pv-breadcrumb .puck-text a:focus-visible {
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 0;
}
.puck-grid.puck-grid--pv-title .puck-text h1 {
  font: 700 36px/40px var(--pv-heading); letter-spacing: -.025em; margin-bottom: 24px;
}
.puck-grid.puck-grid--pv-title .puck-text p {
  max-width: 672px; margin: 0 auto !important; font: 400 20px/32px var(--pv-sans); color: hsl(45 100% 50% / .8);
}
.puck-grid.puck-grid--pv-document {
  width: 100%; max-width: 768px; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--pv-panel {
  padding: 40px; border-radius: 16px; background: var(--pv-dark);
  text-align: center; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);
}
.puck-grid.puck-grid--pv-panel .puck-text h2 {
  font: italic 700 30px/36px var(--pv-heading); letter-spacing: -.025em; margin-bottom: 40px;
}
.puck-grid--pv-panel .puck-text h2 em { font-style: inherit; }
.puck-grid--pv-panel .puck-text p {
  font: 400 18px/1.6 var(--pv-sans); letter-spacing: .025em; text-transform: uppercase;
}
.puck-grid--pv-panel .puck-text p:not(:last-child) { margin-bottom: 40px; }
@media (min-width: 640px) { .puck-grid.puck-grid--pv-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--pv-container { max-width: 768px; }
  .puck-grid.puck-grid--pv-title .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--pv-panel { padding: 64px; }
  .puck-grid.puck-grid--pv-panel .puck-text h2 { font-size: 36px; line-height: 40px; }
  .puck-grid--pv-panel .puck-text p { font-size: 20px; line-height: 32px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--pv-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--pv-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--pv-container { max-width: 1536px; } }

/* Newsletter-only React reproduction. No shared/reset/theme changes.
   One genuine native editorial anchor owns the feature's CSS-stretched hit area. */
@font-face {
  font-family: "NAOBI NL Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI NL Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--nl-"] {
  --nl-gold: hsl(45 100% 50%);
  --nl-dark: hsl(0 0% 10%);
  --nl-paper: hsl(40 20% 98%);
  --nl-muted: hsl(40 10% 94%);
  --nl-blue: hsl(233 92% 30%);
  --nl-sans: "NAOBI NL Inter", sans-serif;
  --nl-heading: "NAOBI NL Playfair", serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--nl-sans); letter-spacing: normal; color: var(--nl-dark);
}
.puck-grid[class*="puck-grid--nl-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--nl-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--nl-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/24px var(--nl-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--nl-"] .puck-text :is(h1,h2,h3,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--nl-banner,
.puck-grid.puck-grid--nl-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--nl-banner { margin-top: -2rem !important; padding: 80px 0; background: var(--nl-dark); text-align: center; color: var(--nl-gold); }
.puck-grid.puck-grid--nl-main { margin-bottom: -2rem !important; padding: 48px 0; background: var(--nl-paper); }
.puck-grid.puck-grid--nl-title { width: 100%; padding: 0 16px; margin: 0 auto; color: var(--nl-gold); }
.puck-grid.puck-grid--nl-title .puck-text h1 { font: 700 36px/40px var(--nl-heading); letter-spacing: -.025em; margin-bottom: 24px; }
.puck-grid.puck-grid--nl-title .puck-text p { max-width: 672px; margin: 0 auto; font: 400 20px/32px var(--nl-sans); color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--nl-container { width: 100%; max-width: 896px; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--nl-signup {
  padding: 24px; margin-bottom: 40px; background: var(--nl-muted); border-radius: 12px;
}
.puck-grid--nl-signup > .puck-grid-column { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 16px; }
.puck-grid--nl-signup > .puck-grid-column > .puck-text { width: auto !important; max-width: 100%; flex: 0 1 auto; }
.puck-grid--nl-signup .puck-button-container { width: max-content !important; flex: 0 0 auto; align-self: center !important; }
.puck-grid.puck-grid--nl-signup .puck-text p { font: 500 18px/1.6 var(--nl-sans); text-align: center; }
.puck-grid--nl-signup .puck-button--nl-signup {
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 8px; min-height: 0 !important;
  padding: 8px 16px !important; margin: 0; border: 1px solid hsl(0 0% 90%) !important; border-radius: 6px !important;
  font: 500 14px/20px var(--nl-sans) !important; letter-spacing: normal; white-space: nowrap;
  background: var(--nl-gold) !important; color: var(--nl-dark) !important; text-decoration: none; box-shadow: none;
  transition: color 150ms cubic-bezier(.4,0,.2,1),background-color 150ms cubic-bezier(.4,0,.2,1) !important;
}
.puck-grid.puck-grid--nl-feature {
  position: relative;
  padding: 32px; margin-bottom: 48px; background: var(--nl-dark); border-radius: 16px;
  grid-template-columns: minmax(0,1fr) !important; gap: 32px !important; align-items: center; color: var(--nl-gold);
  transition: box-shadow 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--nl-feature > .puck-grid-column:first-child { width: 256px; justify-self: center; }
.puck-grid--nl-feature .puck-image { padding: 0 !important; margin: 0 !important; }
.puck-grid--nl-feature .puck-image-img {
  display: block; width: 256px; height: auto; border-radius: 8px !important;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
  transition: box-shadow 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--nl-feature .puck-text { text-align: center; }
.puck-grid.puck-grid--nl-feature .puck-text p:first-child { font: 400 16px/24.390625px var(--nl-sans); margin-bottom: 0; }
.puck-grid.puck-grid--nl-feature .puck-text p:first-child strong {
  font: 500 14px/1.6 var(--nl-sans); color: var(--nl-gold); background: hsl(45 100% 50% / .1);
  padding: 4px 12px; border-radius: 9999px;
}
.puck-grid.puck-grid--nl-feature .puck-text h2 {
  font: 700 30px/36px var(--nl-heading); letter-spacing: -.025em; color: var(--nl-gold); margin-bottom: 16px;
}
.puck-grid.puck-grid--nl-feature .puck-text p:nth-of-type(2) { font: 400 18px/1.6 var(--nl-sans); color: hsl(45 100% 50% / .8); margin-bottom: 16px; }
.puck-grid.puck-grid--nl-feature .puck-text p:last-child { font: 600 16px/1.6 var(--nl-sans); }
.puck-grid--nl-feature .puck-text a { display: inline-flex; align-items: center; gap: 8px; font: inherit; color: var(--nl-gold); text-decoration: none; }
/* Keep the feature Grid as the containing block, not the native Text wrappers.
   This stretches the existing visible Read Now link; it adds no DOM, text,
   focus stop, scripted behavior or independent control. ::after remains the
   decorative ExternalLink stroke below. */
.puck-grid--nl-feature > .puck-grid-column,
.puck-grid--nl-feature .puck-text,
.puck-grid--nl-feature .puck-text p,
.puck-grid--nl-feature .puck-text a { position: static !important; }
.puck-grid--nl-feature .puck-text a::before {
  content: ""; position: absolute; inset: 0; z-index: 1; cursor: pointer; border-radius: 16px;
}
/* Purely decorative source Lucide ExternalLink stroke. No meaningful text in CSS. */
.puck-grid--nl-feature .puck-text a::after,
.puck-grid--nl-pdf .puck-text a::after {
  content: ""; display: block; flex-shrink: 0; width: 16px; height: 16px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid.puck-grid--nl-archive-card {
  padding: 32px; margin-bottom: 24px; border: 1px solid hsl(0 0% 90%); border-radius: 12px; background: hsl(0 0% 100%);
  gap: 24px !important; align-items: start; box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
  transition: box-shadow 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--nl-archive-card:last-child { margin-bottom: 0; }
.puck-grid.puck-grid--nl-file-icon { position: relative; width: 80px; height: 80px; border-radius: 8px; background: hsl(45 100% 50% / .1); place-items: center; }
.puck-grid--nl-file-icon::before {
  content: ""; position: absolute; inset: 20px; display: block; width: 40px; height: 40px; background: var(--nl-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--nl-archive-card .puck-card--nl-document {
  padding: 0 !important; margin: 0; border: 0; border-radius: 0; background: transparent !important;
  box-shadow: none !important; text-align: left !important; overflow: visible; color: var(--nl-dark); font-family: var(--nl-sans);
}
.puck-grid--nl-archive-card .puck-card--nl-document > div { padding: 0 !important; }
.puck-grid--nl-archive-card .puck-card--nl-document .puck-card-title {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 8px; padding: 0;
  font: 700 20px/28px var(--nl-heading); letter-spacing: -.025em; color: var(--nl-dark);
}
.puck-card--nl-document .nl-volume {
  display: inline-block; font: 400 14px/1.6 var(--nl-sans); letter-spacing: normal;
  padding: 2px 8px; border-radius: 4px; background: var(--nl-muted); color: hsl(0 0% 40%);
}
.puck-grid--nl-archive-card .puck-card--nl-document .puck-card-description {
  margin: 0 0 8px; padding: 0; font: 400 16px/1.6 var(--nl-sans); color: hsl(0 0% 40%); letter-spacing: normal;
}
.puck-grid--nl-archive-card .puck-card--nl-document .puck-card-meta {
  display: block; list-style: none; margin: 0; padding: 0; font: 400 14px/1.6 var(--nl-sans); color: hsl(0 0% 40%);
}
.puck-card--nl-document .puck-card-meta-row,
.puck-card--nl-document .puck-card-meta-value { margin: 0; padding: 0; font: inherit; color: inherit; }
.puck-grid--nl-pdf .puck-text a {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap;
  padding: 8px 16px; margin: 0; border: 1px solid hsl(0 0% 90%); border-radius: 6px;
  background: var(--nl-blue); color: hsl(0 0% 100%); font: 500 14px/20px var(--nl-sans); text-decoration: none;
  transition: color 150ms cubic-bezier(.4,0,.2,1),background-color 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--nl-pdf .puck-text a::after { margin-left: 8px; }
.puck-grid--nl-signup .puck-button--nl-signup:focus-visible,
.puck-grid--nl-pdf .puck-text a:focus-visible { outline: 2px solid var(--nl-gold); outline-offset: 2px; }
.puck-grid--nl-feature .puck-text a:focus-visible { outline: none; }
.puck-grid--nl-feature:has(.puck-text a:focus-visible) { outline: 1px auto -webkit-focus-ring-color; outline-offset: 0; }
@media (hover:hover) {
  .puck-grid--nl-signup .puck-button--nl-signup:hover { background: hsl(45 100% 50% / .9) !important; }
  .puck-grid--nl-pdf .puck-text a:hover { background: hsl(233 92% 30% / .9); }
  .puck-grid.puck-grid--nl-feature:hover { box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1); }
  .puck-grid--nl-feature:hover .puck-image-img { box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
  .puck-grid--nl-feature:hover .puck-text a { text-decoration: underline; }
  .puck-grid.puck-grid--nl-archive-card:hover { box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1); }
}
@media (min-width:640px) {
  .puck-grid.puck-grid--nl-title { max-width: 640px; }
  .puck-grid--nl-signup > .puck-grid-column { flex-direction: row; }
  .puck-grid.puck-grid--nl-signup .puck-text p { text-align: left; }
}
@media (min-width:768px) {
  .puck-grid.puck-grid--nl-title { max-width: 768px; }
  .puck-grid.puck-grid--nl-title .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--nl-feature { grid-template-columns: 256px minmax(0,1fr) !important; }
  .puck-grid.puck-grid--nl-feature .puck-text { text-align: left; }
  .puck-grid.puck-grid--nl-archive-card { grid-template-columns: 80px minmax(0,1fr) 130.125px !important; }
}
@media (min-width:1024px) { .puck-grid.puck-grid--nl-title { max-width: 1024px; } }
@media (min-width:1280px) { .puck-grid.puck-grid--nl-title { max-width: 1280px; } }
@media (min-width:1536px) { .puck-grid.puck-grid--nl-title { max-width: 1536px; } }

/* Newsletter Signup only. Source recreation; native security DOM stays intact. */
@font-face {
  font-family: "NAOBI Signup Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Signup Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--ns-"] {
  --ns-gold: hsl(45 100% 50%);
  --ns-dark: hsl(0 0% 10%);
  --ns-background: hsl(40 20% 98%);
  --ns-muted: hsl(0 0% 40%);
  --ns-card: hsl(0 0% 100%);
  --ns-border: hsl(0 0% 90%);
  --ns-sans: "NAOBI Signup Inter",sans-serif;
  --ns-heading: "NAOBI Signup Playfair",serif;
  --ns-widget-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--ns-sans); letter-spacing: normal; color: var(--ns-dark);
}
.puck-grid[class*="puck-grid--ns-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--ns-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--ns-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/25.6px var(--ns-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--ns-"] .puck-text :is(h1,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--ns-banner,
.puck-grid.puck-grid--ns-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--ns-banner {
  margin-top: -2rem !important; padding: 80px 0; text-align: center;
  background: linear-gradient(hsl(45 100% 50% / .05),hsl(45 100% 50% / .05)) var(--ns-background);
}
.puck-grid.puck-grid--ns-main {
  margin-bottom: -2rem !important; padding: 64px 0; background: var(--ns-background);
}
.puck-grid.puck-grid--ns-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--ns-form { width: 100%; max-width: 576px; margin: 0 auto; padding: 0 16px; }
.puck-grid--ns-banner .puck-text h1 {
  margin-bottom: 24px !important; font: 700 36px/40px var(--ns-heading); letter-spacing: -.025em; color: var(--ns-dark);
}
.puck-grid--ns-banner .puck-text p {
  max-width: 672px; margin: 0 auto !important; font: 400 20px/32px var(--ns-sans); color: var(--ns-muted) !important;
}
.puck-grid--ns-form .puck-contact-widget {
  --color-primary: var(--ns-gold); --color-text: var(--ns-dark); --color-textSecondary: var(--ns-muted);
  --color-surface: var(--ns-card); --color-border: var(--ns-border);
  width: 100%; max-width: none !important; margin: 10px 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--ns-widget-font); letter-spacing: normal;
}
.puck-grid--ns-form .puck-contact-widget > div {
  padding: 28px !important; border: 0 !important; border-radius: 16px !important;
  background: var(--ns-card) !important; box-shadow: 0 4px 16px rgb(0 0 0 / .08);
}
.puck-grid--ns-form .puck-contact-widget > div > h3 {
  margin: 0 0 8px !important; text-align: left !important; color: hsl(0 0% 0%) !important;
  font: 700 21.6px/32.4px var(--ns-heading) !important; letter-spacing: -.025em;
}
.puck-grid--ns-form .puck-contact-widget > div > p {
  margin: 0 0 20px !important; text-align: left !important; color: rgb(100 116 139) !important;
  font: 400 16px/25.6px var(--ns-widget-font);
}
.puck-grid--ns-form .puck-contact-widget form { gap: 14px !important; }
.puck-grid--ns-form .puck-contact-widget form > div[style*="display:grid"] {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important;
}
.puck-grid--ns-form .puck-contact-widget label:not(:has([type="checkbox"])) {
  font: 500 14px/21px var(--ns-widget-font) !important; margin-bottom: 6px !important; color: rgb(55 65 81);
}
.puck-grid--ns-form .puck-contact-widget label:has(+ input[required]) { line-height: 22.4px !important; }
.puck-grid--ns-form .puck-contact-widget input:not([type="checkbox"]) {
  width: 100% !important; min-width: 0; height: 44.8px; padding: 10px 12px !important;
  border: 1px solid rgb(209 213 219) !important; border-radius: 6px !important;
  color: var(--ns-dark) !important; background: transparent !important;
  font: 400 15.2px/22.8px var(--ns-widget-font) !important;
}
.puck-grid--ns-form .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) {
  padding: 12px; border: 1px solid rgb(226 232 240); border-radius: 8px; background: rgb(248 250 252);
}
.puck-grid--ns-form .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) > p {
  margin: 6px 0 0 !important; font: 400 12px/18px var(--ns-widget-font) !important; color: var(--ns-muted) !important;
}
.puck-grid--ns-form .puck-contact-widget label:has([type="checkbox"]) {
  padding: 12px !important; gap: 10px !important; border: 1px solid rgb(226 232 240) !important;
  border-radius: 8px !important; background: rgb(248 250 252);
  font: 400 14px/21px var(--ns-widget-font) !important; color: rgb(55 65 81);
}
.puck-grid--ns-form .puck-contact-widget input[type="checkbox"] { margin: 3px 0 0 !important; flex-shrink: 0; }
.puck-grid--ns-form .puck-contact-widget [data-cf="submit"] {
  min-height: 52px; padding: 14px !important; border: 0 !important; border-radius: 8px !important;
  background: rgb(59 130 246) !important; color: var(--ns-card) !important;
  font: 600 16px/24px var(--ns-widget-font) !important;
}
.puck-grid--ns-form .puck-contact-widget input:not([type="checkbox"]):focus-visible { outline: none; box-shadow: none; }
.puck-grid--ns-form .puck-contact-widget :is(button,input[type="checkbox"]):focus-visible {
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 0;
}
.puck-grid--ns-form .puck-contact-widget input[type="checkbox"]:focus-visible { outline-offset: 2px; }
.puck-grid--ns-form .puck-contact-widget [data-cf="submit"]:hover { background: rgb(59 130 246) !important; }
@media (max-width: 480px) {
  .puck-grid--ns-form .puck-contact-widget { margin: 5px 0 !important; }
}
@media (min-width: 640px) { .puck-grid.puck-grid--ns-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--ns-container { max-width: 768px; }
  .puck-grid--ns-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--ns-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--ns-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--ns-container { max-width: 1536px; } }

/* Append-only Past Board fidelity layer. Only pb-* native components are owned.
   Original viewport evidence: generated-artifacts/recur-past-board/source-measurements.json. */
@font-face {
  font-family: "NAOBI Past Board Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Past Board Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Past Board Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--pb-"] {
  --pb-gold: hsl(45 100% 50%); --pb-dark: hsl(0 0% 10%);
  --pb-paper: hsl(40 20% 98%); --pb-muted: hsl(0 0% 40%); --pb-border: hsl(0 0% 90%);
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none;
  color: var(--pb-dark); font: 400 16px/24px "NAOBI Past Board Inter",sans-serif; letter-spacing: normal;
}
.puck-grid[class*="puck-grid--pb-"] .puck-grid-column { min-width: 0; }
.puck-grid.puck-grid--pb-banner,.puck-grid.puck-grid--pb-history {
  width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important;
  padding: 80px 0; background: var(--pb-paper);
}
.puck-grid.puck-grid--pb-banner { margin-top: -2rem !important; background: var(--pb-dark); color: var(--pb-gold); text-align: center; }
.puck-grid.puck-grid--pb-history { margin-bottom: -2rem !important; }
.puck-grid.puck-grid--pb-container { width: 100%; padding: 0 16px; margin: 0 auto; }
.puck-grid.puck-grid--pb-timeline { width: 100%; max-width: 896px; padding: 0 16px; margin: 0 auto; }
.puck-grid--pb-timeline > .puck-grid-column { display: flex; flex-direction: column; gap: 32px; }
.puck-grid[class*="puck-grid--pb-"] .puck-text {
  box-sizing: border-box; padding: 0 !important; margin: 0 !important; color: inherit;
  font: 400 16px/1.6 "NAOBI Past Board Inter",sans-serif; letter-spacing: normal;
}
.puck-grid[class*="puck-grid--pb-"] .puck-text p { padding: 0; margin: 0; font: inherit; }
.puck-grid[class*="puck-grid--pb-"] :is(h1,h3) {
  margin: 0 0 16px; padding: 0; color: var(--pb-muted);
  font: 700 14px/20px "NAOBI Past Board Playfair",serif;
  text-transform: uppercase; letter-spacing: .05em;
}
.puck-grid.puck-grid--pb-banner h1 {
  margin: 0 0 24px; font: 700 36px/40px "NAOBI Past Board Playfair",serif;
  letter-spacing: -.025em; text-transform: none; color: var(--pb-gold);
}
.puck-grid.puck-grid--pb-banner .puck-text p { max-width: 672px; margin: 0 auto; font-size: 20px; line-height: 1.6; color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--pb-year {
  overflow: hidden; width: 100%; border: 1px solid var(--pb-border); border-radius: 12px;
  background: hsl(0 0% 100%); box-shadow: 0 1px 3px rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-card.puck-card--pb-year-title {
  display: block !important; box-sizing: border-box; width: 100%; margin: 0 !important;
  padding: 24px !important; border: 0; border-bottom: 1px solid var(--pb-border); border-radius: 0;
  background: hsl(0 0% 10% / .05) !important; color: var(--pb-dark);
  box-shadow: none !important; transform: none !important; transition: none; text-align: left;
}
.puck-card.puck-card--pb-year-title > div { padding: 0 !important; margin: 0; }
.puck-card.puck-card--pb-year-title .puck-card-title {
  display: flex; align-items: center; gap: 12px; margin: 0; padding: 0;
  font: 600 24px/32px "NAOBI Past Board Playfair",serif; letter-spacing: -.025em; color: var(--pb-dark);
}
/* Genuine date Card, not a carrier: its title remains native meaningful content.
   Decorative exact Lucide Users geometry; no literal icon-name text is emitted. */
.puck-card.puck-card--pb-year-title .puck-card-title::before {
  content: ""; flex: none; width: 24px; height: 24px; background: var(--pb-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3a4 4 0 0 1 0 8M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.puck-grid[class*="puck-grid--pb-body-"] { padding: 24px; }
.puck-grid.puck-grid--pb-exec .puck-text,
.puck-grid.puck-grid--pb-chairs .puck-text { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.puck-grid.puck-grid--pb-chairs .puck-text { gap: 12px; }
.puck-grid.puck-grid--pb-exec .puck-text p,
.puck-grid.puck-grid--pb-chairs .puck-text p {
  position: relative; box-sizing: border-box; min-width: 0; display: flex; flex-direction: column; justify-content: center;
  margin: 0; min-height: 88px; padding: 16px 16px 16px 88px; border-radius: 8px;
  font: 400 14px/1.6 "NAOBI Past Board Inter",sans-serif; color: var(--pb-gold);
  transition: background-color .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--pb-exec .puck-text strong {
  display: block; font: 600 16px/1.6 "NAOBI Past Board Inter",sans-serif; color: var(--pb-dark);
}
.puck-grid.puck-grid--pb-exec .puck-text span,.puck-grid.puck-grid--pb-chairs .puck-text span { display: block; }
.puck-grid.puck-grid--pb-exec .puck-text p::before,
.puck-grid.puck-grid--pb-chairs .puck-text p::before {
  /* Static first character repeats the adjacent genuine name decoratively.
     CSS generated-content alternative text is empty: not a hidden text carrier. */
  content: var(--pb-initial) / ""; position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
  box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 50%; background: hsl(45 100% 50% / .1);
  color: var(--pb-gold); font: 700 16px/1.6 "NAOBI Past Board Inter",sans-serif;
}
.puck-grid.puck-grid--pb-chairs h3 { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--pb-border); }
.puck-grid.puck-grid--pb-chairs .puck-text p { min-height: 65.578125px; padding: 12px 12px 12px 64px; font-size: 12px; }
.puck-grid.puck-grid--pb-chairs .puck-text strong { display: block; color: var(--pb-dark); font: 500 14px/1.6 "NAOBI Past Board Inter",sans-serif; }
.puck-grid.puck-grid--pb-chairs .puck-text p::before { left: 12px; width: 40px; height: 40px; font-size: 14px; }
.puck-grid.puck-grid--pb-portraits { gap: 16px !important; align-items: stretch; }
.puck-grid--pb-portraits > .puck-grid-column { display: contents; }
.puck-grid.puck-grid--pb-person {
  border-radius: 8px; padding: 16px; transition: background-color .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--pb-person > .puck-grid-column { display: flex; align-items: center; gap: 16px; }
.puck-grid--pb-person .puck-text { min-width: 0; }
.puck-grid.puck-grid--pb-person .puck-text p { color: var(--pb-dark); font-size: 16px; font-weight: 600; line-height: 1.6; }
.puck-grid.puck-grid--pb-person .puck-text p + p { color: var(--pb-gold); font-size: 14px; font-weight: 400; }
.puck-grid--pb-person .puck-image {
  box-sizing: border-box; display: block; flex: none; width: 80px; height: 80px;
  padding: 0 !important; margin: 0 !important; overflow: hidden; border: 0; border-radius: 50%;
  box-shadow: 0 0 0 3px hsl(45 100% 50% / .2);
}
.puck-grid--pb-person .puck-image-img {
  display: block; width: 100% !important; height: 100% !important; max-width: none;
  margin: 0; padding: 0; border: 0; border-radius: 0 !important; object-fit: cover !important; object-position: center top;
}
.puck-grid.puck-grid--pb-note .puck-text p {
  margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--pb-border);
  font: italic 400 14px/1.6 "NAOBI Past Board Inter",sans-serif; color: var(--pb-muted);
}
.puck-grid.puck-grid--pb-empty .puck-text p {
  margin: 0; padding: 16px 0; text-align: center;
  font: italic 400 14px/1.6 "NAOBI Past Board Inter",sans-serif; color: var(--pb-muted);
}
@media (hover: hover) {
  .puck-grid.puck-grid--pb-person:hover,.puck-grid.puck-grid--pb-exec .puck-text p:hover,
  .puck-grid.puck-grid--pb-chairs .puck-text p:hover { background: hsl(40 10% 94% / .5); }
}
@media (min-width: 640px) {
  .puck-grid.puck-grid--pb-container { max-width: 640px; }
  .puck-grid.puck-grid--pb-portraits { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--pb-exec .puck-text,.puck-grid.puck-grid--pb-chairs .puck-text { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--pb-container { max-width: 768px; }
  .puck-grid.puck-grid--pb-banner h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--pb-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--pb-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--pb-container { max-width: 1536px; } }
/* First initials are source-derived static decorative repeats, not extra records.
   nth-child addresses ordinary editorial paragraphs, in unchanged source order. */
.puck-grid--pb-body-2023 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2023 .puck-grid--pb-exec p:nth-child(2),
.puck-grid--pb-body-2022 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2022 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "K"; }
.puck-grid--pb-body-2023 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2022 .puck-grid--pb-exec p:nth-child(1),
.puck-grid--pb-body-2022 .puck-grid--pb-exec p:nth-child(3) { --pb-initial: "S"; }
.puck-grid--pb-body-2023 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "F"; }
.puck-grid--pb-body-2016 .puck-grid--pb-exec p:nth-child(1) { --pb-initial: "B"; }
.puck-grid--pb-body-2016 .puck-grid--pb-exec p:nth-child(2) { --pb-initial: "K"; }
.puck-grid--pb-body-2016 .puck-grid--pb-exec p:nth-child(3) { --pb-initial: "P"; }
.puck-grid--pb-body-2016 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "J"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(1) { --pb-initial: "K"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(2) { --pb-initial: "B"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(3),
.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(5) { --pb-initial: "M"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "T"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(5) { --pb-initial: "S"; }
.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(4),.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(5),
.puck-grid--pb-body-2013 .puck-grid--pb-chairs p:nth-child(3),.puck-grid--pb-body-2012 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "S"; }
.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "M"; }
.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "V"; }
.puck-grid--pb-body-2013 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2012 .puck-grid--pb-chairs p:nth-child(1) { --pb-initial: "E"; }
.puck-grid--pb-body-2013 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "I"; }
.puck-grid--pb-body-2012 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "D"; }
.puck-grid--pb-body-2013 .puck-grid--pb-chairs p:nth-child(4),.puck-grid--pb-body-2012 .puck-grid--pb-chairs p:nth-child(4) { --pb-initial: "K"; }
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(1),
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "S"; }
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(2) { --pb-initial: "B"; }
.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2011 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "K"; }
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(3) { --pb-initial: "T"; }
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(5) { --pb-initial: "M"; }
.puck-grid--pb-body-2011 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2010 .puck-grid--pb-chairs p:nth-child(1) { --pb-initial: "L"; }
.puck-grid--pb-body-2011 .puck-grid--pb-chairs p:nth-child(2),.puck-grid--pb-body-2010 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "J"; }
.puck-grid--pb-body-2010 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "C"; }
.puck-grid--pb-body-2010 .puck-grid--pb-chairs p:nth-child(4) { --pb-initial: "A"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(1) { --pb-initial: "P"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(2) { --pb-initial: "F"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(3) { --pb-initial: "T"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "K"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(6) { --pb-initial: "V"; }
.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(5) { --pb-initial: "G"; }
.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(1) { --pb-initial: "E"; }
.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "S"; }
.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(3),.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(5),.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(5) { --pb-initial: "T"; }
.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(4),.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(4) { --pb-initial: "J"; }
.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "C"; }
.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "O"; }
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(1),
.puck-grid--pb-body-2004 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2003 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2002 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2001 .puck-grid--pb-chairs p:nth-child(1) { --pb-initial: "L"; }
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(2),
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(3),
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(4),
.puck-grid--pb-body-2003 .puck-grid--pb-chairs p:nth-child(3),.puck-grid--pb-body-2002 .puck-grid--pb-chairs p:nth-child(3),.puck-grid--pb-body-2001 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "C"; }
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(5),
.puck-grid--pb-body-2004 .puck-grid--pb-chairs p:nth-child(2),.puck-grid--pb-body-2003 .puck-grid--pb-chairs p:nth-child(2),.puck-grid--pb-body-2002 .puck-grid--pb-chairs p:nth-child(2),.puck-grid--pb-body-2001 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "B"; }
.puck-grid--pb-body-2004 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "K"; }

/* Photo Gallery only. Exact source layout, not a redesign.
   Genuine Quill title hyperlinks own the native album panels' full hit areas. */
@font-face {
  font-family: "NAOBI PG Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI PG Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI PG Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--pg-"] {
  --pg-gold: hsl(45 100% 50%);
  --pg-dark: hsl(0 0% 10%);
  --pg-sans: "NAOBI PG Inter", sans-serif;
  --pg-heading: "NAOBI PG Playfair", serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--pg-sans); letter-spacing: normal; color: var(--pg-dark);
}
.puck-grid[class*="puck-grid--pg-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--pg-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--pg-"] .puck-text {
  margin: 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--pg-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--pg-"] :is(h1,h2,h3,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--pg-banner,
.puck-grid.puck-grid--pg-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--pg-banner {
  margin-top: -2rem !important; padding: 80px 0; background: var(--pg-dark); color: var(--pg-gold); text-align: center;
}
.puck-grid.puck-grid--pg-main {
  margin-bottom: -2rem !important; padding: 64px 0; background: hsl(40 10% 94% / .3); text-align: center;
}
.puck-grid.puck-grid--pg-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--pg-banner h1 {
  font: 700 36px/40px var(--pg-heading); letter-spacing: -.025em; margin-bottom: 24px !important; color: var(--pg-gold);
}
.puck-grid--pg-banner .puck-text p {
  max-width: 672px; margin: 0 auto; font: 400 20px/32px var(--pg-sans); color: hsl(45 100% 50% / .8);
}
.puck-grid--pg-main h2 {
  font: 700 30px/36px var(--pg-heading); letter-spacing: -.025em; margin-bottom: 16px !important;
}
.puck-grid--pg-intro .puck-text p {
  max-width: 576px; margin: 0 auto 8px; font: 400 16px/1.6 var(--pg-sans); color: hsl(0 0% 40%);
}
.puck-grid--pg-intro .puck-text p:last-child {
  margin-bottom: 40px; font: italic 400 14px/1.6 var(--pg-sans); font-synthesis: none;
}
.puck-grid--pg-intro .puck-text em { font: inherit; }
.puck-grid.puck-grid--pg-albums {
  width: 100%; max-width: 768px; margin: 0 auto; gap: 32px !important;
}
.puck-grid.puck-grid--pg-album {
  position: relative; padding: 32px; border: 1px solid hsl(0 0% 90%); border-radius: 16px;
  background: hsl(0 0% 100%); text-align: center;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);
  transition: all 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--pg-album > .puck-grid-column,
.puck-grid--pg-album .puck-text,
.puck-grid--pg-album .puck-text :is(h3,a,p) { position: static !important; }
/* The circle and camera are purely decorative source geometry. No empty Puck,
   literal icon-name text, hidden content or additional focus stop is involved. */
.puck-grid--pg-album .puck-text::before {
  content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 9999px;
  background: hsl(45 100% 50% / .1); transition: background-color 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--pg-album .puck-text::after {
  content: ""; position: absolute; top: 48px; left: calc(50% - 16px);
  width: 32px; height: 32px; pointer-events: none; background: var(--pg-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: background-color 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--pg-album .puck-text h3 {
  font: 700 20px/28px var(--pg-heading); letter-spacing: -.025em; margin-bottom: 8px;
}
.puck-grid--pg-album .puck-text h3 a { font: inherit; color: inherit; text-decoration: none; }
.puck-grid--pg-album .puck-text h3 a::before {
  content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 16px; cursor: pointer;
}
.puck-grid--pg-album .puck-text p {
  font: 400 14px/1.6 var(--pg-sans); color: hsl(0 0% 40%); margin-bottom: 16px;
}
/* Match the source anchor's 16/24 outer line box and the inline-flex 14/22.4
   CTA baseline. The strong is ordinary visible Quill emphasis, not a control. */
.puck-grid--pg-album .puck-text p:last-child { font: 400 16px/24px var(--pg-sans); margin: 0; }
.puck-grid--pg-album .puck-text p:last-child strong {
  display: inline-flex; align-items: center; gap: 4px; color: var(--pg-gold); font: 600 14px/1.6 var(--pg-sans);
}
.puck-grid--pg-album .puck-text p:last-child strong::after {
  content: ""; display: block; flex-shrink: 0; width: 16px; height: 16px; background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--pg-album .puck-text a:focus-visible { outline: none; }
.puck-grid--pg-album:has(.puck-text a:focus-visible) { outline: 3px auto -webkit-focus-ring-color; outline-offset: 0; }
@media (hover:hover) {
  .puck-grid.puck-grid--pg-album:hover {
    border-color: hsl(45 100% 50% / .5);
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1);
  }
  .puck-grid--pg-album:hover .puck-text::before { background: var(--pg-gold); }
  .puck-grid--pg-album:hover .puck-text::after { background: var(--pg-dark); }
  .puck-grid--pg-album:hover .puck-text p:last-child strong { text-decoration: underline; }
}
@media (min-width:640px) { .puck-grid.puck-grid--pg-container { max-width: 640px; } }
@media (min-width:768px) {
  .puck-grid.puck-grid--pg-container { max-width: 768px; }
  .puck-grid.puck-grid--pg-banner h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--pg-albums { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width:1024px) { .puck-grid.puck-grid--pg-container { max-width: 1024px; } }
@media (min-width:1280px) { .puck-grid.puck-grid--pg-container { max-width: 1280px; } }
@media (min-width:1536px) { .puck-grid.puck-grid--pg-container { max-width: 1536px; } }

/* Privacy only: source-derived native Grid + Heading + cohesive Quill Text.
   No shared chrome or prior stylesheet changes. */
@font-face {
  font-family: "NAOBI Privacy Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Privacy Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--privacy-"] {
  --privacy-gold: hsl(45 100% 50%);
  --privacy-dark: hsl(0 0% 10%);
  --privacy-muted: hsl(0 0% 40%);
  --privacy-sans: "NAOBI Privacy Inter", sans-serif;
  --privacy-heading: "NAOBI Privacy Playfair", serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--privacy-sans); letter-spacing: normal; color: var(--privacy-dark);
}
.puck-grid[class*="puck-grid--privacy-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--privacy-"] > .puck-grid-column { min-width: 0; display: block; }
.puck-grid[class*="puck-grid--privacy-"] .puck-text {
  display: flow-root; margin: 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--privacy-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--privacy-"] :is(h1,h2,p,ul,li) {
  margin: 0; padding: 0; color: inherit;
}
.puck-grid.puck-grid--privacy-banner,
.puck-grid.puck-grid--privacy-main {
  width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important;
}
.puck-grid.puck-grid--privacy-banner {
  margin-top: -2rem !important; padding: 80px 0;
  background: hsl(45 100% 50% / .05); text-align: center;
}
.puck-grid.puck-grid--privacy-main {
  margin-bottom: -2rem !important; padding: 80px 0;
  background: hsl(40 20% 98%); text-align: left;
}
.puck-grid.puck-grid--privacy-title-container {
  width: 100%; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--privacy-banner h1 {
  font: 700 36px/40px var(--privacy-heading); letter-spacing: -.025em;
  margin: 0 0 24px !important; color: var(--privacy-dark);
}
.puck-grid.puck-grid--privacy-banner .puck-text p {
  max-width: 672px; margin: 0 auto; font: 400 20px/32px var(--privacy-sans);
  color: var(--privacy-muted);
}
.puck-grid.puck-grid--privacy-document {
  width: 100%; max-width: 768px; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--privacy-document .puck-text h2 {
  font: 700 24px/32px var(--privacy-heading); letter-spacing: -.025em;
  margin: 0 0 16px; color: var(--privacy-dark);
}
.puck-grid.puck-grid--privacy-document .puck-text p,
.puck-grid.puck-grid--privacy-document .puck-text li {
  font: 400 16px/1.6 var(--privacy-sans); letter-spacing: normal;
  color: var(--privacy-muted);
}
.puck-grid.puck-grid--privacy-document .puck-text p { margin: 0 0 24px; }
.puck-grid.puck-grid--privacy-document .puck-text p:has(+ ul) { margin-bottom: 16px; }
.puck-grid.puck-grid--privacy-document .puck-text strong { font-weight: 700; color: inherit; }
.puck-grid.puck-grid--privacy-document .puck-text ul {
  margin: 0 0 24px; padding: 0 0 0 24px; list-style: disc outside;
  font: 400 16px/24px var(--privacy-sans); color: var(--privacy-muted);
}
.puck-grid.puck-grid--privacy-document .puck-text li {
  display: list-item; margin: 0 0 8px; padding: 0; list-style: disc outside;
}
.puck-grid.puck-grid--privacy-document .puck-text li:last-child { margin-bottom: 0; }
.puck-grid.puck-grid--privacy-document .puck-text li::marker { color: inherit; }
.puck-grid.puck-grid--privacy-document .puck-text a {
  font: inherit; color: var(--privacy-gold); text-decoration: none; outline-offset: 1px;
}
.puck-grid.puck-grid--privacy-document .puck-text a:focus-visible {
  outline: 1px auto -webkit-focus-ring-color;
}
@media (hover:hover) {
  .puck-grid.puck-grid--privacy-document .puck-text a:hover { text-decoration: underline; }
}
@media (min-width:640px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 640px; }
}
@media (min-width:768px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 768px; }
  .puck-grid.puck-grid--privacy-banner h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width:1024px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 1024px; }
}
@media (min-width:1280px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 1280px; }
}
@media (min-width:1536px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 1536px; }
}

/* Terms only: source-derived native Grid + Heading + cohesive Quill Text.
   No shared chrome or prior stylesheet changes. */
@font-face {
  font-family: "NAOBI Terms Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Terms Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--terms-"] {
  --terms-gold: hsl(45 100% 50%);
  --terms-dark: hsl(0 0% 10%);
  --terms-muted: hsl(0 0% 40%);
  --terms-sans: "NAOBI Terms Inter", sans-serif;
  --terms-heading: "NAOBI Terms Playfair", serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--terms-sans); letter-spacing: normal; color: var(--terms-dark);
}
.puck-grid[class*="puck-grid--terms-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--terms-"] > .puck-grid-column { min-width: 0; display: block; }
.puck-grid[class*="puck-grid--terms-"] .puck-text {
  display: flow-root; margin: 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--terms-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--terms-"] :is(h1,h2,p,ul,li) {
  margin: 0; padding: 0; color: inherit;
}
.puck-grid.puck-grid--terms-banner,
.puck-grid.puck-grid--terms-main {
  width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important;
}
.puck-grid.puck-grid--terms-banner {
  margin-top: -2rem !important; padding: 80px 0;
  background: hsl(45 100% 50% / .05); text-align: center;
}
.puck-grid.puck-grid--terms-main {
  margin-bottom: -2rem !important; padding: 80px 0;
  background: hsl(40 20% 98%); text-align: left;
}
.puck-grid.puck-grid--terms-title-container {
  width: 100%; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--terms-banner h1 {
  font: 700 36px/40px var(--terms-heading); letter-spacing: -.025em;
  margin: 0 0 24px !important; color: var(--terms-dark);
}
.puck-grid.puck-grid--terms-banner .puck-text p {
  max-width: 672px; margin: 0 auto; font: 400 20px/32px var(--terms-sans);
  color: var(--terms-muted);
}
.puck-grid.puck-grid--terms-document {
  width: 100%; max-width: 768px; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--terms-document .puck-text h2 {
  font: 700 24px/32px var(--terms-heading); letter-spacing: -.025em;
  margin: 0 0 16px; color: var(--terms-dark);
}
.puck-grid.puck-grid--terms-document .puck-text p,
.puck-grid.puck-grid--terms-document .puck-text li {
  font: 400 16px/1.6 var(--terms-sans); letter-spacing: normal;
  color: var(--terms-muted);
}
.puck-grid.puck-grid--terms-document .puck-text p { margin: 0 0 24px; }
.puck-grid.puck-grid--terms-document .puck-text p:has(+ ul) { margin-bottom: 16px; }
.puck-grid.puck-grid--terms-document .puck-text strong { font-weight: 700; color: inherit; }
.puck-grid.puck-grid--terms-document .puck-text ul {
  margin: 0 0 24px; padding: 0 0 0 24px; list-style: disc outside;
  font: 400 16px/24px var(--terms-sans); color: var(--terms-muted);
}
.puck-grid.puck-grid--terms-document .puck-text li {
  display: list-item; margin: 0 0 8px; padding: 0; list-style: disc outside;
}
.puck-grid.puck-grid--terms-document .puck-text li:last-child { margin-bottom: 0; }
.puck-grid.puck-grid--terms-document .puck-text li::marker { color: inherit; }
.puck-grid.puck-grid--terms-document .puck-text a {
  font: inherit; color: var(--terms-gold); text-decoration: none; outline-offset: 1px;
}
.puck-grid.puck-grid--terms-document .puck-text a:focus-visible {
  outline: 1px auto -webkit-focus-ring-color;
}
@media (hover:hover) {
  .puck-grid.puck-grid--terms-document .puck-text a:hover { text-decoration: underline; }
}
@media (min-width:640px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 640px; }
}
@media (min-width:768px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 768px; }
  .puck-grid.puck-grid--terms-banner h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width:1024px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 1024px; }
}
@media (min-width:1280px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 1280px; }
}
@media (min-width:1536px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 1536px; }
}



            /* Base styles */
            * {
              margin: 0;
              padding: 0;
              box-sizing: border-box;
            }
            
            body {
              font-family: Inter;
              line-height: 1.6;
              color: var(--color-text, #333);
              background-color: var(--color-background, #ffffff);
            }

            /* Global image safety — prevents oversized AMS/Quill images from breaking layouts */
            img {
              max-width: 100%;
              height: auto;
            }

            /* Public search: uses theme tokens and stays compact in either
               chrome region while allowing the full results page to breathe. */
            .site-search { position:relative; display:flex; align-items:center; gap:.4rem; min-width:0; }
            .site-search-input, .public-search-form input { min-width:0; width:100%; padding:.5rem .65rem; border:1px solid var(--color-border,#d1d5db); border-radius:.375rem; color:var(--color-text,#111827); background:var(--color-background,#fff); font:inherit; }
            .site-search-input[data-input-background="transparent"] { background:transparent; }
            .site-search-button, .public-search-form button { border:0; border-radius:.375rem; padding:.5rem .7rem; background:var(--color-primary,#2563eb); color:var(--color-on-primary,#fff); font:inherit; cursor:pointer; }
            .site-search-icon-button { min-width:2.4rem; min-height:2.4rem; padding:.35rem; font-size:1.35rem; line-height:1; }
            .site-search-suggestions { position:absolute; z-index:100; top:calc(100% + .3rem); left:0; right:0; max-height:18rem; overflow:auto; margin:0; padding:.25rem; list-style:none; border:1px solid var(--color-border,#d1d5db); border-radius:.375rem; background:var(--color-background,#fff); box-shadow:0 8px 20px rgba(0,0,0,.15); }
            .site-search-suggestion { padding:.55rem .65rem; cursor:pointer; color:var(--color-text,#111827); border-radius:.25rem; }
            .site-search-suggestion[aria-selected="true"], .site-search-suggestion:hover { background:var(--color-surface,#f3f4f6); }
            .public-search-page { max-width:900px; margin:0 auto; padding:3rem 1.25rem; color:var(--color-text,#111827); }
            .public-search-page h1 { margin:0 0 1rem; font-size:2rem; }
            .public-search-form { display:flex; gap:.6rem; align-items:end; flex-wrap:wrap; margin-bottom:1.5rem; }
            .public-search-form label { width:100%; font-weight:600; }
            .public-search-form input { flex:1 1 18rem; }
            .public-search-results { display:grid; gap:1rem; padding:0; list-style:none; }
            .public-search-result { padding:1rem; border:1px solid var(--color-border,#e5e7eb); border-radius:.5rem; }
            .public-search-result h2 { margin:.35rem 0; font-size:1.2rem; }.public-search-result p { margin:.35rem 0 .65rem; color:var(--color-textSecondary,#4b5563); }
            .public-search-result a, .public-search-pages a { color:var(--color-primary,#2563eb); }.public-search-type,.public-search-strength { font-size:.8rem; }.public-search-strength { float:right; color:var(--color-textSecondary,#4b5563); }
            .public-search-pages { display:flex; justify-content:center; gap:1rem; margin-top:1.5rem; }
            @media (max-width: 640px) { .site-search { width:100%; }.public-search-form { align-items:stretch; }.public-search-form button { width:100%; } }
            
            /* Quill alignment styles for rich text content */
            .ql-align-center {
              text-align: center;
            }
            .ql-align-right {
              text-align: right;
            }
            .ql-align-justify {
              text-align: justify;
            }
            .ql-indent-1 { padding-left: 3em; }
            .ql-indent-2 { padding-left: 6em; }
            .ql-indent-3 { padding-left: 9em; }
            .ql-indent-4 { padding-left: 12em; }
            .ql-indent-5 { padding-left: 15em; }
            
            /* Quill font families - matches Quill whitelist */
            .ql-font-arial { font-family: Arial, sans-serif; }
            .ql-font-helvetica { font-family: Helvetica, sans-serif; }
            .ql-font-georgia { font-family: Georgia, serif; }
            .ql-font-times-new-roman { font-family: 'Times New Roman', serif; }
            .ql-font-courier-new { font-family: 'Courier New', monospace; }
            .ql-font-verdana { font-family: Verdana, sans-serif; }
            .ql-font-comic-sans { font-family: 'Comic Sans MS', cursive; }
            .ql-font-lucida { font-family: 'Lucida Console', monospace; }
            .ql-font-inter { font-family: 'Inter', sans-serif; }
            .ql-font-poppins { font-family: 'Poppins', sans-serif; }
            .ql-font-permanent-marker { font-family: 'Permanent Marker', cursive; }
            .ql-font-theme-body { font-family: var(--font-primary, system-ui, sans-serif); }
            .ql-font-theme-header { font-family: var(--font-secondary, var(--font-primary, system-ui)); }
            .ql-font-serif { font-family: Georgia, 'Times New Roman', serif; }
            .ql-font-monospace { font-family: 'Courier New', Consolas, monospace; }
            
            /* Quill code blocks */
            pre.ql-syntax,
            .rich-text-content pre,
            .puck-text pre {
              background-color: var(--color-surface, #f5f5f5);
              color: var(--color-text, #333);
              padding: 12px 16px;
              border-radius: 6px;
              overflow-x: auto;
              font-family: 'Courier New', Consolas, monospace;
              font-size: 0.9em;
              line-height: 1.5;
              margin: 16px 0;
              white-space: pre-wrap;
              word-wrap: break-word;
            }
            
            /* Quill inline code */
            .rich-text-content code,
            .puck-text code {
              background-color: var(--color-surface, #f0f0f0);
              padding: 2px 6px;
              border-radius: 3px;
              font-family: 'Courier New', Consolas, monospace;
              font-size: 0.9em;
            }
            
            /* Quill blockquote */
            .rich-text-content blockquote,
            .puck-text blockquote,
            blockquote.ql-blockquote {
              border-left: 4px solid var(--color-primary, #3b82f6);
              padding-left: 16px;
              margin: 16px 0;
              font-style: italic;
              color: var(--color-text-secondary, #666);
            }
            
            /* Quill paragraph spacing */
            p {
              margin-bottom: 15px;
            }
            p:last-child {
              margin-bottom: 0;
            }
            
            /* Rich text content - Quill formatting styles */
            .rich-text-content ul,
            .puck-text ul {
              margin: 15px 0;
              padding-left: 1.5em;
              list-style-type: disc;
              list-style-position: outside;
            }
            
            .rich-text-content ol,
            .puck-text ol {
              margin: 15px 0;
              padding-left: 1.5em;
              list-style-type: decimal;
              list-style-position: outside;
            }
            
            .rich-text-content li,
            .puck-text li {
              margin-bottom: 8px;
              display: list-item;
              padding-left: 0.5em;
            }
            
            /* Nested lists */
            .rich-text-content ul ul,
            .puck-text ul ul {
              list-style-type: circle;
              margin-top: 8px;
              margin-bottom: 8px;
            }
            
            .rich-text-content ul ul ul,
            .puck-text ul ul ul {
              list-style-type: square;
            }
            
            .rich-text-content ol ol,
            .puck-text ol ol {
              list-style-type: lower-alpha;
              margin-top: 8px;
              margin-bottom: 8px;
            }
            
            .rich-text-content ol ol ol,
            .puck-text ol ol ol {
              list-style-type: lower-roman;
            }
            
            /* Responsive Grid - matches Puck editor behavior */
            /* Uses CSS variable for column count set via inline style */
            .puck-grid {
              display: grid;
              gap: 1rem;
            }
            .puck-grid.responsive-grid {
              grid-template-columns: 1fr;  /* Mobile: single column */
            }
            @media (min-width: 768px) {
              .puck-grid.responsive-grid {
                grid-template-columns: var(--grid-template, repeat(var(--grid-columns, 2), 1fr));
              }
            }
            .puck-grid-column {
              /* Structural child wrapper: content components own appearance. */
            }
            
            /* Header Navigation */
            .site-header {
              position: sticky;
              top: 0; z-index: 1000;
              background: var(--color-surface, #f5f5f5);
              
              padding: 1rem;
              border-bottom: 1px solid var(--color-border, #ddd);
              
              
            }
            
            /* Background image layer — sits above bg color, below all content (same as React approach) */
            
            
            .site-header nav > ul {
              list-style: none;
              display: flex;
              flex-direction: row;
              gap: 2rem;
              max-width: var(--header-max-width, var(--content-max-width, 1200px));
              margin: 0 auto;
              align-items: center;
              justify-content: center;
            }
            
            .site-header nav a,
            .site-header nav a:link,
            .site-header nav a:visited,
            .site-header nav a:hover,
            .site-header nav a:active,
            .site-header .nav-link,
            .site-header .nav-link-dropdown,
            .site-header .nav-menu a {
              color: var(--color-text, #333);
              text-decoration: none;
            }
            
            .site-header nav a:hover,
            .site-header .nav-link:hover,
            .site-header .nav-link-dropdown:hover {
              opacity: 0.8;
              
              text-decoration: none;
            }
            
            /* Navigation Style variants */
            .site-header .nav-link,
                  .site-header .nav-link-dropdown {
                    padding: 0.5rem 1rem;
                    border-radius: 0.375rem;
                    transition: background-color 0.2s ease;
                  }
                  .site-header .nav-link:hover,
                  .site-header .nav-link-dropdown:hover {
                    background-color: rgba(0,0,0,0.05);
                    opacity: 1;
                  }
            
            /* Footer */
            .site-footer {
              background: var(--color-surface, #f5f5f5);
              color: var(--color-text, #333);
              padding: 2rem 1rem 1rem;
              margin-top: 4rem;
              border-top: 1px solid var(--color-border, #ddd);
              
            }
            
            .site-footer a {
              color: var(--color-primary, #1976d2);
              text-decoration: none;
            }
            
            .site-footer a:hover {
              opacity: 0.8;
            }
            
            /* Ensure all footer navigation links have no underline */
            .site-footer ul a,
            .site-footer nav a,
            .site-footer li a {
              text-decoration: none;
            }
            
            /* Main content */
            main {
              max-width: var(--content-max-width, 1200px);
              margin: 0 auto;
              padding: 2rem;
            }

            /* A leading hero sits flush beneath the site header by cancelling main's
               2rem top padding. This applies in every content-width mode (not just
               full width). Only the FIRST child matches, so a hero placed lower on the
               page is never pulled upward. */
            #puck-content > .puck-hero:first-child {
              margin-top: -2rem;
            }
            
            h1, h2, h3, h4, h5, h6 {
              color: var(--color-heading, var(--color-text, #333));
              /* Parity with the editor/preview: .puck-root h1–h6 use the theme's
                 header font (--font-secondary). Without this, published headings
                 silently fall back to the body font. */
              font-family: var(--font-secondary, var(--font-primary, system-ui));
            }

            h1 {
              margin-bottom: 1rem;
            }
            
            .published-note {
              color: var(--color-textSecondary, #666);
              font-size: 0.875rem;
              margin-bottom: 2rem;
            }
            
            .content-preview {
              background: var(--color-surface, #f9f9f9);
              padding: 2rem;
              border-radius: 8px;
              border: 1px solid var(--color-border, #ddd);
            }
            
            /* @pqina/flip v1.8.4 - Vendor CSS for Flip Counter */
            .tick{box-sizing:border-box;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:default;position:relative;z-index:1;line-height:1.4}.tick *{box-sizing:inherit}.tick [data-view]{max-width:100%}.tick span[data-view]{display:inline-block}.tick .tick-credits{position:absolute;right:0;bottom:0;opacity:.4;text-decoration:none;font-size:11px;color:inherit}.tick [data-layout~=pad]{margin:-.25em}.tick [data-layout~=pad]>*{margin:.25em}.tick [data-layout~=horizontal]{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center}.tick [data-layout~=horizontal][data-layout~=baseline]{-ms-flex-align:baseline;align-items:baseline}.tick [data-layout~=horizontal][data-layout~=center]{-ms-flex-pack:center;justify-content:center}.tick [data-layout~=horizontal][data-layout~=right]{-ms-flex-pack:end;justify-content:flex-end}.tick [data-layout~=horizontal][data-layout~=left]{-ms-flex-pack:start;justify-content:flex-start}.tick [data-layout~=horizontal][data-layout~=fill],.tick [data-layout~=horizontal][data-layout~=stretch]{-ms-flex-line-pack:stretch;align-content:stretch;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.tick [data-layout~=horizontal][data-layout~=fill]>*,.tick [data-layout~=horizontal][data-layout~=stretch]>*{-ms-flex:1 0 0px;flex:1 0 0;width:100%}.tick [data-layout~=horizontal][data-layout~=multi-line]{-ms-flex-wrap:wrap;flex-wrap:wrap}.tick [data-layout~=horizontal][data-layout~=fit]{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-line-pack:center;align-content:center;white-space:nowrap;-ms-flex-pack:start;justify-content:flex-start}.tick [data-layout~=vertical]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.tick [data-layout~=vertical][data-layout~=top]{-ms-flex-pack:start;justify-content:flex-start}.tick [data-layout~=vertical][data-layout~=bottom]{-ms-flex-pack:end;justify-content:flex-end;min-height:100%}.tick [data-layout~=vertical][data-layout~=middle]{-ms-flex-pack:center;justify-content:center;min-height:100%}.tick [data-layout~=vertical][data-layout~=left]{-ms-flex-align:start;align-items:flex-start}.tick [data-layout~=vertical][data-layout~=right]{-ms-flex-align:end;align-items:flex-end}.tick [data-layout~=vertical][data-layout~=center]{text-align:center}.tick [data-layout~=vertical][data-layout~=fill],.tick [data-layout~=vertical][data-layout~=stretch]{-ms-flex-align:stretch;align-items:stretch;min-height:100%}.tick [data-layout~=vertical][data-layout~=fill]>*,.tick [data-layout~=vertical][data-layout~=stretch]>*{-ms-flex:1 0 0px;flex:1 0 0}.tick [data-layout~=vertical]>*+*{margin-top:.5em}.tick [data-layout~=overlay]{position:relative}.tick [data-layout~=overlay]>*{margin:0}.tick [data-layout~=overlay][data-layout~=center]{text-align:center}.tick [data-layout~=overlay][data-layout~=left]{text-align:left}.tick [data-layout~=overlay][data-layout~=right]{text-align:right}.tick [data-layout~=overlay]>[data-overlay=fill],.tick [data-layout~=overlay]>[data-overlay=stretch]{position:absolute;left:0;right:0;top:0;bottom:0}.tick [data-layout~=overlay]>[data-overlay=center]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0}.tick-flip{position:relative;text-align:center}.tick-flip *{border-radius:inherit;white-space:pre;letter-spacing:inherit;text-indent:inherit}.tick-flip-front{border-bottom-left-radius:0;border-bottom-right-radius:0}.tick-flip-back{border-top-left-radius:0;border-top-right-radius:0}.tick-flip-spacer{display:block;visibility:hidden}.tick-flip-shadow{position:absolute;left:1px;right:1px;top:1px;bottom:1px;color:transparent!important;background:transparent!important}.tick-flip-shadow-top{bottom:calc(50% - 1px)}.tick-flip-shadow-bottom{top:calc(50% + 1px)}.tick-flip-card-shadow{position:absolute;left:.15em;right:.15em;bottom:.125em;height:.5em;background-color:transparent;border-radius:0;opacity:0;transform-origin:0 100%;box-shadow:0 .125em .25em rgba(0,0,0,.5),0 .125em .5em rgba(0,0,0,.75);z-index:0}.tick-flip-card{position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;perspective:4em}.tick-flip-panel-back,.tick-flip-panel-front{position:absolute;left:0;width:100%;height:51%;backface-visibility:hidden;transform-style:preserve-3d}.tick-flip-panel-back-text,.tick-flip-panel-front-text{position:absolute;left:-1px;top:0;right:-1px;height:100%;overflow:hidden}.tick-flip-panel-text-wrapper{position:absolute;left:0;top:0;right:0;height:100%}.tick-flip-panel-back-text .tick-flip-panel-text-wrapper{height:200%;top:-100%}.tick-flip-panel-front{transform-origin:center bottom;top:0;z-index:2;box-shadow:inset 0 1px hsla(0,0%,100%,.05)}.tick-flip-panel-back{transform-origin:center top;top:50%;z-index:1;box-shadow:inset 0 -1px rgba(0,0,0,.1)}.tick-flip-panel-back:after{z-index:1;content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-image:linear-gradient(180deg,rgba(0,0,0,.3) 1px,rgba(0,0,0,.15) 0,transparent 30%)}.tick-flip-panel-back-shadow{z-index:2}.tick-flip-panel-back-highlight{z-index:3}.tick-flip-panel-back-highlight,.tick-flip-panel-back-shadow{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.tick-flip-panel-back-highlight,.tick-flip-panel-back-shadow,.tick-flip-panel-front-shadow{position:absolute;left:0;top:0;right:0;bottom:0;opacity:0}.tick-flip-panel-front-shadow{background-image:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.3))}.tick-flip-panel-back-shadow{background-image:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.5))}.tick-flip-panel-back-highlight{background-image:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,.3))}.tick [data-style*="shadow:inner"],.tick [data-style*="shadow:inner"] .tick-flip-card-shadow,.tick [data-style*="shadow:none"] .tick-flip-card-shadow,.tick [data-style*="shadow:none"] .tick-flip-panel-back,.tick [data-style*="shadow:none"] .tick-flip-panel-front,.tick [data-style*="shadow:none"] .tick-flip-shadow{box-shadow:none}.tick [data-style*="shadow:none"] .tick-flip-back:after,.tick [data-style*="shadow:none"] .tick-flip-panel-back-shadow,.tick [data-style*="shadow:none"] .tick-flip-panel-back-text:after,.tick [data-style*="shadow:none"] .tick-flip-panel-front-shadow{background-image:none}.tick [data-style*="rounded:none"]{border-radius:0}.tick [data-style*="rounded:panels"] .tick-flip-front,.tick [data-style*="rounded:panels"] .tick-flip-shadow-bottom{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.tick [data-style*="rounded:panels"] .tick-flip-back,.tick [data-style*="rounded:panels"] .tick-flip-panel-back:after,.tick [data-style*="rounded:panels"] .tick-flip-shadow-top{border-top-left-radius:inherit;border-top-right-radius:inherit}.tick-flip{margin-left:.0625em;margin-right:.0625em;min-width:1.125em;border-radius:.125em;letter-spacing:.25em;text-indent:.25em}.tick-flip-panel{color:#edebeb;background-color:#333232}.tick-flip-shadow{box-shadow:0 .125em .3125em rgba(0,0,0,.25),0 .02125em .06125em rgba(0,0,0,.25)}
            
            /* Custom Flip Counter Styling */
            .tick {
              font-size: 1rem;
              white-space: nowrap;
              font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            }

            .tick-flip, .tick-text-inline {
              font-size: 2.5em;
            }

            .tick-label {
              margin-top: 1em;
              font-size: 1em;
              color: var(--color-textSecondary, #696996);
              text-transform: uppercase;
              letter-spacing: 0.1em;
            }

            .tick-char {
              width: 1.5em;
            }

            .tick-text-inline {
              display: inline-block;
              text-align: center;
              min-width: 1em;
              color: var(--color-text, #15151e);
            }

            .tick-text-inline + .tick-text-inline {
              margin-left: -0.325em;
            }

            .tick-group {
              margin: 0 0.5em;
              text-align: center;
            }

            /* Flip Clock Panel - Classic Segmented Display Style */
            .tick-flip-panel {
              color: #ffffff !important;
              background-color: #2b2b2b !important;
              border-radius: 0.15em !important;
              box-shadow: 
                0 0.05em 0 rgba(0, 0, 0, 0.6),
                0 0.15em 0.15em rgba(0, 0, 0, 0.4) !important;
            }

            /* Add subtle gradient for 3D depth effect */
            .tick-flip-panel::before {
              background: linear-gradient(
                to bottom,
                rgba(255, 255, 255, 0.1) 0%,
                rgba(255, 255, 255, 0) 50%,
                rgba(0, 0, 0, 0.2) 100%
              ) !important;
            }

            /* Flip card container with shadow */
            .tick-flip {
              border-radius: 0.15em !important;
              font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
              font-weight: 600 !important;
              box-shadow: 0 0.2em 0.4em rgba(0, 0, 0, 0.3) !important;
            }

            /* Middle divider line between flip panels for segmented look */
            .tick-flip::after {
              background: #1a1a1a !important;
              height: 0.05em !important;
            }

            /* Text positioning and line height */
            .tick-flip-panel-text-wrapper {
              line-height: 1.5 !important;
            }

            /* Spacing between individual digit cards */
            .tick-flip + .tick-flip {
              margin-left: 0.1em;
            }
            
            /* Navigation Dropdown Styles */
            .nav-menu {
              position: relative;
            }
            
            .nav-item-dropdown {
              position: relative;
            }
            
            .nav-link, .nav-link-dropdown {
              color: var(--color-text, #333);
              font-family: Inter;
              text-decoration: none;
              padding: 0.5rem 0.75rem;
              display: inline-flex;
              align-items: center;
              position: relative;
              border-radius: 4px;
              transition: background-color 0.2s, color 0.2s, border-color 0.2s;
              cursor: pointer;
              font-weight: 500;
            }
            
            /* Navigation underline element for underline style */
            .nav-link .nav-underline, .nav-link-dropdown .nav-underline {
              position: absolute;
              bottom: 0;
              left: 50%;
              transform: translateX(-50%);
              height: 2px;
              width: 0%;
              background-color: var(--color-text, #333);
              transition: width 0.2s ease;
            }
            
            /* Default style hover */
            
            .nav-link:hover, .nav-link-dropdown:hover {
              background-color: rgba(0,0,0,0.05);
              
            }
            
            
            /* Underline style hover */
            
            
            /* Pill style hover */
            
            
            /* Bar style hover */
            
            
            .dropdown-arrow {
              font-size: 0.7em;
              margin-left: 0.3rem;
              transition: transform 0.2s;
            }
            
            .nav-item-dropdown.active .dropdown-arrow {
              transform: rotate(180deg);
            }
            
            .nav-dropdown {
              display: none;
              position: absolute;
              top: 100%;
              left: 0;
              min-width: 200px;
              background: #ffffff;
              border: 1px solid var(--color-border, #e5e7eb);
              border-radius: 4px;
              box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
              padding: 0.5rem 0;
              margin-top: 0.25rem;
              list-style: none;
              z-index: 1000;
            }
            
            /* Dropdown visibility controlled by JavaScript with delay support */
            .nav-item-dropdown.active .nav-dropdown {
              display: block;
            }
            
            .nav-dropdown li {
              margin: 0;
            }
            
            .site-header .nav-dropdown a,
            .site-header .nav-dropdown a:link,
            .site-header .nav-dropdown a:visited,
            .site-header .nav-dropdown a:active {
              color: #333333;
              font-family: Inter;
              text-decoration: none;
              padding: 0.5rem 1rem;
              display: block;
              transition: background-color 0.2s, color 0.2s;
              font-weight: 400;
            }
            
            .site-header .nav-dropdown a:hover {
              background-color: rgba(0,0,0,0.05);
              color: #111111;
            }
            
            /* Nested dropdown (fly-out) styles */
            .nav-item-nested {
              position: relative;
            }
            
            .nav-item-nested .dropdown-arrow {
              transform: rotate(0deg);
            }
            
            /* Nested dropdowns fly out to the right - HIDDEN by default */
            .nav-item-nested > .nav-dropdown {
              display: none !important;
              top: 0;
              left: 100%;
              margin-top: 0;
              margin-left: 0;
            }
            
            /* Show nested dropdown ONLY on direct hover (CSS-based, no JS active class) */
            .nav-item-nested:hover > .nav-dropdown {
              display: block !important;
            }
            
            /* Note: Click mode and hover delays are now fully handled by JavaScript */
            
            /* Mobile Navigation Styles */
            .mobile-menu-toggle {
              display: none;
              background: none;
              border: none;
              cursor: pointer;
              padding: 0.5rem;
              color: var(--color-text, #333);
              font-size: 1.5rem;
              line-height: 1;
            }
            
            .mobile-nav {
              display: none;
            }
            
            @media (max-width: 768px) {
              .mobile-menu-toggle {
                display: block;
                margin-left: auto;
              }
              
              .desktop-nav {
                display: none !important;
              }
              
              .mobile-nav {
                display: none;
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: var(--color-surface, #ffffff);
                color: var(--color-text, #333);
                z-index: 9999;
                overflow-y: auto;
              }
              
              .mobile-nav.active {
                display: block;
              }
              
              .mobile-nav-header {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 1rem;
                border-bottom: 1px solid var(--color-border, #ddd);
              }
              
              .mobile-nav-close {
                background: none;
                border: none;
                cursor: pointer;
                padding: 0.5rem;
                color: var(--color-text, #333);
                font-size: 1.5rem;
                line-height: 1;
              }
              
              .mobile-nav ul {
                list-style: none;
                margin: 0;
                padding: 0;
              }
              
              .mobile-nav ul li {
                border-bottom: 1px solid var(--color-border, #ddd);
              }
              
              .mobile-nav ul li a {
                display: block;
                padding: 1rem;
                color: var(--color-text, #333);
                text-decoration: none;
                font-size: 1.1rem;
              }
              
              .mobile-nav ul li a:active {
                background: rgba(0,0,0,0.05);
                
              }
              
              /* Nested sublists — real hierarchy: indented, slightly smaller,
                 with a left guide border so parent/child structure is visible */
              .mobile-nav ul ul.mobile-nav-sub {
                margin: 0 0 0 1rem;
                padding: 0;
                border-left: 2px solid var(--color-border, #ddd);
              }
              
              .mobile-nav ul ul.mobile-nav-sub li {
                border-bottom: none;
              }
              
              .mobile-nav ul ul.mobile-nav-sub li a {
                padding: 0.65rem 1rem;
                font-size: 1rem;
              }
            }
            
            /* ----------------------------------------------
               Custom Quill Blot Styles for Rich Text Content
               ---------------------------------------------- */
            
            /* Floatable Image Styles */
            .ql-floatable-image {
              display: inline-block;
              max-width: 100%;
              margin: 12px 0;
              vertical-align: top;
            }
            
            .ql-floatable-image img {
              display: block;
              max-width: 100%;
              height: auto;
              border-radius: 8px;
            }
            
            .ql-floatable-image.float-left {
              float: left;
              margin: 0 20px 12px 0;
              max-width: 50%;
              clear: none;
            }
            
            .ql-floatable-image.float-right {
              float: right;
              margin: 0 0 12px 20px;
              max-width: 50%;
              clear: none;
            }
            
            .ql-floatable-image.float-none {
              float: none;
              display: block;
              margin: 12px auto;
              max-width: 100%;
            }
            
            .ql-floatable-image.width-small { max-width: 25% !important; }
            .ql-floatable-image.width-medium { max-width: 50% !important; }
            .ql-floatable-image.width-large { max-width: 75% !important; }
            .ql-floatable-image.width-full { max-width: 100% !important; }
            
            /* Video Embed Styles */
            .ql-video-embed {
              display: block;
              margin: 16px 0;
              max-width: 100%;
              clear: both;
            }
            
            .ql-video-embed .video-embed-wrapper {
              position: relative;
              padding-bottom: 56.25%;
              height: 0;
              overflow: hidden;
              border-radius: 8px;
            }
            
            .ql-video-embed .video-embed-wrapper iframe,
            .ql-video-embed .video-embed-wrapper video {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
            }
            
            .ql-video-embed.float-left {
              float: left;
              margin: 0 20px 12px 0;
              clear: none;
            }
            
            .ql-video-embed.float-right {
              float: right;
              margin: 0 0 12px 20px;
              clear: none;
            }
            
            .ql-video-embed.float-none {
              float: none;
              margin: 16px auto;
            }
            
            .ql-video-embed.width-small { width: 200px !important; min-width: 200px !important; }
            .ql-video-embed.width-medium { width: 320px !important; min-width: 320px !important; }
            .ql-video-embed.width-large { width: 480px !important; min-width: 480px !important; }
            .ql-video-embed.width-full { width: 100% !important; max-width: 100% !important; float: none !important; margin: 16px auto !important; }
            
            /* File Card Styles */
            .ql-file-card {
              display: inline-flex;
              align-items: center;
              gap: 12px;
              padding: 12px 16px;
              background: var(--color-surface, #f8fafc);
              border: 1px solid var(--color-border, #e2e8f0);
              border-radius: 8px;
              text-decoration: none;
              color: var(--color-text, inherit);
              margin: 8px 0;
              max-width: 320px;
              transition: all 0.2s ease;
              box-sizing: border-box;
            }
            
            .ql-file-card:hover {
              background: var(--color-surface, #f1f5f9);
              border-color: var(--color-text, #cbd5e1);
              opacity: 0.9;
            }
            
            .ql-file-card .file-icon {
              width: 40px;
              height: 40px;
              border-radius: 8px;
              display: flex;
              align-items: center;
              justify-content: center;
              font-size: 20px;
              flex-shrink: 0;
            }
            
            .ql-file-card .file-icon.pdf { background: #fef2f2; color: #dc2626; }
            .ql-file-card .file-icon.doc { background: #eff6ff; color: #2563eb; }
            .ql-file-card .file-icon.spreadsheet { background: #f0fdf4; color: #16a34a; }
            .ql-file-card .file-icon.default { background: var(--color-surface, #f8fafc); color: var(--color-textSecondary, #64748b); }
            
            .ql-file-card .file-info {
              flex: 1;
              min-width: 0;
              overflow: hidden;
            }
            
            .ql-file-card .file-name {
              font-weight: 600;
              font-size: 14px;
              color: var(--color-text, #1e293b);
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
            }
            
            .ql-file-card .file-size {
              font-size: 12px;
              color: var(--color-textSecondary, #64748b);
              margin-top: 2px;
            }
            
            .ql-file-card.float-left {
              float: left;
              margin: 8px 16px 8px 0;
            }
            
            .ql-file-card.float-right {
              float: right;
              margin: 8px 0 8px 16px;
            }
            
            /* Mobile Responsive Styles for Quill Blots */
            @media (max-width: 768px) {
              /* File cards on mobile - stacked treatment */
              .ql-file-card {
                display: flex !important;
                flex-direction: column !important;
                align-items: center !important;
                max-width: 120px !important;
                width: auto !important;
                box-sizing: border-box !important;
                padding: 12px !important;
                gap: 6px !important;
                text-align: center !important;
              }
              
              .ql-file-card.float-left,
              .ql-file-card.float-right {
                float: none !important;
                margin: 8px 0 !important;
              }
              
              .ql-file-card .file-icon {
                width: 40px !important;
                height: 40px !important;
                font-size: 18px !important;
                border-radius: 8px !important;
              }
              
              .ql-file-card .file-info {
                min-width: 0 !important;
                width: 100% !important;
                overflow: hidden !important;
                text-align: center !important;
              }
              
              .ql-file-card .file-name {
                max-width: 100% !important;
                font-size: 11px !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
                white-space: nowrap !important;
                display: block !important;
              }
              
              .ql-file-card .file-size {
                display: none !important;
              }
              
              /* Floatable images on mobile - remove float and constrain */
              .ql-floatable-image {
                max-width: 100% !important;
                box-sizing: border-box;
              }
              
              .ql-floatable-image.float-left,
              .ql-floatable-image.float-right {
                float: none !important;
                margin: 12px 0 !important;
                max-width: 100% !important;
              }
              
              .ql-floatable-image img {
                max-width: 100% !important;
                height: auto !important;
              }
              
              /* Video embeds on mobile */
              .ql-video-embed.float-left,
              .ql-video-embed.float-right {
                float: none !important;
                margin: 16px 0 !important;
                width: 100% !important;
              }
              
              /* Text content word wrapping */
              .rich-text-content,
              .puck-text {
                max-width: 100% !important;
                overflow-wrap: break-word !important;
                word-wrap: break-word !important;
                word-break: break-word !important;
              }
            }
            
            /* Pull Quote Styles */
            .ql-pull-quote {
              display: block;
              margin: 24px 0;
              padding: 0;
              position: relative;
            }
            
            .ql-pull-quote .pull-quote-wrapper {
              padding: 20px 24px;
              background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
              border-left: 4px solid #3b82f6;
              border-radius: 0 8px 8px 0;
              position: relative;
            }
            
            .ql-pull-quote .pull-quote-mark {
              font-size: 48px;
              line-height: 1;
              color: #3b82f6;
              opacity: 0.3;
              font-family: Georgia, serif;
              position: absolute;
            }
            
            .ql-pull-quote .pull-quote-mark.open {
              top: 8px;
              left: 12px;
            }
            
            .ql-pull-quote .pull-quote-mark.close {
              bottom: 0;
              right: 16px;
            }
            
            .ql-pull-quote .pull-quote-text {
              font-size: 1.25rem;
              font-style: italic;
              font-weight: 500;
              line-height: 1.6;
              color: #334155;
              text-align: center;
              margin: 0;
              padding: 8px 32px;
            }
            
            .ql-pull-quote.float-left {
              float: left;
              margin: 8px 24px 16px 0;
              clear: none;
            }
            
            .ql-pull-quote.float-right {
              float: right;
              margin: 8px 0 16px 24px;
              clear: none;
            }
            
            .ql-pull-quote.float-none {
              float: none;
              margin: 24px auto;
            }
            
            .ql-pull-quote.width-small { width: 200px !important; min-width: 200px !important; }
            .ql-pull-quote.width-medium { width: 280px !important; min-width: 280px !important; }
            .ql-pull-quote.width-large { width: 360px !important; min-width: 360px !important; }
            .ql-pull-quote.width-full { width: 100% !important; max-width: 100% !important; float: none !important; margin: 24px auto !important; }
            
            /* Clear floats after rich text content */
            .text-content::after,
            .rich-text-content::after {
              content: "";
              display: table;
              clear: both;
            }

            /* Render class contract (Task #156): default component structure on
               documented stable classes. Emitted here — after all base styles,
               immediately before the site's custom CSS — so custom CSS overrides
               it at equal specificity. Reproduces the renderer's previous inline
               defaults so sites without custom CSS are unchanged. */
            /* Render class contract v1.11.0 — site chrome structural-only (designer-owned appearance). */
.site-header .header-logo {
  flex-shrink: 0;
}
.site-header .header-logo-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.site-header .header-logo-img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.site-header .header-nav {
  flex: 1;
}
.site-header .nav-menu {
  list-style: none;
  display: flex;
  width: 100%;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.site-header .header-cta {
  flex-shrink: 0;
}
.site-header .header-cta-button {
  display: inline-block;
}
.site-header .header-social {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.site-header .header-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}
.site-header .header-contact {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.site-header .header-grid {
  max-width: var(--header-max-width, var(--content-max-width, 1200px));
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.site-header .header-grid-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 40px;
}
.site-header .header-grid-zone {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.site-header .header-grid-zone--center {
  flex: 1;
}
.site-header .header-flex {
  max-width: var(--header-max-width, var(--content-max-width, 1200px));
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.site-footer .site-footer-content {
  max-width: var(--footer-max-width, var(--content-max-width, 1200px));
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
}
.site-footer .site-footer-logo {
  width: 100%;
  max-width: 150px;
  height: auto;
}
.site-footer .site-footer-links {
  list-style: none;
}
.site-footer .site-footer-social {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.site-footer .site-footer-empty {
  text-align: center;
}
.site-footer .footer-bottom-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.site-footer .footer-bottom-bar-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.site-footer .footer-bottom-bar-details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem 1rem;
}
            /* Render class contract v1.11.0 — structural-only (designer-owned appearance). */
.puck-card {
  display: block;
  overflow: hidden;
}
.puck-grid-heading {
  text-align: center;
}
.puck-grid-subheading {
  text-align: center;
}
.puck-columns {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
.puck-columns-col {
  min-width: 200px;
}
.puck-column {
  min-width: 150px;
  min-height: 100px;
  display: flex;
  flex-direction: column;
}
.puck-button-container {
  display: flex;
  align-self: flex-start;
  width: 100%;
}
.puck-button {
  display: inline-block;
}
.puck-stats-title {
  text-align: center;
}
.puck-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 32px;
}
.puck-stat-card {
  text-align: center;
}
.puck-hero--standard {
  display: flex;
  align-items: center;
  justify-content: center;
}
.puck-hero--carousel {
  position: relative;
  overflow: hidden;
}
.puck-hero--video {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.puck-hero--split {
  display: flex;
  flex-wrap: wrap;
}
.puck-hero--minimal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.puck-hero--offset {
  position: relative;
  display: flex;
}
.puck-hero-content {
  max-width: 800px;
}
.puck-hero--video .puck-hero-content {
  position: relative;
  z-index: 2;
}
.puck-hero--split .puck-hero-content {
  max-width: 500px;
}
.puck-hero--minimal .puck-hero-content {
  max-width: 600px;
}
.puck-hero--offset .puck-hero-content {
  max-width: 500px;
}
.puck-hero-eyebrow {
  display: inline-block;
}
.puck-hero--minimal .puck-hero-subtitle {
  max-width: 500px;
}
.puck-hero-cta-primary {
  display: inline-block;
}
.puck-hero-cta-secondary {
  display: inline-block;
}
.puck-hero--carousel .carousel-slide {
  align-items: center;
  justify-content: center;
}
.puck-hero--carousel .carousel-slides {
  position: relative;
}
.puck-hero--carousel .carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.puck-hero--carousel .carousel-prev {
  left: 1rem;
}
.puck-hero--carousel .carousel-next {
  right: 1rem;
}
.puck-hero--carousel .carousel-dots {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  z-index: 10;
}
.puck-hero--carousel .carousel-dot {
  width: 12px;
  height: 12px;
}
.puck-hero-video-el {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.puck-hero-video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.puck-hero-split-panel {
  flex: 1;
  min-width: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.puck-hero-split-image {
  flex: 1;
  min-width: 300px;
}
.puck-grid-preset {
  display: grid;
}
.puck-flex {
  display: flex;
  flex-direction: var(--puck-flex-direction, row);
  flex-wrap: var(--puck-flex-wrap, wrap);
  row-gap: var(--puck-flex-row-gap, 16px);
  column-gap: var(--puck-flex-column-gap, 16px);
  align-items: var(--puck-flex-align-items, stretch);
  justify-content: var(--puck-flex-justify-content, flex-start);
  min-height: 100px;
}
.puck-flex-item {
  flex-grow: var(--puck-flex-item-grow, 0);
  flex-basis: var(--puck-flex-item-basis, auto);
  flex-shrink: var(--puck-flex-item-shrink, var(--puck-flex-item-flex-shrink, 0));
  align-self: var(--puck-flex-item-align-self, auto);
  min-width: var(--puck-flex-item-min-width, auto);
  max-width: var(--puck-flex-item-max-width, none);
}
.puck-flex > .puck-flex-item[data-puck-flex-item-padding] > * {
  padding-top: var(--puck-flex-item-padding-top) !important;
  padding-right: var(--puck-flex-item-padding-right) !important;
  padding-bottom: var(--puck-flex-item-padding-bottom) !important;
  padding-left: var(--puck-flex-item-padding-left) !important;
}
.puck-video {
  display: flex;
}
.puck-video-inner {
  max-width: 100%;
}
.puck-video-media {
  width: 100%;
  display: block;
}
.puck-cta {
  text-align: center;
}
.puck-cta-description {
  max-width: 600px;
  white-space: pre-wrap;
}
.puck-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.puck-cta-primary {
  display: inline-block;
}
.puck-cta-secondary {
  display: inline-block;
}
.puck-image {
  display: flex;
  max-width: 100%;
}
.puck-image-img {
  display: block;
  max-width: 100%;
}
.puck-image-caption {
  text-align: center;
}
.puck-image-viewer-trigger {
  display: block;
}
.puck-image-viewer-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.puck-image-viewer-img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.puck-image-viewer-close {
  position: absolute;
  top: 16px;
  right: 16px;
}
.puck-image-viewer-previous, .puck-image-viewer-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.puck-image-viewer-previous {
  left: 16px;
}
.puck-image-viewer-next {
  right: 16px;
}
.puck-card-icon-horizontal .puck-card-title {
  text-align: left;
}
.puck-card-description {
  white-space: pre-wrap;
}
.puck-card-featured-overlay {
  position: absolute;
  inset: 0;
}
.puck-card-featured-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.puck-card-meta {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}
.puck-card-meta-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.puck-card-meta-label {
  flex-shrink: 0;
}
.puck-card-avatar {
  width: 120px;
  height: 120px;
  overflow: hidden;
  flex-shrink: 0;
}
.puck-card-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 1024px) { .puck-flex { flex-direction: var(--puck-flex-tablet-direction, var(--puck-flex-direction, row));flex-wrap: var(--puck-flex-tablet-wrap, var(--puck-flex-wrap, wrap));row-gap: var(--puck-flex-tablet-row-gap, var(--puck-flex-row-gap, 16px));column-gap: var(--puck-flex-tablet-column-gap, var(--puck-flex-column-gap, 16px));align-items: var(--puck-flex-tablet-align-items, var(--puck-flex-align-items, stretch));justify-content: var(--puck-flex-tablet-justify-content, var(--puck-flex-justify-content, flex-start)); } }
@media (max-width: 767px) { .puck-flex { flex-direction: var(--puck-flex-mobile-direction, var(--puck-flex-tablet-direction, var(--puck-flex-direction, row)));flex-wrap: var(--puck-flex-mobile-wrap, var(--puck-flex-tablet-wrap, var(--puck-flex-wrap, wrap)));row-gap: var(--puck-flex-mobile-row-gap, var(--puck-flex-tablet-row-gap, var(--puck-flex-row-gap, 16px)));column-gap: var(--puck-flex-mobile-column-gap, var(--puck-flex-tablet-column-gap, var(--puck-flex-column-gap, 16px)));align-items: var(--puck-flex-mobile-align-items, var(--puck-flex-tablet-align-items, var(--puck-flex-align-items, stretch)));justify-content: var(--puck-flex-mobile-justify-content, var(--puck-flex-tablet-justify-content, var(--puck-flex-justify-content, flex-start))); } }
@container puck-canvas (max-width: 1024px) { .puck-flex { flex-direction: var(--puck-flex-tablet-direction, var(--puck-flex-direction, row));flex-wrap: var(--puck-flex-tablet-wrap, var(--puck-flex-wrap, wrap));row-gap: var(--puck-flex-tablet-row-gap, var(--puck-flex-row-gap, 16px));column-gap: var(--puck-flex-tablet-column-gap, var(--puck-flex-column-gap, 16px));align-items: var(--puck-flex-tablet-align-items, var(--puck-flex-align-items, stretch));justify-content: var(--puck-flex-tablet-justify-content, var(--puck-flex-justify-content, flex-start)); } }
@container puck-canvas (max-width: 767px) { .puck-flex { flex-direction: var(--puck-flex-mobile-direction, var(--puck-flex-tablet-direction, var(--puck-flex-direction, row)));flex-wrap: var(--puck-flex-mobile-wrap, var(--puck-flex-tablet-wrap, var(--puck-flex-wrap, wrap)));row-gap: var(--puck-flex-mobile-row-gap, var(--puck-flex-tablet-row-gap, var(--puck-flex-row-gap, 16px)));column-gap: var(--puck-flex-mobile-column-gap, var(--puck-flex-tablet-column-gap, var(--puck-flex-column-gap, 16px)));align-items: var(--puck-flex-mobile-align-items, var(--puck-flex-tablet-align-items, var(--puck-flex-align-items, stretch)));justify-content: var(--puck-flex-mobile-justify-content, var(--puck-flex-tablet-justify-content, var(--puck-flex-justify-content, flex-start))); } }
@media (max-width: 1024px) { .puck-flex > .puck-flex-item { flex-grow: var(--puck-flex-item-tablet-grow, var(--puck-flex-item-grow, 0));flex-basis: var(--puck-flex-item-tablet-basis, var(--puck-flex-item-basis, auto));flex-shrink: var(--puck-flex-item-tablet-shrink, var(--puck-flex-item-shrink, var(--puck-flex-item-flex-shrink, 0)));align-self: var(--puck-flex-item-tablet-align-self, var(--puck-flex-item-align-self, auto));min-width: var(--puck-flex-item-tablet-min-width, var(--puck-flex-item-min-width, auto));max-width: var(--puck-flex-item-tablet-max-width, var(--puck-flex-item-max-width, none)); } .puck-flex > .puck-flex-item[data-puck-flex-item-tablet-margin] { margin-top: var(--puck-flex-item-tablet-margin-top, var(--puck-flex-item-margin-top, var(--puck-flex-item-margin, 0)));margin-right: var(--puck-flex-item-tablet-margin-right, var(--puck-flex-item-margin-right, var(--puck-flex-item-margin, 0)));margin-bottom: var(--puck-flex-item-tablet-margin-bottom, var(--puck-flex-item-margin-bottom, var(--puck-flex-item-margin, 0)));margin-left: var(--puck-flex-item-tablet-margin-left, var(--puck-flex-item-margin-left, var(--puck-flex-item-margin, 0))); } .puck-flex > .puck-flex-item[data-puck-flex-item-tablet-padding] > * { padding-top: var(--puck-flex-item-tablet-padding-top, var(--puck-flex-item-padding-top, revert)) !important;padding-right: var(--puck-flex-item-tablet-padding-right, var(--puck-flex-item-padding-right, revert)) !important;padding-bottom: var(--puck-flex-item-tablet-padding-bottom, var(--puck-flex-item-padding-bottom, revert)) !important;padding-left: var(--puck-flex-item-tablet-padding-left, var(--puck-flex-item-padding-left, revert)) !important; } }
@media (max-width: 767px) { .puck-flex > .puck-flex-item { flex-grow: var(--puck-flex-item-mobile-grow, var(--puck-flex-item-tablet-grow, var(--puck-flex-item-grow, 0)));flex-basis: var(--puck-flex-item-mobile-basis, var(--puck-flex-item-tablet-basis, var(--puck-flex-item-basis, auto)));flex-shrink: var(--puck-flex-item-mobile-shrink, var(--puck-flex-item-tablet-shrink, var(--puck-flex-item-shrink, var(--puck-flex-item-flex-shrink, 0))));align-self: var(--puck-flex-item-mobile-align-self, var(--puck-flex-item-tablet-align-self, var(--puck-flex-item-align-self, auto)));min-width: var(--puck-flex-item-mobile-min-width, var(--puck-flex-item-tablet-min-width, var(--puck-flex-item-min-width, auto)));max-width: var(--puck-flex-item-mobile-max-width, var(--puck-flex-item-tablet-max-width, var(--puck-flex-item-max-width, none))); } .puck-flex > .puck-flex-item[data-puck-flex-item-mobile-margin] { margin-top: var(--puck-flex-item-mobile-margin-top, var(--puck-flex-item-tablet-margin-top, var(--puck-flex-item-margin-top, var(--puck-flex-item-margin, 0))));margin-right: var(--puck-flex-item-mobile-margin-right, var(--puck-flex-item-tablet-margin-right, var(--puck-flex-item-margin-right, var(--puck-flex-item-margin, 0))));margin-bottom: var(--puck-flex-item-mobile-margin-bottom, var(--puck-flex-item-tablet-margin-bottom, var(--puck-flex-item-margin-bottom, var(--puck-flex-item-margin, 0))));margin-left: var(--puck-flex-item-mobile-margin-left, var(--puck-flex-item-tablet-margin-left, var(--puck-flex-item-margin-left, var(--puck-flex-item-margin, 0)))); } .puck-flex > .puck-flex-item[data-puck-flex-item-mobile-padding] > * { padding-top: var(--puck-flex-item-mobile-padding-top, var(--puck-flex-item-tablet-padding-top, var(--puck-flex-item-padding-top, revert))) !important;padding-right: var(--puck-flex-item-mobile-padding-right, var(--puck-flex-item-tablet-padding-right, var(--puck-flex-item-padding-right, revert))) !important;padding-bottom: var(--puck-flex-item-mobile-padding-bottom, var(--puck-flex-item-tablet-padding-bottom, var(--puck-flex-item-padding-bottom, revert))) !important;padding-left: var(--puck-flex-item-mobile-padding-left, var(--puck-flex-item-tablet-padding-left, var(--puck-flex-item-padding-left, revert))) !important; } }
@container puck-canvas (max-width: 1024px) { .puck-flex > .puck-flex-item { flex-grow: var(--puck-flex-item-tablet-grow, var(--puck-flex-item-grow, 0));flex-basis: var(--puck-flex-item-tablet-basis, var(--puck-flex-item-basis, auto));flex-shrink: var(--puck-flex-item-tablet-shrink, var(--puck-flex-item-shrink, var(--puck-flex-item-flex-shrink, 0)));align-self: var(--puck-flex-item-tablet-align-self, var(--puck-flex-item-align-self, auto));min-width: var(--puck-flex-item-tablet-min-width, var(--puck-flex-item-min-width, auto));max-width: var(--puck-flex-item-tablet-max-width, var(--puck-flex-item-max-width, none)); } .puck-flex > .puck-flex-item[data-puck-flex-item-tablet-margin] { margin-top: var(--puck-flex-item-tablet-margin-top, var(--puck-flex-item-margin-top, var(--puck-flex-item-margin, 0)));margin-right: var(--puck-flex-item-tablet-margin-right, var(--puck-flex-item-margin-right, var(--puck-flex-item-margin, 0)));margin-bottom: var(--puck-flex-item-tablet-margin-bottom, var(--puck-flex-item-margin-bottom, var(--puck-flex-item-margin, 0)));margin-left: var(--puck-flex-item-tablet-margin-left, var(--puck-flex-item-margin-left, var(--puck-flex-item-margin, 0))); } .puck-flex > .puck-flex-item[data-puck-flex-item-tablet-padding] > * { padding-top: var(--puck-flex-item-tablet-padding-top, var(--puck-flex-item-padding-top, revert)) !important;padding-right: var(--puck-flex-item-tablet-padding-right, var(--puck-flex-item-padding-right, revert)) !important;padding-bottom: var(--puck-flex-item-tablet-padding-bottom, var(--puck-flex-item-padding-bottom, revert)) !important;padding-left: var(--puck-flex-item-tablet-padding-left, var(--puck-flex-item-padding-left, revert)) !important; } }
@container puck-canvas (max-width: 767px) { .puck-flex > .puck-flex-item { flex-grow: var(--puck-flex-item-mobile-grow, var(--puck-flex-item-tablet-grow, var(--puck-flex-item-grow, 0)));flex-basis: var(--puck-flex-item-mobile-basis, var(--puck-flex-item-tablet-basis, var(--puck-flex-item-basis, auto)));flex-shrink: var(--puck-flex-item-mobile-shrink, var(--puck-flex-item-tablet-shrink, var(--puck-flex-item-shrink, var(--puck-flex-item-flex-shrink, 0))));align-self: var(--puck-flex-item-mobile-align-self, var(--puck-flex-item-tablet-align-self, var(--puck-flex-item-align-self, auto)));min-width: var(--puck-flex-item-mobile-min-width, var(--puck-flex-item-tablet-min-width, var(--puck-flex-item-min-width, auto)));max-width: var(--puck-flex-item-mobile-max-width, var(--puck-flex-item-tablet-max-width, var(--puck-flex-item-max-width, none))); } .puck-flex > .puck-flex-item[data-puck-flex-item-mobile-margin] { margin-top: var(--puck-flex-item-mobile-margin-top, var(--puck-flex-item-tablet-margin-top, var(--puck-flex-item-margin-top, var(--puck-flex-item-margin, 0))));margin-right: var(--puck-flex-item-mobile-margin-right, var(--puck-flex-item-tablet-margin-right, var(--puck-flex-item-margin-right, var(--puck-flex-item-margin, 0))));margin-bottom: var(--puck-flex-item-mobile-margin-bottom, var(--puck-flex-item-tablet-margin-bottom, var(--puck-flex-item-margin-bottom, var(--puck-flex-item-margin, 0))));margin-left: var(--puck-flex-item-mobile-margin-left, var(--puck-flex-item-tablet-margin-left, var(--puck-flex-item-margin-left, var(--puck-flex-item-margin, 0)))); } .puck-flex > .puck-flex-item[data-puck-flex-item-mobile-padding] > * { padding-top: var(--puck-flex-item-mobile-padding-top, var(--puck-flex-item-tablet-padding-top, var(--puck-flex-item-padding-top, revert))) !important;padding-right: var(--puck-flex-item-mobile-padding-right, var(--puck-flex-item-tablet-padding-right, var(--puck-flex-item-padding-right, revert))) !important;padding-bottom: var(--puck-flex-item-mobile-padding-bottom, var(--puck-flex-item-tablet-padding-bottom, var(--puck-flex-item-padding-bottom, revert))) !important;padding-left: var(--puck-flex-item-mobile-padding-left, var(--puck-flex-item-tablet-padding-left, var(--puck-flex-item-padding-left, revert))) !important; } }

            /* Member Directory runtime widget appearance. Emitted in FULL for
               all site modes (no structuralOnly variant): the directory is
               built at runtime by an inline script, so on designer-owned
               sites the client inline-style stripper removes its decoration
               and this stylesheet becomes the sole source of its appearance.
               Sits before custom CSS so designer CSS can still override. */
            /* Render class contract v1.11.0 — Member Directory runtime widget (theme-token appearance; overridable by custom CSS below). */
.recur-member-dir-title {
  font-size: 1.875rem;
  font-weight: bold;
  margin: 0 0 16px;
  color: var(--color-text, #333);
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-search {
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid var(--color-border, #e5e5e5);
  background: var(--color-surface, #fff);
  color: var(--color-text, #333);
  font-size: 0.9375rem;
  margin-bottom: 16px;
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-chip {
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid var(--color-border, #e5e5e5);
  background: var(--color-surface, #f5f5f5);
  color: var(--color-text, #333);
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-chip-active {
  background: var(--color-primary, #1976d2);
  color: var(--color-background, #fff);
}
.recur-member-dir-clear {
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  background: transparent;
  color: var(--color-textSecondary, #666);
  border: none;
  cursor: pointer;
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-card {
  background: var(--color-surface, #fff);
  border-radius: 12px;
  border: 1px solid var(--color-border, #e5e5e5);
  padding: 20px;
  cursor: pointer;
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-row {
  background: var(--color-surface, #fff);
  border-radius: 10px;
  border: 1px solid var(--color-border, #e5e5e5);
  padding: 12px 16px;
  cursor: pointer;
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-avatar {
  border-radius: 50%;
  background: var(--color-primary, #1976d2);
  color: var(--color-background, #fff);
  font-weight: 600;
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-name {
  font-weight: 600;
  color: var(--color-text, #333);
  line-height: 1.3;
}
.recur-member-dir-meta {
  font-size: 0.8125rem;
  color: var(--color-textSecondary, #666);
}
.recur-member-dir-tag {
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 500;
  background: var(--color-surface, #f5f5f5);
  color: var(--color-text, #333);
  border: 1px solid var(--color-border, #e5e5e5);
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-empty {
  padding: 40px;
  color: var(--color-textSecondary, #666);
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-page-btn {
  padding: 8px 14px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  background: var(--color-text, #333);
  color: var(--color-surface, #fff);
  font-size: 0.875rem;
  font-weight: 500;
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-page-btn[disabled] {
  cursor: not-allowed;
  background: var(--color-border, #e5e5e5);
  color: var(--color-textSecondary, #999);
}
.recur-member-dir-page-label {
  font-size: 0.875rem;
  color: var(--color-text, #333);
}
.recur-member-dir-modal-backdrop {
  background: rgba(0, 0, 0, 0.55);
  padding: 20px;
  font-family: var(--font-primary, inherit);
}
.recur-member-dir-modal {
  background: var(--color-surface, #fff);
  color: var(--color-text, #333);
  border-radius: 12px;
  border: 1px solid var(--color-border, #e5e5e5);
}
.recur-member-dir-modal-close {
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-textSecondary, #666);
  border-radius: 6px;
}
.recur-member-dir-modal-title {
  font-size: 1.375rem;
  font-weight: 700;
  margin: 0;
}
.recur-member-dir-link {
  color: var(--color-primary, #1976d2);
}
.recur-member-dir-meta-sm {
  font-size: 0.75rem;
}
.recur-member-dir-card .recur-member-dir-name {
  font-size: 1rem;
}
.recur-member-dir-row .recur-member-dir-name {
  font-size: 0.9375rem;
}
.recur-member-dir-card .recur-member-dir-avatar {
  font-size: 27px;
}
.recur-member-dir-row .recur-member-dir-avatar {
  font-size: 17px;
}
.recur-member-dir-modal .recur-member-dir-avatar {
  font-size: 24px;
}
.recur-member-dir-chip[data-md-view] {
  border-radius: 6px;
}
.recur-member-dir-modal-body {
  padding: 28px 32px;
}
.recur-member-dir-modal-header {
  margin-bottom: 16px;
}
.recur-member-dir-modal-meta {
  font-size: 0.875rem;
  color: var(--color-textSecondary, #666);
}
.recur-member-dir-modal-location {
  font-size: 0.875rem;
  color: var(--color-textSecondary, #666);
  margin-bottom: 10px;
}
.recur-member-dir-modal-tags {
  margin-bottom: 14px;
}
.recur-member-dir-modal-bio {
  font-size: 0.9375rem;
  line-height: 1.6;
  margin: 0 0 16px;
}
.recur-member-dir-modal-contact {
  font-size: 0.875rem;
}
.recur-member-dir-modal-phone {
  color: var(--color-textSecondary, #666);
}

            /* Newsletter signup runtime widget (footer section + modal).
               Same always-emitted-in-full rule as the member directory: the
               modal is built at runtime by an inline script, so this
               stylesheet is the sole source of its appearance on
               designer-owned sites. Sits before custom CSS so designer CSS
               can still override. */
            /* Render class contract v1.11.0 — Newsletter signup runtime widget (theme-token appearance; overridable by custom CSS below). */
.recur-nl-description {
  margin: 0 0 12px 0;
  font-size: 0.9rem;
  line-height: 1.5;
  opacity: 0.9;
}
.recur-nl-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  max-width: 320px;
}
.recur-nl-input {
  flex: 1 1 160px;
  min-width: 0;
  padding: 10px 16px;
  border: 1px solid var(--color-border, #d1d5db);
  border-radius: 9999px;
  font-size: 0.9rem;
  background: #ffffff;
  color: #111827;
}
.recur-nl-button {
  padding: 10px 22px;
  border: none;
  border-radius: 9999px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  background: var(--color-primary, #2563eb);
  color: var(--color-buttonText, #ffffff);
}
.recur-nl-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.recur-nl-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10050;
  padding: 16px;
}
.recur-nl-modal {
  background: #ffffff;
  color: #111827;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
  width: 100%;
  max-width: 420px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 24px;
  position: relative;
  text-align: left;
}
.recur-nl-modal-title {
  margin: 0 0 4px 0;
  font-size: 1.25rem;
  font-weight: 700;
  padding-right: 32px;
}
.recur-nl-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: #6b7280;
  padding: 4px;
}
.recur-nl-field {
  margin: 12px 0;
}
.recur-nl-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 4px;
}
.recur-nl-field input[type="text"], .recur-nl-field input[type="email"] {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 0.9rem;
  background: #ffffff;
  color: #111827;
}
.recur-nl-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 12px 0;
  font-size: 0.85rem;
  line-height: 1.4;
}
.recur-nl-error {
  color: #b91c1c;
  font-size: 0.85rem;
  margin: 8px 0;
}
.recur-nl-success {
  color: #15803d;
  font-size: 0.95rem;
  margin: 8px 0;
  line-height: 1.5;
}
.recur-nl-submit {
  width: 100%;
  padding: 10px 16px;
  border: none;
  border-radius: 9999px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  background: var(--color-primary, #2563eb);
  color: var(--color-buttonText, #ffffff);
  margin-top: 8px;
}
.recur-nl-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

            /* Tenant-provided custom CSS (advanced styling mode only). Sanitized
               to neutralize style-tag escape attempts. In native mode the value
               is stored but intentionally not applied.
               NOTE: do not write the literal closing-style token in this comment
               — the HTML parser will close the surrounding <style> block early
               and dump the rest of the comment into the page. */
            

/*
 * NAOBI-DC source foundation, not a page/chrome stylesheet.
 * Source: client/src/index.css, ui/button.tsx, ui/card.tsx,
 * installed Tailwind theme/preflight, prebuild/STYLE_INVENTORY.md.
 * Native selector/variable evidence and ownership: ../STYLE_OWNERSHIP.md.
 * Append to, never replace, active tenant CSS. Requires advanced mode.
 */
:root {
  --background: 40 20% 98%;
  --foreground: 0 0% 10%;
  --card: 0 0% 100%;
  --card-foreground: 0 0% 10%;
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 10%;
  --primary: 45 100% 50%;
  --primary-foreground: 0 0% 10%;
  --secondary: 0 0% 10%;
  --secondary-foreground: 45 100% 50%;
  --muted: 40 10% 94%;
  --muted-foreground: 0 0% 40%;
  --accent: 233 92% 30%;
  --accent-foreground: 0 0% 100%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 0 0% 98%;
  --border: 0 0% 90%;
  --input: 0 0% 90%;
  --ring: 45 100% 50%;
  --chart-1: 12 76% 61%;
  --chart-2: 173 58% 39%;
  --chart-3: 197 37% 24%;
  --chart-4: 43 74% 66%;
  --chart-5: 27 87% 67%;
  --font-sans: 'Inter', sans-serif;
  --font-heading: 'Playfair Display', serif;
  --radius: 0.5rem;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  /* Names actually consumed by the native renderer; these hold CSS colors,
     not bare HSL channels. Preserve its exact camelCase textSecondary name. */
  --color-primary: hsl(var(--primary));
  --color-secondary: hsl(var(--secondary));
  --color-accent: hsl(var(--accent));
  --color-background: hsl(var(--background));
  --color-surface: hsl(var(--card));
  --color-text: hsl(var(--foreground));
  --color-textSecondary: hsl(var(--muted-foreground));
  --color-text-secondary: hsl(var(--muted-foreground));
  --color-heading: hsl(var(--foreground));
  --color-border: hsl(var(--border));
  --color-on-primary: hsl(var(--primary-foreground));
  --font-primary: var(--font-sans);
  --font-secondary: var(--font-heading);
  --button-border-radius: var(--radius-md);
}

/* Source token parity only; does not activate a mode or implement the
   source accessibility toolbar's invert/hue-rotate dark-mode behavior. */
.dark {
  --background: 0 0% 5%;
  --foreground: 40 20% 98%;
  --card: 0 0% 8%;
  --card-foreground: 40 20% 98%;
  --popover: 0 0% 8%;
  --popover-foreground: 40 20% 98%;
  --primary: 45 90% 50%;
  --primary-foreground: 0 0% 5%;
  --secondary: 0 0% 15%;
  --secondary-foreground: 40 20% 98%;
  --muted: 0 0% 15%;
  --muted-foreground: 0 0% 65%;
  --accent: 0 0% 15%;
  --accent-foreground: 40 20% 98%;
  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 0 0% 98%;
  --border: 0 0% 20%;
  --input: 0 0% 20%;
  --ring: 45 90% 50%;

  /* Redeclare aliases so a nested .dark resolves its own channel values. */
  --color-primary: hsl(var(--primary));
  --color-secondary: hsl(var(--secondary));
  --color-accent: hsl(var(--accent));
  --color-background: hsl(var(--background));
  --color-surface: hsl(var(--card));
  --color-text: hsl(var(--foreground));
  --color-textSecondary: hsl(var(--muted-foreground));
  --color-text-secondary: hsl(var(--muted-foreground));
  --color-heading: hsl(var(--foreground));
  --color-border: hsl(var(--border));
  --color-on-primary: hsl(var(--primary-foreground));
}

/* Source base layer + Tailwind preflight inherited line-height.
   No universal reset, form reset, image rule, or runtime-widget override. */
body {
  font-family: var(--font-sans);
  line-height: 1.5;
  color: hsl(var(--foreground));
  background-color: hsl(var(--background));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Heading emits an h1–h6, NOT a .puck-heading. Low specificity leaves
   card/runtime component typography and later page rules in control.
   No global size, margin, alignment, color, or hero title prescription. */
:where(#puck-content) :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: -0.025em;
}

/* Leave native .puck-text's 1.6 line-height, Quill/list formatting and
   MediaDirectory/Contact runtime styles intact. They are not page defaults. */

/* Source ui/button.tsx default size; native Button's actual anchor class.
   Deliberately excludes all generic buttons, widget controls and chrome. */
.puck-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  min-height: 2.25rem;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-md);
  font-family: var(--font-sans);
  font-size: 0.875rem;
  line-height: calc(1.25 / 0.875);
  font-weight: 500;
  text-decoration: none;
  transition-property: color, background-color, border-color;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Native variants confirmed in the captured Button switch.
   Border uses source base border-border: named primary-border and
   secondary-border tokens have no definition in the inspected source. */
.puck-button-primary {
  background-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border: 1px solid hsl(var(--border));
}
.puck-button-secondary {
  background-color: hsl(var(--secondary));
  color: hsl(var(--secondary-foreground));
  border: 1px solid hsl(var(--border));
}
.puck-button-outline {
  background-color: transparent;
  color: inherit;
  border: 1px solid hsl(var(--border));
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}
.puck-button-outline:active {
  box-shadow: none;
}
.puck-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px hsl(var(--ring));
}
.puck-button[aria-disabled="true"],
.puck-button:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.puck-button svg {
  pointer-events: none;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

/* Source Card shell only; child padding, featured overlays, avatars,
   typography sizes and interactions belong to the page/card variant. */
.puck-card {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius-xl);
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),
    0 1px 2px -1px rgb(0 0 0 / 0.1);
}

/* OPT-IN ONLY: supported Grid/GridPreset customVariant generates
   .puck-grid--{sanitized-token}. No column-count or display overrides.
   Do not add these tokens to existing Resources blocks. */
.puck-grid--source-container {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 40rem) {
  .puck-grid--source-container { max-width: 40rem; }
}
@media (min-width: 48rem) {
  .puck-grid--source-container { max-width: 48rem; }
}
@media (min-width: 64rem) {
  .puck-grid--source-container { max-width: 64rem; }
}
@media (min-width: 80rem) {
  .puck-grid--source-container { max-width: 80rem; }
}
@media (min-width: 96rem) {
  .puck-grid--source-container { max-width: 96rem; }
}
.puck-grid--source-section-12,
.puck-grid--source-section-16,
.puck-grid--source-section-20,
.puck-grid--source-section-24 {
  margin-top: 0;
  margin-bottom: 0;
}
.puck-grid--source-section-12 { padding-top: 3rem; padding-bottom: 3rem; }
.puck-grid--source-section-16 { padding-top: 4rem; padding-bottom: 4rem; }
.puck-grid--source-section-20 { padding-top: 5rem; padding-bottom: 5rem; }
.puck-grid--source-section-24 { padding-top: 6rem; padding-bottom: 6rem; }

/* Card's supported variant prop emits .puck-card--{token}.
   These are full-shell opt-ins, not replacements for CardHeader/Content. */
.puck-card--source-pad-6 { padding: 1.5rem; }
.puck-card--source-pad-8 { padding: 2rem; }

/*
 * Native header candidate. Append AFTER the preserved foundation stylesheet.
 * Source: Navbar.tsx / sheet.tsx; original-measurements.json (1440/1024/768/390).
 * Hooks: captured native stylesheet's semantic chrome contract only.
 * No navigation tree, generated editorial text, HTML or runtime behavior.
   * Configured central DOM/cascade is checked by check-header-browser.mjs.
 */
.site-header {
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  min-height: 97px;
  padding: 0;
  border-bottom: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
}

.site-header .header-flex,
.site-header .header-grid {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: 96px;
  min-height: 96px;
  margin: 0 auto;
  padding: 0 16px;
  gap: 24px;
  flex-wrap: nowrap;
}

.site-header .header-flex,
.site-header .header-grid-row {
  align-items: center;
  justify-content: space-between;
}

.site-header .header-grid-row {
  min-height: 96px;
  gap: 24px;
}

.site-header .header-grid-zone {
  min-width: 0;
  align-items: center;
  gap: 24px;
}

.site-header .header-logo {
  flex-shrink: 1;
  min-width: 0;
  margin-right: auto;
}

.site-header .header-logo-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: hsl(var(--foreground));
}

.site-header .header-logo-img {
  width: 64px;
  height: 64px;
  max-width: 64px;
  max-height: 64px;
  flex-shrink: 0;
  object-fit: contain;
}

/*
 * Both lines are real logo.text content, separated by a real newline.
 * first-line applies to a block; no generated title or subtitle is used.
 * Match the measured source line boxes: title 32px, subtitle 15.36px.
 * Verify the published renderer preserves the newline and the block hook.
 */
.site-header .header-logo-text {
  display: block;
  min-width: 0;
  max-width: 174.984375px;
  white-space: pre-line;
  font-family: var(--font-sans);
  font-size: 9.6px;
  line-height: 15.36px;
  font-weight: 500;
  letter-spacing: 0.48px;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.site-header .header-logo-text::first-line {
  font-family: var(--font-heading);
  font-size: 20px;
  line-height: 32px;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: hsl(var(--foreground));
}

.site-header .header-logo-link:hover .header-logo-img {
  opacity: 0.9;
}

.site-header .header-nav {
  flex: 0 1 auto;
  min-width: 0;
}

.site-header .nav-menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.site-header .nav-link,
.site-header .nav-link-dropdown {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  white-space: nowrap;
  color: hsl(var(--muted-foreground));
}

/* No open-state/active-route assumptions: task 5 owns those states. */
.site-header .header-cta {
  flex-shrink: 0;
}

.site-header .header-cta-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 16px;
  border: 1px solid hsl(var(--border));
  border-radius: 6px;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}

.site-header .header-cta-button[href="https://member.getrecur.com/naobidc"] {
  border-color: hsl(var(--foreground));
  background: transparent;
  color: hsl(var(--foreground));
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

/* Decorative Lucide ExternalLink geometry only; no editorial text. */
.site-header .header-cta-button[href="https://member.getrecur.com/naobidc"]::after {
  content: "";
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.site-header .header-cta-button:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

.site-header .mobile-menu-toggle {
  display: none !important;
}

.mobile-nav,
.mobile-nav.active {
  display: none;
}

@media (min-width: 640px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 640px; }
}
@media (min-width: 768px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 768px; }
}
@media (min-width: 1024px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 1024px; }
}
@media (min-width: 1280px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 1280px; }
}
@media (min-width: 1536px) {
  .site-header .header-flex,
  .site-header .header-grid { max-width: 1536px; }
}

/* Expand ALL native mobile shell rules, not just the toggle, to source lg. */
@media (max-width: 1023.98px) {
  .site-header .desktop-nav,
  .site-header .header-nav,
  .site-header .header-cta {
    display: none !important;
  }

  .site-header .mobile-menu-toggle {
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    margin-left: auto;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: hsl(var(--foreground));
    line-height: 1;
  }

  .site-header .mobile-menu-toggle svg {
    width: 16px;
    height: 16px;
  }

  /*
   * Decorative backdrop only. Blocks pointer clicks through the dark layer;
   * it does not add outside-click dismissal, modal semantics or focus handling.
   */
  body:has(.mobile-nav.active)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgb(0 0 0 / 0.8);
  }

  .mobile-nav {
    box-sizing: border-box;
    position: fixed;
    inset: 0 0 0 auto;
    width: 300px;
    max-width: 100%;
    height: 100dvh;
    padding: 24px;
    border-left: 1px solid hsl(var(--border));
    overflow-y: auto;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    z-index: 9999;
    font-family: var(--font-sans);
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  }

  .mobile-nav.active {
    display: block;
  }

  .mobile-nav .mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 40px 0;
    padding: 0;
    border: 0;
  }

  .mobile-nav .mobile-nav-title {
    font-family: var(--font-heading);
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
    letter-spacing: -0.6px;
    color: hsl(var(--primary));
  }

  .mobile-nav .mobile-nav-close {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 0;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: hsl(var(--foreground));
    opacity: 0.7;
  }

  .mobile-nav .mobile-nav-close svg {
    width: 16px;
    height: 16px;
  }

  .mobile-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .mobile-nav ul li {
    margin: 0 0 24px;
    border: 0;
  }

  .mobile-nav ul li a {
    display: block;
    padding: 0;
    color: hsl(var(--foreground));
    font-family: var(--font-sans);
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
    text-decoration: none;
  }

  .mobile-nav ul ul.mobile-nav-sub {
    margin: 16px 0 0;
    padding: 0;
    border: 0;
  }

  .mobile-nav ul ul.mobile-nav-sub li {
    margin: 0 0 16px;
    border: 0;
  }

  .mobile-nav ul ul.mobile-nav-sub li a {
    padding: 0;
    font-size: 18px;
    line-height: 28px;
  }
}

@media (min-width: 640px) and (max-width: 1023.98px) {
  .mobile-nav { width: 384px; }
}

/* Source variable faces have distinct aliases: Recur's same-named static faces
   otherwise win font matching and change line breaks (340.565px vs 343.813px).
   These are the exact Latin font URLs from the source's Google Fonts response.
   Unique names prevent changes to the already-published header or page bodies. */
@font-face {
  font-family: "NAOBI Footer Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}

@font-face {
  font-family: "NAOBI Footer Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}

@font-face {
  font-family: "NAOBI Footer Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}

/*
 * Task 4 native footer candidate; append after unchanged foundation + header.
 * Source: Footer.tsx and original-measurements.json at 1440/768/1024/390.
 * User approved retaining native copyright and credit only. No replacements,
 * generated editorial text, guessed IDs, positional selectors or HTML.
 * Configured central DOM/cascade remains parent-verified.
 */
.site-footer {
  --font-sans: "NAOBI Footer Inter", "Inter", sans-serif;
  --font-heading: "NAOBI Footer Playfair", "Playfair Display", serif;
  --color-border: hsl(var(--secondary-foreground) / 0.2);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto auto auto auto auto auto;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 64px 16px 32px;
  border: 0;
  background: hsl(var(--secondary));
  color: hsl(var(--secondary-foreground));
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
}

/* Expose native sections, but preserve the actual bottom bar as one item. */
.site-footer .site-footer-content {
  display: contents;
}

.site-footer .site-footer-section {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.site-footer .site-footer-title {
  margin: 0 0 24px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: -0.45px;
  color: hsl(var(--primary));
}

/* Empty native titles contain no editorial content. */
.site-footer .site-footer-title:empty {
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
}

.site-footer .site-footer-description,
.site-footer .site-footer-text {
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 25.6px;
  color: hsl(var(--secondary-foreground) / 0.8);
}

.site-footer .site-footer-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .site-footer-links li {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 25.6px;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-footer .site-footer-links a {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: inherit;
  font-weight: 400;
  opacity: 1;
}

.site-footer a:hover {
  color: hsl(var(--primary));
  text-decoration: none;
}

.site-footer a:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 3px;
}

/* Brand, mission and social remain independent genuine native sections. */
.site-footer .site-footer-section:has(a[href="/"]) {
  grid-row: 1;
  margin-bottom: 16px;
}

.site-footer .site-footer-section:has(a[href="/"]) .site-footer-links a {
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: var(--font-heading);
  font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  letter-spacing: normal;
  color: hsl(var(--primary));
}

.site-footer .site-footer-section:has(.site-footer-description):not(:has(.site-footer-text)) {
  grid-row: 2;
  padding-bottom: 24px;
}

.site-footer .site-footer-section:has(.site-footer-description):not(:has(.site-footer-text)) .site-footer-description {
  max-width: 448px;
}

.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) {
  grid-row: 3;
  margin-bottom: 48px;
}

.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) .site-footer-links {
  flex-direction: row;
  gap: 16px;
}

.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) li {
  width: 20px;
  height: 20px;
  line-height: 20px;
}

/* Real native labels remain in the accessibility tree. The mask is decoration;
   indentation clips the visual label without replacing its text or attributes. */
.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) a {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 28px;
}

.site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: currentColor;
  -webkit-mask: var(--footer-social-icon) center / contain no-repeat;
  mask: var(--footer-social-icon) center / contain no-repeat;
}

.site-footer a[href="https://www.facebook.com/share/1C6fnGuDwh/?mibextid=wwXlfr"] {
  --footer-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
}

.site-footer a[href="https://www.youtube.com/@NAOBIDC"] {
  --footer-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17'/%3E%3Cpath d='m10 15 5-3-5-3z'/%3E%3C/svg%3E");
}

.site-footer a[href="https://www.instagram.com/naobidc?igsh=cHQ0ZzFoZjRiNm52"] {
  --footer-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' x2='17.51' y1='6.5' y2='6.5'/%3E%3C/svg%3E");
}

.site-footer .site-footer-section:has(a[href="/about"]) {
  grid-row: 4;
  margin-bottom: 48px;
}

.site-footer .site-footer-section:has(.site-footer-contact) {
  grid-row: 5;
  margin-bottom: 48px;
}

/* Verified central DOM uses direct div wrappers and redundant strong labels.
   Hide only the template labels, retaining the full real address/mail content. */
.site-footer .site-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 25.6px;
}

.site-footer .site-footer-contact > div {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 0;
  white-space: pre-line;
  font-size: 16px;
  line-height: 25.6px;
  color: hsl(var(--secondary-foreground));
}

.site-footer .site-footer-contact > div > strong {
  display: none;
}

.site-footer .site-footer-contact > div:not(:has(a)) {
  order: 0;
}

.site-footer .site-footer-contact > div:has(a[href="mailto:info@naobidc.org"]) {
  order: 1;
  align-items: center;
}

.site-footer .site-footer-contact > div::before {
  content: "";
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  background: hsl(var(--primary));
  -webkit-mask: var(--footer-contact-icon) center / contain no-repeat;
  mask: var(--footer-contact-icon) center / contain no-repeat;
}

.site-footer .site-footer-contact > div:not(:has(a)) {
  --footer-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.site-footer .site-footer-contact > div:has(a[href="mailto:info@naobidc.org"]) {
  --footer-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

.site-footer .site-footer-contact > div:has(a[href="mailto:info@naobidc.org"])::before {
  margin-top: 0;
}

.site-footer .site-footer-contact a {
  margin: 0;
  color: inherit;
  font-size: 16px;
  line-height: 25.6px;
}

/* Cohesive acknowledgment/native nonprofit prose: no HTML or pseudo-copy. */
.site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) {
  grid-row: 6;
  padding-top: 32px;
  padding-bottom: 0;
  margin-bottom: 8px;
  border-top: 1px solid hsl(var(--secondary-foreground) / 0.2);
  text-align: center;
}

.site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) p {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 22.4px;
  color: hsl(var(--secondary-foreground) / 0.6);
}

.site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) .site-footer-description {
  font-style: italic;
}

/* Source last-paragraph margin collapses into the parent's 24px margin. Grid
   items prevent that collapse, so reproduce the measured effective spacing. */
.site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) .site-footer-text {
  margin-bottom: 0;
}

/* Keep the platform's enforced visible flex bar and badge intact. Its 16px
   top margin combines with the preceding 8px to match the source's 24px gap.
   Its 8px top padding combines with child margins to match source 32px. */
footer.site-footer > .footer-bottom-bar {
  grid-row: 7;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
  line-height: 22.4px;
}

footer.site-footer > .footer-bottom-bar > .footer-bottom-bar-details {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
  min-width: 0;
  max-width: 100%;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
  text-align: center;
  color: hsl(var(--secondary-foreground) / 0.6);
  font-size: 14px;
  line-height: 22.4px;
}

footer.site-footer > .footer-bottom-bar > .footer-bottom-bar-link {
  flex: 0 0 auto;
  margin: 8px auto 16px;
}

.site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) {
  grid-row: 8;
  justify-self: center;
  margin: 0;
  padding: 0;
  color: hsl(var(--secondary-foreground) / 0.6);
}

.site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) .site-footer-links {
  flex-direction: row;
  gap: 24px;
}

.site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) li,
.site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) a {
  font-size: 14px;
  line-height: 20px;
}

@media (min-width: 640px) {
  .site-footer {
    padding-right: max(16px, calc((100% - 640px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 640px) / 2 + 16px));
  }
}

@media (min-width: 768px) {
  .site-footer {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: 52px max-content 20px minmax(0, 1fr) auto auto;
    column-gap: 48px;
    padding-right: max(16px, calc((100% - 768px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 768px) / 2 + 16px));
  }

  .site-footer .site-footer-section:has(a[href="/"]),
  .site-footer .site-footer-section:has(.site-footer-description):not(:has(.site-footer-text)),
  .site-footer .site-footer-section:has(a[href="https://www.youtube.com/@NAOBIDC"]) {
    grid-column: 1 / 3;
    margin-bottom: 0;
  }

  .site-footer .site-footer-section:has(a[href="/about"]) {
    grid-column: 3;
    grid-row: 1 / 5;
    margin-bottom: 0;
  }

  .site-footer .site-footer-section:has(.site-footer-contact) {
    grid-column: 4;
    grid-row: 1 / 5;
    margin-bottom: 0;
  }

  .site-footer .site-footer-section:has(.site-footer-description):has(.site-footer-text) {
    grid-column: 1 / -1;
    grid-row: 5;
    margin-top: 48px;
  }

  footer.site-footer > .footer-bottom-bar {
    grid-column: 1 / -1;
    grid-row: 6;
    width: calc(50% + 90px);
    align-self: stretch;
  }

  footer.site-footer > .footer-bottom-bar > .footer-bottom-bar-details {
    flex: 1 1 0;
    justify-content: flex-start;
    text-align: left;
  }

  footer.site-footer > .footer-bottom-bar > .footer-bottom-bar-link {
    margin: 24px 0 0;
  }

  .site-footer .site-footer-section:has(a[href="/privacy"]):has(a[href="/terms"]) {
    grid-row: 6;
    grid-column: 3 / 5;
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    z-index: 1;
    margin: 0;
    padding-top: 49px;
    border: 0;
    align-self: start;
  }

  /* Continue the native bar's divider across the legal column. The opaque
     backing avoids doubling alpha over the native segment; no content changes. */
  .site-footer::after {
    content: "";
    grid-column: 1 / -1;
    grid-row: 6;
    align-self: start;
    height: 1px;
    margin-top: 16px;
    border-top: 1px solid hsl(var(--secondary-foreground) / 0.2);
    background: hsl(var(--secondary));
    pointer-events: none;
  }
}

@media (min-width: 1024px) {
  .site-footer {
    padding-right: max(16px, calc((100% - 1024px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 1024px) / 2 + 16px));
  }
}

@media (min-width: 1280px) {
  .site-footer {
    padding-right: max(16px, calc((100% - 1280px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 1280px) / 2 + 16px));
  }
}

@media (min-width: 1536px) {
  .site-footer {
    padding-right: max(16px, calc((100% - 1536px) / 2 + 16px));
    padding-left: max(16px, calc((100% - 1536px) / 2 + 16px));
  }
}

/*
 * Navigation-only layer; append AFTER unchanged foundation/header/footer.
 * Source: Navbar.tsx and generated-artifacts/recur-navigation/source-measurements.json.
 * Actual central DOM: published-home.html. No guessed IDs or generated labels.
 * Native behavior is retained, including documented unresolved semantics/focus.
 */
@font-face {
  font-family: "NAOBI Navigation Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}

@font-face {
  font-family: "NAOBI Navigation Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}

.site-header .header-nav .nav-menu {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header .header-nav .nav-menu > li {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

/* These genuine navigation links are mobile actions, not duplicate desktop CTAs. */
.site-header .header-nav:has(.nav-item-dropdown) .nav-menu > li:has(> a[href="https://member.getrecur.com/naobidc"]),
.site-header .header-nav:has(.nav-item-dropdown) .nav-menu > li:has(> a[href="/donate"]) {
  display: none;
}

.site-header .header-nav .nav-menu > li > a {
  box-sizing: border-box;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: hsl(var(--muted-foreground));
  font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  transition: none;
}

.site-header .header-nav .nav-menu > li > a.nav-link-dropdown {
  gap: 8px;
  height: 38px;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 6px;
}

.site-header .header-nav .nav-menu > li > a:hover {
  background: transparent;
  color: hsl(var(--primary));
}

.site-header .header-nav .nav-menu > li > a:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Replace only the existing decorative triangle with source Lucide geometry.
 * Source ChevronDown does not rotate on open. No labels are generated here. */
.site-header .header-nav .nav-link-dropdown > .dropdown-arrow {
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0 0 0 4px;
  padding: 0;
  font-size: 0;
  line-height: 0;
  transform: none;
  transition: none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.site-header .header-nav .nav-item-dropdown > .nav-dropdown {
  box-sizing: border-box;
  position: absolute;
  top: 100%;
  left: 0;
  right: auto;
  bottom: auto;
  width: max-content;
  min-width: 128px;
  max-width: none;
  margin: 4px 0 0;
  padding: 4px;
  border: 1px solid hsl(var(--border));
  border-radius: 6px;
  background: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
  list-style: none;
  z-index: 50;
  /* Display remains controlled by the native .active click handler. */
}

.site-header .header-nav .nav-dropdown > li {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.site-header .header-nav .nav-dropdown > li > a.nav-link,
.site-header .header-nav .nav-dropdown > li > a.nav-link:link,
.site-header .header-nav .nav-dropdown > li > a.nav-link:visited,
.site-header .header-nav .nav-dropdown > li > a.nav-link:active {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 32px;
  margin: 0;
  padding: 6px 8px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: hsl(var(--popover-foreground));
  font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  transition: none;
}

.site-header .header-nav .nav-dropdown > li > a.nav-link:hover,
.site-header .header-nav .nav-dropdown > li > a.nav-link:focus {
  background: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
  outline: none;
}

@media (max-width: 1023.98px) {
  /* Preserve existing drawer geometry and native header/title/close control.
   * Header title remains the actual native text; its known parity gap is not
   * disguised with generated text, truncation, or a fake replacement link. */
  .mobile-nav > ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
  }

  .mobile-nav > ul > li,
  .mobile-nav > ul > li > ul.mobile-nav-sub > li {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
  }

  .mobile-nav > ul > li > a,
  .mobile-nav > ul > li > ul.mobile-nav-sub > li > a {
    box-sizing: border-box;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: hsl(var(--foreground));
    font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
    transition: none;
  }

  .mobile-nav > ul > li > a:hover,
  .mobile-nav > ul > li > ul.mobile-nav-sub > li > a:hover {
    color: hsl(var(--primary));
    background: transparent;
  }

  .mobile-nav > ul > li:has(> .mobile-nav-sub) > a[href="#"] {
    font-family: "NAOBI Navigation Playfair", "Playfair Display", serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    color: hsl(var(--muted-foreground));
    /* Still a real native anchor. Do not disable its click handler with CSS. */
  }

  .mobile-nav > ul > li > ul.mobile-nav-sub {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 16px 0 0;
    padding: 0;
    border: 0;
    list-style: none;
  }

  .mobile-nav > ul > li:has(> a[href="https://member.getrecur.com/naobidc"]) {
    margin-top: 16px;
  }

  .mobile-nav > ul > li > a[href="https://member.getrecur.com/naobidc"],
  .mobile-nav > ul > li > a[href="/donate"] {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 38px;
    padding: 8px 16px;
    border: 1px solid hsl(var(--foreground));
    border-radius: 6px;
    background: transparent;
    color: hsl(var(--foreground));
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    font-family: "NAOBI Navigation Inter", "Inter", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
  }

  .mobile-nav > ul > li > a[href="/donate"] {
    border-color: transparent;
    background: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
  }

  .mobile-nav > ul > li > a[href="https://member.getrecur.com/naobidc"]::after {
    content: "";
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-left: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .mobile-nav > ul a:focus-visible {
    outline: 2px solid hsl(var(--ring));
    outline-offset: 2px;
  }
}

/* About-only layer. Append after the unchanged foundation/header/footer/nav.
   Measured original: generated-artifacts/recur-about/source-measurements.json.
   Public renderer contract: published-home.html Hero/Grid/Heading/Text cases.
   Distinct source-variable aliases avoid native exact-weight face collisions. */
@font-face {
  font-family: "NAOBI About Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI About Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}

/* Native main has 2rem padding. Break out by that exact amount; do not
   alter main, chrome, the global font families or development/auth surfaces. */
.puck-hero.puck-hero--about-banner {
  box-sizing: border-box;
  display: block;
  width: calc(100% + 4rem);
  max-width: none;
  min-height: 0 !important;
  height: auto;
  margin: -2rem -2rem 0 !important;
  padding: 80px 0;
  background: hsl(0 0% 10%) !important;
  color: hsl(45 100% 50%);
  text-align: center;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: "NAOBI About Inter", sans-serif;
}
.puck-hero--about-banner .puck-hero-content {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0 16px;
  text-align: center;
}
.puck-hero--about-banner .puck-hero-title {
  padding: 0;
  margin: 0 0 24px !important;
  font-family: "NAOBI About Playfair", serif !important;
  font-size: 36px !important;
  line-height: 40px;
  font-weight: 700;
  letter-spacing: -0.025em;
  text-transform: none;
  color: hsl(45 100% 50%) !important;
}
.puck-hero--about-banner .puck-hero-subtitle {
  width: auto;
  max-width: 768px;
  margin: 0 auto !important;
  padding: 0;
  font-family: "NAOBI About Inter", sans-serif !important;
  font-size: 20px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: normal;
  color: hsl(45 100% 50% / 0.8) !important;
}

.puck-grid.puck-grid--about-body,
.puck-grid.puck-grid--about-container,
.puck-grid.puck-grid--about-split,
.puck-grid.puck-grid--about-purpose,
.puck-grid.puck-grid--about-mission,
.puck-grid.puck-grid--about-vision {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: "NAOBI About Inter", sans-serif;
  font-weight: 400;
  letter-spacing: normal;
}
.puck-grid.puck-grid--about-body {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem -2rem !important;
  padding: 80px 0;
  background: hsl(40 20% 98%);
  color: hsl(0 0% 10%);
}
.puck-grid--about-body .puck-grid-column {
  min-width: 0;
}
.puck-grid.puck-grid--about-container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid.puck-grid--about-split {
  gap: 48px !important;
}
.puck-grid.puck-grid--about-vision {
  margin-top: 48px;
}
.puck-grid--about-body h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 0;
  margin: 0 0 24px !important;
  font-family: "NAOBI About Playfair", serif !important;
  font-size: 30px !important;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: -0.025em;
  color: hsl(0 0% 10%) !important;
  text-align: left;
}
.puck-grid--about-body .puck-text {
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  font-family: "NAOBI About Inter", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: normal;
  color: hsl(0 0% 40%);
  text-align: left;
}
.puck-grid--about-body .puck-text p {
  padding: 0;
  margin: 0 !important;
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.puck-grid--about-vision .puck-text {
  max-width: 896px !important;
}

/* Exact source Lucide paths. Empty pseudo-elements are decorative; Heading
   contains real editable Purpose/Mission/Vision words for accessible names. */
.puck-grid--about-purpose h2::before,
.puck-grid--about-mission h2::before,
.puck-grid--about-vision h2::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  background-color: hsl(45 100% 50%);
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  mask-position: center;
}
.puck-grid--about-purpose h2::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E");
}
.puck-grid--about-mission h2::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E");
}
.puck-grid--about-vision h2::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
@media (min-width: 640px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 640px; }
}
@media (min-width: 768px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 768px; }
  .puck-hero--about-banner .puck-hero-title { font-size: 48px !important; line-height: 48px; }
  .puck-grid.puck-grid--about-split { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 1024px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 1024px; }
}
@media (min-width: 1280px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 1280px; }
}
@media (min-width: 1536px) {
  .puck-hero--about-banner .puck-hero-content { max-width: 1536px; }
}

/* Home fidelity layer SIX. Append only after the unchanged five-layer About
   stylesheet f20a102768f73d04c12b1f9e4ffbb799120a415e2618950436a07a37a5314e96.
   Native Grid/Card/Button/Image hooks verified in recur-about/published.html.
   Editorial markup is native Quill, never a custom layout fragment. */
@font-face {
  font-family: "NAOBI Home Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Home Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Home Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Home Playfair";
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--home-"] {
  --home-gold: hsl(45 100% 50%);
  --home-dark: hsl(0 0% 10%);
  --home-muted: hsl(0 0% 40%);
  --home-background: hsl(40 20% 98%);
  --home-muted-surface: hsl(40 10% 94% / .3);
  --home-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: "NAOBI Home Inter", sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  letter-spacing: normal;
  color: var(--home-dark);
}
.puck-grid[class*="puck-grid--home-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--home-"] :where(.puck-text) {
  padding: 0 !important;
  margin: 0 !important;
  font-family: "NAOBI Home Inter", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
  color: inherit;
  text-align: inherit;
}
.puck-grid[class*="puck-grid--home-"] :where(.puck-text p) {
  padding: 0;
  margin: 0 !important;
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.puck-grid[class*="puck-grid--home-"] :is(h1,h2,h3) {
  font-family: "NAOBI Home Playfair", serif !important;
  font-weight: 700;
  letter-spacing: -.025em;
  text-transform: none;
  padding: 0;
}
.puck-grid--home-hero,
.puck-grid--home-scholarship,
.puck-grid--home-mission,
.puck-grid--home-features,
.puck-grid--home-newsletter,
.puck-grid--home-vision,
.puck-grid--home-events,
.puck-grid--home-partners {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem !important;
  background: hsl(40 20% 98%);
}
.puck-grid.puck-grid--home-hero {
  position: relative;
  height: 80vh;
  min-height: 600px;
  margin-top: -2rem !important;
  overflow: hidden;
  background: rgb(0 0 0);
  align-items: center;
  text-align: center;
}
.puck-grid--home-hero > .puck-grid-column { position: static; }
.puck-grid--home-hero > .puck-grid-column > .puck-image {
  position: absolute;
  inset: 0;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.puck-grid--home-hero .puck-image-img {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover !important;
  border-radius: 0 !important;
  opacity: .6;
}
.puck-grid--home-hero > .puck-grid-column::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgb(0 0 0 / .9), rgb(0 0 0 / .5), transparent);
}
.puck-grid.puck-grid--home-container,
.puck-grid.puck-grid--home-newsletter-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid--home-hero .puck-grid--home-container { position: relative; z-index: 2; }
.puck-grid.puck-grid--home-hero-copy {
  max-width: 896px;
  margin: 0 auto;
  animation: home-hero-enter .8s cubic-bezier(0,.71,.2,1.01) both;
}
@keyframes home-hero-enter {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.puck-grid--home-hero-copy h1 {
  margin: 0 0 24px !important;
  color: rgb(255 255 255) !important;
  font-size: 36px !important;
  line-height: 1.25;
}
/* Source accessibility defaults set span line-height 1.6 even with extra=0.
   Retain its observed inline line box while using legitimate Quill emphasis. */
.puck-grid--home-hero-copy h1 em {
  color: hsl(45 100% 50%);
  font-style: italic;
  line-height: 1.6;
}
.puck-grid--home-hero-copy .puck-text p {
  max-width: 672px;
  margin: 0 auto !important;
  font-size: 18px;
  line-height: 1.6;
  color: oklch(.928 .006 264.531);
}
.puck-grid.puck-grid--home-hero-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px !important;
  margin-top: 24px;
  padding-top: 32px;
}
.puck-grid[class*="puck-grid--home-"] :where(.puck-button-container) {
  display: flex;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}
.puck-grid[class*="puck-grid--home-"] :where(.puck-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 16px;
  border: 1px solid hsl(0 0% 90%);
  border-radius: 6px;
  font-family: "NAOBI Home Inter", sans-serif !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  transition: color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid[class*="puck-grid--home-"] :where(.puck-button):focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 1px hsl(45 100% 50%);
}
.puck-grid--home-hero-actions .puck-button {
  padding: 24px 32px;
  font-size: 18px;
  line-height: 28px;
  min-height: 40px !important;
}
.puck-grid--home-hero-actions .puck-button-container,
.puck-grid--home-hero-actions .puck-button { width: 100%; }
.puck-grid--home-hero-actions .puck-button--home-join { background: hsl(45 100% 50%); color: hsl(0 0% 10%); }
.puck-grid--home-hero-actions .puck-button--home-join:hover { background: hsl(45 100% 50% / .9); }
.puck-grid--home-hero-actions .puck-grid--home-hero-learn .puck-text p {
  margin: 0 !important;
  padding: 0;
  font-size: 18px;
  line-height: 28px;
  color: rgb(255 255 255);
}
.puck-grid--home-hero-learn .puck-text a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  padding: 24px 32px;
  border: 2px solid rgb(255 255 255);
  border-radius: 6px;
  font-family: "NAOBI Home Inter", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  white-space: nowrap;
  text-decoration: none;
  background: transparent;
  color: rgb(255 255 255);
  box-shadow: none;
  transition: color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--home-hero-learn .puck-text a:hover { background: rgb(255 255 255 / .1); }
.puck-grid--home-hero-learn .puck-text a:focus-visible { outline: none; box-shadow: 0 0 0 1px hsl(45 100% 50%); }
.puck-grid.puck-grid--home-scholarship { padding: 64px 0; background: hsl(45 100% 50%); }
.puck-grid.puck-grid--home-scholarship-split { max-width: 896px; margin: 0 auto; gap: 32px !important; align-items: center; text-align: center; }
.puck-grid--home-scholarship-split > .puck-grid-column:last-child { display: none; }
.puck-grid--home-scholarship-split .puck-text > p:first-child { display: flex; justify-content: center; margin-bottom: 16px !important; }
.puck-grid--home-scholarship .puck-text > p > strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border: 1px solid hsl(0 0% 10% / .2);
  border-radius: 9999px;
  background: hsl(0 0% 10% / .1);
  color: hsl(0 0% 10%);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  line-height: 20px;
}
.puck-grid--home-scholarship .puck-text > p > strong::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: currentColor; }
.puck-grid--home-scholarship h2 { margin: 0 0 16px !important; color: hsl(0 0% 10%) !important; font-size: 30px !important; line-height: 36px; }
.puck-grid--home-scholarship .puck-text > p:last-child { color: hsl(0 0% 10% / .7); font-size: 18px; line-height: 1.6; margin-bottom: 24px !important; }
.puck-grid--home-scholarship .puck-button-container { justify-content: center; }
.puck-grid--home-scholarship .puck-button--home-scholarship {
  width: 100%;
  min-height: 40px !important;
  padding: 0 32px;
  color: hsl(0 0% 10%);
  border: 1px solid hsl(0 0% 10% / .4);
  background: transparent;
  box-shadow: 0 1px 2px rgb(0 0 0 / .05);
}
.puck-grid--home-scholarship .puck-button--home-scholarship:hover { background: hsl(0 0% 10% / .1); }
.puck-grid--home-scholarship .puck-button--home-scholarship:active { box-shadow: none; }
.puck-grid--home-scholarship .puck-button--home-scholarship::after,
.puck-grid--home-features .puck-card-button::after,
.puck-grid--home-newsletter-panel .puck-text a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: currentColor;
  mask: var(--home-arrow) center / contain no-repeat;
}
.puck-grid--home-scholarship .puck-button--home-scholarship::after { margin-left: 8px; }
.puck-grid--home-scholarship .puck-image { padding: 0 !important; margin: 0 !important; }
.puck-grid--home-scholarship .puck-image-figure { margin: 0; width: 224px; }
.puck-grid--home-scholarship .puck-image-img { width: 224px !important; height: 224px !important; object-fit: cover !important; object-position: top; border-radius: 16px !important; border: 4px solid hsl(0 0% 10% / .2); box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1); }
.puck-grid--home-scholarship .puck-image-caption { margin: 8px 0 0; font-size: 12px; line-height: 19.2px; color: hsl(0 0% 10% / .7); text-align: center; font-style: normal; }
.puck-grid.puck-grid--home-mission { padding: 96px 0; text-align: center; }
.puck-grid--home-mission .puck-text { max-width: 768px; margin: 0 auto !important; }
.puck-grid--home-mission .puck-text::before { content: ""; display: block; width: 96px; height: 4px; margin: 0 auto 32px; background: hsl(45 100% 50%); }
.puck-grid--home-mission .puck-text p { font-size: 20px; line-height: 32px; }
.puck-grid--home-mission .puck-text p:first-child { margin-bottom: 32px !important; color: hsl(0 0% 40%); }
.puck-grid--home-mission .puck-text p:first-child { font-style: italic; }
.puck-grid--home-mission .puck-text p:last-child { font-weight: 700; }
.puck-grid--home-mission .puck-text strong { font-weight: 700; }
.puck-grid.puck-grid--home-features { padding: 80px 0; background: hsl(40 10% 94% / .3); }
.puck-grid.puck-grid--home-feature-cards { gap: 32px !important; align-items: stretch; }
.puck-grid--home-features .puck-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: 100%;
  margin: 0;
  padding: 32px !important;
  border: 0;
  border-radius: 12px;
  background: hsl(0 0% 100%) !important;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1) !important;
  transition: box-shadow .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--home-features .puck-card:hover { box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1) !important; }
.puck-grid--home-features .puck-card::before { content: ""; width: 64px; height: 64px; flex: 0 0 64px; margin-bottom: 16px; border-radius: 50%; background: hsl(45 100% 50% / .1); transition: background-color .3s cubic-bezier(.4,0,.2,1); }
.puck-grid--home-features .puck-card::after { content: ""; position: absolute; top: 48px; left: calc(50% - 16px); width: 32px; height: 32px; background: hsl(45 100% 50%); mask: var(--home-icon) center / contain no-repeat; transition: background-color .3s cubic-bezier(.4,0,.2,1); }
.puck-grid--home-features .puck-card:hover::before { background: hsl(45 100% 50%); }
.puck-grid--home-features .puck-card:hover::after { background: hsl(0 0% 10%); }
.puck-grid--home-features .puck-card--home-feature-cmp { --home-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z'/%3E%3Cpath d='M22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E"); }
.puck-grid--home-features .puck-card--home-feature-community { --home-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Cpath d='M16 3.128a4 4 0 0 1 0 7.744'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E"); }
.puck-grid--home-features .puck-card--home-feature-scholarship { --home-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E"); }
.puck-grid--home-features .puck-card > div { width: 100%; padding: 0 !important; }
.puck-grid--home-features .puck-card-title { width: fit-content; max-width: 100%; margin: 0 auto 16px !important; font-size: 20px !important; line-height: 28px; color: hsl(0 0% 10%) !important; }
.puck-grid--home-features .puck-card-description { margin: 0 0 16px; font-family: "NAOBI Home Inter", sans-serif; font-size: 16px; line-height: 25.6px; color: hsl(0 0% 40%); }
.puck-grid--home-features .puck-card > div > div:has(.puck-card-button) { display: flex; justify-content: center; margin: 0 !important; }
.puck-grid--home-features .puck-card-button {
  display: inline-flex !important;
  min-height: 36px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px;
  gap: 8px;
  background: transparent !important;
  color: hsl(45 100% 50%) !important;
  font-weight: 600;
  transition: transform .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--home-features .puck-card-button::after { margin-left: 4px; }
.puck-grid--home-features .puck-card:hover .puck-card-button { transform: translateX(4px); }
.puck-grid--home-features .puck-card-button:hover { text-decoration: underline; text-underline-offset: 4px; }
.puck-grid.puck-grid--home-newsletter { padding: 48px 0; }
.puck-grid.puck-grid--home-newsletter-container { max-width: 896px; }
.puck-grid.puck-grid--home-newsletter-panel {
  position: relative;
  align-items: center;
  gap: 32px !important;
  margin: 0;
  padding: 32px;
  border: 0;
  border-radius: 16px;
  background: hsl(0 0% 10%);
  color: hsl(45 100% 50%);
  box-shadow: none;
  text-align: center;
  cursor: pointer;
  transition: box-shadow .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--home-newsletter-panel:hover { box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1); }
.puck-grid--home-newsletter-panel:focus-within { outline: 1px auto rgb(16 16 16); }
.puck-grid--home-newsletter-panel > .puck-grid-column,
.puck-grid--home-newsletter-panel .puck-text,
.puck-grid--home-newsletter-panel .puck-text p,
.puck-grid--home-newsletter-panel .puck-text a { position: static; }
.puck-grid--home-newsletter-panel .puck-image { padding: 0 !important; margin: 0 !important; }
.puck-grid--home-newsletter-panel .puck-image-img { width: 256px !important; height: auto !important; object-fit: fill !important; border-radius: 8px !important; box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1); transition: box-shadow .15s cubic-bezier(.4,0,.2,1); }
.puck-grid--home-newsletter-panel:hover .puck-image-img { box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
.puck-grid--home-newsletter-panel .puck-text > p:first-child { line-height: 24px; }
.puck-grid--home-newsletter-panel .puck-text > p > strong { padding: 4px 12px; background: hsl(45 100% 50% / .1); color: hsl(45 100% 50%); border-radius: 9999px; font-size: 14px; line-height: 22.4px; font-weight: 500; letter-spacing: normal; text-transform: none; }
.puck-grid--home-newsletter-panel h2 { margin: 0 0 16px !important; font-size: 30px !important; line-height: 36px; color: hsl(45 100% 50%) !important; }
.puck-grid--home-newsletter-panel .puck-text > h2 + p { margin-bottom: 16px !important; font-size: 18px; line-height: 28.8px; color: hsl(45 100% 50% / .8); }
.puck-grid--home-newsletter-panel .puck-text a { display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 8px; font-size: 16px; line-height: 25.6px; font-weight: 600; color: hsl(45 100% 50%); text-decoration: none; }
/* Genuine Quill anchor: one focus target, stretched over its owned native Grid.
   The empty overlay adds no content, link, action, or script. */
.puck-grid--home-newsletter-panel .puck-text a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 16px; }
.puck-grid--home-newsletter-panel .puck-text a:focus-visible { outline: none; }
.puck-grid--home-newsletter-panel:hover .puck-text a { text-decoration: underline; }
.puck-grid.puck-grid--home-vision { padding: 96px 0; }
.puck-grid.puck-grid--home-vision-split { gap: 48px !important; align-items: center; }
.puck-grid.puck-grid--home-vision-video { aspect-ratio: 16/9; position: relative; background: hsl(40 10% 94%); border-radius: 8px; overflow: hidden; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
.puck-grid--home-vision-video > .puck-grid-column > div { margin: 0 !important; position: absolute; inset: 0; width: 100%; height: 100%; }
.puck-grid--home-vision-video iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.puck-grid--home-vision h2 { margin: 0 0 24px !important; color: hsl(0 0% 10%) !important; font-size: 36px !important; line-height: 40px; }
.puck-grid--home-vision .puck-text p { margin-bottom: 24px !important; font-size: 18px; line-height: 28.8px; color: hsl(0 0% 40%); }
.puck-grid--home-vision .puck-button--home-vision { min-height: 36px !important; background: hsl(0 0% 10%); color: hsl(45 100% 50%); }
.puck-grid--home-vision .puck-button--home-vision:hover { background: hsl(0 0% 10% / .9); }
.puck-grid.puck-grid--home-events { padding: 96px 0; background: hsl(0 0% 10%); color: hsl(45 100% 50%); }
.puck-grid.puck-grid--home-events-heading { margin-bottom: 48px; align-items: end; }
.puck-grid--home-events-heading > .puck-grid-column:last-child { display: none; }
.puck-grid--home-events h2 { margin: 0 0 16px !important; font-size: 30px !important; line-height: 36px; color: hsl(45 100% 50%) !important; }
.puck-grid--home-events-heading .puck-text p { max-width: 576px; font-size: 16px; line-height: 25.6px; color: hsl(45 100% 50% / .7); }
.puck-grid--home-events-heading .puck-text { max-width: 576px !important; }
.puck-grid--home-events .puck-button--home-events { min-height: 36px !important; background: #ffbf00; color: rgb(0 0 0); font-weight: 600; }
.puck-grid--home-events .puck-button--home-events:hover { background: rgb(255 191 0 / .9); }
.puck-grid.puck-grid--home-events-list { min-height: 200px; }
.puck-grid--home-events .recur-event-list { width: 100%; max-width: 600px !important; margin: 0 auto !important; font-family: "NAOBI Home Inter", sans-serif; }
.puck-grid--home-events .recur-event-list-grid { gap: 12px !important; }
.puck-grid--home-events .recur-event-card { padding: 12px !important; gap: 12px !important; border-radius: 8px !important; background: hsl(0 0% 100%) !important; box-shadow: 0 1px 3px rgb(0 0 0 / .1) !important; }
.puck-grid--home-events .recur-event-card-image { width: 70px !important; height: 70px !important; object-fit: cover; border-radius: 8px !important; }
.puck-grid--home-events .recur-event-card-title { margin: 0 !important; padding: 0; font-family: "NAOBI Home Inter", sans-serif !important; font-size: 15.2px !important; font-weight: 700; line-height: 1.5 !important; letter-spacing: -.025em; color: rgb(0 0 0) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.puck-grid--home-events .recur-event-card-date { margin: 2px 0 0 !important; font-family: "NAOBI Home Inter", sans-serif !important; font-size: 12.8px !important; line-height: 1.5 !important; color: #64748b !important; }
.puck-grid--home-events .recur-event-card-button { display: inline-block; padding: 6px 12px !important; font-family: "NAOBI Home Inter", sans-serif !important; font-size: 12.8px !important; font-weight: 400 !important; line-height: 1.5 !important; border-radius: 6px !important; background: #374151 !important; border: 0; color: rgb(255 255 255) !important; text-decoration: none; white-space: nowrap; }
.puck-grid--home-events .recur-event-card-button:hover { background: #374151 !important; }
.puck-grid.puck-grid--home-events-mobile-action { margin-top: 32px; }
.puck-grid--home-events-mobile-action .puck-button-container,
.puck-grid--home-events-mobile-action .puck-button { width: 100%; }
.puck-grid.puck-grid--home-partners { padding: 96px 0; margin-bottom: -2rem !important; background: hsl(40 10% 94% / .3); text-align: center; }
.puck-grid--home-partners h2 { margin: 0 0 16px !important; font-size: 30px !important; line-height: 36px; color: hsl(0 0% 10%) !important; }
.puck-grid--home-partners .puck-text { margin-bottom: 48px !important; }
.puck-grid--home-partners .puck-text p { max-width: 576px; margin: 0 auto !important; font-size: 16px; line-height: 25.6px; color: hsl(0 0% 40%); }
.puck-grid--home-partners .puck-image { padding: 0 !important; margin: 0 !important; justify-content: center; }
.puck-grid--home-partners .puck-image-img { width: auto !important; height: 64px !important; object-fit: contain !important; }
@media (min-width: 640px) {
  .puck-grid.puck-grid--home-container { max-width: 640px; }
  .puck-grid.puck-grid--home-hero-actions { flex-direction: row; }
  .puck-grid--home-hero-actions .puck-button-container,
  .puck-grid--home-hero-actions .puck-button { width: auto; }
  .puck-grid--home-hero-learn .puck-text a { width: auto; }
  .puck-grid--home-scholarship .puck-button--home-scholarship { width: auto; }
}
@media (max-width: 700px) {
  .puck-grid--home-events .recur-event-card-image { width: 50px !important; height: 50px !important; }
  .puck-grid--home-events .recur-event-card-title { font-size: 13.6px !important; }
}
@media (max-width: 480px) {
  .puck-grid--home-events .recur-event-card { padding: 8px !important; gap: 8px !important; }
  .puck-grid--home-events .recur-event-card-image { width: 40px !important; height: 40px !important; }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--home-container { max-width: 768px; }
  .puck-grid--home-hero-copy h1 { font-size: 60px !important; }
  .puck-grid--home-hero-copy .puck-text p { font-size: 20px; line-height: 32px; }
  .puck-grid.puck-grid--home-scholarship-split { grid-template-columns: minmax(0,1fr) 224px !important; text-align: left; }
  .puck-grid--home-scholarship-split > .puck-grid-column:last-child { display: block; }
  .puck-grid--home-scholarship h2 { font-size: 36px !important; line-height: 40px; }
  .puck-grid--home-scholarship .puck-button-container { justify-content: flex-start; }
  .puck-grid--home-scholarship-split .puck-text > p:first-child { justify-content: flex-start; }
  .puck-grid--home-mission .puck-text p { font-size: 24px; line-height: 1.6; }
  .puck-grid.puck-grid--home-feature-cards { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--home-newsletter-panel { grid-template-columns: 256px minmax(0,1fr) !important; text-align: left; }
  .puck-grid.puck-grid--home-vision-split { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--home-vision-video { aspect-ratio: 1; }
  .puck-grid.puck-grid--home-events-heading { grid-template-columns: minmax(0,1fr) auto !important; }
  .puck-grid--home-events-heading > .puck-grid-column:last-child { display: block; }
  .puck-grid--home-events h2,
  .puck-grid--home-partners h2 { font-size: 36px !important; line-height: 40px; }
  .puck-grid.puck-grid--home-events-mobile-action { display: none; }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--home-container { max-width: 1024px; }
  .puck-grid--home-hero-copy h1 { font-size: 72px !important; }
}
@media (min-width: 1280px) { .puck-grid.puck-grid--home-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--home-container { max-width: 1536px; } }

/* Board fidelity layer SEVEN. Append after all six unchanged existing layers.
   Source: BoardOfDirectors.tsx, ui/card.tsx, ui/button.tsx, index.css;
   measured source evidence: generated-artifacts/recur-board/source-measurements.json.
   No global, chrome, Home or About selectors. */
@font-face {
  font-family: "NAOBI Board Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Board Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--board-"] {
  --board-gold: hsl(45 100% 50%);
  --board-dark: hsl(0 0% 10%);
  --board-background: hsl(40 20% 98%);
  --board-muted: hsl(40 10% 94% / .3);
  --board-muted-text: hsl(0 0% 40%);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font: 400 16px/24px "NAOBI Board Inter", sans-serif;
  letter-spacing: normal;
  color: var(--board-dark);
}
.puck-grid[class*="puck-grid--board-"] .puck-grid-column { min-width: 0; }
.puck-grid.puck-grid--board-banner,
.puck-grid.puck-grid--board-executive,
.puck-grid.puck-grid--board-chairs,
.puck-grid.puck-grid--board-advisory,
.puck-grid.puck-grid--board-invitation {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem !important;
  padding: 80px 0;
  background: var(--board-background);
  text-align: center;
}
.puck-grid.puck-grid--board-banner {
  margin-top: -2rem !important;
  background: var(--board-dark);
  color: var(--board-gold);
}
.puck-grid.puck-grid--board-invitation { margin-bottom: -2rem !important; }
.puck-grid.puck-grid--board-executive,
.puck-grid.puck-grid--board-advisory {
  /* Source translucent bg-muted/30 is composited over the warm page background. */
  background: linear-gradient(var(--board-muted),var(--board-muted)),var(--board-background);
}
.puck-grid.puck-grid--board-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid[class*="puck-grid--board-"] .puck-text {
  margin: 0 !important;
  padding: 0 !important;
  font: 400 18px/1.6 "NAOBI Board Inter", sans-serif;
  letter-spacing: normal;
  color: var(--board-muted-text);
}
.puck-grid[class*="puck-grid--board-"] .puck-text :is(h1,h2,h3) {
  margin: 0 0 16px;
  padding: 0;
  font: 700 30px/36px "NAOBI Board Playfair", serif;
  letter-spacing: -.025em;
  color: var(--board-dark);
}
.puck-grid[class*="puck-grid--board-"] .puck-text strong { font-weight: inherit; }
.puck-grid[class*="puck-grid--board-"] .puck-text p {
  margin: 0;
  padding: 0;
  font: inherit;
  line-height: 1.6;
}
.puck-grid.puck-grid--board-banner .puck-text h1 {
  margin-bottom: 24px;
  font-size: 36px;
  line-height: 40px;
  color: var(--board-gold);
}
.puck-grid.puck-grid--board-banner .puck-text p {
  max-width: 768px;
  margin: 0 auto;
  font-size: 20px;
  color: hsl(45 100% 50% / .8);
}
.puck-grid.puck-grid--board-executive-roster,
.puck-grid.puck-grid--board-chairs-roster,
.puck-grid.puck-grid--board-advisory-roster {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 32px !important;
  max-width: 1024px;
  width: 100%;
  margin: 48px auto 0;
  align-items: stretch;
}
/* Owned native zones, in editorial row-major order. Contents flatten only
   roster columns, not section/container columns. This preserves responsive rows. */
:is(.puck-grid--board-executive-roster,.puck-grid--board-chairs-roster,.puck-grid--board-advisory-roster) > .puck-grid-column {
  display: contents;
}
.puck-grid[class*="puck-grid--board-person-"] {
  box-sizing: border-box;
  display: grid !important;
  align-items: start;
  gap: 0 !important;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 32px 24px 16px !important;
  border: none;
  border-radius: 12px;
  background: hsl(0 0% 100%) !important;
  color: var(--board-dark);
  overflow: visible;
  text-align: center;
  font: 400 16px/24px "NAOBI Board Inter", sans-serif;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1) !important;
  transition: box-shadow .15s cubic-bezier(.4,0,.2,1);
  transform: none;
  text-decoration: none;
}
.puck-grid[class*="puck-grid--board-person-"]:hover {
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1) !important;
  transform: none;
}
.puck-grid[class*="puck-grid--board-person-"] > .puck-grid-column {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.puck-card[class*="puck-card--board-"] {
  display: block !important;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  border: none;
  border-radius: 0;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--board-dark);
  font: 400 16px/24px "NAOBI Board Inter", sans-serif;
  text-align: center;
  transform: none !important;
  transition: none;
}
.puck-card[class*="puck-card--board-"]:hover { box-shadow: none !important; }
.puck-card[class*="puck-card--board-"] > div {
  width: 100%;
  padding: 0 !important;
  margin: 0;
}
.puck-card[class*="puck-card--board-"] .puck-card-title {
  padding: 0;
  margin: 0 0 6px;
  font: 600 18px/28px "NAOBI Board Playfair", serif;
  letter-spacing: -.025em;
  color: var(--board-dark) !important;
}
.puck-grid--board-executive .puck-card[class*="puck-card--board-"] .puck-card-title { font-size: 20px; }
.puck-card[class*="puck-card--board-"] .puck-card-description {
  padding: 0;
  margin: 0;
  font: 500 14px/1.6 "NAOBI Board Inter", sans-serif;
  letter-spacing: .025em;
  text-transform: uppercase;
  color: var(--board-gold);
}
.puck-grid[class*="puck-grid--board-person-"] .puck-image {
  display: block;
  box-sizing: border-box;
  flex: none;
  width: 112px;
  height: 112px;
  padding: 0 !important;
  margin: 0 auto 16px !important;
  overflow: hidden;
  border: none;
  border-radius: 50%;
  box-shadow: 0 0 0 4px hsl(45 100% 50% / .2);
}
.puck-grid--board-chairs .puck-grid[class*="puck-grid--board-person-"] .puck-image { width: 80px; height: 80px; }
.puck-grid--board-advisory .puck-grid[class*="puck-grid--board-person-"] .puck-image { width: 96px; height: 96px; }
.puck-grid[class*="puck-grid--board-person-"] .puck-image-img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  margin: 0;
  border: none;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center top;
  transform: none;
}
.puck-grid.puck-grid--board-person-dreu .puck-image-img { object-position: center 30%; }
.puck-grid.puck-grid--board-person-milana .puck-image-img {
  object-position: center 0%;
  transform: scale(2.5);
  transform-origin: center 15%;
}
.puck-grid.puck-grid--board-person-cedric .puck-image-img { object-position: center 20%; }
.puck-grid.puck-grid--board-person-brittany .puck-image-img { object-position: center 60%; }
.puck-grid.puck-grid--board-person-pamela .puck-image-img { object-position: center center; }
/* Empty native Grid is a genuinely decorative placeholder. No icon-font text
   is emitted or hidden, and no portrait is invented for the four records. */
.puck-grid.puck-grid--board-placeholder {
  position: relative;
  display: block;
  flex: none;
  box-sizing: border-box;
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: hsl(40 10% 94%);
  line-height: 1;
}
.puck-grid.puck-grid--board-placeholder::after {
  content: "";
  position: absolute;
  inset: 18px;
  background: var(--board-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.puck-grid.puck-grid--board-invitation .puck-grid--board-container { max-width: 672px; }
.puck-grid.puck-grid--board-invitation .puck-text::before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 24px;
  background: var(--board-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5M4 13.5V6a2 2 0 0 1 2-2h2M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.puck-grid.puck-grid--board-invitation .puck-text p:last-child { margin-top: 32px; line-height: 24px; }
.puck-grid.puck-grid--board-invitation .puck-text a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  min-height: 40px !important;
  height: 40px;
  padding: 0 32px;
  border: 1px solid hsl(0 0% 90%);
  border-radius: 6px;
  background: hsl(233 92% 30%);
  color: hsl(0 0% 100%);
  font: 500 14px/20px "NAOBI Board Inter", sans-serif;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  transition: background-color .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--board-invitation .puck-text a::after {
  content: "";
  display: block;
  flex: none;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.puck-grid.puck-grid--board-invitation .puck-text a:hover { background: hsl(233 92% 30% / .9); }
.puck-grid.puck-grid--board-invitation .puck-text a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px var(--board-gold);
}
@media (min-width: 640px) {
  .puck-grid.puck-grid--board-container { max-width: 640px; }
  .puck-grid.puck-grid--board-executive-roster,
  .puck-grid.puck-grid--board-chairs-roster,
  .puck-grid.puck-grid--board-advisory-roster { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--board-container { max-width: 768px; }
  .puck-grid.puck-grid--board-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--board-container { max-width: 1024px; }
  .puck-grid.puck-grid--board-executive-roster,
  .puck-grid.puck-grid--board-chairs-roster { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--board-advisory-roster { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
}
@media (min-width: 1280px) {
  .puck-grid.puck-grid--board-container { max-width: 1280px; }
}
@media (min-width: 1536px) {
  .puck-grid.puck-grid--board-container { max-width: 1536px; }
}

/* Events fidelity layer. Append after unchanged accepted shared/page layers.
   Source captured at ten widths before authoring. Native owned Grid zones only. */
@font-face {
  font-family: "NAOBI Events Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Events Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--events-"] {
  --events-gold: hsl(45 100% 50%);
  --events-dark: hsl(0 0% 10%);
  --events-muted: hsl(0 0% 40%);
  --events-background: hsl(40 20% 98%);
  --events-surface: hsl(40 10% 94%);
  --events-border: hsl(0 0% 90%);
  --events-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Cpath d='M16 3.128a4 4 0 0 1 0 7.744'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E");
  --events-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z'/%3E%3C/svg%3E");
  --events-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  --events-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6v6l4 2'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E");
  --events-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font: 400 16px/24px "NAOBI Events Inter",sans-serif;
  letter-spacing: normal;
  color: var(--events-dark);
}
.puck-grid[class*="puck-grid--events-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--events-"] :where(.puck-text) {
  margin: 0 !important;
  padding: 0 !important;
  font: 400 16px/1.6 "NAOBI Events Inter",sans-serif;
  color: inherit;
  letter-spacing: normal;
  text-align: inherit;
}
.puck-grid[class*="puck-grid--events-"] :where(.puck-text :is(p,ul,li)) {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}
.puck-grid[class*="puck-grid--events-"] :where(.puck-text :is(h1,h2,h3,h4)) {
  margin: 0;
  padding: 0;
  font-family: "NAOBI Events Playfair",serif !important;
  font-weight: 700;
  letter-spacing: -.025em;
  color: inherit;
  text-transform: none;
}
.puck-grid[class*="puck-grid--events-"] .puck-text strong { font-weight: 600; }
.puck-grid.puck-grid--events-banner,
.puck-grid.puck-grid--events-upcoming,
.puck-grid.puck-grid--events-community,
.puck-grid.puck-grid--events-featured,
.puck-grid.puck-grid--events-archive {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem !important;
  padding: 64px 0;
  background: var(--events-background);
}
.puck-grid.puck-grid--events-banner {
  margin-top: -2rem !important;
  background: linear-gradient(hsl(45 100% 50% / .1),hsl(45 100% 50% / .1)),var(--events-background);
}
.puck-grid.puck-grid--events-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid--events-banner .puck-text h1 {
  margin-bottom: 16px;
  font-size: 36px;
  line-height: 40px;
}
.puck-grid--events-banner .puck-text p {
  max-width: 672px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--events-muted);
}
.puck-grid.puck-grid--events-upcoming { padding: 80px 0; }
.puck-grid.puck-grid--events-upcoming-heading {
  margin-bottom: 36px;
  padding-left: 20px;
  border-left: 4px solid var(--events-gold);
}
.puck-grid--events-upcoming-heading .puck-text p {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--events-gold);
}
.puck-grid--events-upcoming-heading .puck-text h2 { font-size: 36px; line-height: 1.25; }
.puck-grid.puck-grid--events-feed-panel {
  padding: 16px;
  border: 1px solid var(--events-border);
  border-radius: 16px;
  background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid.puck-grid--events-feed { min-height: 200px; }
.puck-grid--events-feed .recur-event-list {
  width: 100%;
  max-width: 100% !important;
  margin: 0 !important;
  font-family: "NAOBI Events Inter",sans-serif;
}
.puck-grid--events-feed .recur-event-list-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 20px !important;
}
.puck-grid--events-feed .recur-event-card {
  position: relative;
  padding: 0 !important;
  border: 0;
  border-radius: 12px !important;
  overflow: hidden;
  background: hsl(0 0% 100%) !important;
  box-shadow: 0 1px 3px rgb(0 0 0 / .1) !important;
}
.puck-grid--events-feed .recur-event-card-image {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.puck-grid--events-feed .recur-event-card-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.puck-grid--events-feed .recur-event-card-body { padding: 12px !important; }
.puck-grid--events-feed .recur-event-card-title {
  margin: 0 !important;
  padding: 0;
  font: 700 14px/21px "NAOBI Events Inter",sans-serif !important;
  letter-spacing: -.025em;
  color: rgb(0 0 0) !important;
}
.puck-grid--events-feed .recur-event-card-date {
  margin: 4px 0 0 !important;
  padding: 0;
  font: 400 12px/18px "NAOBI Events Inter",sans-serif !important;
  color: #64748b !important;
}
/* Native feed's genuine destination link becomes the source-style full-card
   hit area. Its accessible name remains the native "Learn More"; no fake action
   or frozen runtime event is authored. Native semantics are documented. */
.puck-grid--events-feed .recur-event-card-button {
  position: absolute;
  inset: 0;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
}
.puck-grid--events-feed .recur-event-card:focus-within { outline: 2px solid var(--events-gold); outline-offset: 2px; }
@media (max-width: 768px) {
  .puck-grid--events-feed .recur-event-list-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 16px !important; }
}
@media (max-width: 480px) {
  .puck-grid--events-feed .recur-event-list-grid { grid-template-columns: minmax(0,1fr) !important; gap: 12px !important; }
}
.puck-grid.puck-grid--events-community {
  background: linear-gradient(hsl(40 10% 94% / .4),hsl(40 10% 94% / .4)),var(--events-background);
}
.puck-grid--events-community-heading .puck-text { text-align: center; }
.puck-grid--events-community-heading .puck-text h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 30px;
  line-height: 36px;
}
.puck-grid--events-community-heading .puck-text p {
  max-width: 672px;
  margin: 0 auto 32px;
  color: var(--events-muted);
}
.puck-grid--events-community-heading .puck-text h2::before,
.puck-grid--events-featured-heading .puck-text h2::before,
.puck-grid--events-archive-heading .puck-text h2::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  flex-shrink: 1;
  background: var(--events-gold);
  mask: var(--events-icon) center / contain no-repeat;
}
.puck-grid--events-community-heading { --events-icon: var(--events-users); }
.puck-grid.puck-grid--events-flyers {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  align-items: start;
  gap: 16px !important;
}
.puck-grid--events-flyers > .puck-grid-column,
.puck-grid--events-featured-cards > .puck-grid-column { display: contents; }
.puck-grid.puck-grid--events-flyer {
  border: 1px solid var(--events-border);
  border-radius: 12px;
  background: hsl(0 0% 100%);
  overflow: hidden;
  box-shadow: 0 1px 3px rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
  transition: box-shadow .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--events-flyer:hover { box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1); }
.puck-grid.puck-grid--events-flyer-well {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4/5;
  margin: 0 !important;
  padding: 8px !important;
  background: hsl(40 10% 94% / .3);
}
.puck-grid--events-flyer-well > .puck-grid-column { height: 100%; }
.puck-grid--events-flyer-well .puck-image { display: block; height: 100%; padding: 0 !important; margin: 0 !important; }
.puck-grid--events-flyer .puck-grid--events-flyer-well .puck-text {
  position: absolute;
  inset: 8px;
  padding: 0 !important;
}
.puck-grid--events-flyer-well .puck-text p { height: 100%; margin: 0; }
/* A genuine native Quill hyperlink supplies the source accessible link name
   and noreferrer. Native Image remains the image, not an HTML image fragment.
   Link text is the source's nonvisual label; only its image-well hit area is
   visible, just as in the original. Titles below the well remain unlinked. */
.puck-grid--events-flyer-well .puck-text a {
  display: block;
  height: 100%;
  border-radius: 8px;
  font-size: 0;
  line-height: 0;
  color: transparent;
  text-decoration: none;
}
.puck-grid--events-flyer-well .puck-text a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px hsl(0 0% 100%),0 0 0 4px var(--events-gold);
}
.puck-grid--events-flyer .puck-image-img {
  display: block;
  max-width: none;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
.puck-grid--events-flyer .puck-text { padding: 12px 12px 16px !important; }
.puck-grid--events-flyer .puck-text h3 { font-size: 14px; font-weight: 600; line-height: 19.25px; }
.puck-grid--events-flyer .puck-text p { margin-top: 4px; font-size: 12px; line-height: 1.6; color: var(--events-muted); }
.puck-grid--events-flyer-well .puck-text p { margin-top: 0; }
.puck-grid.puck-grid--events-featured { background: var(--events-dark); color: var(--events-gold); }
.puck-grid--events-featured-heading .puck-text h2,
.puck-grid--events-archive-heading .puck-text h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 24px;
  line-height: 32px;
}
.puck-grid.puck-grid--events-featured-heading { --events-icon: var(--events-star); color: var(--events-gold); }
.puck-grid--events-featured-heading .puck-text p { max-width: 672px; margin-bottom: 32px; color: hsl(45 100% 50% / .7); }
.puck-grid.puck-grid--events-featured-cards { gap: 32px !important; align-items: stretch; }
.puck-grid.puck-grid--events-featured-card {
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  background: hsl(0 0% 100%);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
}
.puck-grid.puck-grid--events-featured-card-head { padding: 24px; background: hsl(45 100% 50% / .1); }
.puck-grid--events-featured-card-head .puck-text h3 { margin-bottom: 8px; font-size: 20px; line-height: 28px; }
.puck-grid--events-featured-card-head .puck-text p { font-size: 14px; line-height: 1.6; font-weight: 600; color: var(--events-gold); }
.puck-grid.puck-grid--events-featured-card-body { padding: 24px; }
.puck-grid--events-featured-card-body > .puck-grid-column { display: grid; gap: 16px; }
.puck-grid--events-featured-card-body .puck-text { font-size: 14px; line-height: 1.6; color: var(--events-muted); }
.puck-grid--events-featured-card-body .puck-text > p:first-child { margin-bottom: 16px; }
.puck-grid--events-featured-card-body .puck-text > p:has(strong) { margin-bottom: 8px; font-weight: 600; color: var(--events-dark); }
.puck-grid--events-featured-card-body .puck-text ul { list-style: none; margin-bottom: 0; }
.puck-grid--events-featured-card-body .puck-text li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 4px;
  list-style: none;
}
.puck-grid--events-featured-card-body .puck-text li:last-child { margin-bottom: 0; }
.puck-grid--events-featured-card-body .puck-text li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  background: var(--events-gold);
  mask: var(--events-item-icon) center / contain no-repeat;
}
.puck-grid--events-seminar-body { --events-item-icon: var(--events-users); }
.puck-grid--events-partnership-body { --events-item-icon: var(--events-star); }
.puck-grid.puck-grid--events-featured-card-note {
  border-top: 1px solid var(--events-border);
  padding-top: 8px;
}
.puck-grid--events-featured-card-note .puck-text {
  font-size: 12px;
  line-height: 1.6;
  color: var(--events-muted);
}
.puck-grid--events-featured-card-note .puck-text > p:first-child { margin-bottom: 0; }
.puck-grid.puck-grid--events-archive {
  margin-bottom: -2rem !important;
  background: linear-gradient(hsl(40 10% 94% / .3),hsl(40 10% 94% / .3)),var(--events-background);
}
.puck-grid--events-archive > .puck-grid-column > .puck-grid--events-container { max-width: 896px; }
.puck-grid--events-archive-heading { --events-icon: var(--events-calendar); }
.puck-grid--events-archive-heading .puck-text h2 { margin-bottom: 32px; }
.puck-grid.puck-grid--events-records { gap: 12px !important; }
.puck-grid--events-records > .puck-grid-column { display: contents; }
.puck-grid.puck-grid--events-record {
  border: 1px solid var(--events-border);
  border-radius: 8px;
  overflow: hidden;
  background: transparent;
}
.puck-grid.puck-grid--events-record-head { padding: 16px 20px; }
.puck-grid--events-record-head .puck-text h4 { font-size: 16px; font-weight: 600; line-height: 24px; }
.puck-grid--events-record-head .puck-text p { margin-top: 2px; font-size: 14px; line-height: 1.6; color: var(--events-muted); }
.puck-grid.puck-grid--events-record-details { padding: 16px 20px; border-top: 1px solid var(--events-border); }
.puck-grid--events-record-details > .puck-grid-column { display: grid; gap: 12px; }
.puck-grid--events-record-details .puck-text { font-size: 14px; line-height: 1.6; color: var(--events-muted); }
.puck-grid--events-record-time .puck-text p,
.puck-grid--events-record-location .puck-text p { display: flex; align-items: center; gap: 8px; }
.puck-grid--events-record-time .puck-text p::before,
.puck-grid--events-record-location .puck-text p::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background: var(--events-gold);
  mask: var(--events-detail-icon) center / contain no-repeat;
}
.puck-grid--events-record-time { --events-detail-icon: var(--events-clock); }
.puck-grid--events-record-location { --events-detail-icon: var(--events-pin); }
@media (min-width: 640px) {
  .puck-grid.puck-grid--events-container { max-width: 640px; }
  .puck-grid.puck-grid--events-flyers { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--events-container { max-width: 768px; }
  .puck-grid--events-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid--events-upcoming-heading .puck-text h2 { font-size: 48px; line-height: 60px; }
  .puck-grid.puck-grid--events-feed-panel { padding: 28px; }
  .puck-grid--events-community-heading .puck-text h2 { font-size: 36px; line-height: 40px; }
  .puck-grid--events-featured-heading .puck-text h2,
  .puck-grid--events-archive-heading .puck-text h2 { font-size: 30px; line-height: 36px; }
  .puck-grid.puck-grid--events-featured-cards { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--events-container { max-width: 1024px; }
  .puck-grid.puck-grid--events-flyers { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 24px !important; }
}
@media (min-width: 1280px) { .puck-grid.puck-grid--events-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--events-container { max-width: 1536px; } }

/* Membership-only fidelity layer; accepted layers remain immutable. */
@font-face {
  font-family: "NAOBI Membership Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Membership Playfair";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--membership-"] {
  --membership-gold: hsl(45 100% 50%);
  --membership-dark: hsl(0 0% 10%);
  --membership-background: hsl(40 20% 98%);
  --membership-muted: hsl(0 0% 40%);
  --membership-surface: hsl(40 10% 94%);
  --membership-accent: hsl(233 92% 30%);
  --membership-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font: 400 16px/24px "NAOBI Membership Inter",sans-serif;
  letter-spacing: normal;
  color: var(--membership-dark);
}
.puck-grid[class*="puck-grid--membership-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--membership-"] .puck-text {
  padding: 0 !important;
  margin: 0 !important;
  font: 400 16px/1.6 "NAOBI Membership Inter",sans-serif;
  color: inherit;
  text-align: inherit;
  letter-spacing: normal;
}
.puck-grid[class*="puck-grid--membership-"] :where(.puck-text :is(p,ul,li)) { margin: 0; padding: 0; color: inherit; }
.puck-grid[class*="puck-grid--membership-"] :where(.puck-text :is(h1,h2,h3)) {
  margin: 0;
  padding: 0;
  font-family: "NAOBI Membership Playfair",serif;
  font-weight: 700;
  letter-spacing: -.025em;
  color: inherit;
}
.puck-grid.puck-grid--membership-banner,
.puck-grid.puck-grid--membership-products,
.puck-grid.puck-grid--membership-benefits,
.puck-grid.puck-grid--membership-separator,
.puck-grid.puck-grid--membership-bylaws,
.puck-grid.puck-grid--membership-member,
.puck-grid.puck-grid--membership-committee {
  width: calc(100% + 4rem);
  max-width: none;
  margin: 0 -2rem !important;
}
.puck-grid.puck-grid--membership-banner { margin-top: -2rem !important; }
.puck-grid.puck-grid--membership-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.puck-grid.puck-grid--membership-banner { padding: 80px 0; background: var(--membership-dark); color: var(--membership-gold); text-align: center; }
.puck-grid--membership-banner .puck-text h1 { margin-bottom: 24px; font-size: 36px; line-height: 40px; color: var(--membership-gold); }
.puck-grid--membership-banner .puck-text p { max-width: 672px; margin: 0 auto; font-size: 20px; line-height: 32px; color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--membership-products { padding: 90px 0; background: var(--membership-background); }
.puck-grid--membership-products .recur-product-list { max-width: 800px !important; width: 100%; margin: 0 auto !important; font-family: "NAOBI Membership Inter",sans-serif; }
.puck-grid--membership-products .recur-product-list-grid { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.puck-grid--membership-products .recur-product-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: hsl(0 0% 100%) !important;
  box-shadow: 0 1px 3px rgb(0 0 0 / .1) !important;
  overflow: visible !important;
}
.puck-grid--membership-products .recur-product-card-image {
  width: 70px !important;
  height: 70px !important;
  flex: 0 0 70px !important;
  overflow: hidden;
  border-radius: 8px;
}
.puck-grid--membership-products .recur-product-card-image img { display: block; width: 100% !important; height: 100% !important; min-height: 0 !important; object-fit: cover !important; border-radius: 8px; }
.puck-grid--membership-products .recur-product-card-body {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) max-content !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  flex: 1 !important;
  min-width: 0;
  padding: 0 !important;
  align-items: start;
}
.puck-grid--membership-products .recur-product-card-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0 !important;
  font: 700 15.2px/22.8px "NAOBI Membership Inter",sans-serif !important;
  letter-spacing: -.025em;
  color: hsl(0 0% 0%) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.puck-grid--membership-products .recur-product-card-price {
  grid-column: 1;
  grid-row: 2;
  margin: 2px 0 0 !important;
  font: 400 12.8px/19.2px "NAOBI Membership Inter",sans-serif !important;
  color: #64748b !important;
}
.puck-grid--membership-products .recur-product-card-description {
  grid-column: 1;
  grid-row: 3;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  font: 400 13.2px/19.8px "NAOBI Membership Inter",sans-serif !important;
  color: #64748b !important;
}
.puck-grid--membership-products .recur-product-card-description p { margin: 0 !important; padding: 0; line-height: 1.6; }
.puck-grid--membership-products .recur-product-card-button {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center !important;
  display: block !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #374151 !important;
  color: hsl(0 0% 100%) !important;
  font: 400 12.8px/19.2px "NAOBI Membership Inter",sans-serif !important;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
}
.puck-grid--membership-products .recur-product-card-button:focus-visible { outline: -webkit-focus-ring-color auto 1px; }
.puck-grid.puck-grid--membership-benefits { padding: 64px 0; background: linear-gradient(hsl(45 100% 50% / .05),hsl(45 100% 50% / .05)),var(--membership-background); }
.puck-grid--membership-benefits > .puck-grid-column > .puck-grid--membership-container { max-width: 768px; }
.puck-grid--membership-benefits .puck-text h2 { margin-bottom: 24px; font-size: 30px; line-height: 36px; }
.puck-grid--membership-benefits .puck-text h3 { margin-bottom: 16px; font-size: 24px; line-height: 32px; }
.puck-grid--membership-benefits .puck-text p { font-size: 18px; line-height: 1.6; color: var(--membership-muted); }
.puck-grid--membership-benefits .puck-text > p:first-of-type { margin-bottom: 32px; }
.puck-grid--membership-benefits .puck-text ul { list-style: disc; padding-left: 24px; margin-bottom: 40px; font-size: 18px; line-height: 28px; color: var(--membership-muted); }
.puck-grid--membership-benefits .puck-text li { list-style: disc; font-size: 18px; line-height: 1.6; }
.puck-grid--membership-benefits .puck-text li + li { margin-top: 12px; }
.puck-grid.puck-grid--membership-separator { height: 1px; min-height: 1px; background: hsl(0 0% 90%); }
.puck-grid.puck-grid--membership-bylaws { padding: 80px 0; background: linear-gradient(hsl(40 10% 94% / .3),hsl(40 10% 94% / .3)),var(--membership-background); text-align: center; }
.puck-grid.puck-grid--membership-member { padding: 64px 0; background: var(--membership-surface); text-align: center; }
.puck-grid.puck-grid--membership-committee { padding: 80px 0; margin-bottom: -2rem !important; background: var(--membership-background); text-align: center; }
.puck-grid--membership-bylaws > .puck-grid-column > .puck-grid--membership-container,
.puck-grid--membership-member > .puck-grid-column > .puck-grid--membership-container,
.puck-grid--membership-committee > .puck-grid-column > .puck-grid--membership-container { max-width: 672px; }
.puck-grid--membership-bylaws .puck-text h2,
.puck-grid--membership-member .puck-text h2,
.puck-grid--membership-committee .puck-text h2 { margin-bottom: 16px; font-size: 30px; line-height: 36px; }
.puck-grid--membership-bylaws .puck-text p,
.puck-grid--membership-member .puck-text p,
.puck-grid--membership-committee .puck-text p { font-size: 18px; line-height: 1.6; color: var(--membership-muted); }
.puck-grid--membership-member .puck-text p { font-size: 16px; }
.puck-grid--membership-bylaws .puck-text p:has(a),
.puck-grid--membership-member .puck-text p:has(a),
.puck-grid--membership-committee .puck-text p:has(a) { display: flex; justify-content: center; }
.puck-grid--membership-bylaws .puck-text > p:not(:has(a)),
.puck-grid--membership-member .puck-text > p:not(:has(a)),
.puck-grid--membership-committee .puck-text > p:not(:has(a)) { margin-bottom: 32px; }
.puck-grid--membership-bylaws .puck-text a,
.puck-grid--membership-member .puck-text a,
.puck-grid--membership-committee .puck-text a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 32px;
  border: 1px solid hsl(0 0% 90%);
  border-radius: 6px;
  background: var(--membership-accent);
  color: hsl(0 0% 100%) !important;
  font: 500 14px/20px "NAOBI Membership Inter",sans-serif;
  text-decoration: none;
  white-space: nowrap;
}
.puck-grid--membership-member .puck-text a { min-height: 36px; padding: 8px 16px; }
.puck-grid--membership-bylaws .puck-text a::after,
.puck-grid--membership-committee .puck-text a::after { content: ""; width: 16px; height: 16px; margin-left: 8px; background: currentColor; mask: var(--membership-external) center / contain no-repeat; }
.puck-grid--membership-bylaws .puck-text a:focus-visible,
.puck-grid--membership-member .puck-text a:focus-visible,
.puck-grid--membership-committee .puck-text a:focus-visible { outline: none; box-shadow: 0 0 0 1px var(--membership-gold); }
.puck-grid--membership-bylaws .puck-grid--membership-container::before,
.puck-grid--membership-committee .puck-grid--membership-container::before { content: ""; display: block; width: 48px; height: 48px; margin: 0 auto 24px; background: var(--membership-gold); mask: var(--membership-icon) center / contain no-repeat; }
.puck-grid--membership-bylaws { --membership-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E"); }
.puck-grid--membership-committee { --membership-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5M4 13.5V6a2 2 0 0 1 2-2h2M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z'/%3E%3C/svg%3E"); }
@media (max-width: 640px) {
  .puck-grid--membership-products .recur-product-card-image { width: 50px !important; height: 50px !important; flex-basis: 50px !important; }
  .puck-grid--membership-products .recur-product-card-title { font-size: 13.6px !important; line-height: 20.4px !important; }
}
@media (max-width: 480px) {
  .puck-grid.puck-grid--membership-products { padding: 85px 0; }
  .puck-grid--membership-products .recur-product-card { padding: 8px !important; gap: 8px !important; }
  .puck-grid--membership-products .recur-product-card-body { column-gap: 8px !important; }
  .puck-grid--membership-products .recur-product-card-image { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }
}
@media (min-width: 640px) { .puck-grid.puck-grid--membership-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--membership-container { max-width: 768px; }
  .puck-grid--membership-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--membership-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--membership-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--membership-container { max-width: 1536px; } }

/* Scholarships-only fidelity layer. The nine previously accepted layers are untouched. */
@font-face {
  font-family: "NAOBI Scholarships Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Scholarships Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Scholarships Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--scholarships-"] {
  --scholarships-gold: hsl(45 100% 50%);
  --scholarships-dark: hsl(0 0% 10%);
  --scholarships-background: hsl(40 20% 98%);
  --scholarships-muted: hsl(0 0% 40%);
  --scholarships-surface: hsl(40 10% 94%);
  --scholarships-accent: hsl(233 92% 30%);
  --scholarships-border: hsl(0 0% 90%);
  --scholarships-card: hsl(0 0% 100%);
  --scholarships-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);
  --scholarships-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
  --scholarships-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1);
  --scholarships-graduation: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.83l8.57 3.91a2 2 0 0 0 1.66 0zM22 10v6M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E");
  --scholarships-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3C/svg%3E");
  --scholarships-help: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3M12 17h.01'/%3E%3C/svg%3E");
  --scholarships-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px "NAOBI Scholarships Inter",sans-serif; letter-spacing: normal; color: var(--scholarships-dark);
}
.puck-grid[class*="puck-grid--scholarships-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--scholarships-"] :where(*) { box-sizing: border-box; border: 0 solid var(--scholarships-border); }
.puck-grid[class*="puck-grid--scholarships-"] .puck-text { margin: 0 !important; padding: 0 !important; font: 400 16px/1.6 "NAOBI Scholarships Inter",sans-serif; color: inherit; text-align: inherit; letter-spacing: normal; }
.puck-grid[class*="puck-grid--scholarships-"] :where(.puck-text :is(p,ul,li)) { margin: 0; padding: 0; color: inherit; }
.puck-grid[class*="puck-grid--scholarships-"] :where(.puck-text :is(h1,h2,h3)) { margin: 0; padding: 0; font-family: "NAOBI Scholarships Playfair",serif; font-weight: 700; letter-spacing: -.025em; color: inherit; }
.puck-grid.puck-grid--scholarships-banner,
.puck-grid.puck-grid--scholarships-intro,
.puck-grid.puck-grid--scholarships-gallery,
.puck-grid.puck-grid--scholarships-dates,
.puck-grid.puck-grid--scholarships-about,
.puck-grid.puck-grid--scholarships-separator,
.puck-grid.puck-grid--scholarships-faq,
.puck-grid.puck-grid--scholarships-childress,
.puck-grid.puck-grid--scholarships-questions { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--scholarships-banner { margin-top: -2rem !important; padding: 80px 0; background: var(--scholarships-dark); color: var(--scholarships-gold); text-align: center; }
.puck-grid.puck-grid--scholarships-questions { margin-bottom: -2rem !important; padding: 64px 0; background: var(--scholarships-dark); color: var(--scholarships-gold); text-align: center; }
.puck-grid.puck-grid--scholarships-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid--scholarships-banner .puck-text h1 { margin-bottom: 24px; font-size: 36px; line-height: 40px; color: var(--scholarships-gold); }
.puck-grid--scholarships-banner .puck-text p { max-width: 768px; margin: 0 auto; font-size: 20px; line-height: 32px; color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--scholarships-intro,
.puck-grid.puck-grid--scholarships-about,
.puck-grid.puck-grid--scholarships-childress { padding: 80px 0; background: var(--scholarships-background); }
.puck-grid--scholarships-intro > .puck-grid-column > .puck-grid--scholarships-container,
.puck-grid--scholarships-gallery > .puck-grid-column > .puck-grid--scholarships-container { max-width: 1024px; }
.puck-grid--scholarships-dates > .puck-grid-column > .puck-grid--scholarships-container,
.puck-grid--scholarships-about > .puck-grid-column > .puck-grid--scholarships-container,
.puck-grid--scholarships-faq > .puck-grid-column > .puck-grid--scholarships-container,
.puck-grid--scholarships-childress > .puck-grid-column > .puck-grid--scholarships-container { max-width: 896px; }
.puck-grid.puck-grid--scholarships-intro-grid { gap: 48px !important; }
.puck-grid.puck-grid--scholarships-story { padding: 32px; }
.puck-grid.puck-grid--scholarships-requirements { padding: 32px; background: linear-gradient(hsl(0 0% 10% / .1),hsl(0 0% 10% / .1)),var(--scholarships-background); border-radius: 16px; align-self: start; }
.puck-grid--scholarships-story .puck-text h2 { font-size: 30px; line-height: 36px; margin-bottom: 24px; }
.puck-grid--scholarships-story .puck-text p { font-size: 18px; line-height: 1.6; color: var(--scholarships-muted); margin-bottom: 24px; }
.puck-grid--scholarships-story .puck-text p:has(a) { display: flex; padding-top: 16px; margin-bottom: 0; }
.puck-grid--scholarships-requirements .puck-text h3 { font-size: 24px; line-height: 32px; margin-bottom: 24px; }
.puck-grid--scholarships-requirements .puck-text ul { list-style: none; }
.puck-grid--scholarships-requirements .puck-text li { position: relative; list-style: none; padding-left: 36px; font-size: 16px; line-height: 25.6px; min-height: 26px; }
.puck-grid--scholarships-requirements .puck-text li + li { margin-top: 16px; }
.puck-grid--scholarships-requirements .puck-text li::before { content: ""; position: absolute; left: 0; top: 2px; width: 24px; height: 24px; background: var(--scholarships-gold); mask: var(--scholarships-graduation) center / contain no-repeat; }
.puck-grid--scholarships-story .puck-text a,
.puck-grid--scholarships-childress .puck-text a,
.puck-grid--scholarships-questions .puck-text a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 32px; border: 1px solid var(--scholarships-border); border-radius: 6px; background: var(--scholarships-accent); color: var(--scholarships-card) !important; font: 500 14px/20px "NAOBI Scholarships Inter",sans-serif; text-decoration: none; white-space: nowrap; }
.puck-grid--scholarships-story .puck-text a { background: var(--scholarships-dark); color: var(--scholarships-gold) !important; }
.puck-grid--scholarships-story .puck-text a:focus-visible,
.puck-grid--scholarships-childress .puck-text a:focus-visible,
.puck-grid--scholarships-questions .puck-text a:focus-visible { outline: none; box-shadow: 0 0 0 1px var(--scholarships-gold); }
.puck-grid--scholarships-childress .puck-text a::after { content: ""; flex: 0 0 16px; width: 16px; height: 16px; margin-left: 8px; background: currentColor; mask: var(--scholarships-external) center / contain no-repeat; }
.puck-grid.puck-grid--scholarships-gallery { padding: 64px 0; background: linear-gradient(hsl(0 0% 10% / .05),hsl(0 0% 10% / .05)),var(--scholarships-background); }
.puck-grid--scholarships-gallery .puck-text h3 { margin-bottom: 32px; font-size: 24px; line-height: 32px; text-align: center; }
.puck-grid.puck-grid--scholarships-photos { gap: 24px !important; }
.puck-grid--scholarships-photos .puck-image { padding: 0 !important; margin: 0 !important; height: 100%; display: flex; }
.puck-grid--scholarships-photos .puck-image-figure { margin: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; border-radius: 12px; background: var(--scholarships-card); box-shadow: var(--scholarships-shadow-lg); overflow: hidden; }
.puck-grid--scholarships-photos .puck-image-viewer-trigger { display: block; width: 100%; padding: 0; border: 0; border-radius: 0; background: none; cursor: pointer; flex-shrink: 0; font: inherit; color: inherit; }
.puck-grid--scholarships-photos .puck-image-img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover !important; border-radius: 0 !important; }
.puck-grid--scholarships-photos > .puck-grid-column:nth-child(2) .puck-image-img { object-position: top; }
.puck-grid--scholarships-photos .puck-image-caption { padding: 12px 16px; margin: 0; text-align: center; font: italic 400 14px/1.6 "NAOBI Scholarships Inter",sans-serif; color: var(--scholarships-muted); }
.puck-grid--scholarships-photos .puck-image-viewer-trigger:focus-visible { outline: 2px solid var(--scholarships-gold); outline-offset: -2px; }
.puck-grid--scholarships-photos .puck-image-viewer-overlay { background: rgb(0 0 0 / .8); padding: 16px; }
.puck-grid--scholarships-photos .puck-image-viewer-img { max-height: 80vh; width: auto; height: auto; max-width: min(896px,100%); object-fit: contain; border-radius: 8px; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
.puck-grid--scholarships-photos .puck-image-viewer-overlay button { display: flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 6px; border: 0; border-radius: 9999px; background: #fff; color: #1f2937; font: normal 400 24px/1 "NAOBI Scholarships Inter",sans-serif; box-shadow: var(--scholarships-shadow-lg); cursor: pointer; }
.puck-grid--scholarships-photos .puck-image-viewer-overlay button:focus-visible { outline: 2px solid var(--scholarships-gold); outline-offset: 3px; }
.puck-grid.puck-grid--scholarships-dates { padding: 64px 0; background: var(--scholarships-surface); }
.puck-grid--scholarships-dates .puck-text h2,
.puck-grid--scholarships-about .puck-text h2,
.puck-grid--scholarships-faq .puck-text h2 { margin-bottom: 32px; font-size: 30px; line-height: 36px; text-align: center; }
.puck-grid--scholarships-dates .puck-text h2,
.puck-grid--scholarships-faq .puck-text h2 { display: flex; align-items: center; justify-content: center; gap: 12px; }
.puck-grid--scholarships-dates .puck-text h2::before,
.puck-grid--scholarships-faq .puck-text h2::before { content: ""; width: 32px; height: 32px; flex-shrink: 1; background: var(--scholarships-gold); mask: var(--scholarships-calendar) center / contain no-repeat; }
.puck-grid--scholarships-faq .puck-text h2::before { mask-image: var(--scholarships-help); }
.puck-grid.puck-grid--scholarships-date-grid { gap: 16px !important; }
.puck-grid--scholarships-date-grid .puck-card { box-sizing: border-box; width: 100%; height: 100%; margin: 0; padding: 24px 24px 20px !important; border: 0 !important; border-radius: 12px !important; background: var(--scholarships-card) !important; box-shadow: var(--scholarships-shadow-md) !important; text-align: center; }
.puck-grid--scholarships-date-grid .puck-card--scholarships-deadline { border: 2px solid var(--scholarships-gold) !important; box-shadow: var(--scholarships-shadow-lg) !important; }
.puck-grid--scholarships-date-grid .puck-card-title { margin: 0 0 8px !important; padding: 0; font: 700 18px/28.8px "NAOBI Scholarships Inter",sans-serif !important; letter-spacing: normal; color: var(--scholarships-gold) !important; }
.puck-grid--scholarships-date-grid .puck-card-description { margin: 0 !important; padding: 0; font: 400 14px/1.6 "NAOBI Scholarships Inter",sans-serif !important; color: var(--scholarships-muted) !important; }
.puck-grid--scholarships-date-grid .puck-card--scholarships-deadline .puck-card-description { font-weight: 500 !important; }
.puck-grid.puck-grid--scholarships-video { margin-bottom: 32px; border-radius: 16px; background: hsl(0 0% 0%); overflow: hidden; box-shadow: var(--scholarships-shadow-lg); }
.puck-grid--scholarships-video > .puck-grid-column > div { margin: 0 !important; }
.puck-grid--scholarships-video iframe { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; border: 0 !important; border-radius: 0 !important; }
.puck-grid.puck-grid--scholarships-biography { padding: 32px; background: var(--scholarships-card); border-radius: 12px; box-shadow: var(--scholarships-shadow-lg); }
.puck-grid--scholarships-biography .puck-text p { font-size: 16px; line-height: 25.6px; color: var(--scholarships-muted); }
.puck-grid--scholarships-biography .puck-text p + p { margin-top: 16px; }
.puck-grid--scholarships-biography .puck-text p:first-child { color: var(--scholarships-dark); font-style: italic; font-weight: 500; }
.puck-grid.puck-grid--scholarships-separator { height: 1px; min-height: 1px; background: var(--scholarships-border); }
.puck-grid.puck-grid--scholarships-faq { padding: 64px 0; background: linear-gradient(hsl(40 10% 94% / .3),hsl(40 10% 94% / .3)),var(--scholarships-background); }
.puck-grid.puck-grid--scholarships-faq-panel { border: 1px solid var(--scholarships-border); border-radius: 8px; overflow: hidden; }
.puck-grid.puck-grid--scholarships-faq-panel + .puck-grid--scholarships-faq-panel { margin-top: 12px; }
.puck-grid--scholarships-faq-panel .puck-text h3 { padding: 16px 24px; font: 600 16px/24px "NAOBI Scholarships Playfair",serif; letter-spacing: -.025em; }
.puck-grid--scholarships-faq-panel .puck-text p { padding: 16px 24px; border-top: 1px solid var(--scholarships-border); color: var(--scholarships-muted); font-size: 16px; line-height: 25.6px; }
.puck-grid--scholarships-childress .puck-text h2 { margin-bottom: 24px; font-size: 30px; line-height: 36px; text-align: center; }
.puck-grid--scholarships-childress .puck-text p { max-width: 768px; margin: 0 auto 24px; font-size: 18px; line-height: 28.8px; text-align: center; color: var(--scholarships-muted); }
.puck-grid--scholarships-childress .puck-text p:has(a) { display: flex; justify-content: safe center; max-width: none; margin-bottom: 0; }
.puck-grid--scholarships-questions .puck-text h2 { margin-bottom: 16px; font-size: 30px; line-height: 36px; color: var(--scholarships-gold); }
.puck-grid--scholarships-questions .puck-text p { margin-bottom: 24px; font-size: 18px; line-height: 28.8px; color: hsl(45 100% 50% / .8); }
.puck-grid--scholarships-questions .puck-text p:has(a) { display: flex; justify-content: center; margin-bottom: 0; }
@media (min-width: 640px) { .puck-grid.puck-grid--scholarships-date-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; } }
@media (hover: hover) {
  .puck-grid--scholarships-story .puck-text a:hover { background: hsl(0 0% 10% / .9); }
  .puck-grid--scholarships-childress .puck-text a:hover,
  .puck-grid--scholarships-questions .puck-text a:hover { background: hsl(233 92% 30% / .9); }
  .puck-grid--scholarships-photos .puck-image-figure:has(.puck-image-viewer-trigger:hover) { box-shadow: var(--scholarships-shadow-xl); }
}
@media (min-width: 768px) {
  .puck-grid--scholarships-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--scholarships-intro-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--scholarships-photos { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--scholarships-story,
  .puck-grid.puck-grid--scholarships-requirements,
  .puck-grid.puck-grid--scholarships-biography { padding: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--scholarships-date-grid { grid-template-columns: repeat(5,minmax(0,1fr)) !important; } }
@media (min-width: 1280px) {
  .puck-grid--scholarships-banner > .puck-grid-column > .puck-grid--scholarships-container,
  .puck-grid--scholarships-questions > .puck-grid-column > .puck-grid--scholarships-container { max-width: 1280px; }
}
@media (min-width: 1536px) {
  .puck-grid--scholarships-banner > .puck-grid-column > .puck-grid--scholarships-container,
  .puck-grid--scholarships-questions > .puck-grid-column > .puck-grid--scholarships-container { max-width: 1536px; }
}

/* Contact-only native conversion. All ten previously accepted CSS layers remain untouched. */
@font-face {
  font-family: "NAOBI Contact Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Contact Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--contact-"] {
  --contact-gold: hsl(45 100% 50%);
  --contact-dark: hsl(0 0% 10%);
  --contact-background: hsl(40 20% 98%);
  --contact-muted: hsl(0 0% 40%);
  --contact-surface: hsl(40 10% 94%);
  --contact-accent: hsl(233 92% 30%);
  --contact-border: hsl(0 0% 90%);
  --contact-card: hsl(0 0% 100%);
  --contact-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
  --contact-sans: "NAOBI Contact Inter",sans-serif;
  --contact-heading: "NAOBI Contact Playfair",serif;
  --contact-widget-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --contact-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.991 5.727a1.94 1.94 0 0 1-2.009 0L2 7'/%3E%3C/svg%3E");
  --contact-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --contact-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--contact-sans); letter-spacing: normal; color: var(--contact-dark);
}
.puck-grid[class*="puck-grid--contact-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--contact-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--contact-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/25.6px var(--contact-sans);
  color: inherit; text-align: inherit; letter-spacing: normal;
}
.puck-grid[class*="puck-grid--contact-"] :where(.puck-text :is(p,ul,li)) { margin: 0; padding: 0; color: inherit; }
.puck-grid[class*="puck-grid--contact-"] :where(.puck-text :is(h1,h2,h3)) {
  margin: 0; padding: 0; font-family: var(--contact-heading); font-weight: 700; letter-spacing: -.025em; color: var(--contact-dark);
}
.puck-grid.puck-grid--contact-banner,
.puck-grid.puck-grid--contact-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--contact-banner {
  margin-top: -2rem !important; padding: 80px 0;
  background: linear-gradient(hsl(45 100% 50% / .05),hsl(45 100% 50% / .05)),var(--contact-background);
  text-align: center;
}
.puck-grid.puck-grid--contact-main { margin-bottom: -2rem !important; padding: 80px 0; background: var(--contact-background); }
.puck-grid.puck-grid--contact-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--contact-banner .puck-text h1 { font-size: 36px; line-height: 40px; margin-bottom: 24px; }
.puck-grid.puck-grid--contact-banner .puck-text p { max-width: 672px; margin: 0 auto; color: var(--contact-muted); font-size: 20px; line-height: 32px; }
.puck-grid.puck-grid--contact-columns { align-items: start; gap: 48px !important; }
.puck-grid.puck-grid--contact-information { gap: 32px !important; }
.puck-grid--contact-information > .puck-grid-column { display: grid; grid-template-columns: minmax(0,1fr); gap: 32px; }
.puck-grid.puck-grid--contact-details .puck-text h2 { margin-bottom: 24px; font-size: 24px; line-height: 32px; }
.puck-grid.puck-grid--contact-email,
.puck-grid.puck-grid--contact-address { position: relative; padding-left: 64px; }
.puck-grid.puck-grid--contact-address { margin-top: 24px; }
.puck-grid--contact-email::before,
.puck-grid--contact-address::before { content: ""; position: absolute; top: 0; left: 0; width: 48px; height: 48px; border-radius: 9999px; background: hsl(45 100% 50% / .1); }
.puck-grid--contact-email::after,
.puck-grid--contact-address::after { content: ""; position: absolute; top: 12px; left: 12px; width: 24px; height: 24px; background: var(--contact-gold); mask: var(--contact-mail) center / contain no-repeat; }
.puck-grid--contact-address::after { mask-image: var(--contact-pin); }
.puck-grid.puck-grid--contact-email .puck-text h3,
.puck-grid.puck-grid--contact-address .puck-text h3 { margin-bottom: 4px; font-size: 16px; line-height: 24px; }
.puck-grid.puck-grid--contact-email .puck-text p,
.puck-grid.puck-grid--contact-address .puck-text p { color: var(--contact-muted); }
.puck-grid.puck-grid--contact-committees { padding: 32px; border-radius: 12px; background: var(--contact-surface); }
.puck-grid--contact-committees .puck-text { display: grid; grid-template-columns: minmax(0,1fr); column-gap: 32px; }
.puck-grid.puck-grid--contact-committees .puck-text h3 { grid-column: 1 / -1; margin-bottom: 16px; font-size: 20px; line-height: 28px; }
.puck-grid.puck-grid--contact-committees .puck-text p { grid-column: 1 / -1; margin-bottom: 16px; color: var(--contact-muted); }
.puck-grid.puck-grid--contact-committees .puck-text ul { list-style: none; min-width: 0; color: var(--contact-muted); }
.puck-grid.puck-grid--contact-committees .puck-text ul + ul { margin-top: 8px; }
.puck-grid.puck-grid--contact-committees .puck-text li { list-style: none; color: var(--contact-muted); }
.puck-grid.puck-grid--contact-committees .puck-text li + li { margin-top: 8px; }
.puck-grid--contact-committees .puck-text a { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--contact-accent); text-decoration: underline; }
.puck-grid--contact-committees .puck-text a::after { content: ""; width: 14px; height: 14px; flex: 0 0 14px; background: currentColor; mask: var(--contact-external) center / contain no-repeat; }
.puck-grid--contact-committees .puck-text a:hover { color: hsl(233 92% 30% / .8); }
.puck-grid--contact-committees .puck-text a:focus-visible { outline: 2px solid var(--contact-gold); outline-offset: 3px; }
.puck-grid.puck-grid--contact-newsletter { padding: 32px; border: 1px solid var(--contact-border); border-radius: 12px; }
.puck-grid--contact-newsletter > .puck-grid-column > .puck-text h3 { margin-bottom: 12px; font-size: 20px; line-height: 28px; }
.puck-grid--contact-newsletter > .puck-grid-column > .puck-text p { margin-bottom: 16px; color: var(--contact-muted); }

/* Scope every native runtime override to this page. Inline widget styles require
   explicit important declarations; no title, field, consent or challenge hidden. */
.puck-grid--contact-main .puck-contact-widget {
  --color-primary: var(--contact-gold); --color-text: var(--contact-dark);
  --color-textSecondary: var(--contact-muted); --color-surface: var(--contact-card); --color-border: var(--contact-border);
  width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--contact-sans); color: var(--contact-dark);
}
.puck-grid--contact-general .puck-contact-widget > div {
  padding: 32px !important; border: 1px solid var(--contact-border) !important; border-radius: 12px !important;
  background: var(--contact-card) !important; box-shadow: var(--contact-shadow);
}
.puck-grid--contact-general .puck-contact-widget > div > h3 {
  margin: 0 0 24px !important; text-align: left !important;
  font: 700 24px/32px var(--contact-heading) !important; letter-spacing: -.025em; color: var(--contact-dark) !important;
}
.puck-grid--contact-general .puck-contact-widget > div > p { margin: 0 0 24px !important; text-align: left !important; font: 400 16px/25.6px var(--contact-sans); color: var(--contact-muted) !important; }
.puck-grid--contact-general .puck-contact-widget form { gap: 24px !important; }
.puck-grid--contact-general .puck-contact-widget form > div[style*="display:grid"] { grid-template-columns: minmax(0,1fr) !important; gap: 16px !important; }
.puck-grid--contact-general .puck-contact-widget form > div[style*="display:grid"]:has([data-cf="email"]) { gap: 24px !important; }
.puck-grid--contact-general .puck-contact-widget label:not(:has([type="checkbox"])) {
  display: block !important; margin-bottom: 4px !important; font: 500 14px/20px var(--contact-sans) !important;
}
.puck-grid--contact-general .puck-contact-widget :is(input:not([type="checkbox"]),textarea) {
  display: block; width: 100% !important; min-width: 0; height: 36px; padding: 4px 12px !important;
  border: 1px solid var(--contact-border) !important; border-radius: 6px !important;
  background: transparent !important; color: var(--contact-dark) !important;
  font: 400 16px/24px var(--contact-sans) !important; box-shadow: var(--contact-shadow);
}
.puck-grid--contact-general .puck-contact-widget textarea { height: 150px; min-height: 150px; padding: 8px 12px !important; resize: vertical; }
.puck-grid--contact-general .puck-contact-widget :is(input,textarea):focus-visible {
  outline: none !important; box-shadow: 0 0 0 1px var(--contact-gold),var(--contact-shadow) !important;
}
.puck-grid--contact-general .puck-contact-widget label:has([type="checkbox"]) {
  font: 400 14px/21px var(--contact-sans) !important; color: var(--contact-dark);
}
.puck-grid--contact-general .puck-contact-widget [data-cf="submit"] {
  min-height: 38px; padding: 8px 16px !important; border: 1px solid hsl(45 100% 43%) !important;
  border-radius: 6px !important; background: var(--contact-gold) !important; color: var(--contact-dark) !important;
  font: 500 14px/20px var(--contact-sans) !important;
}
.puck-grid--contact-general .puck-contact-widget [data-cf="submit"]:hover { background: hsl(45 100% 50% / .9) !important; }
.puck-grid--contact-main .puck-contact-widget :is(button,input[type="checkbox"]):focus-visible { outline: 1px solid var(--contact-gold); outline-offset: 2px; }
.puck-grid--contact-main .puck-contact-widget input[type="checkbox"] { margin: 3px 0 0 !important; flex-shrink: 0; }
.puck-grid--contact-general .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) > p {
  margin: 6px 0 0 !important; font: 400 12px/18px var(--contact-sans) !important; color: var(--contact-muted) !important;
}

/* The original newsletter is a distinct embedded widget with its own system
   typography, blue button, 28px interior, and 44.8px fields. Preserve that look,
   while keeping all native security and consent content in native DOM order. */
.puck-grid--contact-newsletter .puck-contact-widget { margin-bottom: 10px !important; font: 400 16px/24px var(--contact-widget-font); }
.puck-grid--contact-newsletter .puck-contact-widget > div {
  padding: 28px !important; border: 0 !important; border-radius: 16px !important;
  background: var(--contact-card) !important; box-shadow: 0 4px 16px rgb(0 0 0 / .08);
}
.puck-grid--contact-newsletter .puck-contact-widget > div > h3 {
  margin: 0 0 8px !important; text-align: left !important; color: rgb(0, 0, 0) !important;
  font: 700 21.6px/32.4px var(--contact-heading) !important; letter-spacing: -.025em;
}
.puck-grid--contact-newsletter .puck-contact-widget > div > p {
  margin: 0 0 20px !important; text-align: left !important; color: rgb(100, 116, 139) !important; font: 400 16px/25.6px var(--contact-widget-font);
}
.puck-grid--contact-newsletter .puck-contact-widget form { gap: 14px !important; }
.puck-grid--contact-newsletter .puck-contact-widget form > div[style*="display:grid"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
.puck-grid--contact-newsletter .puck-contact-widget label:not(:has([type="checkbox"])) { font: 500 14px/21px var(--contact-widget-font) !important; margin-bottom: 6px !important; }
.puck-grid--contact-newsletter .puck-contact-widget label:has(+ input[required]) { line-height: 22.4px !important; }
.puck-grid--contact-newsletter .puck-contact-widget input:not([type="checkbox"]) {
  width: 100% !important; min-width: 0; height: 44.8px; padding: 10px 12px !important;
  border: 1px solid rgb(209 213 219) !important; border-radius: 6px !important;
  color: var(--contact-dark) !important; background: transparent !important; font: 400 15.2px/22.8px var(--contact-widget-font) !important;
}
.puck-grid--contact-newsletter .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) {
  padding: 12px; border: 1px solid rgb(226 232 240); border-radius: 8px; background: rgb(248 250 252);
}
.puck-grid--contact-newsletter .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) > p {
  margin: 6px 0 0 !important; font: 400 12px/18px var(--contact-widget-font) !important; color: var(--contact-muted) !important;
}
.puck-grid--contact-newsletter .puck-contact-widget label:has([type="checkbox"]) {
  padding: 12px !important; gap: 10px !important; border: 1px solid rgb(226 232 240) !important;
  border-radius: 8px !important; background: rgb(248 250 252); font: 400 14px/21px var(--contact-widget-font) !important;
}
.puck-grid--contact-newsletter .puck-contact-widget [data-cf="submit"] {
  min-height: 52px; padding: 14px !important; border: 0 !important; border-radius: 8px !important;
  background: rgb(59 130 246) !important; color: var(--contact-card) !important; font: 600 16px/24px var(--contact-widget-font) !important;
}
.puck-grid--contact-newsletter .puck-contact-widget input:not([type="checkbox"]):focus-visible { outline: 2px solid var(--contact-gold); outline-offset: 2px; }
.puck-grid--contact-newsletter .puck-contact-widget [data-cf="submit"]:hover { background: rgb(37 99 235) !important; }
@media (min-width: 640px) {
  .puck-grid.puck-grid--contact-container { max-width: 640px; }
  .puck-grid--contact-committees .puck-text { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .puck-grid.puck-grid--contact-committees .puck-text ul + ul { margin-top: 0; }
  .puck-grid--contact-general .puck-contact-widget form > div[style*="display:grid"]:has([data-cf="firstName"]) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--contact-container { max-width: 768px; }
  .puck-grid.puck-grid--contact-columns { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--contact-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid--contact-general .puck-contact-widget :is(input:not([type="checkbox"]),textarea) { font-size: 14px !important; line-height: 20px !important; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--contact-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--contact-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--contact-container { max-width: 1536px; } }

/* CMP-only twelfth layer. The eleven accepted layers remain unchanged.
   Reference: actual React /cmp evidence, not a proposed redesign. */
@font-face {
  font-family: "NAOBI CMP Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI CMP Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--cmp-"] {
  --cmp-gold: hsl(45 100% 50%); --cmp-dark: hsl(0 0% 10%);
  --cmp-background: hsl(40 20% 98%); --cmp-muted: hsl(0 0% 40%);
  --cmp-surface: hsl(40 10% 94%); --cmp-border: hsl(0 0% 90%);
  --cmp-sans: "NAOBI CMP Inter",sans-serif; --cmp-heading: "NAOBI CMP Playfair",serif;
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--cmp-sans); color: var(--cmp-dark); letter-spacing: normal;
}
.puck-grid[class*="puck-grid--cmp-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--cmp-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--cmp-"] :where(.puck-text) {
  margin: 0 !important; padding: 0 !important; text-align: inherit;
  font: 400 16px/25.6px var(--cmp-sans); color: inherit; letter-spacing: normal;
}
.puck-grid[class*="puck-grid--cmp-"] :where(.puck-text :is(p,ul,ol,li)) { margin: 0; padding: 0; color: inherit; }
.puck-grid[class*="puck-grid--cmp-"] :where(.puck-text h1,.puck-text h2,.puck-text h3,.puck-card-title,.puck-cta-title) {
  margin: 0; padding: 0; font-family: var(--cmp-heading) !important;
  font-weight: 700; letter-spacing: -.025em; color: var(--cmp-dark);
}
.puck-grid.puck-grid--cmp-banner,.puck-grid.puck-grid--cmp-main {
  width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important;
}
.puck-grid.puck-grid--cmp-banner {
  margin-top: -2rem !important; padding: 64px 0; background: var(--cmp-dark); color: var(--cmp-gold);
}
.puck-grid.puck-grid--cmp-main {
  margin-bottom: -2rem !important; padding: 48px 0; background: var(--cmp-background);
}
.puck-grid.puck-grid--cmp-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid--cmp-banner .puck-text h1 { color: var(--cmp-gold); font-size: 36px; line-height: 40px; }
.puck-grid.puck-grid--cmp-breadcrumb { margin-bottom: 16px; }
.puck-grid--cmp-breadcrumb .puck-text { color: hsl(45 100% 50% / .6); font-size: 14px; line-height: 20px; }
.puck-grid--cmp-breadcrumb .puck-text p { display: flex; align-items: center; gap: 8px; }
.puck-grid--cmp-breadcrumb a { color: inherit; text-decoration: none; }
.puck-grid--cmp-breadcrumb a + a { display: inline-flex; align-items: center; }
.puck-grid--cmp-breadcrumb a + a::before {
  content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 8px; background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid:is(.puck-grid--cmp-shell,.puck-grid--cmp-overview-shell) { gap: 40px !important; align-items: stretch; }
.puck-grid.puck-grid--cmp-sidebar {
  position: sticky; top: 112px; padding: 16px; border-radius: 12px; background: hsl(40 10% 94% / .5);
}
.puck-grid--cmp-sidebar .puck-text h3 { padding: 0 12px; margin-bottom: 12px; font-size: 18px; line-height: 28px; }
.puck-grid--cmp-sidebar .puck-navigation {
  display: block !important; margin: 0 !important; padding: 0 !important; background: transparent !important;
  border: 0; border-radius: 0; text-align: left !important; color: var(--cmp-muted);
}
.puck-grid--cmp-sidebar .puck-navigation ul {
  display: flex !important; flex-direction: column; width: 100%; gap: 4px !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.puck-grid--cmp-sidebar .puck-navigation li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.puck-grid--cmp-sidebar .puck-navigation a {
  display: block !important; position: relative; width: 100%; padding: 8px 12px !important;
  border-radius: 8px; background: transparent !important; color: var(--cmp-muted) !important;
  font: 500 14px/20px var(--cmp-sans) !important; text-decoration: none; transition: color .15s,background-color .15s;
}
.puck-grid--cmp-overview-shell .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp"] { background: var(--cmp-gold) !important; color: var(--cmp-dark) !important; }
.puck-grid--cmp-sidebar a:focus-visible,.puck-grid--cmp-categories a:focus-visible,.puck-grid--cmp-breadcrumb a:focus-visible {
  outline: auto 1px; outline-offset: 1px;
}
.puck-grid--cmp-sidebar .puck-navigation a:focus-visible { outline: none; }
.puck-grid--cmp-sidebar .puck-navigation a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-content > .puck-grid-column { display: flex; flex-direction: column; gap: 48px; }
.puck-grid.puck-grid--cmp-about { gap: 32px !important; }
.puck-grid.puck-grid--cmp-about-copy .puck-text p { font-size: 18px; line-height: 28.8px; color: var(--cmp-muted); }
.puck-grid--cmp-about-copy .puck-text p + p { margin-top: 16px; }
.puck-grid--cmp-main .puck-text h2 { font-size: 24px; line-height: 32px; }
.puck-grid--cmp-main .puck-flex[data-puck-flex-container$="-heading"] {
  gap: 12px !important; padding: 0 !important; margin: 0 0 24px; flex-wrap: nowrap !important;
  min-height: 0 !important; height: auto;
}
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-about-heading"] { margin-bottom: 16px; }
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-submit-heading"] { margin-bottom: 32px; }
.puck-grid--cmp-main .puck-flex[data-puck-flex-container$="-heading"] > .puck-flex-item { flex: 0 1 auto; min-width: 0; }
/* Source-derived decorative styling on genuine Text heading rows. These are
   not editorial content, fake Text SVG or empty decorative native Cards.
   Paths match the installed source Lucide components (ISC licensed). */
.puck-grid--cmp-main .puck-flex[data-puck-flex-container$="-heading"]::before {
  content: ""; display: block; flex: 0 0 28px; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: var(--cmp-heading-icon) center / contain no-repeat;
}
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-about-heading"] {
  --cmp-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526'/%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3C/svg%3E");
}
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-about-heading"]::before { flex-basis: 32px; width: 32px; height: 32px; }
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-submit-heading"] {
  --cmp-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
.puck-grid--cmp-main .puck-flex[data-puck-flex-container="cmp-faq-heading"] {
  --cmp-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3M12 17h.01'/%3E%3C/svg%3E");
}
.puck-grid--cmp-main .puck-card.puck-card--cmp-benefits {
  height: 100%; display: flex; flex-direction: column; justify-content: center;
  text-align: left !important;
  padding: 32px !important; margin: 0 !important; border: 0; border-radius: 16px;
  background: hsl(45 100% 50% / .05) !important; box-shadow: none !important;
}
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-title { font-size: 20px; line-height: 28px; margin-bottom: 16px; }
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-description:empty { display: none; }
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-checklist {
  margin: 0 !important; padding: 0 !important; gap: 12px !important; list-style: none;
}
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-checklist li { gap: 12px !important; margin: 0; padding: 0; }
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-checklist li > span:first-child {
  width: 20px; height: 20px; margin-top: 2px; font-size: 0 !important; line-height: 20px !important;
  color: transparent !important; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-main .puck-card--cmp-benefits .puck-card-checklist li > span:last-child {
  font: 400 16px/25.6px var(--cmp-sans) !important; color: var(--cmp-muted) !important;
}
.puck-grid.puck-grid--cmp-categories-section,.puck-grid.puck-grid--cmp-submit-section,.puck-grid.puck-grid--cmp-faq-section {
  border-top: 1px solid var(--cmp-border); padding-top: 48px;
}
.puck-grid--cmp-categories-section > .puck-grid-column > .puck-text h2 { margin-bottom: 24px; }
.puck-grid--cmp-categories > .puck-grid-column,.puck-grid--cmp-steps > .puck-grid-column {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: start;
}
.puck-grid--cmp-steps > .puck-grid-column { gap: 24px; align-items: stretch; }
.puck-grid--cmp-main .puck-card:is(.puck-card--cmp-category,.puck-card--cmp-step) {
  display: block; margin: 0 !important; padding: 20px !important; border: 1px solid var(--cmp-border);
  border-radius: 12px; background: hsl(0 0% 100%) !important; text-decoration: none; color: var(--cmp-dark);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1) !important;
}
.puck-grid--cmp-main a.puck-card--cmp-category { transition: border-color .15s; }
.puck-grid--cmp-main a.puck-card--cmp-category { text-align: left !important; }
/* A semantic native Grid cell stretches with its source row. The actual Card
   remains naturally shorter; its own empty pseudo-element supplies the same
   full-row hit area/focus box as the source, with only one genuine anchor. */
.puck-grid.puck-grid--cmp-category-cell { position: relative; align-self: stretch; }
.puck-grid--cmp-category-cell > .puck-grid-column { position: static; }
.puck-grid--cmp-category-cell a.puck-card--cmp-category { position: static !important; overflow: visible; }
.puck-grid--cmp-category-cell a.puck-card--cmp-category::after {
  content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 0;
}
.puck-grid--cmp-category-cell a.puck-card--cmp-category:focus-visible { outline: none; }
.puck-grid--cmp-category-cell a.puck-card--cmp-category:focus-visible::after {
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-main .puck-card--cmp-category .puck-card-title { font-size: 18px; line-height: 28px; margin: 0 0 4px; color: var(--cmp-gold) !important; }
.puck-grid--cmp-main :is(.puck-card--cmp-category,.puck-card--cmp-step) .puck-card-description {
  margin: 0; padding: 0; font: 400 14px/1.6 var(--cmp-sans); color: var(--cmp-muted);
}
.puck-grid--cmp-main .puck-card.puck-card--cmp-step { padding: 24px !important; text-align: center; }
.puck-grid--cmp-main .puck-card--cmp-step .puck-card-eyebrow {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  margin: 0 auto 12px; padding: 0; border-radius: 9999px; background: var(--cmp-gold);
  color: var(--cmp-dark); font: 700 16px/24px var(--cmp-sans); letter-spacing: normal; text-transform: none;
}
.puck-grid--cmp-main .puck-card--cmp-step .puck-card-title { margin: 0 0 8px; font-size: 18px; line-height: 28px; }
.puck-grid--cmp-faq-list > .puck-grid-column { display: flex; flex-direction: column; gap: 20px; }
.puck-grid.puck-grid--cmp-faq-item { border-left: 4px solid var(--cmp-gold); padding-left: 24px; }
.puck-grid--cmp-faq-item .puck-text h3 { font-size: 16px; line-height: 24px; margin-bottom: 4px; }
.puck-grid--cmp-faq-item .puck-text p { color: var(--cmp-muted); }
.puck-grid--cmp-main .puck-cta.puck-cta--cmp-questions {
  margin: 0; padding: 32px; border: 0; border-radius: 16px; background: var(--cmp-dark) !important; text-align: center;
}
.puck-grid--cmp-main .puck-cta--cmp-questions .puck-cta-title { font-size: 24px; line-height: 32px; color: var(--cmp-gold); margin: 0 0 12px; }
.puck-grid--cmp-main .puck-cta--cmp-questions .puck-cta-description {
  max-width: none; margin: 0 0 24px; padding: 0; color: hsl(45 100% 50% / .8); font: 400 16px/25.6px var(--cmp-sans);
}
.puck-grid--cmp-main .puck-cta--cmp-questions .puck-cta-buttons { display: flex; justify-content: center; gap: 0; margin: 0; padding: 0; }
.puck-grid--cmp-main .puck-cta--cmp-questions a.puck-cta-primary {
  display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 32px;
  margin: 0; border: 1px solid var(--cmp-border); border-radius: 6px; background: var(--cmp-gold);
  color: var(--cmp-dark); font: 500 14px/20px var(--cmp-sans); text-decoration: none; box-shadow: none;
}
.puck-grid--cmp-main .puck-cta--cmp-questions a.puck-cta-primary:focus-visible { outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold); }
/* Tailwind source hover variants are gated by this same capability query.
   The CDP browser can match :hover while reporting no hover-capable pointer. */
@media (hover: hover) {
  .puck-grid--cmp-breadcrumb a:hover { color: var(--cmp-gold); }
  .puck-grid--cmp-sidebar .puck-navigation a:hover { background: var(--cmp-surface) !important; color: var(--cmp-dark) !important; }
  .puck-grid--cmp-main a.puck-card--cmp-category:hover { border-color: hsl(45 100% 50% / .5); }
  .puck-grid--cmp-main .puck-cta--cmp-questions a.puck-cta-primary:hover { background: hsl(45 100% 50% / .9); }
}
@media (min-width: 640px) { .puck-grid.puck-grid--cmp-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--cmp-container { max-width: 768px; }
  .puck-grid--cmp-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--cmp-about { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid--cmp-categories > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .puck-grid--cmp-steps > .puck-grid-column { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--cmp-container { max-width: 1024px; }
  .puck-grid:is(.puck-grid--cmp-shell,.puck-grid--cmp-overview-shell) { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  :is(.puck-grid--cmp-shell,.puck-grid--cmp-overview-shell) > .puck-grid-column:nth-child(2) { grid-column: span 3; }
}
@media (min-width: 1280px) { .puck-grid.puck-grid--cmp-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--cmp-container { max-width: 1536px; } }

/* General Info only. Append after the immutable twelve accepted layers.
   Shared CMP shell/fonts are reused byte-for-byte, not redefined. */
.puck-grid--cmp-general-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-general"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
/* Keep the source CMP link's genuine focus/hit box around its label,
   not around the preceding decorative chevron. Visual positions unchanged. */
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a + a {
  position: relative; margin-left: 20px;
}
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-general-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-general-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-general-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-general-introduction .puck-text p,
.puck-grid--cmp-general-requirements > .puck-grid-column > .puck-text p {
  font-size: 18px; line-height: 1.6; color: var(--cmp-muted);
}
.puck-grid--cmp-general-introduction .puck-text p + p { margin-top: 16px; }
.puck-grid--cmp-general-requirements > .puck-grid-column > .puck-text p { margin-bottom: 16px; }
.puck-grid.puck-grid--cmp-general-notes {
  padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05);
}
.puck-grid--cmp-general-notes .puck-text h3,
.puck-grid--cmp-general-questions .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-general-notes .puck-text h3::before,
.puck-grid--cmp-general-questions .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: var(--cmp-general-icon) center / contain no-repeat;
}
.puck-grid--cmp-general-notes {
  --cmp-general-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E");
}
.puck-grid--cmp-general-notes .puck-text ul { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-general-notes .puck-text li {
  display: flex; align-items: flex-start; gap: 8px; list-style: none; margin: 0; padding: 0;
  color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid--cmp-general-notes .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-general-notes .puck-text li > span:first-child { margin-top: 4px; color: var(--cmp-gold); }
.puck-grid--cmp-general-activities > .puck-grid-column {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: stretch;
}
.puck-grid--cmp-general-content .puck-card.puck-card--cmp-general-activity {
  display: block; margin: 0 !important; padding: 20px !important; border: 1px solid var(--cmp-border);
  border-radius: 12px; background: hsl(0 0% 100%) !important; text-align: left !important;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1) !important;
}
.puck-grid--cmp-general-content .puck-card--cmp-general-activity .puck-card-title {
  display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 16px; line-height: 24px;
  color: var(--cmp-dark) !important;
}
.puck-grid--cmp-general-content .puck-card--cmp-general-activity .puck-card-title::before {
  content: ""; display: block; flex: 0 0 16px; width: 16px; height: 16px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-general-content .puck-card--cmp-general-activity .puck-card-description {
  margin: 0; padding: 0; font: 400 14px/1.6 var(--cmp-sans); color: var(--cmp-muted);
}
.puck-grid--cmp-general-instructions > .puck-grid-column { display: flex; flex-direction: column; gap: 16px; }
.puck-grid.puck-grid--cmp-general-step { grid-template-columns: 32px minmax(0,1fr) !important; gap: 16px !important; align-items: start; }
.puck-grid--cmp-general-step-number .puck-text p {
  display: flex; align-items: center; justify-content: center; width: 32px; height: 32px;
  margin: 0; padding: 0; border-radius: 9999px; background: var(--cmp-gold); color: var(--cmp-dark);
  font: 700 16px/24px var(--cmp-sans);
}
.puck-grid--cmp-general-step-copy .puck-text h3 { margin: 0; font-size: 16px; line-height: 24px; }
.puck-grid--cmp-general-step-copy .puck-text p,
.puck-grid--cmp-general-questions .puck-text p { font-size: 16px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid.puck-grid--cmp-general-questions { border-left: 4px solid var(--cmp-gold); padding-left: 24px; }
.puck-grid--cmp-general-questions .puck-text h3 { margin-bottom: 8px; }
.puck-grid--cmp-general-questions {
  --cmp-general-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
@media (min-width: 768px) {
  .puck-grid--cmp-general-activities > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Full genuine fees-page candidate. Append after the immutable13 layers.
   Source evidence predates authoring. Product/Table native selectors remain
   subject to actual-public runtime verification; no business copy is faked. */
@font-face {
  font-family: "NAOBI CMP Pay Inter Italic"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
.puck-grid--cmp-pay-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-pay"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a + a { margin-left: 20px; }
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-pay-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-pay-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-pay-introduction .puck-text h2 {
  position: relative; display: block; width: fit-content; max-width: calc(100% - 40px);
  margin: 0 0 16px 40px; font-size: 24px; line-height: 32px;
}
.puck-grid--cmp-pay-introduction .puck-text h2::before {
  content: ""; position: absolute; left: -40px; top: 50%; transform: translateY(-50%);
  display: block; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-pay-introduction .puck-text p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-pay-table-section > .puck-grid-column { overflow-x: auto; }
.puck-grid--cmp-pay-table-section :is(.puck-table,.puck-table-container,.puck-table-wrapper) {
  margin: 0 !important; padding: 0 !important; max-width: none; background: transparent !important;
}
.puck-grid--cmp-pay-table-section .puck-table-wrapper { overflow: visible !important; }
.puck-grid--cmp-pay-table-section table {
  width: 100% !important; margin: 0 !important; border-collapse: collapse !important; table-layout: auto !important;
  font: 400 16px/24px var(--cmp-sans); color: var(--cmp-dark); background: transparent !important; border: 0 !important;
}
.puck-grid--cmp-pay-table-section :is(thead,tbody,tr) { background: transparent !important; border: 0 !important; }
.puck-grid--cmp-pay-table-section :is(th,td) {
  padding: 12px 16px !important; border: 0 !important; vertical-align: middle;
  background: transparent !important; white-space: normal !important; font-size: 16px; line-height: 24px; letter-spacing: normal;
}
.puck-grid--cmp-pay-table-section thead tr { border-bottom: 2px solid var(--cmp-gold) !important; }
.puck-grid--cmp-pay-table-section th {
  font-family: var(--cmp-heading) !important; font-weight: 700 !important; color: var(--cmp-dark) !important; text-align: center !important;
}
.puck-grid--cmp-pay-table-section th:first-child { text-align: left !important; }
.puck-grid--cmp-pay-table-section tbody tr:nth-child(odd) { background: hsl(40 10% 94% / .3) !important; }
.puck-grid--cmp-pay-table-section td {
  font-family: var(--cmp-sans) !important; font-weight: 400 !important; color: var(--cmp-muted) !important; text-align: center !important;
}
.puck-grid--cmp-pay-table-section td:first-child { font-weight: 500 !important; color: var(--cmp-dark) !important; text-align: left !important; }
.puck-grid--cmp-pay-table-section td:nth-child(2) { font-weight: 600 !important; color: var(--cmp-gold) !important; }
.puck-grid--cmp-pay-table-note .puck-text p {
  margin-top: 12px; font-size: 14px; line-height: 1.6; font-family: "NAOBI CMP Pay Inter Italic", sans-serif; font-style: italic; color: var(--cmp-muted);
}
.puck-grid.puck-grid--cmp-pay-payment-information { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-pay-payment-information .puck-text h3 { margin: 0 0 12px; font-size: 18px; line-height: 28px; }
.puck-grid--cmp-pay-payment-information .puck-text ul { margin: 0; padding: 0; list-style: none; line-height: 24px; }
.puck-grid--cmp-pay-payment-information .puck-text li { margin: 0 0 8px; padding: 0; list-style: none; color: var(--cmp-muted); font-size: 16px; line-height: 1.6; }
.puck-grid--cmp-pay-payment-information .puck-text li:last-child { margin-bottom: 0; }
.puck-grid--cmp-pay-purchase-section > .puck-grid-column > .puck-text h3 { margin: 0 0 24px; font-size: 20px; line-height: 28px; }
.puck-grid--cmp-pay-products > .puck-grid-column { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; align-items: stretch; }
.puck-grid.puck-grid--cmp-pay-product-cell { padding: 10px 0; align-content: start; }
/* Existing native product-class anchors are used provisionally. Actual native
   output—not these selectors—will decide the runtime capability gate. */
.puck-grid--cmp-pay-products :is(.recur-single-product,.recur-product-single) {
  width: 100% !important; max-width: 400px !important; margin: 0 auto !important; padding: 0 !important;
  font-family: var(--cmp-sans) !important;
}
.puck-grid--cmp-pay-products :is(.recur-product-card,.recur-single-product-card,.recur-product-single-card) {
  display: block !important; width: 100%; height: auto !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 12px !important; overflow: hidden; background: hsl(0 0% 100%) !important;
  box-shadow: 0 2px 8px rgb(0 0 0 / .1) !important; transform: none !important;
}
.puck-grid--cmp-pay-products :is(.recur-product-card-image,.recur-single-product-image,.recur-product-image) {
  width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 16/9; border-radius: 0;
  margin: 0 !important; padding: 0 !important; overflow: hidden;
}
.puck-grid--cmp-pay-products img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16/9; object-fit: cover !important; border-radius: 0; }
.puck-grid--cmp-pay-products :is(.recur-product-card-body,.recur-single-product-content,.recur-single-product-body,.recur-product-content) {
  display: block !important; padding: 16px !important; margin: 0 !important; text-align: left !important;
}
.puck-grid--cmp-pay-products :is(h2,h3,.recur-product-card-title,.recur-single-product-title,.recur-product-title) {
  margin: 0 0 8px !important; padding: 0; color: hsl(0 0% 0%) !important;
  font: 700 20px/30px var(--cmp-sans) !important; letter-spacing: -.025em !important; text-align: left;
}
.puck-grid--cmp-pay-products :is(.recur-product-card-price,.recur-single-product-price,.recur-product-price) {
  margin: 0 0 4px !important; padding: 0; color: #3b82f6 !important;
  font: 600 14px/1.6 var(--cmp-sans) !important; letter-spacing: normal; text-align: left;
}
.puck-grid--cmp-pay-products :is(.recur-product-card-button,.recur-single-product-button,.recur-product-button) {
  display: inline-block !important; width: auto !important; min-height: 0; margin: 12px 0 0 !important; padding: 8px 16px !important;
  background: #3b82f6 !important; color: hsl(0 0% 100%) !important; border: 0 !important; border-radius: 6px !important;
  font: 500 14px/21px var(--cmp-sans) !important; letter-spacing: normal; text-decoration: none; box-shadow: none !important; transform: none !important;
}
.puck-grid--cmp-pay-products :is(.recur-product-card-button,.recur-single-product-button,.recur-product-button):hover { opacity: .9; }
.puck-grid--cmp-pay-products :is(.recur-product-card-button,.recur-single-product-button,.recur-product-button):focus-visible {
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
@media (min-width: 768px) {
  .puck-grid--cmp-pay-products > .puck-grid-column { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .puck-grid.puck-grid--cmp-pay-product-cell { padding: 5px 0; }
}

/* PINRA-only append layer. Shared CMP shell, fonts and accepted layers untouched.
   Source /cmp/pinra measured at all eight widths before this candidate existed. */
.puck-grid--cmp-pinra-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-pinra"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a + a { margin-left: 20px; }
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-pinra-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-pinra-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-pinra-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-pinra-introduction .puck-text p,
.puck-grid--cmp-pinra-ceu .puck-text p { font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-pinra-introduction .puck-text p + p { margin-top: 16px; }
.puck-grid--cmp-pinra-ceu .puck-text p { margin-bottom: 16px; }
.puck-grid--cmp-pinra-content .puck-text ul { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-pinra-content .puck-text li {
  list-style: none; margin: 0; padding: 0; color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid--cmp-pinra-eligibility .puck-text li,
.puck-grid--cmp-pinra-documentation .puck-text li {
  position: relative; padding-left: 32px;
}
.puck-grid--cmp-pinra-eligibility .puck-text li + li,
.puck-grid--cmp-pinra-documentation .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-pinra-eligibility .puck-text li::before,
.puck-grid--cmp-pinra-documentation .puck-text li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px;
  background: var(--cmp-gold); mask: var(--cmp-pinra-list-icon) center / contain no-repeat;
}
.puck-grid--cmp-pinra-eligibility {
  --cmp-pinra-list-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E");
}
.puck-grid--cmp-pinra-documentation {
  --cmp-pinra-list-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
.puck-grid.puck-grid--cmp-pinra-documentation-panel {
  padding: 24px; border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid--cmp-pinra-documentation .puck-text li { padding-left: 28px; }
.puck-grid--cmp-pinra-documentation .puck-text li::before { top: 4px; width: 16px; height: 16px; }
.puck-grid.puck-grid--cmp-pinra-tips { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-pinra-tips .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-pinra-tips .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-pinra-tips .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-pinra-action > .puck-grid-column { text-align: center; }
.puck-grid--cmp-pinra-action .puck-button-wrapper {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-pinra-action a.puck-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-height: 40px;
  margin: 0; padding: 0 32px; border: 1px solid var(--cmp-border); border-radius: 6px;
  background: var(--cmp-gold); color: var(--cmp-dark); font: 500 14px/20px var(--cmp-sans);
  letter-spacing: normal; text-decoration: none; white-space: nowrap; box-shadow: none;
}
.puck-grid--cmp-pinra-action a.puck-button:focus-visible {
  outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold);
}
@media (hover: hover) {
  .puck-grid--cmp-pinra-action a.puck-button:hover { background: hsl(45 100% 50% / .9); }
}
/* Actual-public correction batch, 2026-10-21.
   Source block margins collapse against space-y-10; native Grid contains them.
   The genuine native anchor also emits inline min-height:44px. */
.puck-grid--cmp-pinra-ceu .puck-text p { margin-bottom: 0; }
.puck-grid--cmp-pinra-action .puck-button-container {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-pinra-action a.puck-button {
  box-sizing: border-box; min-height: 40px !important; height: 40px;
}

/* Academic-only source recreation. Shared CMP shell and accepted layers unchanged.
   Source captured at all eight widths before page/CSS authoring. */
.puck-grid--cmp-academic-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-academic"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a + a { margin-left: 20px; }
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-academic-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-academic-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-academic-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-academic-introduction .puck-text h2 {
  display: flex; align-items: center; gap: 12px;
}
.puck-grid--cmp-academic-introduction .puck-text h2::before {
  content: ""; display: block; flex: 0 1 28px; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-academic-introduction .puck-text p,
.puck-grid--cmp-academic-ceu .puck-text p { font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-academic-introduction .puck-text p + p { margin-top: 16px; }
/* React's CEU mb-4 collapses against the following space-y-10. Native Grid
   contains that margin: zero here preserves the measured 40px visible gap. */
.puck-grid--cmp-academic-ceu .puck-text p { margin-bottom: 0; }
.puck-grid--cmp-academic-categories > .puck-grid-column {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: stretch;
}
.puck-grid--cmp-academic-content .puck-card.puck-card--cmp-academic-category {
  display: block; height: 100%; margin: 0 !important; padding: 20px !important;
  border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%) !important;
  color: var(--cmp-dark); text-align: left !important;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1) !important;
}
.puck-grid--cmp-academic-content .puck-card--cmp-academic-category .puck-card-title {
  margin: 0 0 8px; font-size: 16px; line-height: 24px; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-academic-content .puck-card--cmp-academic-category .puck-card-description {
  margin: 0; padding: 0; font: 400 14px/1.6 var(--cmp-sans); color: var(--cmp-muted);
}
.puck-grid--cmp-academic-content .puck-text ul { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-academic-content .puck-text li {
  list-style: none; margin: 0; padding: 0; color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid.puck-grid--cmp-academic-documentation-panel {
  padding: 24px; border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid--cmp-academic-documentation .puck-text li { position: relative; padding-left: 28px; }
.puck-grid--cmp-academic-documentation .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-academic-documentation .puck-text li::before {
  content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid.puck-grid--cmp-academic-notes { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-academic-notes .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-academic-notes .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-academic-notes .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-academic-action > .puck-grid-column { text-align: center; }
.puck-grid--cmp-academic-action :is(.puck-button-wrapper,.puck-button-container) {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-academic-action a.puck-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; min-height: 40px !important; height: 40px; margin: 0; padding: 0 32px;
  border: 1px solid var(--cmp-border); border-radius: 6px; background: var(--cmp-gold); color: var(--cmp-dark);
  font: 500 14px/20px var(--cmp-sans); letter-spacing: normal; text-decoration: none; white-space: nowrap; box-shadow: none;
}
.puck-grid--cmp-academic-action a.puck-button:focus-visible {
  outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold);
}
@media (hover: hover) {
  .puck-grid--cmp-academic-action a.puck-button:hover { background: hsl(45 100% 50% / .9); }
}
@media (min-width: 768px) {
  .puck-grid--cmp-academic-categories > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Independent Study-only seventeenth append layer. Prior sixteen layers unchanged.
   Original /cmp/independent-study independently captured at all eight widths first. */
.puck-grid--cmp-independent-study-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-independent-study"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a { position: relative; }
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a + a { margin-left: 20px; }
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a + a::before {
  position: absolute; left: -20px; top: 50%; margin-right: 0; transform: translateY(-50%);
  background: hsl(45 100% 50% / .6);
}
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  display: inline-flex; align-items: center; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-independent-study-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span::before {
  content: ""; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 8px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-independent-study-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-independent-study-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-independent-study-introduction .puck-text h2 { display: flex; align-items: center; gap: 12px; }
.puck-grid--cmp-independent-study-introduction .puck-text h2::before {
  content: ""; display: block; flex: 0 0 28px; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-independent-study-introduction .puck-text p,
.puck-grid--cmp-independent-study-ceu .puck-text p { font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-independent-study-introduction .puck-text p + p { margin-top: 16px; }
/* Source CEU paragraph's 16px bottom margin collapses into the next 40px gap.
   Native Grid contains margins, so no extra bottom margin is added here. */
.puck-grid--cmp-independent-study-ceu .puck-text p { margin-bottom: 0; }
.puck-grid--cmp-independent-study-content .puck-text ul { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-independent-study-content .puck-text li {
  list-style: none; margin: 0; padding: 0; color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid--cmp-independent-study-eligibility .puck-text li,
.puck-grid--cmp-independent-study-documentation .puck-text li { position: relative; padding-left: 32px; }
.puck-grid--cmp-independent-study-eligibility .puck-text li + li,
.puck-grid--cmp-independent-study-documentation .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-independent-study-eligibility .puck-text li::before,
.puck-grid--cmp-independent-study-documentation .puck-text li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px;
  background: var(--cmp-gold); mask: var(--cmp-independent-study-list-icon) center / contain no-repeat;
}
.puck-grid--cmp-independent-study-eligibility {
  --cmp-independent-study-list-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E");
}
.puck-grid--cmp-independent-study-documentation {
  --cmp-independent-study-list-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}
.puck-grid.puck-grid--cmp-independent-study-documentation-box {
  padding: 24px; border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid--cmp-independent-study-documentation .puck-text li { padding-left: 28px; }
.puck-grid--cmp-independent-study-documentation .puck-text li::before { top: 4px; width: 16px; height: 16px; }
.puck-grid.puck-grid--cmp-independent-study-tips { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-independent-study-tips .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-independent-study-tips .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-independent-study-tips .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-independent-study-action > .puck-grid-column { text-align: center; }
.puck-grid--cmp-independent-study-action :is(.puck-button-wrapper,.puck-button-container) {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-independent-study-action a.puck-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; min-height: 40px !important; height: 40px; margin: 0; padding: 0 32px;
  border: 1px solid var(--cmp-border); border-radius: 6px; background: var(--cmp-gold); color: var(--cmp-dark);
  font: 500 14px/20px var(--cmp-sans); letter-spacing: normal; text-decoration: none; white-space: nowrap; box-shadow: none;
}
.puck-grid--cmp-independent-study-action a.puck-button:focus-visible {
  outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold);
}
@media (hover: hover) {
  .puck-grid--cmp-independent-study-action a.puck-button:hover { background: hsl(45 100% 50% / .9); }
}

/* Eighteenth, Workshops-only layer. All seventeen accepted layers stay intact.
   Source captured at eight widths before this page or stylesheet was authored. */
.puck-grid--cmp-workshops-page .puck-grid--cmp-sidebar .puck-navigation a[href="/cmp-workshops"] {
  background: var(--cmp-gold) !important; color: var(--cmp-dark) !important;
}
/* Five flex items, as in CmpLayout: two real links, two decorative chevrons,
   and the complete editable final title. Chevron shrinking at 390px matters. */
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p {
  display: flex; align-items: center; gap: 8px;
}
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p::before,
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p::after {
  content: ""; display: block; flex: 0 1 12px; width: 12px; height: 12px;
  background: hsl(45 100% 50% / .6);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p::before { order: 1; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p::after { order: 3; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a {
  position: relative; display: block; flex-shrink: 0; white-space: nowrap; font-size: 14px; line-height: 20px;
}
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a + a { order: 2; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a + a::before { content: none; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb .puck-text p > span {
  order: 4; display: block; font-size: 14px; line-height: 1.6; color: var(--cmp-gold);
}
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a:focus-visible { outline: none; }
.puck-grid--cmp-workshops-banner-content .puck-grid--cmp-breadcrumb a:focus-visible::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 0;
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px;
}
.puck-grid--cmp-workshops-content > .puck-grid-column { display: flex; flex-direction: column; gap: 40px; }
.puck-grid--cmp-workshops-content .puck-text h2 { margin: 0 0 16px; font-size: 24px; line-height: 32px; }
.puck-grid--cmp-workshops-introduction .puck-text h2 { display: flex; align-items: center; gap: 12px; }
.puck-grid--cmp-workshops-introduction .puck-text h2::before {
  content: ""; display: block; flex: 0 1 28px; width: 28px; height: 28px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h20M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3M7 21l5-5 5 5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-workshops-introduction .puck-text p,
.puck-grid--cmp-workshops-recurring .puck-text p { font-size: 18px; line-height: 1.6; color: var(--cmp-muted); }
.puck-grid--cmp-workshops-introduction .puck-text p + p { margin-top: 16px; }
/* Measured source recurring prose ends 40px before reminders. Its mb-4
   collapses with space-y-10; a native Grid contains margins, so retain zero. */
.puck-grid--cmp-workshops-recurring .puck-text p { margin-bottom: 0; }
.puck-grid--cmp-workshops-audiences > .puck-grid-column {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: stretch;
}
.puck-grid--cmp-workshops-content .puck-card.puck-card--cmp-workshops-audience {
  display: block; height: 100%; margin: 0 !important; padding: 20px !important;
  border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%) !important;
  color: var(--cmp-dark); text-align: left !important;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1) !important;
}
.puck-grid--cmp-workshops-content .puck-card--cmp-workshops-audience .puck-card-title {
  margin: 0 0 8px; font-size: 16px; line-height: 24px; color: var(--cmp-dark) !important;
}
.puck-grid--cmp-workshops-content .puck-card--cmp-workshops-audience .puck-card-description {
  margin: 0; padding: 0; font: 400 14px/1.6 var(--cmp-sans); color: var(--cmp-muted);
}
.puck-grid--cmp-workshops-content .puck-text :is(ul,ol) { list-style: none; margin: 0; padding: 0; }
.puck-grid--cmp-workshops-content .puck-text li {
  list-style: none; margin: 0; padding: 0; color: var(--cmp-muted); font: 400 16px/1.6 var(--cmp-sans);
}
.puck-grid.puck-grid--cmp-workshops-req-panel {
  padding: 24px; border: 1px solid var(--cmp-border); border-radius: 12px; background: hsl(0 0% 100%);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-grid--cmp-workshops-requirements .puck-text li { position: relative; padding-left: 28px; }
.puck-grid--cmp-workshops-requirements .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-workshops-requirements .puck-text li::before {
  content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* One editable ordered list, not four decorative Cards. 32px circle + 16px
   separation; 4px text top inset reproduces the source paragraph's pt-1. */
.puck-grid--cmp-workshops-timeline .puck-text ol { counter-reset: workshops-step; }
.puck-grid--cmp-workshops-timeline .puck-text li {
  position: relative; counter-increment: workshops-step; min-height: 32px; padding: 4px 0 0 48px;
}
.puck-grid--cmp-workshops-timeline .puck-text li + li { margin-top: 12px; }
.puck-grid--cmp-workshops-timeline .puck-text li::before {
  content: counter(workshops-step); position: absolute; top: 0; left: 0;
  display: flex; align-items: center; justify-content: center; width: 32px; height: 32px;
  border-radius: 9999px; background: var(--cmp-gold); color: var(--cmp-dark); font: 700 14px/20px var(--cmp-sans);
}
.puck-grid.puck-grid--cmp-workshops-reminders { padding: 24px; border-radius: 12px; background: hsl(45 100% 50% / .05); }
.puck-grid--cmp-workshops-reminders .puck-text h3 {
  display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 18px; line-height: 28px;
}
.puck-grid--cmp-workshops-reminders .puck-text h3::before {
  content: ""; display: block; flex: 0 0 20px; width: 20px; height: 20px; background: var(--cmp-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--cmp-workshops-reminders .puck-text li + li { margin-top: 8px; }
.puck-grid--cmp-workshops-action > .puck-grid-column { text-align: center; }
.puck-grid--cmp-workshops-action :is(.puck-button-wrapper,.puck-button-container) {
  display: flex; justify-content: center; align-items: flex-start; margin: 0; padding: 0;
}
.puck-grid--cmp-workshops-action a.puck-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; min-height: 40px !important; height: 40px; margin: 0; padding: 0 32px;
  border: 1px solid var(--cmp-border); border-radius: 6px; background: var(--cmp-gold); color: var(--cmp-dark);
  font: 500 14px/20px var(--cmp-sans); letter-spacing: normal; text-decoration: none; white-space: nowrap; box-shadow: none;
}
.puck-grid--cmp-workshops-action a.puck-button:focus-visible {
  outline: none 1px; outline-offset: 1px; box-shadow: 0 0 0 1px var(--cmp-gold);
}
@media (hover: hover) {
  .puck-grid--cmp-workshops-action a.puck-button:hover { background: hsl(45 100% 50% / .9); }
}
@media (min-width: 768px) {
  .puck-grid--cmp-workshops-audiences > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Community-only source recreation. No shared chrome or accepted layer edits. */
@font-face {
  font-family: "NAOBI Community Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Community Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--community-"] {
  --community-gold: hsl(45 100% 50%);
  --community-dark: hsl(0 0% 10%);
  --community-background: hsl(40 20% 98%);
  --community-muted: hsl(0 0% 40%);
  --community-surface: hsl(40 10% 94%);
  --community-border: hsl(0 0% 90%);
  --community-card: hsl(0 0% 100%);
  --community-sans: "NAOBI Community Inter",sans-serif;
  --community-heading: "NAOBI Community Playfair",serif;
  --community-widget-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --community-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3C/svg%3E");
  --community-news: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18h-5M18 14h-8M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2'/%3E%3Crect width='8' height='4' x='10' y='6' rx='1'/%3E%3C/svg%3E");
  --community-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M22 21v-2a4 4 0 0 0-3-3.87M16 3.128a4 4 0 0 1 0 7.744'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E");
  --community-briefcase: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3Crect width='20' height='14' x='2' y='6' rx='2'/%3E%3C/svg%3E");
  --community-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--community-sans); letter-spacing: normal; color: var(--community-dark);
}
.puck-grid[class*="puck-grid--community-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--community-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--community-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/25.6px var(--community-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--community-"] .puck-text :is(h1,h2,h3,p,ul,li) { padding: 0; margin: 0; color: inherit; }
.puck-grid[class*="puck-grid--community-"] .puck-text :is(h1,h2,h3) {
  font-family: var(--community-heading); font-weight: 700; letter-spacing: -.025em; color: var(--community-dark);
}
.puck-grid.puck-grid--community-banner,
.puck-grid.puck-grid--community-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--community-banner {
  margin-top: -2rem !important; padding: 80px 0; background: var(--community-surface); text-align: center;
}
.puck-grid.puck-grid--community-main { margin-bottom: -2rem !important; padding: 80px 0; background: var(--community-background); }
.puck-grid.puck-grid--community-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid--community-banner .puck-text h1 { font-size: 36px; line-height: 40px; margin-bottom: 24px !important; }
.puck-grid--community-banner .puck-text p { max-width: 672px; margin: 0 auto !important; font-size: 20px; line-height: 32px; color: var(--community-muted) !important; }
.puck-grid.puck-grid--community-columns { gap: 48px !important; align-items: start; margin-bottom: 80px; }
.puck-grid--community-left > .puck-grid-column { display: flex; flex-direction: column; gap: 64px; }
.puck-grid--community-main .puck-text h2 {
  position: relative; padding-left: 44px !important; min-height: 36px; margin: 0 0 24px !important;
  font-size: 30px; line-height: 36px;
}
.puck-grid--community-main .puck-text h2::before {
  content: ""; position: absolute; top: 2px; left: 0; width: 32px; height: 32px;
  background: var(--community-gold); mask: var(--community-news) center / contain no-repeat;
}
.puck-grid--community-committees .puck-text h2::before { mask-image: var(--community-users); }
.puck-grid--community-newsletter .puck-text h2::before { mask-image: var(--community-mail); }
.puck-grid--community-jobs > .puck-grid-column > .puck-text h2::before { mask-image: var(--community-briefcase); }
.puck-grid--community-news .puck-text > p:first-of-type,
.puck-grid--community-committees > .puck-grid-column > .puck-text p,
.puck-grid--community-jobs > .puck-grid-column > .puck-text p {
  margin-bottom: 24px; font-size: 18px; line-height: 28.8px; color: var(--community-muted);
}
.puck-grid--community-news .puck-text > p:last-child { display: flex; align-items: center; gap: 24px; }
.puck-grid--community-news .puck-text a {
  display: flex; flex: 0 0 auto; align-items: center; gap: 8px; font-weight: 500; color: var(--community-muted); text-decoration: none; transition: color .15s;
}
.puck-grid--community-news .puck-text a::before {
  content: ""; width: 24px; height: 24px; flex: 0 0 24px; background: currentColor; mask: var(--community-social-icon) center / contain no-repeat;
}
.puck-grid--community-news .puck-text a[href*="facebook.com"] { --community-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E"); }
.puck-grid--community-news .puck-text a[href*="youtube.com"] { --community-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17'/%3E%3Cpath d='m10 15 5-3-5-3z'/%3E%3C/svg%3E"); }
.puck-grid--community-news .puck-text a[href*="instagram.com"] { --community-social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' x2='17.51' y1='6.5' y2='6.5'/%3E%3C/svg%3E"); }
.puck-grid--community-news .puck-text a:hover { color: var(--community-gold); }
.puck-grid--community-committees .puck-text a { color: var(--community-gold); font-weight: 600; text-decoration: underline; }
.puck-grid--community-committees .puck-text a::after { content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 4px; vertical-align: middle; background: currentColor; mask: var(--community-external) center / contain no-repeat; }
.puck-grid--community-committees .puck-text a:hover { color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--community-committee-list { padding: 32px; background: var(--community-surface); border-radius: 16px; }
.puck-grid--community-committee-list .puck-text ul { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px 48px; list-style: none; }
.puck-grid--community-committee-list .puck-text li {
  position: relative; list-style: none !important; padding-left: 20px !important; font-size: 18px; line-height: 28.8px;
}
.puck-grid--community-committee-list .puck-text li::before {
  content: ""; position: absolute; top: calc(50% - 4px); left: 0; width: 8px; height: 8px; padding: 0; border-radius: 9999px; background: var(--community-gold);
}
.puck-grid--community-newsletter > .puck-grid-column > .puck-text p { margin: 0 0 16px; color: var(--community-muted); }
.puck-grid--community-jobs > .puck-grid-column > .puck-text p { margin-bottom: 32px; }
.puck-grid.puck-grid--community-positions { border: 1px solid var(--community-border); border-radius: 16px; overflow: hidden; margin-bottom: 24px; }
.puck-grid.puck-grid--community-positions-head { background: var(--community-surface); border-bottom: 1px solid var(--community-border); padding: 16px 24px; }
.puck-grid--community-positions-head .puck-text p { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; line-height: 22.4px; }
.puck-grid--community-positions-head .puck-text p::before {
  content: ""; display: block; flex: 0 0 16px; width: 16px; height: 16px; background: var(--community-muted);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid.puck-grid--community-positions-empty { padding: 32px; text-align: center; }
.puck-grid--community-positions-empty .puck-text::before {
  content: ""; display: block; width: 40px; height: 40px; margin: 0 auto 12px; background: hsl(0 0% 40% / .4); mask: var(--community-briefcase) center / contain no-repeat;
}
.puck-grid--community-positions-empty .puck-text p:first-child { font-weight: 600; color: var(--community-muted); }
.puck-grid.puck-grid--community-positions-empty .puck-text p + p { margin-top: 4px; font-size: 14px; line-height: 22.4px; color: hsl(0 0% 40% / .7); }
.puck-grid.puck-grid--community-post { border: 1px solid var(--community-border); border-radius: 16px; padding: 24px; }
.puck-grid--community-post > .puck-grid-column > .puck-text p:first-child { font-size: 14px; line-height: 22.4px; font-weight: 600; letter-spacing: .025em; text-transform: uppercase; color: var(--community-muted); margin-bottom: 4px; }
.puck-grid--community-post > .puck-grid-column > .puck-text h3 { font-size: 20px; line-height: 28px; margin-bottom: 4px; }
.puck-grid--community-post > .puck-grid-column > .puck-text p:last-child { font-size: 14px; line-height: 22.4px; color: var(--community-muted); margin-bottom: 24px; }
.puck-grid--community-packages > .puck-grid-column { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; }
.puck-grid.puck-grid--community-package-cell { min-height: 200px; }
.puck-grid--community-package-cell .recur-single-product { max-width: 400px !important; width: 100%; margin: 10px auto !important; padding: 0 !important; font: 400 16px/24px var(--community-sans); }
.puck-grid--community-package-cell .recur-product-card { background: var(--community-card) !important; border: 0 !important; border-radius: 12px !important; overflow: hidden; box-shadow: 0 2px 8px rgb(0 0 0 / .1) !important; }
.puck-grid--community-package-cell .recur-product-card-image { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; overflow: hidden; }
.puck-grid--community-package-cell .recur-product-card-image img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.puck-grid--community-package-cell .recur-product-card-body { display: block !important; padding: 16px !important; text-align: left; }
.puck-grid--community-package-cell .recur-product-card-title { margin: 0 0 8px !important; color: hsl(0 0% 0%) !important; font: 700 20px/30px var(--community-sans) !important; letter-spacing: -.025em; }
.puck-grid--community-package-cell .recur-product-card-price { margin: 0 0 4px !important; color: rgb(59 130 246) !important; font: 600 14px/22.4px var(--community-sans) !important; letter-spacing: normal; }
.puck-grid--community-package-cell .recur-product-card-description { color: var(--community-muted); font-family: var(--community-sans) !important; }
.puck-grid--community-package-cell .recur-product-card-button {
  display: inline-block !important; width: auto; padding: 8px 16px !important; margin: 12px 0 0 !important; min-height: 0; border: 0 !important; border-radius: 6px !important;
  background: rgb(59 130 246) !important; color: var(--community-card) !important; font: 500 14px/21px var(--community-sans) !important; text-decoration: none; letter-spacing: normal; box-shadow: none;
}
.puck-grid--community-package-cell .recur-product-card-button:hover { opacity: .9; }
.puck-grid--community-main a:focus-visible { outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px; }
/* Keep the native newsletter's actual security/consent semantics visible.
   Contact-specific approval is NOT an approval of Community's native gaps. */
.puck-grid--community-newsletter .puck-contact-widget {
  --color-primary: var(--community-gold); --color-text: var(--community-dark); --color-textSecondary: var(--community-muted);
  --color-surface: var(--community-card); --color-border: var(--community-border);
  width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important; font: 400 16px/24px var(--community-widget-font);
}
.puck-grid--community-newsletter .puck-contact-widget > div { padding: 28px !important; border: 0 !important; border-radius: 16px !important; background: var(--community-card) !important; box-shadow: 0 4px 16px rgb(0 0 0 / .08); }
.puck-grid--community-newsletter .puck-contact-widget > div > h3 { margin: 0 0 8px !important; text-align: left !important; color: hsl(0 0% 0%) !important; font: 700 21.6px/32.4px var(--community-heading) !important; letter-spacing: -.025em; }
.puck-grid--community-newsletter .puck-contact-widget > div > p { margin: 0 0 20px !important; text-align: left !important; color: rgb(100 116 139) !important; font: 400 16px/25.6px var(--community-widget-font); }
.puck-grid--community-newsletter .puck-contact-widget form { gap: 14px !important; }
.puck-grid--community-newsletter .puck-contact-widget form > div[style*="display:grid"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
.puck-grid--community-newsletter .puck-contact-widget label:not(:has([type="checkbox"])) { font: 500 14px/21px var(--community-widget-font) !important; margin-bottom: 6px !important; color: rgb(55 65 81); }
.puck-grid--community-newsletter .puck-contact-widget label:has(+ input[required]) { line-height: 22.4px !important; }
.puck-grid--community-newsletter .puck-contact-widget input:not([type="checkbox"]) { width: 100% !important; min-width: 0; height: 44.8px; padding: 10px 12px !important; border: 1px solid rgb(209 213 219) !important; border-radius: 6px !important; color: var(--community-dark) !important; background: transparent !important; font: 400 15.2px/22.8px var(--community-widget-font) !important; }
.puck-grid--community-newsletter .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) { padding: 12px; border: 1px solid rgb(226 232 240); border-radius: 8px; background: rgb(248 250 252); }
.puck-grid--community-newsletter .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) > p { margin: 6px 0 0 !important; font: 400 12px/18px var(--community-widget-font) !important; color: var(--community-muted) !important; }
.puck-grid--community-newsletter .puck-contact-widget label:has([type="checkbox"]) { padding: 12px !important; gap: 10px !important; border: 1px solid rgb(226 232 240) !important; border-radius: 8px !important; background: rgb(248 250 252); font: 400 14px/21px var(--community-widget-font) !important; color: rgb(55 65 81); }
.puck-grid--community-newsletter .puck-contact-widget input[type="checkbox"] { margin: 3px 0 0 !important; flex-shrink: 0; }
.puck-grid--community-newsletter .puck-contact-widget [data-cf="submit"] { min-height: 52px; padding: 14px !important; border: 0 !important; border-radius: 8px !important; background: rgb(59 130 246) !important; color: var(--community-card) !important; font: 600 16px/24px var(--community-widget-font) !important; }
.puck-grid--community-newsletter .puck-contact-widget input:not([type="checkbox"]):focus-visible { outline: none; box-shadow: none; }
.puck-grid--community-newsletter .puck-contact-widget :is(button,input[type="checkbox"]):focus-visible { outline: 1px auto -webkit-focus-ring-color; outline-offset: 0; }
.puck-grid--community-newsletter .puck-contact-widget [data-cf="submit"]:hover { background: rgb(59 130 246) !important; }
@media (max-width: 480px) {
  .puck-grid--community-package-cell .recur-single-product { margin: 5px auto !important; }
}
@media (min-width: 640px) {
  .puck-grid.puck-grid--community-container { max-width: 640px; }
  .puck-grid--community-committee-list .puck-text ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--community-container { max-width: 768px; }
  .puck-grid--community-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid--community-packages > .puck-grid-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  .puck-grid.puck-grid--community-container { max-width: 1024px; }
  .puck-grid.puck-grid--community-columns { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width: 1280px) { .puck-grid.puck-grid--community-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--community-container { max-width: 1536px; } }

/* Donate-only faithful source recreation. Shared chrome/styles remain untouched. */
@font-face {
  font-family: "NAOBI Donate Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Donate Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Donate Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--donate-"] {
  --donate-gold: hsl(45 100% 50%);
  --donate-dark: hsl(0 0% 10%);
  --donate-background: hsl(40 20% 98%);
  --donate-muted: hsl(0 0% 40%);
  --donate-card: hsl(0 0% 100%);
  --donate-sans: "NAOBI Donate Inter",sans-serif;
  --donate-heading: "NAOBI Donate Playfair",serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--donate-sans); letter-spacing: normal; color: var(--donate-dark);
}
.puck-grid[class*="puck-grid--donate-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--donate-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--donate-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/25.6px var(--donate-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--donate-"] .puck-text :is(h1,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--donate-banner,
.puck-grid.puck-grid--donate-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--donate-banner {
  margin-top: -2rem !important; padding: 80px 0; text-align: center;
  background: hsl(45 100% 50% / .1);
}
.puck-grid.puck-grid--donate-main {
  margin-bottom: -2rem !important; padding: 64px 0; background: var(--donate-background);
}
.puck-grid.puck-grid--donate-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid--donate-banner .puck-text::before {
  content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 24px;
  background: var(--donate-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--donate-banner .puck-text h1 {
  font: 700 36px/40px var(--donate-heading); letter-spacing: -.025em; margin-bottom: 24px !important;
}
.puck-grid--donate-banner .puck-text p {
  max-width: 672px; margin: 0 auto !important; font-size: 20px; line-height: 32px; color: var(--donate-muted) !important;
}
.puck-grid.puck-grid--donate-content { width: 100%; max-width: 768px; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--donate-guidance { border-left: 4px solid var(--donate-gold); padding-left: 24px; margin-bottom: 48px; }
.puck-grid--donate-guidance .puck-text p { font-size: 18px; line-height: 28.8px; }
.puck-grid--donate-guidance .puck-text p:not(:last-child) { margin-bottom: 16px; }
.puck-grid--donate-guidance .puck-text p:nth-child(2) { color: var(--donate-gold); font-style: italic; font-weight: 600; }
.puck-grid--donate-guidance .puck-text strong { font-weight: 600; }
.puck-grid--donate-guidance .puck-text a { color: var(--donate-gold); font-weight: 600; text-decoration: underline; }
@media (hover: hover) {
  .puck-grid--donate-guidance .puck-text a:hover { color: hsl(45 100% 50% / .8); }
}
.puck-grid--donate-guidance .puck-text a:focus-visible { outline: 1px auto -webkit-focus-ring-color; outline-offset: 1px; }
/* Native Donations retains all real controls, summary and security messaging.
   CSS cannot repair its $1/no-max validation, labels or different step model. */
.puck-grid.puck-grid--donate-form { margin: 10px 0; }
.puck-grid--donate-form .recur-donation {
  --color-primary: var(--donate-gold); --color-text: var(--donate-dark);
  --color-textSecondary: var(--donate-dark); --color-background: var(--donate-card);
  --color-surface: var(--donate-card); --color-border: rgb(212 212 212);
  max-width: none !important; width: 100%; padding: 28px !important; margin: 0 !important;
  border: 0 !important; border-radius: 16px !important; background: var(--donate-card) !important;
  box-shadow: 0 4px 16px rgb(0 0 0 / .08) !important;
  font: 400 16px/24px var(--donate-sans); letter-spacing: normal; color: var(--donate-dark);
}
.puck-grid--donate-form .recur-donation * { font-family: var(--donate-sans) !important; letter-spacing: normal; }
.puck-grid--donate-form .recur-donation .recur-donation-title {
  margin: 0 0 20px !important; padding: 0 !important; text-align: center !important;
  color: hsl(0 0% 0%) !important; font: 700 21.6px/32.4px var(--donate-heading) !important; letter-spacing: -.025em;
}
.puck-grid--donate-form .donation-amounts {
  display: grid !important; grid-template-columns: repeat(4,minmax(70px,1fr)) !important;
  container-type: inline-size;
  gap: 8px !important; margin: 0 0 16px !important;
}
.puck-grid--donate-form .recur-donation .recur-donation-amount-button {
  min-width: 0; min-height: 0; padding: 12px 8px !important; margin: 0 !important;
  border: 1px solid var(--donate-gold) !important; border-radius: 8px !important;
  background: var(--donate-gold) !important; color: var(--donate-dark) !important;
  font: 600 15.2px/22.8px var(--donate-sans) !important; box-shadow: none;
}
.puck-grid--donate-form .recur-donation .donation-other-btn {
  grid-column: 1 / -1; width: 100cqw; padding: 12px 16px !important; font-weight: 500 !important;
}
.puck-grid--donate-form .recur-donation button:not(.recur-donation-amount-button) {
  background: var(--donate-gold) !important; color: var(--donate-dark) !important; border-color: var(--donate-gold) !important;
}
.puck-grid--donate-form .recur-donation button:hover { background: #e6ac00 !important; }
.puck-grid--donate-form .recur-donation label {
  display: block; font: 500 14px/21px var(--donate-sans) !important; margin: 0 0 6px !important; color: var(--donate-dark) !important;
}
.puck-grid--donate-form .recur-donation :is(input,select,textarea) {
  min-width: 0; width: 100%; padding: 12px !important; margin: 0; border: 1px solid rgb(212 212 212) !important;
  border-radius: 8px !important; background: var(--donate-card) !important; color: var(--donate-dark) !important;
  font: 400 15.2px/22.8px var(--donate-sans) !important;
}
.puck-grid--donate-form .recur-donation input[type=number] { padding-left: 32px !important; font-size: 17.6px !important; line-height: 26.4px !important; }
.puck-grid--donate-form .recur-donation select { height: 48.8px; }
.puck-grid--donate-form .recur-donation .donation-frequency { margin-bottom: 16px !important; }
.puck-grid--donate-form .recur-donation .recur-donation-submit {
  min-height: 0; padding: 14px !important; border: 0 !important; border-radius: 8px !important;
  font: 500 16px/24px var(--donate-sans) !important; box-shadow: none;
}
.puck-grid--donate-form .recur-donation > p:last-child {
  margin: 12px 0 0 !important; padding: 0; color: var(--donate-dark) !important;
  text-align: center; font: 400 12px/19.2px var(--donate-sans) !important;
}
.puck-grid--donate-form .recur-donation [id$="-donor-info"] input {
  padding: 10px 12px !important; border-radius: 6px !important; font: 400 16px/24px var(--donate-sans) !important;
}
.puck-grid--donate-form .recur-donation [id$="-custom-wrapper"] { margin-bottom: 16px !important; }
.puck-grid--donate-form .recur-donation [id$="-donor-info"] { margin-bottom: 16px !important; }
.puck-grid--donate-form .recur-donation [id$="-donor-info"] > div:not(:last-child) { margin-bottom: 16px !important; }
.puck-grid--donate-form .recur-donation [id$="-donor-info"] label { margin-bottom: 4px !important; }
.puck-grid--donate-form .recur-donation [id$="-back-btn"] {
  padding: 8px 0 !important; margin: 0 0 16px !important; border-radius: 0;
  font: 400 14px/21px var(--donate-sans) !important;
}
.puck-grid--donate-form .recur-donation :is(button,input,select,textarea):focus-visible { outline: 1px auto -webkit-focus-ring-color; outline-offset: 0; }
/* Source widget switches from10px to5px margins at480px. Top margin still
   collapses with the preceding48px guidance margin; bottom margin is additive. */
@media (max-width: 480px) { .puck-grid.puck-grid--donate-form { margin: 5px 0; } }
@media (min-width: 640px) { .puck-grid.puck-grid--donate-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--donate-container { max-width: 768px; }
  .puck-grid--donate-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--donate-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--donate-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--donate-container { max-width: 1536px; } }

/* President's Vision only: measured React editorial, not a redesign.
   Shared header, footer, active stylesheet layers and theme are untouched. */
@font-face {
  font-family: "NAOBI PV Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI PV Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI PV Playfair"; font-style: italic; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--pv-"] {
  --pv-gold: hsl(45 100% 50%);
  --pv-dark: hsl(0 0% 10%);
  --pv-background: hsl(40 20% 98%);
  --pv-sans: "NAOBI PV Inter", sans-serif;
  --pv-heading: "NAOBI PV Playfair", serif;
  display: grid; grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--pv-sans); letter-spacing: normal; color: var(--pv-gold);
}
.puck-grid[class*="puck-grid--pv-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--pv-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--pv-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/24px var(--pv-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--pv-"] .puck-text :is(h1,h2,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--pv-banner,
.puck-grid.puck-grid--pv-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--pv-banner {
  margin-top: -2rem !important; padding: 80px 0; text-align: center; background: var(--pv-dark);
}
.puck-grid.puck-grid--pv-main {
  margin-bottom: -2rem !important; padding: 80px 0; background: var(--pv-background);
}
.puck-grid.puck-grid--pv-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--pv-breadcrumb { margin-bottom: 16px; color: hsl(45 100% 50% / .6); }
.puck-grid--pv-breadcrumb .puck-text p { font: 400 14px/20px var(--pv-sans); }
.puck-grid--pv-breadcrumb .puck-text p > span { margin: 0 8px; line-height: 1.6; }
.puck-grid--pv-breadcrumb .puck-text a {
  font: inherit; color: inherit; text-decoration: none;
  transition: color 150ms cubic-bezier(.4,0,.2,1);
}
@media (hover: hover) {
  .puck-grid--pv-breadcrumb .puck-text a:hover { color: var(--pv-gold); }
}
.puck-grid--pv-breadcrumb .puck-text a:focus-visible {
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 0;
}
.puck-grid.puck-grid--pv-title .puck-text h1 {
  font: 700 36px/40px var(--pv-heading); letter-spacing: -.025em; margin-bottom: 24px;
}
.puck-grid.puck-grid--pv-title .puck-text p {
  max-width: 672px; margin: 0 auto !important; font: 400 20px/32px var(--pv-sans); color: hsl(45 100% 50% / .8);
}
.puck-grid.puck-grid--pv-document {
  width: 100%; max-width: 768px; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--pv-panel {
  padding: 40px; border-radius: 16px; background: var(--pv-dark);
  text-align: center; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);
}
.puck-grid.puck-grid--pv-panel .puck-text h2 {
  font: italic 700 30px/36px var(--pv-heading); letter-spacing: -.025em; margin-bottom: 40px;
}
.puck-grid--pv-panel .puck-text h2 em { font-style: inherit; }
.puck-grid--pv-panel .puck-text p {
  font: 400 18px/1.6 var(--pv-sans); letter-spacing: .025em; text-transform: uppercase;
}
.puck-grid--pv-panel .puck-text p:not(:last-child) { margin-bottom: 40px; }
@media (min-width: 640px) { .puck-grid.puck-grid--pv-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--pv-container { max-width: 768px; }
  .puck-grid.puck-grid--pv-title .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--pv-panel { padding: 64px; }
  .puck-grid.puck-grid--pv-panel .puck-text h2 { font-size: 36px; line-height: 40px; }
  .puck-grid--pv-panel .puck-text p { font-size: 20px; line-height: 32px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--pv-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--pv-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--pv-container { max-width: 1536px; } }

/* Newsletter-only React reproduction. No shared/reset/theme changes.
   One genuine native editorial anchor owns the feature's CSS-stretched hit area. */
@font-face {
  font-family: "NAOBI NL Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI NL Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--nl-"] {
  --nl-gold: hsl(45 100% 50%);
  --nl-dark: hsl(0 0% 10%);
  --nl-paper: hsl(40 20% 98%);
  --nl-muted: hsl(40 10% 94%);
  --nl-blue: hsl(233 92% 30%);
  --nl-sans: "NAOBI NL Inter", sans-serif;
  --nl-heading: "NAOBI NL Playfair", serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--nl-sans); letter-spacing: normal; color: var(--nl-dark);
}
.puck-grid[class*="puck-grid--nl-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--nl-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--nl-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/24px var(--nl-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--nl-"] .puck-text :is(h1,h2,h3,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--nl-banner,
.puck-grid.puck-grid--nl-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--nl-banner { margin-top: -2rem !important; padding: 80px 0; background: var(--nl-dark); text-align: center; color: var(--nl-gold); }
.puck-grid.puck-grid--nl-main { margin-bottom: -2rem !important; padding: 48px 0; background: var(--nl-paper); }
.puck-grid.puck-grid--nl-title { width: 100%; padding: 0 16px; margin: 0 auto; color: var(--nl-gold); }
.puck-grid.puck-grid--nl-title .puck-text h1 { font: 700 36px/40px var(--nl-heading); letter-spacing: -.025em; margin-bottom: 24px; }
.puck-grid.puck-grid--nl-title .puck-text p { max-width: 672px; margin: 0 auto; font: 400 20px/32px var(--nl-sans); color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--nl-container { width: 100%; max-width: 896px; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--nl-signup {
  padding: 24px; margin-bottom: 40px; background: var(--nl-muted); border-radius: 12px;
}
.puck-grid--nl-signup > .puck-grid-column { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 16px; }
.puck-grid--nl-signup > .puck-grid-column > .puck-text { width: auto !important; max-width: 100%; flex: 0 1 auto; }
.puck-grid--nl-signup .puck-button-container { width: max-content !important; flex: 0 0 auto; align-self: center !important; }
.puck-grid.puck-grid--nl-signup .puck-text p { font: 500 18px/1.6 var(--nl-sans); text-align: center; }
.puck-grid--nl-signup .puck-button--nl-signup {
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 8px; min-height: 0 !important;
  padding: 8px 16px !important; margin: 0; border: 1px solid hsl(0 0% 90%) !important; border-radius: 6px !important;
  font: 500 14px/20px var(--nl-sans) !important; letter-spacing: normal; white-space: nowrap;
  background: var(--nl-gold) !important; color: var(--nl-dark) !important; text-decoration: none; box-shadow: none;
  transition: color 150ms cubic-bezier(.4,0,.2,1),background-color 150ms cubic-bezier(.4,0,.2,1) !important;
}
.puck-grid.puck-grid--nl-feature {
  position: relative;
  padding: 32px; margin-bottom: 48px; background: var(--nl-dark); border-radius: 16px;
  grid-template-columns: minmax(0,1fr) !important; gap: 32px !important; align-items: center; color: var(--nl-gold);
  transition: box-shadow 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--nl-feature > .puck-grid-column:first-child { width: 256px; justify-self: center; }
.puck-grid--nl-feature .puck-image { padding: 0 !important; margin: 0 !important; }
.puck-grid--nl-feature .puck-image-img {
  display: block; width: 256px; height: auto; border-radius: 8px !important;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
  transition: box-shadow 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--nl-feature .puck-text { text-align: center; }
.puck-grid.puck-grid--nl-feature .puck-text p:first-child { font: 400 16px/24.390625px var(--nl-sans); margin-bottom: 0; }
.puck-grid.puck-grid--nl-feature .puck-text p:first-child strong {
  font: 500 14px/1.6 var(--nl-sans); color: var(--nl-gold); background: hsl(45 100% 50% / .1);
  padding: 4px 12px; border-radius: 9999px;
}
.puck-grid.puck-grid--nl-feature .puck-text h2 {
  font: 700 30px/36px var(--nl-heading); letter-spacing: -.025em; color: var(--nl-gold); margin-bottom: 16px;
}
.puck-grid.puck-grid--nl-feature .puck-text p:nth-of-type(2) { font: 400 18px/1.6 var(--nl-sans); color: hsl(45 100% 50% / .8); margin-bottom: 16px; }
.puck-grid.puck-grid--nl-feature .puck-text p:last-child { font: 600 16px/1.6 var(--nl-sans); }
.puck-grid--nl-feature .puck-text a { display: inline-flex; align-items: center; gap: 8px; font: inherit; color: var(--nl-gold); text-decoration: none; }
/* Keep the feature Grid as the containing block, not the native Text wrappers.
   This stretches the existing visible Read Now link; it adds no DOM, text,
   focus stop, scripted behavior or independent control. ::after remains the
   decorative ExternalLink stroke below. */
.puck-grid--nl-feature > .puck-grid-column,
.puck-grid--nl-feature .puck-text,
.puck-grid--nl-feature .puck-text p,
.puck-grid--nl-feature .puck-text a { position: static !important; }
.puck-grid--nl-feature .puck-text a::before {
  content: ""; position: absolute; inset: 0; z-index: 1; cursor: pointer; border-radius: 16px;
}
/* Purely decorative source Lucide ExternalLink stroke. No meaningful text in CSS. */
.puck-grid--nl-feature .puck-text a::after,
.puck-grid--nl-pdf .puck-text a::after {
  content: ""; display: block; flex-shrink: 0; width: 16px; height: 16px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid.puck-grid--nl-archive-card {
  padding: 32px; margin-bottom: 24px; border: 1px solid hsl(0 0% 90%); border-radius: 12px; background: hsl(0 0% 100%);
  gap: 24px !important; align-items: start; box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
  transition: box-shadow 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--nl-archive-card:last-child { margin-bottom: 0; }
.puck-grid.puck-grid--nl-file-icon { position: relative; width: 80px; height: 80px; border-radius: 8px; background: hsl(45 100% 50% / .1); place-items: center; }
.puck-grid--nl-file-icon::before {
  content: ""; position: absolute; inset: 20px; display: block; width: 40px; height: 40px; background: var(--nl-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--nl-archive-card .puck-card--nl-document {
  padding: 0 !important; margin: 0; border: 0; border-radius: 0; background: transparent !important;
  box-shadow: none !important; text-align: left !important; overflow: visible; color: var(--nl-dark); font-family: var(--nl-sans);
}
.puck-grid--nl-archive-card .puck-card--nl-document > div { padding: 0 !important; }
.puck-grid--nl-archive-card .puck-card--nl-document .puck-card-title {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 8px; padding: 0;
  font: 700 20px/28px var(--nl-heading); letter-spacing: -.025em; color: var(--nl-dark);
}
.puck-card--nl-document .nl-volume {
  display: inline-block; font: 400 14px/1.6 var(--nl-sans); letter-spacing: normal;
  padding: 2px 8px; border-radius: 4px; background: var(--nl-muted); color: hsl(0 0% 40%);
}
.puck-grid--nl-archive-card .puck-card--nl-document .puck-card-description {
  margin: 0 0 8px; padding: 0; font: 400 16px/1.6 var(--nl-sans); color: hsl(0 0% 40%); letter-spacing: normal;
}
.puck-grid--nl-archive-card .puck-card--nl-document .puck-card-meta {
  display: block; list-style: none; margin: 0; padding: 0; font: 400 14px/1.6 var(--nl-sans); color: hsl(0 0% 40%);
}
.puck-card--nl-document .puck-card-meta-row,
.puck-card--nl-document .puck-card-meta-value { margin: 0; padding: 0; font: inherit; color: inherit; }
.puck-grid--nl-pdf .puck-text a {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap;
  padding: 8px 16px; margin: 0; border: 1px solid hsl(0 0% 90%); border-radius: 6px;
  background: var(--nl-blue); color: hsl(0 0% 100%); font: 500 14px/20px var(--nl-sans); text-decoration: none;
  transition: color 150ms cubic-bezier(.4,0,.2,1),background-color 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--nl-pdf .puck-text a::after { margin-left: 8px; }
.puck-grid--nl-signup .puck-button--nl-signup:focus-visible,
.puck-grid--nl-pdf .puck-text a:focus-visible { outline: 2px solid var(--nl-gold); outline-offset: 2px; }
.puck-grid--nl-feature .puck-text a:focus-visible { outline: none; }
.puck-grid--nl-feature:has(.puck-text a:focus-visible) { outline: 1px auto -webkit-focus-ring-color; outline-offset: 0; }
@media (hover:hover) {
  .puck-grid--nl-signup .puck-button--nl-signup:hover { background: hsl(45 100% 50% / .9) !important; }
  .puck-grid--nl-pdf .puck-text a:hover { background: hsl(233 92% 30% / .9); }
  .puck-grid.puck-grid--nl-feature:hover { box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1); }
  .puck-grid--nl-feature:hover .puck-image-img { box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
  .puck-grid--nl-feature:hover .puck-text a { text-decoration: underline; }
  .puck-grid.puck-grid--nl-archive-card:hover { box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1); }
}
@media (min-width:640px) {
  .puck-grid.puck-grid--nl-title { max-width: 640px; }
  .puck-grid--nl-signup > .puck-grid-column { flex-direction: row; }
  .puck-grid.puck-grid--nl-signup .puck-text p { text-align: left; }
}
@media (min-width:768px) {
  .puck-grid.puck-grid--nl-title { max-width: 768px; }
  .puck-grid.puck-grid--nl-title .puck-text h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--nl-feature { grid-template-columns: 256px minmax(0,1fr) !important; }
  .puck-grid.puck-grid--nl-feature .puck-text { text-align: left; }
  .puck-grid.puck-grid--nl-archive-card { grid-template-columns: 80px minmax(0,1fr) 130.125px !important; }
}
@media (min-width:1024px) { .puck-grid.puck-grid--nl-title { max-width: 1024px; } }
@media (min-width:1280px) { .puck-grid.puck-grid--nl-title { max-width: 1280px; } }
@media (min-width:1536px) { .puck-grid.puck-grid--nl-title { max-width: 1536px; } }

/* Newsletter Signup only. Source recreation; native security DOM stays intact. */
@font-face {
  font-family: "NAOBI Signup Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Signup Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--ns-"] {
  --ns-gold: hsl(45 100% 50%);
  --ns-dark: hsl(0 0% 10%);
  --ns-background: hsl(40 20% 98%);
  --ns-muted: hsl(0 0% 40%);
  --ns-card: hsl(0 0% 100%);
  --ns-border: hsl(0 0% 90%);
  --ns-sans: "NAOBI Signup Inter",sans-serif;
  --ns-heading: "NAOBI Signup Playfair",serif;
  --ns-widget-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--ns-sans); letter-spacing: normal; color: var(--ns-dark);
}
.puck-grid[class*="puck-grid--ns-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--ns-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--ns-"] .puck-text {
  margin: 0 !important; padding: 0 !important; font: 400 16px/25.6px var(--ns-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--ns-"] .puck-text :is(h1,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--ns-banner,
.puck-grid.puck-grid--ns-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--ns-banner {
  margin-top: -2rem !important; padding: 80px 0; text-align: center;
  background: linear-gradient(hsl(45 100% 50% / .05),hsl(45 100% 50% / .05)) var(--ns-background);
}
.puck-grid.puck-grid--ns-main {
  margin-bottom: -2rem !important; padding: 64px 0; background: var(--ns-background);
}
.puck-grid.puck-grid--ns-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--ns-form { width: 100%; max-width: 576px; margin: 0 auto; padding: 0 16px; }
.puck-grid--ns-banner .puck-text h1 {
  margin-bottom: 24px !important; font: 700 36px/40px var(--ns-heading); letter-spacing: -.025em; color: var(--ns-dark);
}
.puck-grid--ns-banner .puck-text p {
  max-width: 672px; margin: 0 auto !important; font: 400 20px/32px var(--ns-sans); color: var(--ns-muted) !important;
}
.puck-grid--ns-form .puck-contact-widget {
  --color-primary: var(--ns-gold); --color-text: var(--ns-dark); --color-textSecondary: var(--ns-muted);
  --color-surface: var(--ns-card); --color-border: var(--ns-border);
  width: 100%; max-width: none !important; margin: 10px 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--ns-widget-font); letter-spacing: normal;
}
.puck-grid--ns-form .puck-contact-widget > div {
  padding: 28px !important; border: 0 !important; border-radius: 16px !important;
  background: var(--ns-card) !important; box-shadow: 0 4px 16px rgb(0 0 0 / .08);
}
.puck-grid--ns-form .puck-contact-widget > div > h3 {
  margin: 0 0 8px !important; text-align: left !important; color: hsl(0 0% 0%) !important;
  font: 700 21.6px/32.4px var(--ns-heading) !important; letter-spacing: -.025em;
}
.puck-grid--ns-form .puck-contact-widget > div > p {
  margin: 0 0 20px !important; text-align: left !important; color: rgb(100 116 139) !important;
  font: 400 16px/25.6px var(--ns-widget-font);
}
.puck-grid--ns-form .puck-contact-widget form { gap: 14px !important; }
.puck-grid--ns-form .puck-contact-widget form > div[style*="display:grid"] {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important;
}
.puck-grid--ns-form .puck-contact-widget label:not(:has([type="checkbox"])) {
  font: 500 14px/21px var(--ns-widget-font) !important; margin-bottom: 6px !important; color: rgb(55 65 81);
}
.puck-grid--ns-form .puck-contact-widget label:has(+ input[required]) { line-height: 22.4px !important; }
.puck-grid--ns-form .puck-contact-widget input:not([type="checkbox"]) {
  width: 100% !important; min-width: 0; height: 44.8px; padding: 10px 12px !important;
  border: 1px solid rgb(209 213 219) !important; border-radius: 6px !important;
  color: var(--ns-dark) !important; background: transparent !important;
  font: 400 15.2px/22.8px var(--ns-widget-font) !important;
}
.puck-grid--ns-form .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) {
  padding: 12px; border: 1px solid rgb(226 232 240); border-radius: 8px; background: rgb(248 250 252);
}
.puck-grid--ns-form .puck-contact-widget form > div:has(> [data-cf="challengeAnswer"]) > p {
  margin: 6px 0 0 !important; font: 400 12px/18px var(--ns-widget-font) !important; color: var(--ns-muted) !important;
}
.puck-grid--ns-form .puck-contact-widget label:has([type="checkbox"]) {
  padding: 12px !important; gap: 10px !important; border: 1px solid rgb(226 232 240) !important;
  border-radius: 8px !important; background: rgb(248 250 252);
  font: 400 14px/21px var(--ns-widget-font) !important; color: rgb(55 65 81);
}
.puck-grid--ns-form .puck-contact-widget input[type="checkbox"] { margin: 3px 0 0 !important; flex-shrink: 0; }
.puck-grid--ns-form .puck-contact-widget [data-cf="submit"] {
  min-height: 52px; padding: 14px !important; border: 0 !important; border-radius: 8px !important;
  background: rgb(59 130 246) !important; color: var(--ns-card) !important;
  font: 600 16px/24px var(--ns-widget-font) !important;
}
.puck-grid--ns-form .puck-contact-widget input:not([type="checkbox"]):focus-visible { outline: none; box-shadow: none; }
.puck-grid--ns-form .puck-contact-widget :is(button,input[type="checkbox"]):focus-visible {
  outline: 1px auto -webkit-focus-ring-color; outline-offset: 0;
}
.puck-grid--ns-form .puck-contact-widget input[type="checkbox"]:focus-visible { outline-offset: 2px; }
.puck-grid--ns-form .puck-contact-widget [data-cf="submit"]:hover { background: rgb(59 130 246) !important; }
@media (max-width: 480px) {
  .puck-grid--ns-form .puck-contact-widget { margin: 5px 0 !important; }
}
@media (min-width: 640px) { .puck-grid.puck-grid--ns-container { max-width: 640px; } }
@media (min-width: 768px) {
  .puck-grid.puck-grid--ns-container { max-width: 768px; }
  .puck-grid--ns-banner .puck-text h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--ns-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--ns-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--ns-container { max-width: 1536px; } }

/* Append-only Past Board fidelity layer. Only pb-* native components are owned.
   Original viewport evidence: generated-artifacts/recur-past-board/source-measurements.json. */
@font-face {
  font-family: "NAOBI Past Board Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Past Board Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Past Board Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--pb-"] {
  --pb-gold: hsl(45 100% 50%); --pb-dark: hsl(0 0% 10%);
  --pb-paper: hsl(40 20% 98%); --pb-muted: hsl(0 0% 40%); --pb-border: hsl(0 0% 90%);
  box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none;
  color: var(--pb-dark); font: 400 16px/24px "NAOBI Past Board Inter",sans-serif; letter-spacing: normal;
}
.puck-grid[class*="puck-grid--pb-"] .puck-grid-column { min-width: 0; }
.puck-grid.puck-grid--pb-banner,.puck-grid.puck-grid--pb-history {
  width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important;
  padding: 80px 0; background: var(--pb-paper);
}
.puck-grid.puck-grid--pb-banner { margin-top: -2rem !important; background: var(--pb-dark); color: var(--pb-gold); text-align: center; }
.puck-grid.puck-grid--pb-history { margin-bottom: -2rem !important; }
.puck-grid.puck-grid--pb-container { width: 100%; padding: 0 16px; margin: 0 auto; }
.puck-grid.puck-grid--pb-timeline { width: 100%; max-width: 896px; padding: 0 16px; margin: 0 auto; }
.puck-grid--pb-timeline > .puck-grid-column { display: flex; flex-direction: column; gap: 32px; }
.puck-grid[class*="puck-grid--pb-"] .puck-text {
  box-sizing: border-box; padding: 0 !important; margin: 0 !important; color: inherit;
  font: 400 16px/1.6 "NAOBI Past Board Inter",sans-serif; letter-spacing: normal;
}
.puck-grid[class*="puck-grid--pb-"] .puck-text p { padding: 0; margin: 0; font: inherit; }
.puck-grid[class*="puck-grid--pb-"] :is(h1,h3) {
  margin: 0 0 16px; padding: 0; color: var(--pb-muted);
  font: 700 14px/20px "NAOBI Past Board Playfair",serif;
  text-transform: uppercase; letter-spacing: .05em;
}
.puck-grid.puck-grid--pb-banner h1 {
  margin: 0 0 24px; font: 700 36px/40px "NAOBI Past Board Playfair",serif;
  letter-spacing: -.025em; text-transform: none; color: var(--pb-gold);
}
.puck-grid.puck-grid--pb-banner .puck-text p { max-width: 672px; margin: 0 auto; font-size: 20px; line-height: 1.6; color: hsl(45 100% 50% / .8); }
.puck-grid.puck-grid--pb-year {
  overflow: hidden; width: 100%; border: 1px solid var(--pb-border); border-radius: 12px;
  background: hsl(0 0% 100%); box-shadow: 0 1px 3px rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
}
.puck-card.puck-card--pb-year-title {
  display: block !important; box-sizing: border-box; width: 100%; margin: 0 !important;
  padding: 24px !important; border: 0; border-bottom: 1px solid var(--pb-border); border-radius: 0;
  background: hsl(0 0% 10% / .05) !important; color: var(--pb-dark);
  box-shadow: none !important; transform: none !important; transition: none; text-align: left;
}
.puck-card.puck-card--pb-year-title > div { padding: 0 !important; margin: 0; }
.puck-card.puck-card--pb-year-title .puck-card-title {
  display: flex; align-items: center; gap: 12px; margin: 0; padding: 0;
  font: 600 24px/32px "NAOBI Past Board Playfair",serif; letter-spacing: -.025em; color: var(--pb-dark);
}
/* Genuine date Card, not a carrier: its title remains native meaningful content.
   Decorative exact Lucide Users geometry; no literal icon-name text is emitted. */
.puck-card.puck-card--pb-year-title .puck-card-title::before {
  content: ""; flex: none; width: 24px; height: 24px; background: var(--pb-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3a4 4 0 0 1 0 8M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.puck-grid[class*="puck-grid--pb-body-"] { padding: 24px; }
.puck-grid.puck-grid--pb-exec .puck-text,
.puck-grid.puck-grid--pb-chairs .puck-text { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.puck-grid.puck-grid--pb-chairs .puck-text { gap: 12px; }
.puck-grid.puck-grid--pb-exec .puck-text p,
.puck-grid.puck-grid--pb-chairs .puck-text p {
  position: relative; box-sizing: border-box; min-width: 0; display: flex; flex-direction: column; justify-content: center;
  margin: 0; min-height: 88px; padding: 16px 16px 16px 88px; border-radius: 8px;
  font: 400 14px/1.6 "NAOBI Past Board Inter",sans-serif; color: var(--pb-gold);
  transition: background-color .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid.puck-grid--pb-exec .puck-text strong {
  display: block; font: 600 16px/1.6 "NAOBI Past Board Inter",sans-serif; color: var(--pb-dark);
}
.puck-grid.puck-grid--pb-exec .puck-text span,.puck-grid.puck-grid--pb-chairs .puck-text span { display: block; }
.puck-grid.puck-grid--pb-exec .puck-text p::before,
.puck-grid.puck-grid--pb-chairs .puck-text p::before {
  /* Static first character repeats the adjacent genuine name decoratively.
     CSS generated-content alternative text is empty: not a hidden text carrier. */
  content: var(--pb-initial) / ""; position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
  box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 50%; background: hsl(45 100% 50% / .1);
  color: var(--pb-gold); font: 700 16px/1.6 "NAOBI Past Board Inter",sans-serif;
}
.puck-grid.puck-grid--pb-chairs h3 { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--pb-border); }
.puck-grid.puck-grid--pb-chairs .puck-text p { min-height: 65.578125px; padding: 12px 12px 12px 64px; font-size: 12px; }
.puck-grid.puck-grid--pb-chairs .puck-text strong { display: block; color: var(--pb-dark); font: 500 14px/1.6 "NAOBI Past Board Inter",sans-serif; }
.puck-grid.puck-grid--pb-chairs .puck-text p::before { left: 12px; width: 40px; height: 40px; font-size: 14px; }
.puck-grid.puck-grid--pb-portraits { gap: 16px !important; align-items: stretch; }
.puck-grid--pb-portraits > .puck-grid-column { display: contents; }
.puck-grid.puck-grid--pb-person {
  border-radius: 8px; padding: 16px; transition: background-color .15s cubic-bezier(.4,0,.2,1);
}
.puck-grid--pb-person > .puck-grid-column { display: flex; align-items: center; gap: 16px; }
.puck-grid--pb-person .puck-text { min-width: 0; }
.puck-grid.puck-grid--pb-person .puck-text p { color: var(--pb-dark); font-size: 16px; font-weight: 600; line-height: 1.6; }
.puck-grid.puck-grid--pb-person .puck-text p + p { color: var(--pb-gold); font-size: 14px; font-weight: 400; }
.puck-grid--pb-person .puck-image {
  box-sizing: border-box; display: block; flex: none; width: 80px; height: 80px;
  padding: 0 !important; margin: 0 !important; overflow: hidden; border: 0; border-radius: 50%;
  box-shadow: 0 0 0 3px hsl(45 100% 50% / .2);
}
.puck-grid--pb-person .puck-image-img {
  display: block; width: 100% !important; height: 100% !important; max-width: none;
  margin: 0; padding: 0; border: 0; border-radius: 0 !important; object-fit: cover !important; object-position: center top;
}
.puck-grid.puck-grid--pb-note .puck-text p {
  margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--pb-border);
  font: italic 400 14px/1.6 "NAOBI Past Board Inter",sans-serif; color: var(--pb-muted);
}
.puck-grid.puck-grid--pb-empty .puck-text p {
  margin: 0; padding: 16px 0; text-align: center;
  font: italic 400 14px/1.6 "NAOBI Past Board Inter",sans-serif; color: var(--pb-muted);
}
@media (hover: hover) {
  .puck-grid.puck-grid--pb-person:hover,.puck-grid.puck-grid--pb-exec .puck-text p:hover,
  .puck-grid.puck-grid--pb-chairs .puck-text p:hover { background: hsl(40 10% 94% / .5); }
}
@media (min-width: 640px) {
  .puck-grid.puck-grid--pb-container { max-width: 640px; }
  .puck-grid.puck-grid--pb-portraits { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .puck-grid.puck-grid--pb-exec .puck-text,.puck-grid.puck-grid--pb-chairs .puck-text { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 768px) {
  .puck-grid.puck-grid--pb-container { max-width: 768px; }
  .puck-grid.puck-grid--pb-banner h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width: 1024px) { .puck-grid.puck-grid--pb-container { max-width: 1024px; } }
@media (min-width: 1280px) { .puck-grid.puck-grid--pb-container { max-width: 1280px; } }
@media (min-width: 1536px) { .puck-grid.puck-grid--pb-container { max-width: 1536px; } }
/* First initials are source-derived static decorative repeats, not extra records.
   nth-child addresses ordinary editorial paragraphs, in unchanged source order. */
.puck-grid--pb-body-2023 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2023 .puck-grid--pb-exec p:nth-child(2),
.puck-grid--pb-body-2022 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2022 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "K"; }
.puck-grid--pb-body-2023 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2022 .puck-grid--pb-exec p:nth-child(1),
.puck-grid--pb-body-2022 .puck-grid--pb-exec p:nth-child(3) { --pb-initial: "S"; }
.puck-grid--pb-body-2023 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "F"; }
.puck-grid--pb-body-2016 .puck-grid--pb-exec p:nth-child(1) { --pb-initial: "B"; }
.puck-grid--pb-body-2016 .puck-grid--pb-exec p:nth-child(2) { --pb-initial: "K"; }
.puck-grid--pb-body-2016 .puck-grid--pb-exec p:nth-child(3) { --pb-initial: "P"; }
.puck-grid--pb-body-2016 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "J"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(1) { --pb-initial: "K"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(2) { --pb-initial: "B"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(3),
.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(5) { --pb-initial: "M"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2013 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2012 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "T"; }
.puck-grid--pb-body-2014 .puck-grid--pb-exec p:nth-child(5) { --pb-initial: "S"; }
.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(4),.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(5),
.puck-grid--pb-body-2013 .puck-grid--pb-chairs p:nth-child(3),.puck-grid--pb-body-2012 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "S"; }
.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "M"; }
.puck-grid--pb-body-2014 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "V"; }
.puck-grid--pb-body-2013 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2012 .puck-grid--pb-chairs p:nth-child(1) { --pb-initial: "E"; }
.puck-grid--pb-body-2013 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "I"; }
.puck-grid--pb-body-2012 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "D"; }
.puck-grid--pb-body-2013 .puck-grid--pb-chairs p:nth-child(4),.puck-grid--pb-body-2012 .puck-grid--pb-chairs p:nth-child(4) { --pb-initial: "K"; }
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(1),
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "S"; }
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(2) { --pb-initial: "B"; }
.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2011 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "K"; }
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(3) { --pb-initial: "T"; }
.puck-grid--pb-body-2011 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2010 .puck-grid--pb-exec p:nth-child(5) { --pb-initial: "M"; }
.puck-grid--pb-body-2011 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2010 .puck-grid--pb-chairs p:nth-child(1) { --pb-initial: "L"; }
.puck-grid--pb-body-2011 .puck-grid--pb-chairs p:nth-child(2),.puck-grid--pb-body-2010 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "J"; }
.puck-grid--pb-body-2010 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "C"; }
.puck-grid--pb-body-2010 .puck-grid--pb-chairs p:nth-child(4) { --pb-initial: "A"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(1) { --pb-initial: "P"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(2) { --pb-initial: "F"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(3) { --pb-initial: "T"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(4) { --pb-initial: "K"; }
.puck-grid--pb-body-2009 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(6) { --pb-initial: "V"; }
.puck-grid--pb-body-2008 .puck-grid--pb-exec p:nth-child(5) { --pb-initial: "G"; }
.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(1) { --pb-initial: "E"; }
.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "S"; }
.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(3),.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(5),.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(5) { --pb-initial: "T"; }
.puck-grid--pb-body-2009 .puck-grid--pb-chairs p:nth-child(4),.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(4) { --pb-initial: "J"; }
.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "C"; }
.puck-grid--pb-body-2008 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "O"; }
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(1),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(1),
.puck-grid--pb-body-2004 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2003 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2002 .puck-grid--pb-chairs p:nth-child(1),.puck-grid--pb-body-2001 .puck-grid--pb-chairs p:nth-child(1) { --pb-initial: "L"; }
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(2),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(2),
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(3),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(3),
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(4),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(4),
.puck-grid--pb-body-2003 .puck-grid--pb-chairs p:nth-child(3),.puck-grid--pb-body-2002 .puck-grid--pb-chairs p:nth-child(3),.puck-grid--pb-body-2001 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "C"; }
.puck-grid--pb-body-2004 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2003 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2002 .puck-grid--pb-exec p:nth-child(5),.puck-grid--pb-body-2001 .puck-grid--pb-exec p:nth-child(5),
.puck-grid--pb-body-2004 .puck-grid--pb-chairs p:nth-child(2),.puck-grid--pb-body-2003 .puck-grid--pb-chairs p:nth-child(2),.puck-grid--pb-body-2002 .puck-grid--pb-chairs p:nth-child(2),.puck-grid--pb-body-2001 .puck-grid--pb-chairs p:nth-child(2) { --pb-initial: "B"; }
.puck-grid--pb-body-2004 .puck-grid--pb-chairs p:nth-child(3) { --pb-initial: "K"; }

/* Photo Gallery only. Exact source layout, not a redesign.
   Genuine Quill title hyperlinks own the native album panels' full hit areas. */
@font-face {
  font-family: "NAOBI PG Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI PG Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9g.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI PG Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--pg-"] {
  --pg-gold: hsl(45 100% 50%);
  --pg-dark: hsl(0 0% 10%);
  --pg-sans: "NAOBI PG Inter", sans-serif;
  --pg-heading: "NAOBI PG Playfair", serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--pg-sans); letter-spacing: normal; color: var(--pg-dark);
}
.puck-grid[class*="puck-grid--pg-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--pg-"] .puck-grid-column { min-width: 0; }
.puck-grid[class*="puck-grid--pg-"] .puck-text {
  margin: 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--pg-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--pg-"] :is(h1,h2,h3,p) { margin: 0; padding: 0; color: inherit; }
.puck-grid.puck-grid--pg-banner,
.puck-grid.puck-grid--pg-main { width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important; }
.puck-grid.puck-grid--pg-banner {
  margin-top: -2rem !important; padding: 80px 0; background: var(--pg-dark); color: var(--pg-gold); text-align: center;
}
.puck-grid.puck-grid--pg-main {
  margin-bottom: -2rem !important; padding: 64px 0; background: hsl(40 10% 94% / .3); text-align: center;
}
.puck-grid.puck-grid--pg-container { width: 100%; margin: 0 auto; padding: 0 16px; }
.puck-grid.puck-grid--pg-banner h1 {
  font: 700 36px/40px var(--pg-heading); letter-spacing: -.025em; margin-bottom: 24px !important; color: var(--pg-gold);
}
.puck-grid--pg-banner .puck-text p {
  max-width: 672px; margin: 0 auto; font: 400 20px/32px var(--pg-sans); color: hsl(45 100% 50% / .8);
}
.puck-grid--pg-main h2 {
  font: 700 30px/36px var(--pg-heading); letter-spacing: -.025em; margin-bottom: 16px !important;
}
.puck-grid--pg-intro .puck-text p {
  max-width: 576px; margin: 0 auto 8px; font: 400 16px/1.6 var(--pg-sans); color: hsl(0 0% 40%);
}
.puck-grid--pg-intro .puck-text p:last-child {
  margin-bottom: 40px; font: italic 400 14px/1.6 var(--pg-sans); font-synthesis: none;
}
.puck-grid--pg-intro .puck-text em { font: inherit; }
.puck-grid.puck-grid--pg-albums {
  width: 100%; max-width: 768px; margin: 0 auto; gap: 32px !important;
}
.puck-grid.puck-grid--pg-album {
  position: relative; padding: 32px; border: 1px solid hsl(0 0% 90%); border-radius: 16px;
  background: hsl(0 0% 100%); text-align: center;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);
  transition: all 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--pg-album > .puck-grid-column,
.puck-grid--pg-album .puck-text,
.puck-grid--pg-album .puck-text :is(h3,a,p) { position: static !important; }
/* The circle and camera are purely decorative source geometry. No empty Puck,
   literal icon-name text, hidden content or additional focus stop is involved. */
.puck-grid--pg-album .puck-text::before {
  content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 9999px;
  background: hsl(45 100% 50% / .1); transition: background-color 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--pg-album .puck-text::after {
  content: ""; position: absolute; top: 48px; left: calc(50% - 16px);
  width: 32px; height: 32px; pointer-events: none; background: var(--pg-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: background-color 150ms cubic-bezier(.4,0,.2,1);
}
.puck-grid--pg-album .puck-text h3 {
  font: 700 20px/28px var(--pg-heading); letter-spacing: -.025em; margin-bottom: 8px;
}
.puck-grid--pg-album .puck-text h3 a { font: inherit; color: inherit; text-decoration: none; }
.puck-grid--pg-album .puck-text h3 a::before {
  content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 16px; cursor: pointer;
}
.puck-grid--pg-album .puck-text p {
  font: 400 14px/1.6 var(--pg-sans); color: hsl(0 0% 40%); margin-bottom: 16px;
}
/* Match the source anchor's 16/24 outer line box and the inline-flex 14/22.4
   CTA baseline. The strong is ordinary visible Quill emphasis, not a control. */
.puck-grid--pg-album .puck-text p:last-child { font: 400 16px/24px var(--pg-sans); margin: 0; }
.puck-grid--pg-album .puck-text p:last-child strong {
  display: inline-flex; align-items: center; gap: 4px; color: var(--pg-gold); font: 600 14px/1.6 var(--pg-sans);
}
.puck-grid--pg-album .puck-text p:last-child strong::after {
  content: ""; display: block; flex-shrink: 0; width: 16px; height: 16px; background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.puck-grid--pg-album .puck-text a:focus-visible { outline: none; }
.puck-grid--pg-album:has(.puck-text a:focus-visible) { outline: 3px auto -webkit-focus-ring-color; outline-offset: 0; }
@media (hover:hover) {
  .puck-grid.puck-grid--pg-album:hover {
    border-color: hsl(45 100% 50% / .5);
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1);
  }
  .puck-grid--pg-album:hover .puck-text::before { background: var(--pg-gold); }
  .puck-grid--pg-album:hover .puck-text::after { background: var(--pg-dark); }
  .puck-grid--pg-album:hover .puck-text p:last-child strong { text-decoration: underline; }
}
@media (min-width:640px) { .puck-grid.puck-grid--pg-container { max-width: 640px; } }
@media (min-width:768px) {
  .puck-grid.puck-grid--pg-container { max-width: 768px; }
  .puck-grid.puck-grid--pg-banner h1 { font-size: 48px; line-height: 48px; }
  .puck-grid.puck-grid--pg-albums { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (min-width:1024px) { .puck-grid.puck-grid--pg-container { max-width: 1024px; } }
@media (min-width:1280px) { .puck-grid.puck-grid--pg-container { max-width: 1280px; } }
@media (min-width:1536px) { .puck-grid.puck-grid--pg-container { max-width: 1536px; } }

/* Privacy only: source-derived native Grid + Heading + cohesive Quill Text.
   No shared chrome or prior stylesheet changes. */
@font-face {
  font-family: "NAOBI Privacy Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Privacy Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--privacy-"] {
  --privacy-gold: hsl(45 100% 50%);
  --privacy-dark: hsl(0 0% 10%);
  --privacy-muted: hsl(0 0% 40%);
  --privacy-sans: "NAOBI Privacy Inter", sans-serif;
  --privacy-heading: "NAOBI Privacy Playfair", serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--privacy-sans); letter-spacing: normal; color: var(--privacy-dark);
}
.puck-grid[class*="puck-grid--privacy-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--privacy-"] > .puck-grid-column { min-width: 0; display: block; }
.puck-grid[class*="puck-grid--privacy-"] .puck-text {
  display: flow-root; margin: 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--privacy-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--privacy-"] :is(h1,h2,p,ul,li) {
  margin: 0; padding: 0; color: inherit;
}
.puck-grid.puck-grid--privacy-banner,
.puck-grid.puck-grid--privacy-main {
  width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important;
}
.puck-grid.puck-grid--privacy-banner {
  margin-top: -2rem !important; padding: 80px 0;
  background: hsl(45 100% 50% / .05); text-align: center;
}
.puck-grid.puck-grid--privacy-main {
  margin-bottom: -2rem !important; padding: 80px 0;
  background: hsl(40 20% 98%); text-align: left;
}
.puck-grid.puck-grid--privacy-title-container {
  width: 100%; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--privacy-banner h1 {
  font: 700 36px/40px var(--privacy-heading); letter-spacing: -.025em;
  margin: 0 0 24px !important; color: var(--privacy-dark);
}
.puck-grid.puck-grid--privacy-banner .puck-text p {
  max-width: 672px; margin: 0 auto; font: 400 20px/32px var(--privacy-sans);
  color: var(--privacy-muted);
}
.puck-grid.puck-grid--privacy-document {
  width: 100%; max-width: 768px; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--privacy-document .puck-text h2 {
  font: 700 24px/32px var(--privacy-heading); letter-spacing: -.025em;
  margin: 0 0 16px; color: var(--privacy-dark);
}
.puck-grid.puck-grid--privacy-document .puck-text p,
.puck-grid.puck-grid--privacy-document .puck-text li {
  font: 400 16px/1.6 var(--privacy-sans); letter-spacing: normal;
  color: var(--privacy-muted);
}
.puck-grid.puck-grid--privacy-document .puck-text p { margin: 0 0 24px; }
.puck-grid.puck-grid--privacy-document .puck-text p:has(+ ul) { margin-bottom: 16px; }
.puck-grid.puck-grid--privacy-document .puck-text strong { font-weight: 700; color: inherit; }
.puck-grid.puck-grid--privacy-document .puck-text ul {
  margin: 0 0 24px; padding: 0 0 0 24px; list-style: disc outside;
  font: 400 16px/24px var(--privacy-sans); color: var(--privacy-muted);
}
.puck-grid.puck-grid--privacy-document .puck-text li {
  display: list-item; margin: 0 0 8px; padding: 0; list-style: disc outside;
}
.puck-grid.puck-grid--privacy-document .puck-text li:last-child { margin-bottom: 0; }
.puck-grid.puck-grid--privacy-document .puck-text li::marker { color: inherit; }
.puck-grid.puck-grid--privacy-document .puck-text a {
  font: inherit; color: var(--privacy-gold); text-decoration: none; outline-offset: 1px;
}
.puck-grid.puck-grid--privacy-document .puck-text a:focus-visible {
  outline: 1px auto -webkit-focus-ring-color;
}
@media (hover:hover) {
  .puck-grid.puck-grid--privacy-document .puck-text a:hover { text-decoration: underline; }
}
@media (min-width:640px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 640px; }
}
@media (min-width:768px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 768px; }
  .puck-grid.puck-grid--privacy-banner h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width:1024px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 1024px; }
}
@media (min-width:1280px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 1280px; }
}
@media (min-width:1536px) {
  .puck-grid.puck-grid--privacy-title-container { max-width: 1536px; }
}

/* Terms only: source-derived native Grid + Heading + cohesive Quill Text.
   No shared chrome or prior stylesheet changes. */
@font-face {
  font-family: "NAOBI Terms Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwY.woff2") format("woff2");
}
@font-face {
  font-family: "NAOBI Terms Playfair"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
}
.puck-grid[class*="puck-grid--terms-"] {
  --terms-gold: hsl(45 100% 50%);
  --terms-dark: hsl(0 0% 10%);
  --terms-muted: hsl(0 0% 40%);
  --terms-sans: "NAOBI Terms Inter", sans-serif;
  --terms-heading: "NAOBI Terms Playfair", serif;
  display: grid; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important;
  box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none;
  font: 400 16px/24px var(--terms-sans); letter-spacing: normal; color: var(--terms-dark);
}
.puck-grid[class*="puck-grid--terms-"] :where(*) { box-sizing: border-box; }
.puck-grid[class*="puck-grid--terms-"] > .puck-grid-column { min-width: 0; display: block; }
.puck-grid[class*="puck-grid--terms-"] .puck-text {
  display: flow-root; margin: 0 !important; padding: 0 !important;
  font: 400 16px/24px var(--terms-sans); letter-spacing: normal; color: inherit;
}
.puck-grid[class*="puck-grid--terms-"] :is(h1,h2,p,ul,li) {
  margin: 0; padding: 0; color: inherit;
}
.puck-grid.puck-grid--terms-banner,
.puck-grid.puck-grid--terms-main {
  width: calc(100% + 4rem); max-width: none; margin: 0 -2rem !important;
}
.puck-grid.puck-grid--terms-banner {
  margin-top: -2rem !important; padding: 80px 0;
  background: hsl(45 100% 50% / .05); text-align: center;
}
.puck-grid.puck-grid--terms-main {
  margin-bottom: -2rem !important; padding: 80px 0;
  background: hsl(40 20% 98%); text-align: left;
}
.puck-grid.puck-grid--terms-title-container {
  width: 100%; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--terms-banner h1 {
  font: 700 36px/40px var(--terms-heading); letter-spacing: -.025em;
  margin: 0 0 24px !important; color: var(--terms-dark);
}
.puck-grid.puck-grid--terms-banner .puck-text p {
  max-width: 672px; margin: 0 auto; font: 400 20px/32px var(--terms-sans);
  color: var(--terms-muted);
}
.puck-grid.puck-grid--terms-document {
  width: 100%; max-width: 768px; margin: 0 auto; padding: 0 16px;
}
.puck-grid.puck-grid--terms-document .puck-text h2 {
  font: 700 24px/32px var(--terms-heading); letter-spacing: -.025em;
  margin: 0 0 16px; color: var(--terms-dark);
}
.puck-grid.puck-grid--terms-document .puck-text p,
.puck-grid.puck-grid--terms-document .puck-text li {
  font: 400 16px/1.6 var(--terms-sans); letter-spacing: normal;
  color: var(--terms-muted);
}
.puck-grid.puck-grid--terms-document .puck-text p { margin: 0 0 24px; }
.puck-grid.puck-grid--terms-document .puck-text p:has(+ ul) { margin-bottom: 16px; }
.puck-grid.puck-grid--terms-document .puck-text strong { font-weight: 700; color: inherit; }
.puck-grid.puck-grid--terms-document .puck-text ul {
  margin: 0 0 24px; padding: 0 0 0 24px; list-style: disc outside;
  font: 400 16px/24px var(--terms-sans); color: var(--terms-muted);
}
.puck-grid.puck-grid--terms-document .puck-text li {
  display: list-item; margin: 0 0 8px; padding: 0; list-style: disc outside;
}
.puck-grid.puck-grid--terms-document .puck-text li:last-child { margin-bottom: 0; }
.puck-grid.puck-grid--terms-document .puck-text li::marker { color: inherit; }
.puck-grid.puck-grid--terms-document .puck-text a {
  font: inherit; color: var(--terms-gold); text-decoration: none; outline-offset: 1px;
}
.puck-grid.puck-grid--terms-document .puck-text a:focus-visible {
  outline: 1px auto -webkit-focus-ring-color;
}
@media (hover:hover) {
  .puck-grid.puck-grid--terms-document .puck-text a:hover { text-decoration: underline; }
}
@media (min-width:640px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 640px; }
}
@media (min-width:768px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 768px; }
  .puck-grid.puck-grid--terms-banner h1 { font-size: 48px; line-height: 48px; }
}
@media (min-width:1024px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 1024px; }
}
@media (min-width:1280px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 1280px; }
}
@media (min-width:1536px) {
  .puck-grid.puck-grid--terms-title-container { max-width: 1536px; }
}


            /* PROTECTED footer bottom bar + Recur attribution (Task: protect
               bottom-bar styling from custom CSS). Emitted AFTER the tenant's
               custom CSS and with !important on every declaration so no
               custom CSS can restyle, shrink, hide, or recolor the bottom bar
               or the "Built by"/"Powered by" badge. Emitted in FULL for all
               site modes, including designer-owned (advanced custom-CSS). */
            /* Render class contract v1.11.0 — PROTECTED footer bottom bar + Recur attribution (emitted after custom CSS; not overridable). */
.site-footer .footer-bottom-bar {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
  margin-top: 1rem !important;
  border-top: 1px solid var(--color-border, #ddd) !important;
  padding: 0.5rem 0 0 !important;
  font-size: 0.6875rem !important;
  color: inherit !important;
  position: static !important;
  transform: none !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.site-footer .footer-bottom-bar .footer-bottom-bar-link {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  gap: 0.375rem !important;
  color: #4d4d4d !important;
  background: #ffffff !important;
  border-radius: 3px !important;
  padding: 2px 8px !important;
  text-decoration: none !important;
  font-size: 0.6875rem !important;
  position: static !important;
  transform: none !important;
  filter: none !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
  clip-path: none !important;
  transition: opacity 0.2s !important;
}
.site-footer .footer-bottom-bar .footer-bottom-bar-link svg {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 25px !important;
  width: auto !important;
  vertical-align: middle !important;
}
.site-footer .footer-bottom-bar .footer-bottom-bar-link:hover {
  opacity: 0.8 !important;
}
.site-footer .footer-bottom-bar .footer-cookie-settings {
  display: inline !important;
  visibility: visible !important;
  color: inherit !important;
  font: inherit !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  position: static !important;
  cursor: pointer !important;
  opacity: 0.8 !important;
}
.site-footer .footer-bottom-bar .footer-cookie-settings:hover {
  opacity: 1 !important;
  text-decoration: none !important;
}
.site-footer .footer-bottom-bar .footer-cookie-settings:focus-visible {
  opacity: 1 !important;
  outline: 2px solid currentColor !important;
  outline-offset: 3px !important;
  text-decoration: none !important;
}
          