
            /* @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=Roboto+Slab:wght@400;500;600;700;800&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&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: #00009c;
  --color-secondary: #131a5e;
  --color-accent: #7bb5e7;
  --color-secondaryAccent: #8b5cf6;
  --color-background: #ffffff;
  --color-surface: #f2f6fb;
  --color-text: #0f2a3a;
  --color-textSecondary: #4a6472;
  --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: #d7e2ef;
  --color-success: #1e7f4f;
  --color-warning: #b45309;
  --color-error: #b3261e;
  --font-primary: 'Roboto Slab', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-secondary: 'Roboto', 'Roboto Slab', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --content-max-width: 1200px;
}

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


:root {
  --ink: #0f2a3a;
  --ink-soft: #4a6472;
  --navy: #00009c;          /* brand royal blue */
  --navy-deep: #000074;     /* darker royal for depth */
  --blue-mid: #2a55c0;      /* bridge tone between royal and sky */
  --teal: #2a6db5;          /* accessible mid blue (links/icons on white) */
  --teal-bright: #7bb5e7;   /* brand sky blue */
  --sky: #7bb5e7;           /* brand sky blue */
  --sky-soft: #a8cef0;      /* lighter sky for button gradients */
  --indigo: #131a5e;        /* softened deep surface blue */
  --indigo-deep: #0b1044;   /* darkest surface blue */
  --green: #7bb5e7;         /* legacy alias -> sky */
  --green-soft: #a8cef0;    /* legacy alias -> soft sky */
  --surface: #f2f6fb;
  --surface-2: #e7eff9;
  --line: #d7e2ef;
  --white: #ffffff;
  --shadow-sm: 0 1px 2px rgba(0,0,120,.06), 0 2px 8px rgba(0,0,120,.05);
  --shadow-md: 0 6px 20px rgba(0,0,120,.10), 0 2px 6px rgba(0,0,120,.06);
  --shadow-lg: 0 20px 48px rgba(0,0,120,.16), 0 6px 16px rgba(0,0,120,.08);
  --radius: 16px;
  --radius-lg: 24px;
  /* dark band — indigo family */
  --grad-band: linear-gradient(135deg, var(--indigo-deep) 0%, var(--indigo) 55%, var(--blue-mid) 100%);
  --grad-btn: linear-gradient(180deg, var(--sky-soft), var(--sky));
  --grad-accent: linear-gradient(90deg, var(--navy), var(--teal-bright) 60%, var(--sky-soft));
  --pad-panel: 56px 48px;
  --maxw: 1160px;
  --font-head: 'Roboto Slab', Georgia, serif;
  --font-body: 'Roboto', system-ui, -apple-system, sans-serif;
  --t2: transform .2s ease, box-shadow .2s ease;
  --t18: transform .18s ease, box-shadow .18s ease;
  /* full-width: heroes bleed; non-hero capped at --maxw */
  --content-max-width: 100%;
  --header-max-width: var(--maxw);
  --footer-max-width: var(--maxw);
}/* ---------- base / rhythm ---------- */
body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}h1,h2,h3,h4,h5,h6{ font-family: var(--font-head); color: var(--ink); line-height: 1.15; letter-spacing: -0.01em; }a{ color: var(--navy); text-decoration: none; }a:hover{ color: var(--teal); }img{ max-width: 100%; }/* Cap the width of regular in-flow content; let heroes break out full-bleed */
.puck-text,.puck-grid,.puck-cta,.puck-flex,.recur-event-list,.recur-product-list,.recur-event-calendar,.page-title{
  max-width: var(--maxw);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}/* Designed section headers (.sh) */
.sh{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}.sh--center{ text-align: center; }.sh--left{ text-align: left; }.sh__title{
  font-family: var(--font-head);
  font-size: clamp(1.85rem, 3.6vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 18px;
  line-height: 1.15;
}/* Accent underline rule */
.sh__title::after{
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin-top: 14px;
  border-radius: 4px;
  background: var(--grad-accent);
}.sh--center .sh__title::after{ margin-inline: auto; }.sh--left   .sh__title::after{ margin-left: 0; }/* Lede paragraph — styled large and dark,constrained width. */
.sh__lede,.puck-text .sh__lede{
  font-size: 1.13rem;
  color: var(--ink);
  line-height: 1.78;
  max-width: 660px;
  margin: 0 auto;
  text-align: center;
}.sh--left .sh__lede,.puck-text .sh--left .sh__lede{ margin-left: 0; margin-right: 0; text-align: left; }/* h3 sub-section labels (Regional Directors,Associate Directors,etc.) */
.sh__sub{
  font-family: var(--font-head);
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 4px;
}/* Tour year headings — larger,navy */ .css-orphan-0{
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--teal);
}#puck-content>h2{ max-width: var(--maxw); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }#puck-content>h2{ font-size: clamp(2.3rem, 4.4vw, 3.2rem); font-weight: 800; letter-spacing: -0.02em; margin: 0 auto; text-align: center; }.puck-text{ color: var(--ink-soft); font-size: 1.075rem; }/* Default paragraph rhythm — ONLY for unclassed paragraphs. Classed */
.puck-text p:not([class]){ margin: 0 0 1em; }.puck-text a{ text-decoration: underline; text-underline-offset: 3px; }#puck-content>h2+.puck-text{
  /* Minimal gap so heading and its lede read as one unit */
  margin-top: 8px !important;
}#puck-content>h2+.puck-text p{
  font-size: 1.13rem;
  color: var(--ink);
  line-height: 1.75;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}/* Left-aligned section intro callout (WinterFest,Advocacy,Fund,Affinity) */
.section-intro-left{
  border-left: 4px solid var(--teal);
  padding: 24px 32px;
  background: var(--surface);
  border-radius: 0 var(--radius) var(--radius) 0;
  max-width: var(--maxw);
  margin: 0 auto;
  box-sizing: border-box;
}.section-intro-left__eyebrow{
  font-size: .72rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--navy);
  margin: 0 0 10px; display: block;
}.section-intro-left__title{
  font-family: var(--font-head);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 800; letter-spacing: -0.01em;
  color: var(--ink); margin: 0 0 12px; line-height: 1.2;
}.section-intro-left__body{
  color: var(--ink); font-size: 1.06rem;
  line-height: 1.75; margin: 0;
}.section-intro-left a{
  color: var(--teal); text-decoration: underline; text-underline-offset: 3px;
}.section-footnote{ color: var(--ink-soft); font-size: .95rem; text-align: center; }#puck-content>h2::after{
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: 14px;
  border-radius: 4px;
  background: var(--grad-accent);
  margin-left: auto;
  margin-right: auto;
}/* HERO */
.puck-hero{
  position: relative;
  color: var(--white);
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--indigo);
  background-size: cover;
  background-position: center;
  /* Break hero out of the main element's 2rem padding now that main is full-viewport-width. */
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-right: -2rem;
}.puck-hero::before{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(120deg, rgba(11,16,68,.78) 0%, rgba(19,26,94,.52) 45%, rgba(123,181,231,.28) 100%);
  z-index: 1;
}.puck-hero-content{
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto;
  padding: 38px 24px;
  text-align: center;
}.puck-hero-title{
  font-family: var(--font-head);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--white);
  font-size: clamp(2.2rem, 4.6vw, 3.4rem);
  line-height: 1.08;
  margin: 0 0 .5em;
  text-shadow: 0 2px 24px rgba(8,30,50,.35);
}.puck-hero-subtitle{
  color: rgba(255,255,255,.92);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  max-width: 44ch;
  margin: 0 auto;
}.multilingual-band-eyebrow,.mission-callout-label{
  display: inline-block;
  padding: 7px 16px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.3;
}.multilingual-band-eyebrow,.mission-callout-label{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.24);
  color: var(--teal-bright);
  margin: 0 0 18px;
}.puck-hero-cta{ margin-top: 30px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }.puck-hero-cta-primary,.puck-hero-cta-secondary{
  display: inline-block;
  padding: 14px 28px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 1rem;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}.puck-hero-cta-primary{
  background: var(--grad-btn);
  color: var(--navy-deep);
  box-shadow: 0 10px 24px rgba(123,181,231,.40);
}.puck-hero-cta-primary:hover{ transform: translateY(-2px); color: var(--navy-deep); box-shadow: 0 14px 30px rgba(123,181,231,.55); }.puck-hero-cta-secondary{
  background: rgba(255,255,255,.12);
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,.55);
  backdrop-filter: blur(2px);
}.puck-hero-cta-secondary:hover{ background: rgba(255,255,255,.22); color: var(--white); transform: translateY(-2px); }/* Split hero */
.puck-hero--split{ color: var(--white); background-color: var(--indigo); }.puck-hero--split::before{ background: linear-gradient(120deg, rgba(11,16,68,.92), rgba(42,85,192,.45)); }.puck-hero--split .puck-hero-content{ text-align: left; margin: 0; max-width: 620px; padding: 64px 40px; }.puck-hero--split .puck-hero-subtitle{ margin: 0; }/* Featured split blocks (mid-page,not the page hero): layered panel —
   contained rounded card,accent top bar,nested detail box,CTA divider. */
.puck-hero--split:not(:first-child){
  width: auto;
  max-width: var(--maxw);
  margin: 0 auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  /* clip image div to card's rounded corners */
  overflow: hidden;
  /* tighten height — override platform inline min-height */
  min-height: 0 !important;
}.puck-hero--split:not(:first-child)::before{
  /* text panel stays dark via background-color:var(--indigo); photo shows clear */
  background: transparent;
}.puck-hero--split:not(:first-child)::after{
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: var(--grad-accent);
  z-index: 3;
}/* Reduce content padding so card height hugs the text */
.puck-hero--split:not(:first-child) .puck-hero-content{
  padding: 40px 40px;
}/* Details box — clearly visible fill + stronger border */
.puck-hero--split:not(:first-child) .puck-hero-subtitle{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: var(--radius);
  padding: 18px 22px;
}.puck-hero--split:not(:first-child) .puck-hero-cta{
  border-top: 1px solid rgba(255,255,255,.18);
  padding-top: 20px;
  margin-top: 20px;
}/* Clean flat button — remove the blue glow */
.puck-hero--split:not(:first-child) .puck-hero-cta-primary{
  box-shadow: none;
  background: var(--white);
  color: var(--navy-deep);
}.puck-hero--split:not(:first-child) .puck-hero-cta-primary:hover{
  box-shadow: 0 4px 12px rgba(0,0,0,.22);
  transform: translateY(-1px);
  color: var(--navy-deep);
}.puck-hero-split-panel{ position: relative; z-index: 2; }.puck-hero-split-image{ object-fit: cover; width: 100%; height: 100%; }.puck-hero--split .puck-hero-cta{ justify-content: flex-start; }/* CARDS */
.puck-card{
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 32px 24px;
  box-shadow: var(--shadow-sm);
  position: relative;
  /* Fill allocated grid/flex height so sibling cards match */
  height: 100%;
  box-sizing: border-box;
  flex: 1 1 auto;
  /* Internal layout: flex-column so button can be pinned to the bottom */
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  overflow: hidden;
}.puck-card::before{
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--grad-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s ease;
}.puck-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--surface-2); }.puck-card:hover::before{ transform: scaleX(1); }/* Inner text wrapper — flex-grow so it fills remaining card height,making description + button pin consistently regardless of title length */
.puck-card > div{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}.puck-card-title{
  font-family: var(--font-head);
  font-size: 1.28rem;
  font-weight: 600;
  color: var(--ink);
  margin: 6px 0 10px;
}/* Description flexes to fill available space,pushing any button to the bottom */
.puck-card-description{
  color: var(--ink-soft);
  font-size: 1rem;
  white-space: pre-line;
  flex: 1 1 auto;
}/* Button/link anchored to bottom of card */
.puck-card-button,.puck-card a[class*="button"],.puck-card > a:not(.puck-card){
  margin-top: auto;
}/* Icon chip: icon always sits inside a soft rounded tinted square */
.puck-card .material-icons,.puck-card [class*="material-icons"],.puck-card [class*="material-symbols"]{
  color: var(--navy);
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  width: auto;
  box-sizing: content-box;
}.puck-card--featured .material-icons,.puck-card--featured [class*="material-icons"],.puck-card--featured [class*="material-symbols"]{
  color: var(--teal-bright);
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.22);
}.puck-card--minimal{ border: none; box-shadow: none; background: transparent; padding: 8px 0; }.puck-card--featured{color:var(--white)!important;background:linear-gradient(135deg,var(--navy),var(--blue-mid))!important;border:none!important}.puck-card--featured .puck-card-title,.puck-card--featured .puck-card-description{color:var(--white)!important}/* Generic image cards (non-person) */
.puck-card img{
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center top;
  border-radius: 12px;
  margin: -6px 0 18px;
  background: var(--surface-2);
}.puck-card:has(img){ text-align: center; padding-top: 28px; }.puck-card:has(img) .puck-card-title{ margin-top: 0; }.puck-card:has(img) .puck-card-description{ color: var(--ink-soft); font-size: .9rem; line-height: 1.5; }/* Board & director person cards */

/* Card shell — flex column so content can grow/fill equal height */
.puck-card--board,.puck-card--director{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 36px 24px 32px;
  gap: 0;
}/* Always-on top accent stripe */
.puck-card--board::before{ transform: scaleX(1); }/* Override the platform's fixed-height image wrapper */
.puck-card--board > div:first-child,.puck-card--director > div:first-child{
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}/* Circular avatar — 130 px,prominent teal ring */
.puck-card--board img,.puck-card--director img{
  width: 130px !important;
  height: 130px !important;
  border-radius: 50% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
  object-position: center top;
  display: block !important;
  margin: 0 auto !important;
  border: 4px solid var(--teal) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.18) !important;
  background: var(--surface-2);
  flex-shrink: 0;
}/* Text block — fill remaining height so cards line up at bottom */
.puck-card--board > div:last-child,.puck-card--director > div:last-child{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
}/* Role eyebrow — clear,well-spaced label above the name */
.puck-card--board .puck-card-eyebrow,.puck-card--director .puck-card-eyebrow{
  display: block;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--teal);
  margin: 0 0 10px;
  line-height: 1.3;
}/* Name — the primary visual anchor: larger,bolder */
.puck-card--board .puck-card-title,.puck-card--director .puck-card-title{
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 10px;
  line-height: 1.25;
}/* School / contact — clearly secondary: smaller and muted */
.puck-card--board .puck-card-description,.puck-card--director .puck-card-description{
  font-size: .82rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0;
  white-space: pre-line;
}/* Email links inside person cards */
.puck-card--board .puck-card-description a,.puck-card--director .puck-card-description a{
  color: var(--navy);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  transition: border-color .15s, color .15s;
}.puck-card--board .puck-card-description a:hover,.puck-card--director .puck-card-description a:hover{ color: var(--teal); border-color: var(--teal); }/* Strategic Plan for a Multilingual Illinois — dark featured band */
.multilingual-band{
  background: var(--grad-band);
  border-radius: var(--radius-lg);
  padding: var(--pad-panel);
  max-width: var(--maxw);
  margin: 0 auto;
  text-align: center;
}.multilingual-band-title{
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  letter-spacing: -0.02em;
  font-weight: 800;
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.2;
}.puck-text .multilingual-band p,.puck-text .multilingual-band-text,.multilingual-band p,.multilingual-band-text{
  color: rgba(255,255,255,.88);
  font-size: 1.05rem;
  line-height: 1.75;
  max-width: 680px;
  margin: 0 auto;
}/* Affiliate organization logo grid */
/* Equal-height cards inside native grids */
.puck-grid{ align-items: stretch; }.puck-grid-column{ display: grid; grid-auto-rows: 1fr; align-content: stretch; }.puck-grid-column > *{ width: 100%; }.puck-grid-column > .puck-card{ height: 100%; box-sizing: border-box; }.affiliate-logos{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 16px;
}.affiliate-logos a{
  display: flex; align-items: center; justify-content: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 24px 28px;
  height: 200px;
  text-align: center;
  color: var(--ink) !important;
  font-weight: 600; font-size: .92rem; line-height: 1.35;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}.affiliate-logos a:hover{ transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: var(--surface-2); }.puck-text .affiliate-logos img,.affiliate-logos img{
  max-height: 150px;
  max-width: 280px;
  width: auto;
  height: auto !important;
  object-fit: contain;
  margin: 0;
}/* Email / link inside icon-card descriptions (affiliates,contact,etc.) */
.puck-card-description a{ color: var(--teal); text-decoration: none; word-break: break-all; }.puck-card-description a:hover{ text-decoration: underline; }/* Region map — a single wide illustrative image,centered and framed. */
.board-region-map{
  display: block;
  width: 100%;
  max-width: 720px;
  height: auto;
  margin: 8px auto 0;
  border-radius: var(--radius);
  border: 1px solid var(--surface-2);
  box-shadow: var(--shadow-sm);
  background: var(--surface-2);
}/* Board Gatherings gallery — uniform responsive grid of square thumbnails. */
.board-gallery{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}.board-gallery img{
  display: block;
  width: 100% !important;   /* beat platform img { width: auto }*/
  height: auto;
  aspect-ratio: 1 / 1 !important; /* beat platform overrides */
  object-fit: cover;
  border-radius: 12px;
  background: var(--surface-2);
  box-shadow: var(--shadow-sm);
  transition: var(--t2);
}
.board-gallery img:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }
@media (max-width: 900px) {.board-gallery{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) {.board-gallery{ grid-template-columns: repeat(2, 1fr); } }/* GRID / FLEX layout */
/* Grid layout — equal-height card rows */
.puck-grid{ display: grid; gap: 26px; align-items: stretch; }/* Renderer stacks multiple blocks inside each column as .puck-grid-column.
   flex + align-items:stretch makes stacked cards share the column height. */
.puck-grid-column{
  display: grid;
  grid-auto-rows: 1fr;
  align-content: stretch;
  gap: 26px;
  background: transparent;
  padding: 0;
  min-height: 0;
}/* Cards inside columns must fill their allocated row */
.puck-grid-column .puck-card{
  align-self: stretch;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
/* Board page: equal card heights so cross-column rows align perfectly. */
@media (min-width: 901px) {.puck-card--board{ min-height: 430px; overflow: visible !important; }.puck-card--director{ min-height: 370px; overflow: visible !important; }
}.puck-grid:has(.puck-card--board) .puck-grid-column .puck-card,.puck-grid:has(.puck-card--director) .puck-grid-column .puck-card{
  flex-grow: 0 !important;
  height: auto !important;
  align-self: flex-start !important;
}/* Increase grid gap for person-card grids so headshots breathe */
.puck-grid:has(.puck-card--board),.puck-grid:has(.puck-card--director){
  gap: 36px 28px;
}/* Override platform's 1fr auto-rows — let cards take natural height so rows align across columns */
.puck-grid:has(.puck-card--board) .puck-grid-column,.puck-grid:has(.puck-card--director) .puck-grid-column{
  grid-auto-rows: auto !important;
  align-content: start !important;
}/* Contact form widget */
.puck-contact-widget{ margin-inline: auto; max-width: 680px; }.puck-contact-widget > div{
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 36px 40px; box-shadow: var(--shadow-md);
}.puck-contact-widget h3{
  font-family: var(--font-head); color: var(--navy); font-size: 1.6rem; margin: 0 0 6px;
}.puck-contact-widget h3 + p{ color: var(--ink-soft); margin: 0 0 26px; }.puck-contact-widget form{ text-align: left; }.puck-contact-widget label{
  font-weight: 600; color: var(--ink); font-size: .92rem; margin-bottom: 6px;
}.puck-contact-widget label span{ font-weight: 400; color: var(--ink-soft); }.puck-contact-widget input[type="text"],.puck-contact-widget input[type="email"],.puck-contact-widget input[type="tel"],.puck-contact-widget textarea{
  border: 1px solid var(--line); border-radius: 10px; background: var(--surface, #f2f6fb);
  padding: 11px 14px; font: inherit; color: var(--ink);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}.puck-contact-widget input:focus-visible,.puck-contact-widget textarea:focus-visible{
  outline: none; border-color: var(--blue-mid); background: var(--white);
  box-shadow: 0 0 0 3px rgba(123, 181, 231, .35);
}.puck-contact-widget textarea{ resize: vertical; min-height: 120px; }.puck-contact-widget [data-cf="challengeAnswer"] + p{
  color: var(--ink-soft); font-size: .85rem; margin: 6px 0 0;
}.puck-contact-widget input[type="checkbox"]{
  width: 18px; height: 18px; margin-top: 3px; accent-color: var(--navy);
}.puck-contact-widget label:has(input[type="checkbox"]){
  font-weight: 400; color: var(--ink-soft); font-size: .92rem;
}.puck-contact-widget [data-cf="error"]{
  color: var(--error, #b3261e); background: #fdecea; border: 1px solid #f4c7c3;
  border-radius: 10px; padding: 10px 14px; font-size: .92rem;
}.puck-contact-widget [data-cf="submit"]{
  background: var(--blue-mid); color: var(--white); border: 0; border-radius: 999px;
  padding: 14px 28px; font-weight: 600; font-family: var(--font-head); font-size: 1rem;
  cursor: pointer; transition: background .18s ease, transform .18s ease;
}.puck-contact-widget [data-cf="submit"]:hover{ background: var(--navy); transform: translateY(-1px); }.puck-flex{ display: flex; gap: 24px; flex-wrap: wrap; }/* STATS */
/* Full-bleed dark section */ .css-orphan-1{
  background: var(--grad-band);
  border-radius: 0;
  color: var(--white);
  max-width: none;
  width: calc(100% + 4rem);
  margin: 8px -2rem;
  padding: 72px 24px;
  box-shadow: none;
}/* Mission callout */
.mission-callout{
  background: var(--grad-band);
  border-radius: var(--radius-lg);
  padding: var(--pad-panel);
  text-align: center;
  position: relative;
  overflow: hidden;
}.mission-callout::before{
  content: '\201C';
  position: absolute;
  top: -20px;
  left: 24px;
  font-size: 9rem;
  line-height: 1;
  color: rgba(255,255,255,.08);
  font-family: var(--font-head);
  pointer-events: none;
}.puck-text .mission-callout-text,.mission-callout-text{
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  line-height: 1.65;
  color: #fff;
  max-width: 740px;
  margin: 0 auto;
  font-family: var(--font-head);
  font-weight: 400;
}/* CTA band */
/* Full-bleed dark section (color-blocked rhythm): CTA bands run edge-to-edge
   using the same padding-cancel technique as the hero. */
.puck-cta{
  background: var(--grad-band);
  color: var(--white);
  border-radius: 0;
  max-width: none;
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-right: -2rem;
  padding: 80px 24px;
  text-align: center;
  box-shadow: none;
  position: relative;
  overflow: hidden;
}.puck-cta > *{ max-width: var(--maxw); margin-inline: auto; }.puck-cta::after{
  content: "";
  position: absolute; right: -60px; top: -60px;
  width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(123,181,231,.35), transparent 70%);
}.puck-cta-title{ color: var(--white); font-size: clamp(1.9rem, 3.6vw, 2.6rem); font-weight: 800; letter-spacing: -0.02em; margin: 0 auto 12px; text-align: center; }.puck-cta-description{ color: rgba(255,255,255,.9); max-width: 60ch; margin: 0 auto 26px; font-size: 1.08rem; }.puck-cta-buttons{ display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }.puck-cta-primary,.puck-cta-secondary{
  display: inline-block; padding: 14px 28px; border-radius: 999px; font-weight: 600; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}/* CTA primary: white button on dark navy band — high contrast,clearly primary */
.puck-cta-primary{
  background: var(--white) !important;
  color: var(--navy-deep) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
  font-weight: 700;
}.puck-cta-primary:hover{ transform: translateY(-2px); box-shadow: 0 14px 32px rgba(0,0,0,.35); color: var(--navy-deep) !important; }/* CTA secondary: ghost/outline,white border on dark */
.puck-cta-secondary{ background: rgba(255,255,255,.10) !important; color: var(--white) !important; border: 1.5px solid rgba(255,255,255,.65) !important; }.puck-cta-secondary:hover{ background: rgba(255,255,255,.22) !important; color: var(--white) !important; }/* BUTTONS (generic) */
.puck-button{
  display: inline-block; padding: 12px 26px; border-radius: 999px;
  background: var(--navy); color: var(--white); font-weight: 600;
  transition: transform .18s ease, background .18s ease;
}.puck-button:hover{ background: var(--teal); color: var(--white); transform: translateY(-2px); }/* ---------- Pill buttons authored in Text blocks (About,Sponsorship,etc.) ----------
   One shared button system so hand-authored pages match component buttons. */
.btn-row{ display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }.btn-pill{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 26px; border-radius: 999px;
  background: var(--navy); color: var(--white) !important;
  font-weight: 600; font-size: .95rem; text-decoration: none !important;
  transition: background .18s ease, transform .18s ease;
}.btn-pill:hover{ background: var(--teal); color: var(--white); transform: translateY(-2px); }.btn-pill--alt{ background: var(--teal); }.btn-pill--alt:hover{ background: var(--navy); }/* Sponsor logo rows share the affiliate logo treatment */
.sponsor-logos{
  display: flex; flex-wrap: wrap; gap: 28px;
  justify-content: center; align-items: stretch; padding: 8px 0;
  max-width: 1080px; margin: 0 auto;
}.sponsor-logos img,.puck-text .sponsor-logos img{
  box-sizing: border-box;
  width: 300px; height: 170px !important; object-fit: contain;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px 32px;
  box-shadow: var(--shadow-sm);
  transition: var(--t2);
}.sponsor-logos img:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); }
@media (max-width: 700px) {.sponsor-logos{ gap: 16px; }.sponsor-logos img,.puck-text .sponsor-logos img{ width: calc(50% - 8px); height: 130px !important; padding: 18px; }
}.section-footnote{ text-align: center; color: var(--ink-soft); font-size: .9rem; margin-top: 16px; }/* IMAGES */
.puck-image-img{ border-radius: var(--radius); box-shadow: var(--shadow-md); }.puck-image-caption{ color: var(--ink-soft); font-size: .9rem; text-align: center; margin-top: 8px; }/* SITE HEADER */
.site-header{
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}.header-grid{ max-width: none !important; width: 100%; margin: 0; padding: 14px 48px; box-sizing: border-box; }.header-logo-img{ max-height: 46px; }.nav-menu{ display: flex; gap: 2px; align-items: center; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }.nav-link{
  color: var(--ink); font-weight: 500; font-size: .88rem;
  padding: 9px 10px; border-radius: 8px;
  transition: background .16s ease, color .16s ease;
  /* Pre-set transparent underline so :visited can reveal it without layout shift */
  border-bottom: 2px solid transparent;
}/* Visited nav links: navy underline + navy text tint so users can see where they've been */
.nav-link:visited{ color: var(--navy); border-bottom-color: var(--navy); }.nav-link:hover{ background: var(--surface-2); color: var(--navy); border-bottom-color: transparent; }.nav-link:visited:hover{ background: var(--surface-2); color: var(--navy); border-bottom-color: transparent; }/* Force desktop top-level nav into a single row at 1280px. */
.desktop-nav > ul{
  column-gap: 4px !important;
  flex-wrap: nowrap !important;
}.desktop-nav > ul > li > a,.desktop-nav > ul > li > button{
  font-size: .88rem !important;
  padding: 9px 11px !important;
}.nav-link:hover{ background: var(--surface-2); color: var(--navy); }.nav-link-dropdown{ position: relative; }/* Thin line chevron — drawn with borders,replacing the platform's ▼ glyph */
/* Replace the platform's ▼ glyph with Material Symbols Rounded expand_more */
.dropdown-arrow{
  font-size: 0;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-left: 2px;
}.dropdown-arrow::after{
  content: '\e5cf';                    /* expand_more */
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-size: 15px;
  line-height: 1;
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 20;
  opacity: .75;
}.nav-dropdown{
  position: absolute; top: 100%; left: 0; min-width: 240px; z-index: 60;
  background: var(--white); border: 1px solid var(--line); border-radius: 12px;
  box-shadow: var(--shadow-lg); padding: 8px; margin-top: 6px;
  list-style: none;
}.nav-dropdown .nav-link{ display: block; padding: 10px 14px; border-radius: 8px; font-weight: 500; }.nav-dropdown .nav-link:hover{ background: var(--surface-2); color: var(--navy); }/* Second-level (flyout) submenus — the renderer only styles one dropdown level,*/
.nav-dropdown .nav-link-dropdown{ position: relative; }/* The nested ul is a SIBLING of the anchor inside li.nav-item-nested,so the */
.nav-dropdown .nav-item-nested{ position: relative; }.nav-dropdown .nav-item-nested > .nav-link,.nav-dropdown .nav-item-nested > a,.nav-dropdown .nav-link-dropdown > .nav-link,.nav-dropdown .nav-link-dropdown > a{
  display: block; width: 100%; box-sizing: border-box;
  font-weight: 700; color: var(--navy); text-transform: uppercase;
  letter-spacing: .04em; font-size: .82rem;
}/* Flyout (nested) arrows point right */
.nav-dropdown .dropdown-arrow::after{
  content: '\e5cc';                    /* chevron_right */
  float: right;
}.nav-dropdown .nav-dropdown{
  top: -9px; left: 100%; margin: 0 0 0 8px; min-width: 250px;
}/* Invisible hover bridges so the pointer can cross the visual gaps without
   the menu closing: 8px below the top-level nav item,8px beside a flyout. */
.nav-dropdown::before{
  content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px;
}.nav-dropdown .nav-dropdown::before{
  top: 0; bottom: 0; height: auto; left: -10px; right: auto; width: 10px;
}.nav-dropdown .nav-item-nested:hover > .nav-dropdown,.nav-dropdown .nav-item-nested:focus-within > .nav-dropdown,.nav-dropdown .nav-link-dropdown:hover > .nav-dropdown,.nav-dropdown .nav-link-dropdown:focus-within > .nav-dropdown{ display: block; }.nav-dropdown .nav-dropdown .nav-link{
  font-weight: 500; color: var(--ink); text-transform: none; letter-spacing: 0; font-size: .95rem;
}.nav-dropdown .nav-dropdown .nav-link::after{ content: none; }.header-cta-button{
  display: inline-block; background: linear-gradient(180deg, var(--navy), var(--navy-deep));
  color: var(--white); font-weight: 600; padding: 11px 22px; border-radius: 999px;
  box-shadow: 0 8px 20px rgba(11,79,138,.28); transition: transform .18s ease;
}.header-cta-button:hover{ transform: translateY(-2px); color: var(--white); }.page-title{ font-family: var(--font-head); color: var(--ink); }/* Mobile nav */
.mobile-nav{ background: var(--white); border-top: 1px solid var(--line); }.mobile-nav .nav-link{ display: block; padding: 12px 20px; border-radius: 0; }/* Bold hierarchy: site name + top-level items bold,sub-items normal */
.mobile-nav-title{ font-family: var(--font-head); font-weight: 700; font-size: 1rem; color: var(--ink); }.mobile-nav > ul > li > a{ font-weight: 700 !important; color: var(--ink) !important; }.mobile-nav ul ul.mobile-nav-sub li a{ font-weight: 400 !important; color: var(--ink-soft) !important; }/* SITE FOOTER */
.site-footer{
  background: linear-gradient(180deg, var(--indigo), var(--indigo-deep));
  color: rgba(255,255,255,.82);
  margin-top: 0;
  padding-top: 72px;
  position: relative;
}.site-footer::before{
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--grad-accent);
}.site-footer a{ color: rgba(255,255,255,.82); }.site-footer a:hover{ color: var(--green-soft); }.site-footer-content{
  max-width: 1040px; margin: 0 auto; padding: 0 24px 28px;
  display: grid; grid-template-columns: 1.8fr 1fr 1.4fr 1fr; gap: 48px; box-sizing: border-box;
}.site-footer-title{ font-family: var(--font-head); font-weight: 500; color: var(--teal-bright); font-size: 1.05rem; margin: 0 0 14px; letter-spacing: .04em; }/* Replace the "ICTFL" text heading in the first footer column with the logo image */
.site-footer-section:first-child .site-footer-title{
  display: block;
  width: 96px;
  height: 56px;
  background: url('/media/ictfl/variant/62f3c56e-002f-4820-a321-28f3c0a60b0a') no-repeat left center;
  background-size: contain;
  font-size: 0;
  color: transparent;
  margin-bottom: 18px;
}.site-footer-text{ color: rgba(255,255,255,.72); font-size: .95rem; line-height: 1.7; }.site-footer-links{ list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }.site-footer .site-footer-links li{ list-style: none; }.site-footer-contact{ font-size: .95rem; line-height: 1.8; }.footer-bottom-bar{
  max-width: var(--maxw); margin: 0 auto; padding: 16px 24px 20px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,.14);
}.footer-bottom-bar-copy{ color: rgba(255,255,255,.72); font-size: .88rem; }.site-footer a.footer-bottom-bar-link{
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--white); color: #23305a;
  border-radius: 6px; padding: 6px 12px; font-size: .82rem; font-weight: 600;
  box-shadow: 0 1px 3px rgba(0,0,20,.25); text-decoration: none;
  transition: var(--t18);
}.site-footer a.footer-bottom-bar-link:hover{ color: #23305a; transform: translateY(-1px); box-shadow: 0 3px 8px rgba(0,0,20,.3); }.footer-bottom-bar-link svg{ display: inline-block; vertical-align: middle; }/* RECUR RUNTIME WIDGETS (events / products / calendar) */
/* Event list: full-bleed soft surface band for light/dark section rhythm */
.recur-event-list{
  max-width: none;
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-right: -2rem;
  padding: 64px 24px;
  background: var(--surface);
}.recur-event-list-title,.recur-product-list-title{ font-family: var(--font-head); color: var(--ink); text-align: center; font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -0.02em; }.recur-event-list-grid,.recur-product-list-grid{ display: grid !important; flex-direction: unset !important; grid-template-columns: repeat(3, 1fr) !important; gap: 26px; max-width: var(--maxw); margin: 0 auto; align-items: stretch; }.recur-event-list-empty,.recur-product-list-empty{
  max-width: 620px; margin: 8px auto; text-align: center; color: var(--ink-soft);
  background: var(--surface); border: 1px dashed var(--line); border-radius: var(--radius); padding: 40px 28px;
}/* Event/product cards fill their grid cell height */
.recur-event-card,.recur-product-card{ height: 100%; }.recur-event-card,.recur-product-card{
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-sm); overflow: hidden; display: flex; flex-direction: column;
  transition: var(--t2);
}.recur-event-card:hover,.recur-product-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }.recur-event-card-image,.recur-product-card-image{ width: 100%; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain; background: var(--surface); display: block; flex-shrink: 0; }/* Catch any platform wrapper that may clip the image */
.recur-event-card img,.recur-product-card img{ height: auto !important; max-height: none !important; }/* Body fills remaining card height so "Learn more" always pins to the bottom */
.recur-event-card-body,.recur-product-card-body{ padding: 22px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }/* Title grows to fill available space,pushing date + button downward */
.recur-event-card-title,.recur-product-card-title{ font-family: var(--font-head); font-size: 1.2rem; color: var(--ink); flex: 1 1 auto; }.recur-event-card-date{ color: var(--teal); font-weight: 600; font-size: .9rem; }.recur-product-card-price{ color: var(--navy); font-weight: 600; font-size: 1.15rem; }.recur-event-card-description,.recur-product-card-description{ color: var(--ink-soft); font-size: .96rem; }.recur-event-card-button,.recur-product-card-button,.recur-event-modal-button{
  margin-top: auto; align-self: flex-start; display: inline-block;
  background: var(--navy); color: var(--white); font-weight: 600;
  padding: 10px 20px; border-radius: 999px; transition: background .18s ease, transform .18s ease;
}.recur-event-card-button:hover,.recur-product-card-button:hover{ background: var(--teal); color: var(--white); transform: translateY(-1px); }/* Calendar */
.recur-event-calendar-title{ font-family: var(--font-head); color: var(--ink); text-align: center; }.recur-event-calendar-day{ border: 1px solid var(--line); min-width: 0; }/* The renderer's inline grid uses repeat(7,1fr); with nowrap chip titles,1fr's */
.recur-event-calendar [style*="grid-template-columns"]{
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}.recur-event-calendar-event{
  background: var(--teal); color: var(--white); border-radius: 6px; padding: 2px 6px; font-size: .8rem;
  text-overflow: ellipsis; max-width: 100%;
}/* Mouseover reveals the full title as an overlay anchored to the day cell
   (which is position:relative),without disturbing the grid. */
.recur-event-calendar-event:hover,.recur-event-calendar-event:focus-visible{
  position: absolute; left: 2px; min-width: calc(100% - 4px); width: max-content !important;
  max-width: 320px; white-space: normal !important; z-index: 30;
  background: var(--navy); box-shadow: var(--shadow-md); padding: 6px 10px;
}.recur-event-modal-title{ font-family: var(--font-head); color: var(--ink); }/* The global inline-style stripper (added for the contact form) removes the */
#recur-event-modal-overlay{ background: rgba(15, 42, 58, .55); padding: 20px; }#recur-event-modal{
  background: var(--white); border-radius: var(--radius); padding: 26px 28px;
  box-shadow: var(--shadow-md); border: 1px solid var(--line);
}.puck-text .wsite-section-wrap,.puck-text .wsite-section,.puck-text .wsite-elements,.puck-text .container{
  border: 0 !important; outline: 0 !important; box-shadow: none !important;
  background: transparent !important; margin: 0; padding: 0; width: auto; max-width: none;
}.puck-text .wsite-not-footer{ padding: 0; }/* Content section titles inside reproduced pages */
.puck-text h2.wsite-content-title,.puck-text .wsite-content-title{
  font-family: var(--font-head);
  color: var(--ink);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  line-height: 1.2;
  font-weight: 700;
  margin: 1.6em 0 .5em;
}.puck-text .wsite-content-title:first-child{ margin-top: 0; }/* Titles that are links — remove browser underline,style as plain heading */
.puck-text a.wsite-content-title,.puck-text a h2.wsite-content-title,.puck-text h2.wsite-content-title a{
  text-decoration: none !important;
  color: var(--ink) !important;
}.puck-text a.wsite-content-title:hover,.puck-text h2.wsite-content-title a:hover{ color: var(--navy) !important; }/* Body paragraphs */
.puck-text .paragraph{ color: var(--ink-soft); font-size: 1.06rem; margin: 0 0 1em; }.puck-text .paragraph:last-child{ margin-bottom: 0; }.puck-text ul,.puck-text ol{ color: var(--ink-soft); padding-left: 1.4em; margin: 0 0 1em; }.puck-text li{ margin: .35em 0; }/* Divider */
.puck-text hr{
  border: 0; height: 3px; margin: 2em 0;
  background: var(--grad-accent);
  border-radius: 3px; opacity: .8;
}/* All images inside text blocks: fully responsive,override any HTML width/height attrs */
.puck-text img{
  max-width: 100% !important;
  height: auto !important;
  width: auto;
  display: inline-block;
  vertical-align: middle;
}/* Images + wrappers */
.puck-text .wsite-image{ display: block; margin: 1.2em auto; text-align: center; }.puck-text .wsite-image img{ border-radius: var(--radius); box-shadow: var(--shadow-sm); }.puck-text .wsite-image div{ color: var(--ink-soft); font-size: .9rem; margin-top: 6px; }.puck-text .wsite-multicol-table{
  display: block !important;
  width: 100%;
  border: none !important;
  box-shadow: none !important;
}.puck-text .wsite-multicol-table{ display: block !important; }/* Content tables (data tables only — schedules,fee grids,etc.)
   Any table that still has border="1" after cleanup is a genuine data table. */
.puck-text table:not(.wsite-multicol-table){
  border-collapse: collapse; width: 100%; margin: 1.4em 0; font-size: .98rem;
  box-shadow: var(--shadow-sm); border-radius: var(--radius); overflow: hidden;
}.puck-text table:not(.wsite-multicol-table) th,.puck-text table:not(.wsite-multicol-table) td{
  border: 1px solid var(--line); padding: 10px 14px; text-align: left; vertical-align: top;
}.puck-text table:not(.wsite-multicol-table) th{ background: var(--surface-2); color: var(--ink); font-weight: 600; }.puck-text table:not(.wsite-multicol-table) tr:nth-child(even) td{ background: var(--surface); }/* Sponsor/logo image rows (grid of images */ .css-orphan-2{ border-radius: var(--radius); box-shadow: var(--shadow-sm); }

/* RESPONSIVE */
@media (max-width: 900px) {.multilingual-band,.mission-callout{ padding: 40px 24px; }.recur-event-list-grid,.recur-product-list-grid{ grid-template-columns: repeat(2, 1fr); }.site-footer-content{ grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 600px) {/* Heroes: never taller than the phone screen; size to content instead of the */
  .puck-hero{ min-height: 0 !important; }.puck-hero-content{ padding: 52px 20px; }.puck-hero-title{ font-size: 1.65rem; line-height: 1.25; }.puck-hero-subtitle{ font-size: .98rem; }.recur-event-list-grid,.recur-product-list-grid{ grid-template-columns: 1fr; }.site-footer-content{ grid-template-columns: 1fr; }.puck-cta{ padding: 48px 24px; }.recur-event-list{ padding: 44px 20px; }.puck-hero--split .puck-hero-content{ padding: 44px 24px; }
}/* ------------------------------------------------------------ */

.puck-text .wsite-elements,.puck-text .wsite-not-footer{ display: contents; }.puck-text .container,.puck-text .banner{ display: block; padding: 0; margin: 0; border: 0; background: transparent; max-width: none; }/* Level 1: major section header — near-black,large,generous rhythm */
.puck-text h2.wsite-content-title{
  font-family: var(--font-head);
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  font-weight: 900;
  /* Near-black — NOT navy/teal so color stays reserved for interactive only */
  color: var(--indigo-deep);
  letter-spacing: -0.025em;
  line-height: 1.15;
  /* 80px above each major section for generous rhythm */
  margin: 80px 0 24px;
  padding: 0;
  border: 0;
  display: block;
  text-decoration: none;
  outline: none;
  position: relative;
}/* Thin teal accent bar above (visual anchor,not a full underline) */
.puck-text h2.wsite-content-title::before{
  content: '';
  display: block;
  width: 36px;
  height: 3px;
  background: var(--teal);
  border-radius: 2px;
  margin-bottom: 14px;
}.puck-text h2.wsite-content-title:first-child{ margin-top: 0; }.puck-text h2.wsite-content-title:first-child::before{ display: none; }/* Strip editor junk */
.puck-text h2.wsite-content-title u{ text-decoration: none; }.puck-text h2.wsite-content-title span{ display: inline; }/* Level 2: sub-section label — small caps label,teal,clearly subordinate */
.puck-text p strong:only-child,.puck-text p > strong:first-child:last-child{
  display: block;
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 700;
  color: var(--teal);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin: 2em 0 .5em;
  padding: 0;
}/* Level 3: body copy — comfortable reading */
.puck-text .paragraph,.puck-text p{
  font-size: .95rem;
  line-height: 1.72;
  color: var(--ink);
  margin: 0 0 1em;
}.puck-text .paragraph:last-child,.puck-text p:last-child{ margin-bottom: 0; }/* Reading width — constrain standalone body copy (not photo grids) */
.puck-text > .paragraph,.puck-text > p{ max-width: 720px; }/* 3. BUTTONS — teal only */ .css-orphan-3{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  background: var(--teal);
  color: #fff !important;
  border-radius: 100px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .88rem;
  text-decoration: none !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(0,0,160,.14);
  margin: 6px 10px 6px 0;
  transition: background .2s, transform .15s, box-shadow .15s;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: .01em;
}.puck-text .wsite-multicol-table{
  border: 0 !important;
  border-collapse: collapse !important;
  display: block !important;
  width: 100%;
  margin-bottom: 0;
}/* Photo row — featured first image */ .css-orphan-4{
  gap: 3px;
  padding: 0;
  background: var(--line);
  align-items: stretch;
}/* Inline logos / badges (inside paragraph) — natural ratio */ .css-orphan-5{
  aspect-ratio: auto;
  max-height: 200px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  filter: none;
  border-radius: 0;
  margin: 0 auto 8px;
  display: block;
}.puck-text .wsite-image{ display: block; border: 0; }.puck-text ol{
  list-style: none;
  padding: 0;
  margin: 0 0 2em;
  counter-reset: step-counter;
  /* Left rail */
  border-left: 2px solid var(--line);
  margin-left: 20px;
}.puck-text ol li{
  counter-increment: step-counter;
  position: relative;
  /* Pull content away from the rail */
  padding: 0 0 32px 36px;
  margin: 0;
  background: transparent;
  border: 0;
  font-size: .93rem;
  line-height: 1.7;
  color: var(--ink);
}.puck-text ol li:last-child{ padding-bottom: 0; }/* Numbered circle — sits ON the rail */
.puck-text ol li::before{
  content: counter(step-counter);
  position: absolute;
  /* Align circle center to the rail (2px left border, circle 32px wide) */
  left: -17px;
  top: 0;
  width: 32px;
  height: 32px;
  background: var(--teal);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: .78rem;
  /* White ring to separate from the rail line */
  box-shadow: 0 0 0 3px var(--white);
  z-index: 1;
}/* Nested ol — subordinate sub-steps,NO badge,simple lettered indent */
.puck-text ol li ol{
  border: 0;
  margin-left: 0;
  padding-left: 0;
  margin-top: 10px;
  counter-reset: sub-step-counter;
}.puck-text ol li ol li{
  counter-increment: sub-step-counter;
  padding: 4px 0 4px 28px;
  margin: 0 0 2px;
  font-size: .84rem;
  color: var(--ink-soft);
  background: transparent;
  border: 0;
}.puck-text ol li ol li::before{
  content: counter(sub-step-counter, lower-alpha) '.';
  position: absolute;
  left: 0;
  top: 4px;
  width: auto;
  height: auto;
  background: transparent;
  color: var(--teal);
  border-radius: 0;
  display: inline;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .84rem;
  box-shadow: none;
}.puck-text ol li ol li > *{ background: transparent; padding: 0; border-radius: 0; }.puck-text ul{
  list-style: none;
  padding: 0;
  margin: 0 0 1.5em;
}.puck-text ul li{
  position: relative;
  padding: 13px 18px 13px 50px;
  margin: 0 0 8px;
  background: var(--surface);
  border-radius: 12px;
  font-size: .93rem;
  line-height: 1.65;
  color: var(--ink);
}.puck-text ul li::before{
  content: '';
  position: absolute;
  left: 17px;
  top: 19px;
  width: 8px;
  height: 8px;
  background: var(--teal);
  border-radius: 50%;
}

/* 12. RESPONSIVE */
@media (max-width: 760px) {.puck-text h2.wsite-content-title{ margin-top: 56px; font-size: 1.4rem; }.puck-text ol{ margin-left: 14px; }.puck-text ol li::before{ left: -15px; width: 28px; height: 28px; font-size: .72rem; }
}/* ------------------------------------------------------------ */

/* 1. Section background rhythm */
.puck-grid:nth-of-type(2n),.puck-grid:nth-of-type(2n)+.puck-grid{
  background: var(--surface);
  padding-top: 40px;
  padding-bottom: 40px;
  border-radius: var(--radius);
}/* Cards inside surface-bg bands: keep white so they pop */
.puck-grid:nth-of-type(2n) .puck-card,.puck-grid:nth-of-type(2n)+.puck-grid .puck-card{ background: var(--white); }/* 2. Icon-led section headers */
.sh__icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--teal);
  font-size: 28px;
  margin: 0 0 18px;
  flex-shrink: 0;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}.sh--center .sh__icon{ margin-inline: auto; }.sh--left .sh__icon{ margin-left: 0; }/* Remove the old ::after underline bar when icon is present — icon anchors the section */
.sh--icon .sh__title::after{ display: none; }/* 3. Person-card placeholder (no photo) */
.puck-card--board:not(:has(img)) .puck-card > div:first-child,.puck-card--director:not(:has(img)) .puck-card > div:first-child{
  width: 130px !important;
  height: 130px !important;
  border-radius: 50% !important;
  background: var(--surface-2) !important;
  border: 4px solid var(--line) !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
}.puck-card--board:not(:has(img)) [class*="material-symbols"],.puck-card--director:not(:has(img)) [class*="material-symbols"]{
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  color: var(--ink-soft) !important;
  font-size: 52px !important;
  padding: 0 !important;
  box-sizing: content-box !important;
  box-shadow: none !important;
}/* 5. Past-recipients accordion */
.wsite-accordion{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-top: 28px;
  overflow: hidden;
}.wsite-accordion[open]{ box-shadow: var(--shadow-sm); }.wsite-accordion__trigger{
  display: list-item;
  list-style: none;
  padding: 16px 24px;
  background: var(--surface);
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 700;
  color: var(--teal);
  cursor: pointer;
  user-select: none;
  transition: background .15s;
}.wsite-accordion__trigger::-webkit-details-marker{ display: none; }.wsite-accordion__trigger:hover{ background: var(--surface-2); }.wsite-accordion[open] .wsite-accordion__trigger{ border-bottom: 1px solid var(--line); }/* 6. Restrained color discipline */
.puck-card--board img,.puck-card--director img{ border-color: var(--surface-2) !important; }/* 7. Procedural-section collapse (TOY award pages) */
.wsite-proc-section{
  border-left: 3px solid var(--teal);
  border-radius: 0 var(--radius) var(--radius) 0;
  margin: 1em 0;
  background: var(--white);
}.wsite-proc-section[open]{ box-shadow: var(--shadow-sm); }.wsite-proc-section summary{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 20px;
  background: var(--surface);
  font-family: var(--font-head);
  font-size: .98rem;
  font-weight: 700;
  color: var(--teal);
  cursor: pointer;
  user-select: none;
  list-style: none;
  border-radius: 0 var(--radius) var(--radius) 0;
  transition: background .15s;
}.wsite-proc-section summary::-webkit-details-marker{ display: none; }.wsite-proc-section summary::before{
  content: '+';
  font-size: 1.1em;
  line-height: 1;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}.wsite-proc-section[open] summary::before{ content: '−'; }.wsite-proc-section summary:hover{ background: var(--surface-2); }.wsite-proc-section[open] summary{
  border-bottom: 1px solid var(--line);
  border-radius: 0 var(--radius) 0 0;
}.wsite-proc-section__body{ padding: 16px 22px; }/* Paragraphs and lists inside proc sections: full width (not reading-cap) */
.wsite-proc-section .paragraph,.wsite-proc-section p,.wsite-proc-section ul,.wsite-proc-section ol{ max-width: none; }/* 8. JNCL year-event headings */
.puck-text h2.wsite-year-heading{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(.88rem, 1.8vw, 1rem);
  font-weight: 700;
  color: var(--white);
  background: var(--navy);
  padding: 7px 18px 7px 14px;
  border-radius: 100px;
  margin: 1.8em 0 .6em;
}.puck-text h2.wsite-year-heading::before{
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--teal);
  flex-shrink: 0;
}/* 9. Reading-width cap on body text */
.puck-text .paragraph{ max-width: 72ch; }.puck-text table .paragraph{ max-width: none; }/* h2 section separator: thin rule + breathing room above each
   non-first,non-badge content heading on wsite pages.       */
.puck-text h2.wsite-content-title:not(:first-child):not(.wsite-year-heading){
  border-top: 1px solid var(--line);
  padding-top: 1.8em;
}/* Inside proc-section bodies,suppress the separator (summary handles it) */
.wsite-proc-section__body h2.wsite-content-title{ border-top: none; padding-top: 0; }.puck-text td[colspan] img{ aspect-ratio: auto; }

@media (max-width: 600px) {.wsite-proc-section summary{ font-size: .9rem; padding: 12px 14px; }.wsite-proc-section__body{ padding: 14px 16px; }
}/* Donation appeal panel (awards + sponsorship pages) */
.donate-panel{
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 48px 32px;
  text-align: center;
  box-shadow: var(--shadow-sm);
}.donate-panel__icon{
  display: block;
  font-size: 48px;
  color: var(--teal);
  margin: 0 auto 20px;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 48;
}.donate-panel__title{
  font-family: var(--font-head);
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 14px;
  line-height: 1.2;
}.puck-text p.donate-panel__body{
  font-size: 1rem;
  color: var(--ink-soft);
  max-width: 62ch;
  margin: 0 auto 28px;
  text-align: center;
  line-height: 1.65;
}.donate-panel__btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: var(--teal);
  color: #fff !important;
  border-radius: 100px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none !important;
  transition: background .2s, transform .15s;
}.donate-panel__btn:hover{ background: var(--indigo-deep); transform: translateY(-2px); }
@media (max-width: 600px) {.donate-panel{ padding: 32px 20px; }.donate-panel__btn{ width: 100%; justify-content: center; }
}/* Stacked info panels must never touch */
.mi-panel + .mi-panel{ margin-top: 24px; }/* Awardee photo cards (New Teacher Award page) */
.award-intro{ max-width: 720px; margin: 0 auto; text-align: left; }.award-intro p{ margin: 0 0 18px; line-height: 1.7; color: var(--ink-soft); }.puck-text .award-intro p strong,.award-intro p strong{
  /* Exempt from the Level-2 small-caps label rule (which carries
     pseudo-class specificity), hence the importants */
  display: inline !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin: 0 !important;
}.award-deadline{
  display: flex; align-items: center; gap: 10px; justify-content: center;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 16px 22px; margin: 26px 0; color: var(--ink); font-size: 1.02rem;
}.award-deadline .material-symbols-rounded{ color: var(--teal); }.awardee-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: var(--maxw);
  margin: 0 auto;
  align-items: stretch;
}.awardee-grid--featured{ grid-template-columns: repeat(3, 1fr); max-width: 940px; }.awardee-card{
  margin: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: var(--t18);
}.awardee-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }.awardee-card img{
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}.awardee-card figcaption{
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  text-align: left;
}.awardee-card__year{
  align-self: flex-start;
  background: var(--navy);
  color: var(--white);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 4px;
}.awardee-card__name{ font-family: var(--font-head); font-size: 1.05rem; color: var(--ink); line-height: 1.3; }.awardee-card__school{ color: var(--ink-soft); font-size: .92rem; line-height: 1.4; }
@media (max-width: 900px) {.awardee-grid{ grid-template-columns: repeat(2, 1fr); }.awardee-grid--featured{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {.awardee-grid,.awardee-grid--featured{ grid-template-columns: 1fr; max-width: 400px; }
}/* Fall Conference — "Wayfinding" redesign */

/* Waypoint fact cards — icon in a tinted compass chip,accent stripe on */
.puck-card--fc-fact{
  text-align: center;
  padding: 34px 26px 30px;
  background: linear-gradient(180deg, #fff 0%, var(--surface) 100%);
}.puck-card--fc-fact::before{ transform: scaleX(1); }.puck-card--fc-fact [class*="material-symbols"],.puck-card--fc-fact [class*="material-icons"]{
  font-size: 40px !important;
  color: var(--teal) !important;
  background: rgba(42, 109, 181, .1);
  border: 1px solid var(--line);
  border-radius: 50%;
  width: 76px; height: 76px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 6px;
}.puck-card--fc-fact .puck-card-title{
  font-family: var(--font-head);
  font-size: 1.2rem;
  color: var(--navy);
}.puck-card--fc-fact .puck-card-description{
  font-size: .92rem;
  line-height: 1.65;
  color: var(--ink-soft);
}/* Action cards — clickable "trail signage": bold hover lift,arrow cue */
.puck-card--fc-action{
  text-align: left;
  padding: 30px 28px 56px;
  position: relative;
  background: #fff;
}.puck-card--fc-action::before{ transform: scaleX(1); }.puck-card--fc-action::after{
  content: "\2192";
  position: absolute;
  right: 24px; bottom: 18px;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--teal);
  transition: transform .18s ease;
}.puck-card--fc-action:hover::after{ transform: translateX(6px); }.puck-card--fc-action [class*="material-symbols"],.puck-card--fc-action [class*="material-icons"]{
  font-size: 34px !important;
  color: #fff !important;
  background: var(--grad-band);
  border-radius: var(--radius, 12px);
  width: 60px; height: 60px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
  box-shadow: 0 6px 16px rgba(11,16,68,.25);
}.puck-card--fc-action .puck-card-title{
  font-family: var(--font-head);
  font-size: 1.15rem;
  color: var(--navy);
}.puck-card--fc-action .puck-card-description{
  font-size: .9rem;
  line-height: 1.6;
  color: var(--ink-soft);
}/* Uniform card height — both three-card bands (facts + actions) share the */
.puck-card--fc-fact,.puck-card--fc-action{
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}/* Quick-link fc-action cards in 2-col grids stay compact (icon-horizontal) */
.puck-grid[style*="--grid-columns: 2"] .puck-card--fc-action{
  min-height: 0;
  padding-bottom: 34px;
}/* Contact line under action cards */
.fc-contact{
  text-align: center;
  color: var(--ink-soft);
  font-size: .95rem;
  margin: 18px auto 0;
}.fc-contact a{
  color: var(--navy);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--line);
}.fc-contact a:hover{ color: var(--teal); border-color: var(--teal); }/* Program cover — framed poster treatment,caption bar below */
.puck-card--fc-program{
  max-width: 720px;
  margin: 0 auto;
  padding: 18px 18px 26px;
  text-align: center;
  background: #fff;
}.puck-card--fc-program::before{ transform: scaleX(1); }.puck-card--fc-program > div:first-child{
  height: auto !important;
  overflow: visible !important;
  margin-bottom: 18px;
}.puck-card--fc-program img{
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: calc(var(--radius-lg, 16px) - 8px) !important;
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(11,16,68,.12);
}.puck-card--fc-program .puck-card-eyebrow{
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--teal);
  margin: 0 0 8px;
}.puck-card--fc-program .puck-card-title{
  font-family: var(--font-head);
  font-size: 1.25rem;
  color: var(--navy);
  margin: 0;
}/* Archive metadata line */
.fc-archive-note{
  text-align: center;
  color: var(--ink-soft);
  font-size: .95rem;
  letter-spacing: .01em;
  margin: 0 auto 8px;
}/* Archive document cards — vertical layout,teal top accent,navy icon */
.puck-card--fc-archive{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  padding: 28px 22px 24px;
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--teal);
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-top-color .18s ease;
}.puck-card--fc-archive:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-top-color: var(--navy);
  background: var(--white);
}.puck-card--fc-archive [class*="material-symbols"],.puck-card--fc-archive [class*="material-icons"]{
  font-size: 28px !important;
  color: #fff !important;
  background: var(--navy);
  border: 3px solid var(--teal);
  border-radius: 50%;
  width: 58px; height: 58px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0 !important;
  box-shadow: 0 4px 12px rgba(11,16,68,.18);
}.puck-card--fc-archive .puck-card-title{
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
}/* Standardized page-title header (.pt) */
.pt{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
  text-align: center;
}.pt__title{
  font-family: var(--font-head);
  font-size: clamp(2rem, 4vw, 2.9rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--navy);
  line-height: 1.12;
  margin: 0;
}.pt__title::before{
  content: "";
  display: block;
  width: 72px;
  height: 5px;
  margin: 0 auto 18px;
  border-radius: 5px;
  background: var(--grad-accent);
}/* MULTILINGUAL ILLINOIS — roadmap page card system (.mi-*) */
/* Photo + quote highlight: photos left,ISBE quote right */
.mi-quote{
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  text-align: left;
}.mi-quote__media{ display: block; position: relative; overflow: hidden; min-height: 320px; }/* Flyer variant: wider media column,flyer shown in full,larger body text */
.mi-quote--flyer{ grid-template-columns: 440px 1fr; }.mi-quote--flyer .mi-quote__media img{ height: auto !important; }.puck-text .mi-quote--flyer .mi-quote__text,.mi-quote--flyer .mi-quote__text{ font-size: 1.18rem; line-height: 1.85; }.mi-quote--flyer .mi-quote__body{ padding: 48px 56px; gap: 18px; }
@media (max-width: 900px) {.mi-quote--flyer{ grid-template-columns: 1fr; }.mi-quote--flyer .mi-quote__media img{ width: 100%; height: auto; }.mi-quote--flyer .mi-quote__body{ padding: 32px 24px; }
}.mi-quote__media img{
  position: absolute; inset: 0;
  width: 100% !important; height: 100% !important;
  object-fit: cover; margin: 0; border-radius: 0; display: block;
}/* Flyer variant: restore natural flow */
.mi-quote--flyer .mi-quote__media{ position: static; overflow: visible; min-height: 0; display: flex; flex-direction: column; }.mi-quote--flyer .mi-quote__media img{ position: static; height: auto !important; width: 100% !important; }.mi-quote__body{ padding: 36px 40px; display: flex; flex-direction: column; justify-content: center; }.mi-quote__label{
  display: inline-block; align-self: flex-start;
  padding: 6px 14px; border-radius: 999px;
  background: var(--surface-2); color: var(--navy);
  font-size: .72rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  margin: 0 0 16px;
}.puck-text .mi-quote__text,.mi-quote__text{
  font-family: var(--font-head);
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  font-weight: 800; color: var(--navy);
  font-style: normal; line-height: 1.2;
  letter-spacing: -0.02em; margin: 0 0 16px;
}.puck-text .mi-quote__caption,.mi-quote__caption{
  color: var(--ink); font-size: .95rem; line-height: 1.7;
  margin: 0; padding-top: 16px; border-top: 1px solid var(--line);
}.mi-quote__caption strong{
  display: block;
  color: var(--navy); font-weight: 700; font-size: .92rem;
  line-height: 1.7; font-style: normal;
  background: var(--surface-2); border-left: 3px solid var(--teal);
  padding: 12px 16px; border-radius: 0 8px 8px 0;
  margin: 12px 0 14px;
}/* Full-width prose panels — icon chip + title + body */
.mi-panel{
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 24px;
  align-items: start;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: var(--radius);
  padding: 30px 34px;
  text-align: left;
}.mi-panel + .mi-panel{ margin-top: 28px; }.mi-panel__icon.material-symbols-rounded{
  font-size: 30px; color: var(--navy);
  background: var(--white); border: 1px solid var(--line);
  border-radius: 16px; padding: 20px; line-height: 1;
}.mi-panel__title{
  font-family: var(--font-head);
  font-size: 1.35rem; font-weight: 700;
  color: var(--ink); margin: 2px 0 10px; line-height: 1.2;
}.puck-text .mi-panel__body,.mi-panel__body{ color: var(--ink); font-size: 1.02rem; line-height: 1.75; margin: 0; }.puck-text .mi-panel__body + .mi-panel__body{ margin-top: 12px; }/* Achievement card grid */
.mi-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: left;
}.mi-ach{
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 3px solid var(--teal);
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-sm);
  display: flex; flex-direction: column; gap: 14px;
  transition: var(--t2);
}.mi-ach:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); border-top-color: var(--navy); }.mi-ach__icon.material-symbols-rounded{
  font-size: 24px; color: #fff;
  background: var(--navy); border: 2px solid var(--teal);
  border-radius: 12px; padding: 12px;
  align-self: flex-start; line-height: 1;
}.puck-text .mi-ach__text,.mi-ach__text{ color: var(--ink); font-size: .98rem; line-height: 1.55; margin: 0; font-weight: 500; }

@media (max-width: 900px) {.mi-quote{ grid-template-columns: 1fr; }.mi-quote__media{ flex-direction: row; }.mi-quote__media img{ width: 50%; height: 220px; }.mi-grid{ grid-template-columns: repeat(2, 1fr); }.mi-panel{ grid-template-columns: 1fr; }
}
@media (max-width: 600px) {.mi-grid{ grid-template-columns: 1fr; }.mi-quote__media{ flex-direction: column; }.mi-quote__media img{ width: 100%; }
}/* ------------------------------------------------------------ */

/* Awards: Celebration honor strip */
.awards-honor{
  background: linear-gradient(135deg, #050038 0%, #000074 40%, #000098 100%);
  border-radius: var(--radius-lg);
  padding: 52px 40px;
  max-width: var(--maxw);
  margin: 0 auto;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}.awards-honor::before{
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #b8921a, #f2d860, #e6c442, #b8921a);
}.puck-text .awards-honor p,.awards-honor p{ max-width: none !important; margin: 0 !important; color: inherit; }.awards-honor__eyebrow{
  display: block; font-size: .7rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: #f2d860; margin: 0 0 14px;
}.awards-honor__title{
  display: block; font-family: var(--font-head);
  font-size: clamp(1.65rem, 3.2vw, 2.4rem);
  font-weight: 800; color: #fff; margin: 0 0 16px;
  letter-spacing: -0.02em; line-height: 1.15;
}.awards-honor__lead{
  display: block; color: rgba(255,255,255,.85); font-size: 1.05rem;
  max-width: 600px; margin: 0 auto 36px; line-height: 1.75;
}.awards-honor__stats{
  display: flex; justify-content: center;
  border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius);
  background: rgba(255,255,255,.07); overflow: hidden;
  max-width: 520px; margin: 0 auto;
}.awards-honor__stat{ flex: 1; padding: 20px 24px; position: relative; }.awards-honor__stat + .awards-honor__stat::before{
  content: ""; position: absolute; left: 0; top: 20%; bottom: 20%;
  width: 1px; background: rgba(255,255,255,.2);
}.awards-honor__stat-value{
  display: block; font-family: var(--font-head);
  font-size: clamp(1.7rem, 3.5vw, 2.2rem); font-weight: 900;
  color: #f2d860; line-height: 1;
}.awards-honor__stat-label{
  display: block; font-size: .7rem; color: rgba(255,255,255,.6);
  margin-top: 6px; line-height: 1.4; text-transform: uppercase; letter-spacing: .07em;
}/* Advocacy: Civic manifesto band */
.advocacy-civic{
  background: var(--grad-band);
  border-radius: var(--radius-lg);
  padding: 44px 40px;
  max-width: var(--maxw);
  margin: 0 auto;
  display: flex; gap: 40px; align-items: center;
  box-shadow: var(--shadow-md);
}.puck-text .advocacy-civic p,.advocacy-civic p{ max-width: none !important; margin: 0 !important; color: inherit; }.advocacy-civic__quote{
  flex: 1; border-left: 4px solid var(--teal-bright); padding-left: 28px;
}.advocacy-civic__text{
  display: block; font-family: var(--font-head);
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: #fff; line-height: 1.55; font-weight: 600;
  margin: 0 0 10px; font-style: italic;
}.advocacy-civic__source{
  display: block; font-size: .8rem; color: rgba(255,255,255,.55);
}.advocacy-civic__stat{
  flex: 0 0 auto; text-align: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius); padding: 24px 28px; min-width: 148px;
}.advocacy-civic__stat-value{
  display: block; font-family: var(--font-head);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem); font-weight: 900;
  color: var(--teal-bright); line-height: 1;
}.advocacy-civic__stat-label{
  display: block; font-size: .75rem; color: rgba(255,255,255,.65);
  margin-top: 8px; line-height: 1.45;
}
@media (max-width: 680px) {.advocacy-civic{ flex-direction: column; gap: 20px; padding: 32px 24px; }.advocacy-civic__quote{
    border-left: none; border-top: 3px solid var(--teal-bright);
    padding-left: 0; padding-top: 20px;
  }
}/* Seal of Biliteracy: Credential comparison */
.seal-compare{
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px;
  box-sizing: border-box;
}.seal-compare-card{
  border-radius: var(--radius-lg); padding: 36px 30px;
  position: relative; overflow: hidden;
  border: 1px solid var(--line); background: var(--white);
  box-shadow: var(--shadow-md);
  display: flex; flex-direction: column;
  transition: var(--t2);
}.seal-compare-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-lg); }.seal-compare-card::before{
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px;
}.seal-compare-card--state::before{
  background: linear-gradient(90deg, #1a6632, #3db862, #1a6632);
}.seal-compare-card--global::before{
  background: linear-gradient(90deg, var(--navy), var(--teal-bright), var(--navy));
}.seal-compare-card__badge{
  display: inline-flex; align-items: center;
  padding: 4px 12px; border-radius: 999px;
  font-size: .68rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; margin-bottom: 14px; align-self: flex-start;
}.seal-compare-card--state .seal-compare-card__badge{
  background: #e6f5ea; color: #1a6632; border: 1px solid #aadcba;
}.seal-compare-card--global .seal-compare-card__badge{
  background: var(--surface-2); color: var(--navy); border: 1px solid var(--line);
}.seal-compare-card__title{
  display: block; font-family: var(--font-head); font-size: 1.4rem; font-weight: 800;
  color: var(--ink) !important; margin: 0 0 12px; line-height: 1.2;
}.puck-text .seal-compare-card__body,.seal-compare-card__body{
  display: block; color: var(--ink-soft) !important; font-size: .94rem;
  line-height: 1.72; margin: 0 0 18px !important; max-width: none !important;
}.puck-text .seal-compare-card__facts,.seal-compare-card__facts{
  list-style: none !important; padding: 0 !important;
  margin: 0 0 20px !important; border-left: none !important;
  margin-left: 0 !important; display: flex; flex-direction: column; gap: 6px; flex: 1;
}.puck-text .seal-compare-card__facts li,.seal-compare-card__facts li{
  display: flex !important; align-items: flex-start; gap: 8px;
  font-size: .88rem !important; color: var(--ink) !important;
  line-height: 1.5 !important;
  background: transparent !important; border-radius: 0 !important;
  padding: 0 !important; margin: 0 !important;
}.puck-text .seal-compare-card__facts li::before,.seal-compare-card__facts li::before{
  content: "\2713" !important;
  font-weight: 800 !important; font-size: .9rem !important; flex-shrink: 0;
  background: transparent !important; border-radius: 0 !important;
  padding: 0 !important; width: auto !important; height: auto !important;
  border: none !important; position: static !important;
  top: auto !important; left: auto !important;
  color: var(--teal) !important; box-shadow: none !important;
  display: inline !important; font-family: inherit !important;
  margin: 0 !important; line-height: 1.5 !important;
}.puck-text .seal-compare-card__link,.seal-compare-card__link{
  display: inline-flex !important; align-items: center; gap: 6px;
  font-weight: 700; font-size: .9rem;
  color: var(--navy) !important; text-decoration: none !important;
  border-bottom: 2px solid var(--line); padding-bottom: 2px;
  transition: border-color .15s, color .15s; align-self: flex-start;
  margin-top: auto;
}.puck-text .seal-compare-card__link:hover,.seal-compare-card__link:hover{ color: var(--teal) !important; border-color: var(--teal); }
@media (max-width: 640px) {.seal-compare{ grid-template-columns: 1fr; } }/* Professional Learning: Pathway trio */
.pl-pathways{
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px; box-sizing: border-box;
}.pl-pathways__grid{
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--line);
  border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line);
}.pl-pathway{ background: var(--surface); padding: 30px 26px; border-bottom: 3px solid transparent; transition: border-color .2s; }.pl-pathway:hover{ border-bottom-color: var(--teal); }.pl-pathway__num{
  display: block; font-family: var(--font-head); font-size: 2.8rem; font-weight: 900;
  color: var(--teal); opacity: .45; line-height: 1; margin: 0 0 12px; letter-spacing: -0.06em;
}.puck-text .pl-pathway__title,.pl-pathway__title{
  display: block; font-family: var(--font-head);
  font-size: 1.08rem !important; font-weight: 800 !important;
  color: var(--navy) !important; margin: 0 0 6px !important; line-height: 1.2;
}.puck-text .pl-pathway__body,.pl-pathway__body{
  display: block; font-size: .86rem !important; color: var(--ink-soft) !important;
  line-height: 1.65; margin: 0 !important; max-width: none !important;
}
@media (max-width: 640px) {.pl-pathways__grid{ grid-template-columns: 1fr; } }/* News: Accents publication masthead */
.news-masthead{
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px; box-sizing: border-box;
}.news-masthead__inner{
  display: flex; align-items: center; gap: 32px;
  background: var(--surface); border-radius: var(--radius-lg);
  padding: 32px 36px; border: 1px solid var(--line);
  position: relative; overflow: hidden;
}.news-masthead__inner::before{
  content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 5px;
  background: var(--grad-accent);
}.news-masthead__pub{ flex: 0 0 auto; text-align: center; padding-left: 8px; }.news-masthead__pub-title{
  display: block; font-family: var(--font-head); font-size: 2.4rem; font-weight: 900;
  color: var(--navy); letter-spacing: -0.04em; line-height: 1; margin: 0; font-style: italic;
}.news-masthead__pub-sub{
  display: block; font-size: .62rem; font-weight: 600; letter-spacing: .22em;
  text-transform: uppercase; color: var(--ink-soft); margin-top: 5px;
}.news-masthead__divider{
  width: 1px; align-self: stretch; background: var(--line); flex-shrink: 0; margin: 6px 0;
}.news-masthead__body{ flex: 1; min-width: 0; }.news-masthead__title{
  display: block; font-family: var(--font-head); font-size: 1.12rem; font-weight: 800;
  color: var(--ink); margin: 0 0 6px; line-height: 1.2;
}.puck-text .news-masthead__text,.news-masthead__text{
  display: block; font-size: .93rem !important; color: var(--ink-soft) !important;
  line-height: 1.7; margin: 0 !important; max-width: none !important;
}
@media (max-width: 580px) {.news-masthead__inner{ flex-direction: column; gap: 16px; padding: 24px; }.news-masthead__divider{ width: 100%; height: 1px; align-self: auto; }
}/* About: Org identity stat strip */
.org-identity{
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px; box-sizing: border-box;
}.org-identity__grid{
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 1px; border-radius: var(--radius-lg); overflow: hidden;
  background: var(--line); border: 1px solid var(--line);
}.org-identity__cell{
  background: var(--white); padding: 28px 14px; text-align: center;
}.org-identity__value{
  display: block; font-family: var(--font-head);
  font-size: clamp(1.6rem, 3.2vw, 2.3rem); font-weight: 900;
  color: var(--navy); line-height: 1; letter-spacing: -0.03em;
}.org-identity__label{
  display: block; font-size: .68rem; font-weight: 600; letter-spacing: .07em;
  color: var(--ink-soft); margin-top: 6px; text-transform: uppercase; line-height: 1.4;
}
@media (max-width: 600px) {.org-identity__grid{ grid-template-columns: repeat(2, 1fr); } }.mi-grid+.mi-panel{margin-top:32px}[data-recur-widget] > .recur-widget{margin-left:auto;margin-right:auto}.recur-event-list{width:100%;margin-left:auto;margin-right:auto}.recur-event-list-grid{margin-left:auto;margin-right:auto;justify-content:center}/* mission label readability (beats .puck-text p color) */
.puck-text .mission-callout-label{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}/* a lone card in a grid column keeps its natural height instead of stretching */
.puck-grid-column > .puck-card:only-child{flex:1 1 auto;height:100%}/* governing document cards */
.doc-cards{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;max-width:820px;margin:0 auto}.doc-card{flex:1 1 300px;max-width:380px;background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(11,31,68,.08);padding:34px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.doc-card .material-symbols-rounded{font-size:34px;color:var(--teal);background:var(--surface);border-radius:14px;padding:12px}.doc-card h3{font-family:var(--font-head);font-size:1.2rem;margin:4px 0 0;color:var(--navy)}.puck-text .doc-card p{font-size:.95rem;color:#4a5a74;margin:0 0 8px;line-height:1.55}.doc-card .btn-pill{margin-top:auto}/* centered variant of the intro panel (board page) */
.section-intro--center{border-left:none;border-radius:var(--radius);text-align:center;border-top:4px solid var(--teal)}.puck-text .mi-panel__body img,.mi-panel__body img{display:block;width:100%;max-width:860px;height:auto !important;max-height:none;border-radius:14px;box-shadow:var(--shadow-sm);margin-top:20px;background:var(--white)}.mi-panel + .mi-panel{margin-top:32px}.spon-invite{max-width:760px;margin:56px auto 0;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px 44px}/* News page: featured story + article cards */
.news-feature{display:grid;grid-template-columns:minmax(0,46%) 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;max-width:var(--maxw);margin:0 auto}.news-feature__media img{display:block;width:100%;height:100%;object-fit:cover;min-height:320px}.news-feature__body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center}.news-feature__tags{display:flex;align-items:center;gap:14px;margin-bottom:14px}.news-feature__chip{background:var(--surface);color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;border:1px solid var(--line)}.news-feature__date{color:var(--ink-soft);font-size:.9rem;font-weight:600}.puck-text .news-feature__title,.news-feature__title{font-family:var(--font-head);font-size:1.65rem;color:var(--navy);margin:0 0 12px;line-height:1.25}.puck-text .news-feature__text,.news-feature__text{color:var(--ink);font-size:1.02rem;line-height:1.75;margin:0}
@media(max-width:820px){.news-feature{grid-template-columns:1fr}.news-feature__media img{min-height:220px;max-height:280px}.news-feature__body{padding:28px 24px}}.news-masthead__cta{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;flex-wrap:wrap}.news-masthead__link{color:var(--navy);font-weight:600;font-size:.95rem;text-decoration:none}.news-masthead__link:hover{text-decoration:underline}.puck-card--news .puck-card-eyebrow{color:var(--teal);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center}.puck-card--news .puck-card-meta{color:var(--ink-soft);font-size:.85rem;font-weight:600;text-align:center;align-items:center}.puck-card--news .puck-card-meta-row{background:var(--bg-soft,#f0f2f7);border-radius:99px;padding:3px 12px;gap:4px}/* Fall Conference: no always-on top accent lines; link-cards render clean text */
.puck-card--fc-fact::before,.puck-card--fc-action::before,.puck-card--fc-archive::before,.puck-card--fc-program::before{display:none}a.puck-card,a.puck-card .puck-card-title,a.puck-card .puck-card-description{text-decoration:none}/* Presenter spotlight (Text puck) — photo left */ .css-orphan-6{display:grid;grid-template-columns:minmax(260px,360px) 1fr;align-items:stretch;max-width:980px;margin:0 auto;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);background:linear-gradient(120deg,var(--indigo-deep) 0%,var(--indigo) 55%,var(--blue-mid) 100%)}/* Central States logo pair — even white panels,generous air */
.cs-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:900px;margin-left:auto;margin-right:auto}
@media (max-width:700px){.cs-logos{grid-template-columns:1fr}}.puck-card--ach{border-top:3px solid var(--teal)}.puck-card--ach [class*="material-symbols"],.puck-card--ach [class*="material-icons"]{color:#fff!important;background:var(--navy);border:2px solid var(--teal);border-radius:12px;padding:12px}.puck-card--ach .puck-card-title{font-size:1.3rem;font-weight:800}.puck-card--panel{background:var(--surface);border-left:4px solid var(--teal)}.puck-card--spon img{aspect-ratio:auto!important;height:200px!important;object-fit:contain!important;object-position:center!important;border:1px solid var(--line);border-radius:12px;padding:18px;box-sizing:border-box;background:var(--white)}.puck-card--civic-quote{background:var(--grad-band)!important;border:none!important;border-left:4px solid var(--teal-bright)!important;border-radius:var(--radius-lg)!important;padding:44px 40px!important;box-shadow:var(--shadow-md)!important}.puck-card--civic-quote::before{display:none}.puck-card--civic-quote .puck-card-title,.puck-card--civic-quote .puck-card-eyebrow{color:#fff!important}.puck-card--civic-quote .puck-card-description{font-family:var(--font-head);font-size:clamp(1rem,2vw,1.35rem);color:#fff;font-style:italic;font-weight:600;line-height:1.55}.puck-card--civic-quote .puck-card-meta,.puck-card--civic-quote .puck-card-meta-value{color:rgba(255,255,255,.55)!important;font-size:.8rem;list-style:none;padding:0;margin:10px 0 0}.puck-card--intro-left{border-left:4px solid var(--teal)!important;padding:24px 32px!important;background:var(--surface)!important;border-radius:0 var(--radius) var(--radius) 0!important;box-shadow:none!important}.puck-card--intro-left::before{display:none}.puck-card--intro-left .puck-card-eyebrow,.puck-card--panel .puck-card-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}.puck-card--intro-left .puck-card-title{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;margin:0 0 12px}.puck-card--intro-left .puck-card-description{color:var(--ink);font-size:1.06rem;line-height:1.75}.puck-card--intro-left{text-align:left;align-items:flex-start}.puck-card--intro-left>div{align-items:flex-start;text-align:left}.puck-card--intro-left .puck-card-meta{list-style:none;padding:0;margin:8px 0 0}.puck-card--intro-left .puck-card-meta a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.puck-card--intro-left .puck-card-button,.puck-card--intro-left a[class*=button]{align-self:flex-start;margin-top:14px}/* fall-conference reg */
.puck-grid:has(.recur-event-card) .recur-event-card-image{display:none!important}.puck-grid:has(.recur-event-card) .recur-event-card-button{background:transparent;color:var(--navy);border:2px solid var(--navy);box-shadow:none}.puck-grid:has(.recur-event-card) .recur-event-card-button:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}
@media(max-width:600px){.puck-grid:has(.recur-event-card){grid-template-columns:1fr!important}}:focus-visible{outline:3px solid var(--teal-bright);outline-offset:2px}/* Contact page */
.puck-contact-widget ~ .puck-grid:last-of-type{background:var(--grad-band);padding:40px 28px;border-radius:var(--radius)}.puck-contact-widget ~ .puck-grid:last-of-type .puck-card{background:#ffffff14;border-color:#ffffff1f}.puck-contact-widget ~ .puck-grid:last-of-type :is(.puck-card-title,.puck-card-description){color:#fff}.navu{text-decoration:underline;text-underline-offset:3px}
@media(max-width:920px){.puck-image-img[src*="c6ace987"]{height:auto!important}}
/* Home mission pillars (Connect / Learn / Advocate) — icon cards on surface band */
.home-mission{background:var(--surface);border-radius:var(--radius-lg);padding:32px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:100%;box-sizing:border-box}
.home-mission__pillar{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:32px 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.home-mission__pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-accent);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.home-mission__pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.home-mission__pillar:hover::before{transform:scaleX(1)}
.home-mission__icon{font-size:28px;color:var(--navy);background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:16px;line-height:1;display:block}
.home-mission__verb{display:block;font-family:var(--font-head);font-size:1.3rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.1;margin-bottom:10px}
.home-mission__desc{font-size:.93rem;color:var(--ink-soft);line-height:1.65}
@media(max-width:700px){.home-mission{grid-template-columns:1fr;padding:20px;gap:14px;border-radius:var(--radius)}.home-mission__pillar{align-items:flex-start;text-align:left;padding:24px 20px}}
a.nav-active{text-decoration:underline!important;text-underline-offset:3px!important}
.fc-spotlight{display:grid;grid-template-columns:minmax(260px,360px) 1fr;align-items:stretch;max-width:980px;margin:0 auto;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);background:linear-gradient(120deg,var(--indigo-deep) 0%,var(--indigo) 55%,var(--blue-mid) 100%)}
.fc-spotlight__media img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center top}
.fc-spotlight__body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center;text-align:left}
.fc-spotlight__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#bcd7f7;margin:0 0 14px}
.puck-text h3.fc-spotlight__name{font-family:var(--font-head);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;color:#fff;margin:0 0 14px}
.puck-text p.fc-spotlight__bio{color:rgba(255,255,255,.85);font-size:.98rem;line-height:1.75;margin:0}
@media(max-width:760px){.fc-spotlight{grid-template-columns:1fr}.fc-spotlight__media img{max-height:340px}.fc-spotlight__body{padding:28px 24px}}
/* Portrait photo cards — taller aspect ratio so faces aren't cropped */
.puck-card--portrait>div:first-child{height:380px!important;background:var(--surface);border-radius:12px}
.puck-card--portrait img{aspect-ratio:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
/* Featured card — white eyebrow + white button treatment */
.puck-card--featured .puck-card-eyebrow{color:rgba(255,255,255,.65)!important;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.puck-card--featured .puck-card-button{background:#fff!important;color:var(--navy)!important;border:none!important}
.puck-card--featured .puck-card-button:hover{background:var(--teal-bright)!important;color:var(--navy)!important}
/* Bridge history panel — used in award pages with Montserrat Vilarrubla history */
.bridge-panel{background:var(--grad-band)!important;border-radius:var(--radius-lg);padding:34px 44px;text-align:left;max-width:820px;margin:0 auto 56px;border-left:4px solid var(--teal-bright);box-shadow:var(--shadow-md)}
.bridge-panel p{color:rgba(255,255,255,.95);font-size:1.06rem;line-height:1.8;margin:0}
.bridge-panel__kicker{color:rgba(255,255,255,.6)!important;font-size:.78rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin:0 0 12px!important}
.bridge-panel__accent{color:var(--teal-bright)!important;font-style:normal;text-transform:none!important;letter-spacing:0!important;font-weight:800;font-size:inherit!important;font-family:inherit!important;display:inline!important}
/* DSA page: full uncropped photos */
.puck-card--fullphoto>div:first-child{height:400px!important;background:var(--surface);border-radius:12px}
.puck-card--fullphoto img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center top!important}
.puck-card--fullphoto::before{display:none!important}
/* Recipient photo grids: uniform, no alternating band background */
.puck-grid:has(.puck-card--fullphoto){background:transparent!important;padding-top:0!important;padding-bottom:0!important}
.puck-grid:has(.puck-card--fullphoto) .puck-card{background:var(--white)}
/* Pill jump nav */
.pillnav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;padding:8px 0}
.pillnav__label{flex-basis:100%;width:100%;text-align:center;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft,#64748b);margin:0 0 10px}
.pillnav a{display:inline-flex;align-items:center;padding:7px 18px;border-radius:999px;background:var(--navy)!important;color:#fff!important;font-size:.83rem;font-weight:700;text-decoration:none!important;letter-spacing:.02em;transition:background .15s}
.pillnav a:hover{background:var(--blue-mid)!important}
/* Styled single-line year rows */
.year-line{display:flex;align-items:baseline;gap:14px;max-width:720px;margin:0 auto 10px;padding:12px 20px;background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--teal-bright);border-radius:10px;box-shadow:0 1px 3px rgba(15,23,42,.06)}
.year-line__badge{font-weight:800;color:var(--navy);font-size:1rem;min-width:52px}
.year-line__names{color:#334155;font-size:.95rem;line-height:1.6}
/* Honor roll name lists (1989–2004) */
.honor-wrap{background:#fff;border:1px solid #e2e8f0;border-top:4px solid var(--navy);border-radius:12px;padding:20px 22px;box-shadow:0 2px 8px rgba(15,23,42,.06);height:100%}
.honor-roll{list-style:none;margin:0;padding:0;text-align:left}
.honor-roll li{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid #eef2f7;font-size:.9rem;color:#334155}
.honor-roll li:last-child{border-bottom:none}
.honor-roll .hr-year{color:var(--teal-bright);font-weight:700;font-variant-numeric:tabular-nums}
/* Presidents Award: full-bleed portrait beside profile card */
.puck-grid-column:has(>.puck-text>.fill-img){display:flex}
.puck-text:has(>.fill-img){display:flex;width:100%;height:100%}
.fill-img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center top;border-radius:14px;display:block;box-shadow:0 4px 16px rgba(15,23,42,.12)}
/* Profile card: refined typography for recipient spotlight */
.puck-card--profile{border-left:4px solid var(--teal-bright)!important}
.puck-card--profile .puck-card-title{font-size:1.7rem!important;letter-spacing:-.01em}
.puck-card--profile .puck-card-description{font-size:1.02rem!important;line-height:1.95!important;color:#334155!important}
/* Roll cards: bold uniform year under name */
.puck-card--roll .puck-card-title{font-weight:700!important;font-size:1.05rem!important}
.puck-card--roll .puck-card-description{font-weight:800!important;color:var(--navy)!important;font-size:.92rem!important;letter-spacing:.06em;margin-top:2px}
/* JNCL-NCLIS delegation photo galleries */
.jncl-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:var(--maxw);margin:0 auto;padding:0 24px;box-sizing:border-box}
.jncl-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:12px;box-shadow:var(--shadow-sm);transition:var(--t2);display:block;background:var(--surface-2)}
.jncl-gallery img:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
@media(max-width:700px){.jncl-gallery{grid-template-columns:repeat(2,1fr)}}

/* Global Seal: media cards (bigger uniform images) + civic-quote button spacing */
.puck-card--media{border-top:3px solid var(--teal)}
.puck-card--media .puck-card-title{font-size:1.3rem;font-weight:800}
.puck-card--media img{width:100%;aspect-ratio:auto!important;height:340px!important;object-fit:contain!important;object-position:center!important;background:var(--white);border-radius:12px;margin:-6px 0 18px}
.puck-card--civic-quote .puck-card-button,.puck-card--civic-quote a[class*=button]{margin-top:22px!important}

/* Checklist polish: center text on icon boxes, tidy spacing */
.puck-card-checklist{gap:12px!important;margin-top:16px!important}
.puck-card-checklist li{align-items:center!important;gap:14px!important}
.puck-card-checklist li [class*=material-symbols],.puck-card-checklist li [class*=material-icons]{padding:8px!important;font-size:20px!important;line-height:1!important}
.puck-card-checklist li>span:last-child{font-size:.95rem!important;line-height:1.55!important}
/* Featured (dark) card: readable meta link, translucent checklist icon boxes */
.puck-card--featured .puck-card-meta{margin-top:18px}
.puck-card--featured .puck-card-meta a,.puck-card--featured .puck-card-meta-value{color:#fff!important;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.puck-card--featured .puck-card-checklist li [class*=material-symbols],.puck-card--featured .puck-card-checklist li [class*=material-icons]{color:var(--teal-bright)!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px}

/* Join page: larger Membership Levels heading (scoped via anchor sibling) */
.puck-text:has(#membership-levels)+h2{font-size:clamp(2.1rem,3.6vw,2.8rem)}
/* Featured card: eyebrow + button prominence on dark gradient */
.puck-card--featured .puck-card-eyebrow{color:var(--teal-bright)!important;letter-spacing:.14em}
.puck-card--featured .puck-card-button{margin-top:18px;padding:12px 26px!important;font-weight:700}

/* -ovf continuation grids always match their base band state: strip the band
   when the base grid is white (complement of the extend rule above) */
.puck-grid:not(:nth-of-type(2n))+.puck-grid{background:transparent;padding-top:20px;padding-bottom:0;border-radius:0}
/* Center a 2-card row in a 3-col continuation grid (third column empty) */
.puck-grid+.puck-grid:has(>.puck-grid-column:nth-child(3):empty):not(:has(>.puck-grid-column:nth-child(2):empty)){grid-template-columns:repeat(2,calc((100% - 48px)/3))!important;justify-content:center}

/* Featured (dark) card typography & spacing polish */
.puck-card--featured .puck-card-title{font-size:1.5rem!important;letter-spacing:-.01em;margin:2px 0 10px!important}
.puck-card--featured .puck-card-description{font-size:1.02rem!important;line-height:1.75!important;color:rgba(255,255,255,.92)!important;max-width:70ch}
.puck-card--featured .puck-card-meta{margin:20px 0 0!important}
.puck-card--featured .puck-card-meta a{font-size:.95rem}
.puck-card--featured .puck-card-button{margin-top:20px!important}
/* Uniform large section headings via anchor markers */
.puck-text:has(.h2-anchor)+h2{font-size:clamp(2.1rem,3.6vw,2.8rem)}
/* Product cards: no stray bullet dots from clamped descriptions */
.recur-product-card-description ul{list-style:none!important;margin:6px 0 0!important;padding:0!important}
.recur-product-card-description li{list-style:none!important}
.recur-product-card-description li::marker{content:""!important}

/* Solo (1-col) fc-action cards: no reserved band height, no floating arrow */
.puck-grid[style*="--grid-columns: 1"] .puck-card--fc-action{min-height:0;padding-bottom:30px}
.puck-grid[style*="--grid-columns: 1"] .puck-card--fc-action::after{display:none}
/* Pill year nav: lighter, professional segmented style */
.pillnav{gap:8px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.pillnav a{background:#fff!important;color:var(--navy)!important;border:1.5px solid var(--line);font-weight:600;box-shadow:0 1px 2px rgba(11,16,68,.06)}
.pillnav a:hover{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)}

/* Roadmap goal cards: compact, vertically centered, uniform */
.puck-card--goal{flex-direction:row!important;align-items:center!important}
.puck-card--goal .puck-card-title{font-size:1.02rem!important;line-height:1.5!important;font-weight:700;margin:0!important}
.puck-card--goal [class*=material-symbols],.puck-card--goal [class*=material-icons]{flex-shrink:0}

/* Contact info cards: refined typography */
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card-title{font-size:1.12rem!important;letter-spacing:.01em;margin-bottom:8px}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card-description{font-size:.95rem;line-height:1.75;color:var(--ink-soft)}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card-description a{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--teal)}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card-description a:hover{color:var(--blue-mid)}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card{transition:transform .15s ease,box-shadow .15s ease}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}

/* Checklist cards: breathing room before the action button */
.puck-card .puck-card-checklist{margin-bottom:24px}
.puck-card-checklist~.puck-card-meta-link{margin-top:4px}
/* Photo + panel pairs: image stretches to match the text panel height */
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-grid-column{display:flex;align-items:stretch}
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-image{display:flex;width:100%}
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-image-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top;border-radius:var(--radius)}
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-card{width:100%}

/* 1-col grids: stacked cards size to their content */
.puck-grid[style*="--grid-columns: 1"] .puck-grid-column{grid-auto-rows:auto!important;align-items:start}

/* centered image captions */
figcaption,.puck-image-caption,.puck-image figcaption{text-align:center!important;margin-left:auto;margin-right:auto}
.puck-card--fullphoto{text-align:center}

/* Section-header Card variant — replaces icon-referencing sh Text pucks */
.puck-card--sh{ background:transparent!important; box-shadow:none!important; border:none!important; text-align:center; padding:0!important; }
.puck-card--sh::before,.puck-card--sh::after{ display:none!important; }
.puck-card--sh [class*="material-symbols"],.puck-card--sh [class*="material-icons"]{
  display:flex; align-items:center; justify-content:center;
  width:56px!important; height:56px!important; border-radius:14px;
  background:var(--surface-2); color:var(--teal)!important; font-size:28px!important;
  margin:0 auto 18px; box-shadow:none!important;
  font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24;
}
.puck-card--sh .puck-card-title{
  font-family:var(--font-head); font-size:clamp(1.85rem,3.6vw,2.6rem);
  font-weight:800; letter-spacing:-0.02em; color:var(--ink); margin:0 0 18px; line-height:1.15;
}
.puck-card--sh .puck-card-description{
  font-size:1.13rem; color:var(--ink); line-height:1.78; max-width:660px; margin:0 auto;
}
.puck-grid:has(> .puck-grid-column > .puck-card--sh){ background:transparent!important; padding:0!important; }

/* Stats puck — match site design language */
.puck-stats{ max-width: var(--maxw); margin: 0 auto; }
.puck-stat-card{ text-align: center; }
.puck-stat-value{
  font-family: var(--font-head); font-size: clamp(2rem,4vw,2.8rem);
  font-weight: 800; color: var(--navy); line-height: 1.1; letter-spacing: -0.02em;
}
.puck-stat-label{
  font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-soft); margin-top: 8px;
}

/* featured title emphasis */
.puck-card--featured .puck-card-title{
  font-size: clamp(1.5rem, 2.6vw, 1.95rem)!important;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin-bottom: 14px;
}
.puck-card--featured .puck-card-checklist li{
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: .02em;
}

/* no band behind archive card rows */
.puck-grid:nth-of-type(2n):has(.puck-card--fc-archive),
.puck-grid:nth-of-type(2n)+.puck-grid:has(.puck-card--fc-archive){
  background: transparent;
  padding-top: 0;
  padding-bottom: 0;
}
/* single centered card: grid with only the middle column occupied */
.puck-grid:has(>.puck-grid-column:first-child:empty):not(:has(>.puck-grid-column:nth-child(2):empty)):has(>.puck-grid-column:nth-child(3):empty){grid-template-columns:calc((100% - 48px)/3)!important;justify-content:center}
.puck-grid:has(>.puck-grid-column:first-child:empty)>.puck-grid-column:empty{display:none}

/* photo-gallery uniform tiles */
.puck-grid[style*='--grid-columns: 4']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image,.puck-grid[style*='--grid-columns: 2']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image{width:100%}
.puck-grid[style*='--grid-columns: 4']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-img,.puck-grid[style*='--grid-columns: 2']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center;display:block}
/* image+card intro pairing: center card content vertically */
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-card{display:flex;flex-direction:column;justify-content:center}

/* 3-col logo grids: show whole logo, never crop */
.puck-grid[style*='--grid-columns: 3']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;background:var(--white);padding:24px;box-sizing:border-box}
/* awards-family hero photo: keep faces visible (image layer ignores bgPosition prop) */
.puck-hero[style*="a046b56cb19e"]{background-position:center top!important}
/* Avant ADVANCE Together card: display large and centered */
.puck-image-img[src*="a04ec123c1df"]{width:min(1040px,100%)!important;height:auto!important;display:block;margin:0 auto;box-shadow:var(--shadow-md);border:1px solid var(--line);border-radius:16px}
/* 4-col quick-link panel cards: vertically centered, comfortable */
.puck-grid[style*="--grid-columns: 4"] .puck-card--panel{justify-content:center;min-height:150px}
.puck-grid[style*="--grid-columns: 4"] .puck-card--panel>div{align-items:center}
.puck-grid[style*="--grid-columns: 4"] .puck-card--panel .puck-card-title{margin:0}
/* logo-grid wrappers must fill their column (SVG logos shrink-wrap otherwise) */
.puck-grid[style*='--grid-columns: 3']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image{width:100%;box-sizing:border-box}
.puck-grid[style*='--grid-columns: 3']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-figure,
.puck-grid[style*='--grid-columns: 3']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-figure>a{width:100%;display:block;margin:0}
/* lone donate featured card: let text breathe across the band */
.puck-card--featured .puck-card-description{max-width:56em}
#puck-content .puck-grid[style*="--grid-columns: 1"] .puck-card--featured .puck-card-description{max-width:none;font-size:1.05rem;line-height:1.7}

/* jump-to-year nav: label centered on top, breathing room below the title */
.puck-text:has(>.pillnav){margin-top:8px}
.pillnav{margin-top:12px}
/* image+card pairings (recipient spotlights): text scales up to fill the card */
.puck-grid[style*="--grid-columns: 2"]:has(>.puck-grid-column>.puck-image) .puck-card{justify-content:center}
.puck-grid[style*="--grid-columns: 2"]:has(>.puck-grid-column>.puck-image) .puck-card .puck-card-title{font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.25;margin-bottom:14px}
.puck-grid[style*="--grid-columns: 2"]:has(>.puck-grid-column>.puck-image) .puck-card .puck-card-description{font-size:1.18rem;line-height:1.85}
.puck-grid[style*="--grid-columns: 2"]:has(>.puck-grid-column>.puck-image) .puck-card .puck-card-eyebrow{font-size:.85rem}

/* feature card (task131) — 2-col grid layout */
.puck-card--feature{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;padding:0!important;overflow:hidden;text-align:left;border:1px solid var(--line)!important;border-radius:var(--radius-lg)!important;align-items:stretch}
.puck-card--feature::before{display:none}
.puck-card--feature>div:first-child{width:100%;height:100%!important;min-height:320px;border-radius:0!important;flex-shrink:0}
.puck-card--feature>div:first-child img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center}
.puck-card--feature>div:last-child{padding:40px 44px!important;align-items:flex-start;text-align:left;display:flex;flex-direction:column;justify-content:center}
.puck-card--feature .puck-card-eyebrow{background:var(--surface);color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;border:1px solid var(--line);display:inline-block;margin-bottom:14px}
.puck-card--feature .puck-card-title{font-family:var(--font-head);font-size:1.65rem;color:var(--navy);margin:0 0 12px;line-height:1.25}
.puck-card--feature .puck-card-description{color:var(--ink);font-size:1.02rem;line-height:1.75}
.puck-card--feature .puck-card-button,.puck-card--feature a[class*=button]{align-self:flex-start;margin-top:20px}
@media(max-width:820px){.puck-card--feature{grid-template-columns:1fr}.puck-card--feature>div:first-child{min-height:220px}}
/* ===== task131: native conversions ===== */
.puck-card--band,.puck-card--mission{background:var(--grad-band)!important;border:none!important;border-radius:var(--radius-lg)!important;padding:var(--pad-panel)!important;text-align:center;box-shadow:var(--shadow-md)!important;overflow:hidden}
.puck-card--band::before,.puck-card--mission::before{display:none}
.puck-card--mission::after{content:'\201C';position:absolute;top:-20px;left:24px;font-size:9rem;line-height:1;color:rgba(255,255,255,.08);font-family:var(--font-head);pointer-events:none}
.puck-card--band>div,.puck-card--mission>div{align-items:center;text-align:center}
.puck-card--band .puck-card-eyebrow,.puck-card--mission .puck-card-eyebrow{display:inline-block;padding:7px 16px;border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;line-height:1.3;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:var(--teal-bright);margin:0 0 18px}
.puck-card--band .puck-card-title{font-family:var(--font-head);font-size:clamp(1.8rem,3.2vw,2.4rem);letter-spacing:-.02em;font-weight:800;color:#fff;margin:0 0 20px;line-height:1.2}
.puck-card--band .puck-card-description{color:rgba(255,255,255,.88);font-size:1.05rem;line-height:1.75;max-width:680px;margin:0 auto}
.puck-card--band .puck-card-description a{color:var(--teal-bright);text-decoration:underline;text-underline-offset:3px}
.puck-card--band .puck-card-button,.puck-card--band a[class*=button]{margin:22px auto 0}
.puck-card--mission .puck-card-description{font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.65;color:#fff;max-width:740px;margin:0 auto}
.puck-card--intro-center{border:none!important;border-top:4px solid var(--teal)!important;padding:24px 32px!important;background:var(--surface)!important;border-radius:var(--radius)!important;box-shadow:none!important;text-align:center;max-width:820px;margin-left:auto;margin-right:auto}
.puck-card--intro-center::before{display:none}
.puck-card--intro-center>div{align-items:center;text-align:center}
.puck-card--intro-center .puck-card-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.puck-card--intro-center .puck-card-title{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;margin:0 0 12px}
.puck-card--intro-center .puck-card-description{color:var(--ink);font-size:1.06rem;line-height:1.75;max-width:820px;margin:0 auto}
.puck-card--pathway{background:var(--surface)!important;padding:30px 26px!important;border:none!important;border-bottom:3px solid transparent!important;border-radius:0!important;box-shadow:none!important;text-align:left;transition:border-color .2s}
.puck-card--pathway:hover{border-bottom-color:var(--teal)!important;transform:none!important}
.puck-card--pathway::before{display:none}
.puck-card--pathway>div{align-items:flex-start;text-align:left}
.puck-card--pathway .puck-card-eyebrow{display:block;font-family:var(--font-head);font-size:2.8rem;font-weight:900;color:var(--teal);opacity:.45;line-height:1;margin:0 0 12px;letter-spacing:-.06em;text-transform:none}
.puck-card--pathway .puck-card-title{font-size:1.15rem;font-weight:800;color:var(--ink);margin:0 0 8px}
.puck-card--pathway .puck-card-description{color:var(--ink-soft);font-size:.95rem;line-height:1.7}
.puck-card--seal-state,.puck-card--seal-global{border-radius:var(--radius-lg)!important;padding:36px 30px!important;position:relative;overflow:hidden;border:1px solid var(--line)!important;background:var(--white)!important;box-shadow:var(--shadow-md)!important;text-align:left}
.puck-card--seal-state>div,.puck-card--seal-global>div{align-items:flex-start;text-align:left}
.puck-card--seal-state::before,.puck-card--seal-global::before{content:"";display:block!important;position:absolute;top:0;left:0;right:0;height:6px;width:auto!important;background-image:none}
.puck-card--seal-state::before{background:linear-gradient(90deg,#1a6632,#3db862,#1a6632)!important}
.puck-card--seal-global::before{background:linear-gradient(90deg,var(--navy),var(--teal-bright),var(--navy))!important}
.puck-card--seal-state .puck-card-eyebrow,.puck-card--seal-global .puck-card-eyebrow{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;align-self:flex-start}
.puck-card--seal-state .puck-card-eyebrow{background:#e6f5ea;color:#1a6632;border:1px solid #aadcba}
.puck-card--seal-global .puck-card-eyebrow{background:var(--surface-2);color:var(--navy);border:1px solid var(--line)}
.puck-card--seal-state .puck-card-title,.puck-card--seal-global .puck-card-title{font-family:var(--font-head);font-size:1.4rem;font-weight:800;color:var(--ink);margin:0 0 12px;line-height:1.2}
.puck-card--seal-state .puck-card-description,.puck-card--seal-global .puck-card-description{color:var(--ink-soft);font-size:.94rem;line-height:1.72;margin:0 0 18px}
.puck-card--seal-state .puck-card-checklist li>span:last-child,.puck-card--seal-global .puck-card-checklist li>span:last-child{font-size:.88rem!important;line-height:1.5!important}
.puck-card--seal-state .puck-card-checklist li [class*=material-symbols],.puck-card--seal-state .puck-card-checklist li [class*=material-icons]{color:#1a6632!important}
.puck-card--yl{max-width:720px;margin:0 auto 10px;padding:12px 20px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-left:4px solid var(--teal-bright)!important;border-radius:10px!important;box-shadow:0 1px 3px rgba(15,23,42,.06)!important;text-align:left}
.puck-card--yl::before{display:none}
.puck-card--yl>div{flex-direction:row;align-items:baseline;gap:14px;text-align:left}
.puck-card--yl .puck-card-eyebrow{font-weight:800;color:var(--navy);font-size:1rem;min-width:52px;letter-spacing:0;text-transform:none;margin:0}
.puck-card--yl .puck-card-description{color:#334155;font-size:.95rem;line-height:1.6;margin:0}
.puck-card--honor{background:#fff!important;border:1px solid #e2e8f0!important;border-top:4px solid var(--navy)!important;border-radius:12px!important;padding:20px 22px!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important;height:100%;text-align:left}
.puck-card--honor::before{display:none}
.puck-card--honor .puck-card-checklist{gap:0!important;margin:0!important}
.puck-card--honor .puck-card-checklist li{padding:7px 2px!important;border-bottom:1px solid #eef2f7;font-size:.9rem!important;color:#334155;gap:8px!important;align-items:flex-start!important}
.puck-card--honor .puck-card-checklist li:last-child{border-bottom:none}
.puck-card--honor .puck-card-checklist li [class*=material-symbols],.puck-card--honor .puck-card-checklist li [class*=material-icons]{display:none!important}
.puck-card--honor .puck-card-checklist li>span:last-child{font-size:.9rem!important;line-height:1.55!important}
.puck-card--shot,.puck-card--shot-sq{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:12px!important;overflow:hidden;transition:var(--t2)}
.puck-card--shot::before,.puck-card--shot-sq::before{display:none}
.puck-card--shot:hover,.puck-card--shot-sq:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)!important}
.puck-card--shot>div:first-child{height:300px!important;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.puck-card--shot-sq>div:first-child{height:280px!important;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.puck-card--shot img,.puck-card--shot-sq img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.puck-card--shot>div:last-child:empty,.puck-card--shot-sq>div:last-child:empty{display:none}
.puck-grid:has(>.puck-grid-column>.puck-card--shot),.puck-grid:has(>.puck-grid-column>.puck-card--shot-sq){background:transparent!important;padding-top:0!important;padding-bottom:0!important}

/* Big-year heading pattern: h2 year followed by h3 recipient subheading */
#puck-content h2 + h3 {
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem);
  font-weight: 600;
  color: #4a5568;
  line-height: 1.5;
  margin-top: 0.35rem;
}

/* College WL award: standalone h3 page/section titles at a moderate size */
#puck-content > h3 { font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2rem); line-height: 1.3; }
/* Group photos (2013 intro, 2023 ceremony, 2016 recipients): large, centered, uniform */
.puck-image-img[src*="10c181d6b5fc"],
.puck-image:has(.puck-image-img[src*="10c181d6b5fc"]) .puck-image-figure,
/* Centered utility note paragraphs inside Text pucks */
.puck-text p[style*="text-align:center"]{text-align:center!important}

/* Partially-filled 3-col recipient grids: hide empty columns, center the remaining cards, keep card width uniform with full rows */
.puck-grid[style*="--grid-columns: 3"]:has(>.puck-grid-column:empty):has(>.puck-grid-column>.puck-card){display:flex;justify-content:center;gap:26px!important}
.puck-grid[style*="--grid-columns: 3"]:has(>.puck-grid-column:empty):has(>.puck-grid-column>.puck-card)>.puck-grid-column{flex:0 0 calc((100% - 52px)/3)}
.puck-grid[style*="--grid-columns: 3"]:has(>.puck-grid-column>.puck-card)>.puck-grid-column:empty{display:none}

/* Standalone intro-left cards: cap width for comfortable reading, centered block */
#puck-content > .puck-card--intro-left{max-width:880px;margin-left:auto;margin-right:auto;box-sizing:border-box}

/* Global Seal webinar promo graphics: show entire image at natural aspect */
#puck-content .puck-image-img[src*="4a554d99af6f"],
#puck-content .puck-image-img[src*="db3adac19079"],
#puck-content .puck-image-img[src*="6210679c1fa9"],
#puck-content .puck-image-img[src*="fce1c352c807"]{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:12px}

/* Advocacy civic-quote band: stat-led hierarchy */
.puck-card--civic-quote{text-align:center}
.puck-card--civic-quote>div{align-items:center}
.puck-card--civic-quote .puck-card-eyebrow{color:var(--teal-bright)!important;letter-spacing:.18em;font-size:.78rem!important;margin-bottom:14px}
.puck-card--civic-quote .puck-card-title{font-size:clamp(1.9rem, 1.2rem + 2.4vw, 2.9rem)!important;font-weight:800;line-height:1.2;max-width:820px;margin:0 auto 18px}
.puck-card--civic-quote .puck-card-description{font-size:clamp(1rem, .95rem + .5vw, 1.2rem)!important;font-weight:400!important;color:rgba(255,255,255,.85)!important;max-width:760px;margin:0 auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.25)}

/* Multilingual Illinois: show full photos beside the ISBE text card, letterboxed on a soft surface */
#puck-content .puck-image-img[src*="57331762d871"],
#puck-content .puck-image-img[src*="1cfd23686474"]{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;border-radius:var(--radius)}
.puck-grid:has(img[src*="57331762d871"])>.puck-grid-column:first-child{display:flex;flex-direction:column;gap:20px;justify-content:center}

/* Board regions map: render as large as the source allows, clickable for full size */
#puck-content .puck-image-img[src*="d94492f9206c"]{width:620px!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;display:block;margin:0 auto;cursor:zoom-in}
#puck-content a:has(>.puck-image-img[src*="d94492f9206c"]){display:block;width:100%;text-align:center}

/* 2016 group card: wide group photo shown uncropped inside the uniform card frame */
.puck-card--fullphoto:has(img[src*="71f2b4ceee99"]){max-width:880px;margin:0 auto}
.puck-card--fullphoto:has(img[src*="71f2b4ceee99"])>div:first-child{height:auto!important}
.puck-card--fullphoto img[src*="71f2b4ceee99"]{height:auto!important;object-fit:contain!important}

/* shot-l: gallery card like --shot but natural aspect (no face-cropping portrait crop) */
.puck-card--shot-l{align-self:start;height:auto!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:12px!important;overflow:hidden;transition:var(--t2)}
.puck-card--shot-l::before{display:none}
.puck-card--shot-l:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)!important}
.puck-card--shot-l>div:first-child{height:auto!important;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.puck-card--shot-l img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
.puck-card--shot-l>div:last-child:empty{display:none}
.puck-grid:has(>.puck-grid-column>.puck-card--shot-l){background:transparent!important;padding-top:0!important;padding-bottom:0!important}

/* Affiliate logos: never crop a logo — letterbox on white instead */
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image-img{object-fit:contain!important;background:#fff;padding:10px;box-sizing:border-box}

/* shot-l cards must never stretch to row height */
#puck-content .puck-grid-column>.puck-card--shot-l{align-self:start!important;height:auto!important}
#puck-content .puck-grid:has(>.puck-grid-column>.puck-card--shot-l)>.puck-grid-column{align-content:start!important;align-items:start!important}
#puck-content .puck-card--shot-l>div:first-child{height:auto!important}
#puck-content .puck-card--shot-l img{display:block;height:auto!important;background:transparent!important}

/* breathing room between the dark mission card and the stats strip */
#puck-content .puck-card--mission:has(~ .puck-stats){margin-bottom:56px!important}

/* Affiliate logo cards: uniform size */
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image{width:100%!important;max-width:none!important}
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image>a{display:block;width:100%!important}
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image-img{width:100%!important;height:170px!important;aspect-ratio:auto!important}

/* feature card: image bleeds to card edges, no inset gap or inner rounding */
#puck-content .puck-card--feature>div:first-child{padding:0!important;margin:0!important;overflow:hidden}
#puck-content .puck-card--feature>div:first-child img{border-radius:0!important;display:block;margin:0!important}

/* icon-card icon boxes: larger icon inside the pale blue square */
#puck-content .puck-card-icon [class*="material-symbols"],#puck-content .puck-card-icon [class*="material-icons"]{font-size:36px!important}

/* Keynote speakers heading: space before the split-hero cards below it */
#puck-content h2+.puck-hero--split,#puck-content h3+.puck-hero--split{margin-top:40px!important}

/* Central States 2026 logos: show full logo, no crop */
#puck-content .puck-grid:has(img[alt="Central States — Languages for All"]) .puck-image-img{object-fit:contain!important;background:#fff;padding:12px;box-sizing:border-box;height:220px!important}

/* Teacher tours gallery: force uniform row height so all columns stay in line */
#puck-content .puck-grid:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image{height:220px!important;overflow:hidden}
#puck-content .puck-grid:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-img{width:100%!important;height:100%!important;object-fit:cover!important}
/* Override for affiliate logo grid: still contain on white (scoped more specifically) */
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image{height:auto!important;overflow:visible}
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image-img{height:170px!important;object-fit:contain!important}

/* Pathway step cards: panel base + oversized step number */
.puck-card--pathway{background:var(--surface);border-left:4px solid var(--teal)}
.puck-card--pathway .puck-card-eyebrow{font-family:var(--font-head);font-size:3.5rem!important;font-weight:900!important;letter-spacing:-.03em;color:var(--navy)!important;line-height:1;text-transform:none!important;margin-bottom:8px!important}
.puck-card--pathway .puck-card-title{font-size:1.15rem!important;font-weight:800;margin:0 0 8px}
.puck-card--pathway .puck-card-description{font-size:.97rem;line-height:1.65;color:var(--ink)}

/* NextGen flyer: wider column + full image visible (no crop) */
#puck-content .puck-grid:has(img[alt*="2027 monthly meeting"]){grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important}
#puck-content .puck-grid:has(img[alt*="2027 monthly meeting"]) .puck-image{height:auto!important;overflow:visible}
#puck-content .puck-grid:has(img[alt*="2027 monthly meeting"]) .puck-image-img{object-fit:contain!important;height:auto!important;width:100%!important;background:#fff;margin:0!important}

/* NextGen "How do I join?" card: center content, no giant gap, bigger checklist */
#puck-content .puck-card--featured:has(.puck-card-checklist)>div{justify-content:center!important;gap:20px!important;align-items:flex-start}
#puck-content .puck-card--featured:has(.puck-card-checklist) .puck-card-description{flex-grow:0!important;flex-shrink:0}
#puck-content .puck-card--featured:has(.puck-card-checklist) .puck-card-checklist{font-size:1.15rem!important;align-self:center;width:100%}
#puck-content .puck-card--featured:has(.puck-card-checklist) .puck-card-checklist li{align-items:center;justify-content:center;gap:14px}
#puck-content .puck-card--featured:has(.puck-card-checklist) .puck-card-checklist li [class*="material"]{font-size:24px!important}



            /* Base styles */
            * {
              margin: 0;
              padding: 0;
              box-sizing: border-box;
            }
            
            body {
              font-family: Roboto Slab;
              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: Roboto Slab;
              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: Roboto Slab;
              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.9.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;
}
            /* Render class contract v1.9.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;
}
.puck-flex-item {
  flex-shrink: 0;
}
.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;
}

            /* 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.9.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.9.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. */
            


:root {
  --ink: #0f2a3a;
  --ink-soft: #4a6472;
  --navy: #00009c;          /* brand royal blue */
  --navy-deep: #000074;     /* darker royal for depth */
  --blue-mid: #2a55c0;      /* bridge tone between royal and sky */
  --teal: #2a6db5;          /* accessible mid blue (links/icons on white) */
  --teal-bright: #7bb5e7;   /* brand sky blue */
  --sky: #7bb5e7;           /* brand sky blue */
  --sky-soft: #a8cef0;      /* lighter sky for button gradients */
  --indigo: #131a5e;        /* softened deep surface blue */
  --indigo-deep: #0b1044;   /* darkest surface blue */
  --green: #7bb5e7;         /* legacy alias -> sky */
  --green-soft: #a8cef0;    /* legacy alias -> soft sky */
  --surface: #f2f6fb;
  --surface-2: #e7eff9;
  --line: #d7e2ef;
  --white: #ffffff;
  --shadow-sm: 0 1px 2px rgba(0,0,120,.06), 0 2px 8px rgba(0,0,120,.05);
  --shadow-md: 0 6px 20px rgba(0,0,120,.10), 0 2px 6px rgba(0,0,120,.06);
  --shadow-lg: 0 20px 48px rgba(0,0,120,.16), 0 6px 16px rgba(0,0,120,.08);
  --radius: 16px;
  --radius-lg: 24px;
  /* dark band — indigo family */
  --grad-band: linear-gradient(135deg, var(--indigo-deep) 0%, var(--indigo) 55%, var(--blue-mid) 100%);
  --grad-btn: linear-gradient(180deg, var(--sky-soft), var(--sky));
  --grad-accent: linear-gradient(90deg, var(--navy), var(--teal-bright) 60%, var(--sky-soft));
  --pad-panel: 56px 48px;
  --maxw: 1160px;
  --font-head: 'Roboto Slab', Georgia, serif;
  --font-body: 'Roboto', system-ui, -apple-system, sans-serif;
  --t2: transform .2s ease, box-shadow .2s ease;
  --t18: transform .18s ease, box-shadow .18s ease;
  /* full-width: heroes bleed; non-hero capped at --maxw */
  --content-max-width: 100%;
  --header-max-width: var(--maxw);
  --footer-max-width: var(--maxw);
}/* ---------- base / rhythm ---------- */
body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}h1,h2,h3,h4,h5,h6{ font-family: var(--font-head); color: var(--ink); line-height: 1.15; letter-spacing: -0.01em; }a{ color: var(--navy); text-decoration: none; }a:hover{ color: var(--teal); }img{ max-width: 100%; }/* Cap the width of regular in-flow content; let heroes break out full-bleed */
.puck-text,.puck-grid,.puck-cta,.puck-flex,.recur-event-list,.recur-product-list,.recur-event-calendar,.page-title{
  max-width: var(--maxw);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}/* Designed section headers (.sh) */
.sh{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}.sh--center{ text-align: center; }.sh--left{ text-align: left; }.sh__title{
  font-family: var(--font-head);
  font-size: clamp(1.85rem, 3.6vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 18px;
  line-height: 1.15;
}/* Accent underline rule */
.sh__title::after{
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin-top: 14px;
  border-radius: 4px;
  background: var(--grad-accent);
}.sh--center .sh__title::after{ margin-inline: auto; }.sh--left   .sh__title::after{ margin-left: 0; }/* Lede paragraph — styled large and dark,constrained width. */
.sh__lede,.puck-text .sh__lede{
  font-size: 1.13rem;
  color: var(--ink);
  line-height: 1.78;
  max-width: 660px;
  margin: 0 auto;
  text-align: center;
}.sh--left .sh__lede,.puck-text .sh--left .sh__lede{ margin-left: 0; margin-right: 0; text-align: left; }/* h3 sub-section labels (Regional Directors,Associate Directors,etc.) */
.sh__sub{
  font-family: var(--font-head);
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 4px;
}/* Tour year headings — larger,navy */ .css-orphan-0{
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--teal);
}#puck-content>h2{ max-width: var(--maxw); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }#puck-content>h2{ font-size: clamp(2.3rem, 4.4vw, 3.2rem); font-weight: 800; letter-spacing: -0.02em; margin: 0 auto; text-align: center; }.puck-text{ color: var(--ink-soft); font-size: 1.075rem; }/* Default paragraph rhythm — ONLY for unclassed paragraphs. Classed */
.puck-text p:not([class]){ margin: 0 0 1em; }.puck-text a{ text-decoration: underline; text-underline-offset: 3px; }#puck-content>h2+.puck-text{
  /* Minimal gap so heading and its lede read as one unit */
  margin-top: 8px !important;
}#puck-content>h2+.puck-text p{
  font-size: 1.13rem;
  color: var(--ink);
  line-height: 1.75;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}/* Left-aligned section intro callout (WinterFest,Advocacy,Fund,Affinity) */
.section-intro-left{
  border-left: 4px solid var(--teal);
  padding: 24px 32px;
  background: var(--surface);
  border-radius: 0 var(--radius) var(--radius) 0;
  max-width: var(--maxw);
  margin: 0 auto;
  box-sizing: border-box;
}.section-intro-left__eyebrow{
  font-size: .72rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--navy);
  margin: 0 0 10px; display: block;
}.section-intro-left__title{
  font-family: var(--font-head);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 800; letter-spacing: -0.01em;
  color: var(--ink); margin: 0 0 12px; line-height: 1.2;
}.section-intro-left__body{
  color: var(--ink); font-size: 1.06rem;
  line-height: 1.75; margin: 0;
}.section-intro-left a{
  color: var(--teal); text-decoration: underline; text-underline-offset: 3px;
}.section-footnote{ color: var(--ink-soft); font-size: .95rem; text-align: center; }#puck-content>h2::after{
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: 14px;
  border-radius: 4px;
  background: var(--grad-accent);
  margin-left: auto;
  margin-right: auto;
}/* HERO */
.puck-hero{
  position: relative;
  color: var(--white);
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--indigo);
  background-size: cover;
  background-position: center;
  /* Break hero out of the main element's 2rem padding now that main is full-viewport-width. */
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-right: -2rem;
}.puck-hero::before{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(120deg, rgba(11,16,68,.78) 0%, rgba(19,26,94,.52) 45%, rgba(123,181,231,.28) 100%);
  z-index: 1;
}.puck-hero-content{
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto;
  padding: 38px 24px;
  text-align: center;
}.puck-hero-title{
  font-family: var(--font-head);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--white);
  font-size: clamp(2.2rem, 4.6vw, 3.4rem);
  line-height: 1.08;
  margin: 0 0 .5em;
  text-shadow: 0 2px 24px rgba(8,30,50,.35);
}.puck-hero-subtitle{
  color: rgba(255,255,255,.92);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  max-width: 44ch;
  margin: 0 auto;
}.multilingual-band-eyebrow,.mission-callout-label{
  display: inline-block;
  padding: 7px 16px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.3;
}.multilingual-band-eyebrow,.mission-callout-label{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.24);
  color: var(--teal-bright);
  margin: 0 0 18px;
}.puck-hero-cta{ margin-top: 30px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }.puck-hero-cta-primary,.puck-hero-cta-secondary{
  display: inline-block;
  padding: 14px 28px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 1rem;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}.puck-hero-cta-primary{
  background: var(--grad-btn);
  color: var(--navy-deep);
  box-shadow: 0 10px 24px rgba(123,181,231,.40);
}.puck-hero-cta-primary:hover{ transform: translateY(-2px); color: var(--navy-deep); box-shadow: 0 14px 30px rgba(123,181,231,.55); }.puck-hero-cta-secondary{
  background: rgba(255,255,255,.12);
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,.55);
  backdrop-filter: blur(2px);
}.puck-hero-cta-secondary:hover{ background: rgba(255,255,255,.22); color: var(--white); transform: translateY(-2px); }/* Split hero */
.puck-hero--split{ color: var(--white); background-color: var(--indigo); }.puck-hero--split::before{ background: linear-gradient(120deg, rgba(11,16,68,.92), rgba(42,85,192,.45)); }.puck-hero--split .puck-hero-content{ text-align: left; margin: 0; max-width: 620px; padding: 64px 40px; }.puck-hero--split .puck-hero-subtitle{ margin: 0; }/* Featured split blocks (mid-page,not the page hero): layered panel —
   contained rounded card,accent top bar,nested detail box,CTA divider. */
.puck-hero--split:not(:first-child){
  width: auto;
  max-width: var(--maxw);
  margin: 0 auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  /* clip image div to card's rounded corners */
  overflow: hidden;
  /* tighten height — override platform inline min-height */
  min-height: 0 !important;
}.puck-hero--split:not(:first-child)::before{
  /* text panel stays dark via background-color:var(--indigo); photo shows clear */
  background: transparent;
}.puck-hero--split:not(:first-child)::after{
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: var(--grad-accent);
  z-index: 3;
}/* Reduce content padding so card height hugs the text */
.puck-hero--split:not(:first-child) .puck-hero-content{
  padding: 40px 40px;
}/* Details box — clearly visible fill + stronger border */
.puck-hero--split:not(:first-child) .puck-hero-subtitle{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: var(--radius);
  padding: 18px 22px;
}.puck-hero--split:not(:first-child) .puck-hero-cta{
  border-top: 1px solid rgba(255,255,255,.18);
  padding-top: 20px;
  margin-top: 20px;
}/* Clean flat button — remove the blue glow */
.puck-hero--split:not(:first-child) .puck-hero-cta-primary{
  box-shadow: none;
  background: var(--white);
  color: var(--navy-deep);
}.puck-hero--split:not(:first-child) .puck-hero-cta-primary:hover{
  box-shadow: 0 4px 12px rgba(0,0,0,.22);
  transform: translateY(-1px);
  color: var(--navy-deep);
}.puck-hero-split-panel{ position: relative; z-index: 2; }.puck-hero-split-image{ object-fit: cover; width: 100%; height: 100%; }.puck-hero--split .puck-hero-cta{ justify-content: flex-start; }/* CARDS */
.puck-card{
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 32px 24px;
  box-shadow: var(--shadow-sm);
  position: relative;
  /* Fill allocated grid/flex height so sibling cards match */
  height: 100%;
  box-sizing: border-box;
  flex: 1 1 auto;
  /* Internal layout: flex-column so button can be pinned to the bottom */
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  overflow: hidden;
}.puck-card::before{
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--grad-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s ease;
}.puck-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--surface-2); }.puck-card:hover::before{ transform: scaleX(1); }/* Inner text wrapper — flex-grow so it fills remaining card height,making description + button pin consistently regardless of title length */
.puck-card > div{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}.puck-card-title{
  font-family: var(--font-head);
  font-size: 1.28rem;
  font-weight: 600;
  color: var(--ink);
  margin: 6px 0 10px;
}/* Description flexes to fill available space,pushing any button to the bottom */
.puck-card-description{
  color: var(--ink-soft);
  font-size: 1rem;
  white-space: pre-line;
  flex: 1 1 auto;
}/* Button/link anchored to bottom of card */
.puck-card-button,.puck-card a[class*="button"],.puck-card > a:not(.puck-card){
  margin-top: auto;
}/* Icon chip: icon always sits inside a soft rounded tinted square */
.puck-card .material-icons,.puck-card [class*="material-icons"],.puck-card [class*="material-symbols"]{
  color: var(--navy);
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  width: auto;
  box-sizing: content-box;
}.puck-card--featured .material-icons,.puck-card--featured [class*="material-icons"],.puck-card--featured [class*="material-symbols"]{
  color: var(--teal-bright);
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.22);
}.puck-card--minimal{ border: none; box-shadow: none; background: transparent; padding: 8px 0; }.puck-card--featured{color:var(--white)!important;background:linear-gradient(135deg,var(--navy),var(--blue-mid))!important;border:none!important}.puck-card--featured .puck-card-title,.puck-card--featured .puck-card-description{color:var(--white)!important}/* Generic image cards (non-person) */
.puck-card img{
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center top;
  border-radius: 12px;
  margin: -6px 0 18px;
  background: var(--surface-2);
}.puck-card:has(img){ text-align: center; padding-top: 28px; }.puck-card:has(img) .puck-card-title{ margin-top: 0; }.puck-card:has(img) .puck-card-description{ color: var(--ink-soft); font-size: .9rem; line-height: 1.5; }/* Board & director person cards */

/* Card shell — flex column so content can grow/fill equal height */
.puck-card--board,.puck-card--director{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 36px 24px 32px;
  gap: 0;
}/* Always-on top accent stripe */
.puck-card--board::before{ transform: scaleX(1); }/* Override the platform's fixed-height image wrapper */
.puck-card--board > div:first-child,.puck-card--director > div:first-child{
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}/* Circular avatar — 130 px,prominent teal ring */
.puck-card--board img,.puck-card--director img{
  width: 130px !important;
  height: 130px !important;
  border-radius: 50% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
  object-position: center top;
  display: block !important;
  margin: 0 auto !important;
  border: 4px solid var(--teal) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.18) !important;
  background: var(--surface-2);
  flex-shrink: 0;
}/* Text block — fill remaining height so cards line up at bottom */
.puck-card--board > div:last-child,.puck-card--director > div:last-child{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
}/* Role eyebrow — clear,well-spaced label above the name */
.puck-card--board .puck-card-eyebrow,.puck-card--director .puck-card-eyebrow{
  display: block;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--teal);
  margin: 0 0 10px;
  line-height: 1.3;
}/* Name — the primary visual anchor: larger,bolder */
.puck-card--board .puck-card-title,.puck-card--director .puck-card-title{
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 10px;
  line-height: 1.25;
}/* School / contact — clearly secondary: smaller and muted */
.puck-card--board .puck-card-description,.puck-card--director .puck-card-description{
  font-size: .82rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0;
  white-space: pre-line;
}/* Email links inside person cards */
.puck-card--board .puck-card-description a,.puck-card--director .puck-card-description a{
  color: var(--navy);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  transition: border-color .15s, color .15s;
}.puck-card--board .puck-card-description a:hover,.puck-card--director .puck-card-description a:hover{ color: var(--teal); border-color: var(--teal); }/* Strategic Plan for a Multilingual Illinois — dark featured band */
.multilingual-band{
  background: var(--grad-band);
  border-radius: var(--radius-lg);
  padding: var(--pad-panel);
  max-width: var(--maxw);
  margin: 0 auto;
  text-align: center;
}.multilingual-band-title{
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  letter-spacing: -0.02em;
  font-weight: 800;
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.2;
}.puck-text .multilingual-band p,.puck-text .multilingual-band-text,.multilingual-band p,.multilingual-band-text{
  color: rgba(255,255,255,.88);
  font-size: 1.05rem;
  line-height: 1.75;
  max-width: 680px;
  margin: 0 auto;
}/* Affiliate organization logo grid */
/* Equal-height cards inside native grids */
.puck-grid{ align-items: stretch; }.puck-grid-column{ display: grid; grid-auto-rows: 1fr; align-content: stretch; }.puck-grid-column > *{ width: 100%; }.puck-grid-column > .puck-card{ height: 100%; box-sizing: border-box; }.affiliate-logos{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 16px;
}.affiliate-logos a{
  display: flex; align-items: center; justify-content: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 24px 28px;
  height: 200px;
  text-align: center;
  color: var(--ink) !important;
  font-weight: 600; font-size: .92rem; line-height: 1.35;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}.affiliate-logos a:hover{ transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: var(--surface-2); }.puck-text .affiliate-logos img,.affiliate-logos img{
  max-height: 150px;
  max-width: 280px;
  width: auto;
  height: auto !important;
  object-fit: contain;
  margin: 0;
}/* Email / link inside icon-card descriptions (affiliates,contact,etc.) */
.puck-card-description a{ color: var(--teal); text-decoration: none; word-break: break-all; }.puck-card-description a:hover{ text-decoration: underline; }/* Region map — a single wide illustrative image,centered and framed. */
.board-region-map{
  display: block;
  width: 100%;
  max-width: 720px;
  height: auto;
  margin: 8px auto 0;
  border-radius: var(--radius);
  border: 1px solid var(--surface-2);
  box-shadow: var(--shadow-sm);
  background: var(--surface-2);
}/* Board Gatherings gallery — uniform responsive grid of square thumbnails. */
.board-gallery{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}.board-gallery img{
  display: block;
  width: 100% !important;   /* beat platform img { width: auto }*/
  height: auto;
  aspect-ratio: 1 / 1 !important; /* beat platform overrides */
  object-fit: cover;
  border-radius: 12px;
  background: var(--surface-2);
  box-shadow: var(--shadow-sm);
  transition: var(--t2);
}
.board-gallery img:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }
@media (max-width: 900px) {.board-gallery{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) {.board-gallery{ grid-template-columns: repeat(2, 1fr); } }/* GRID / FLEX layout */
/* Grid layout — equal-height card rows */
.puck-grid{ display: grid; gap: 26px; align-items: stretch; }/* Renderer stacks multiple blocks inside each column as .puck-grid-column.
   flex + align-items:stretch makes stacked cards share the column height. */
.puck-grid-column{
  display: grid;
  grid-auto-rows: 1fr;
  align-content: stretch;
  gap: 26px;
  background: transparent;
  padding: 0;
  min-height: 0;
}/* Cards inside columns must fill their allocated row */
.puck-grid-column .puck-card{
  align-self: stretch;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
/* Board page: equal card heights so cross-column rows align perfectly. */
@media (min-width: 901px) {.puck-card--board{ min-height: 430px; overflow: visible !important; }.puck-card--director{ min-height: 370px; overflow: visible !important; }
}.puck-grid:has(.puck-card--board) .puck-grid-column .puck-card,.puck-grid:has(.puck-card--director) .puck-grid-column .puck-card{
  flex-grow: 0 !important;
  height: auto !important;
  align-self: flex-start !important;
}/* Increase grid gap for person-card grids so headshots breathe */
.puck-grid:has(.puck-card--board),.puck-grid:has(.puck-card--director){
  gap: 36px 28px;
}/* Override platform's 1fr auto-rows — let cards take natural height so rows align across columns */
.puck-grid:has(.puck-card--board) .puck-grid-column,.puck-grid:has(.puck-card--director) .puck-grid-column{
  grid-auto-rows: auto !important;
  align-content: start !important;
}/* Contact form widget */
.puck-contact-widget{ margin-inline: auto; max-width: 680px; }.puck-contact-widget > div{
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 36px 40px; box-shadow: var(--shadow-md);
}.puck-contact-widget h3{
  font-family: var(--font-head); color: var(--navy); font-size: 1.6rem; margin: 0 0 6px;
}.puck-contact-widget h3 + p{ color: var(--ink-soft); margin: 0 0 26px; }.puck-contact-widget form{ text-align: left; }.puck-contact-widget label{
  font-weight: 600; color: var(--ink); font-size: .92rem; margin-bottom: 6px;
}.puck-contact-widget label span{ font-weight: 400; color: var(--ink-soft); }.puck-contact-widget input[type="text"],.puck-contact-widget input[type="email"],.puck-contact-widget input[type="tel"],.puck-contact-widget textarea{
  border: 1px solid var(--line); border-radius: 10px; background: var(--surface, #f2f6fb);
  padding: 11px 14px; font: inherit; color: var(--ink);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}.puck-contact-widget input:focus-visible,.puck-contact-widget textarea:focus-visible{
  outline: none; border-color: var(--blue-mid); background: var(--white);
  box-shadow: 0 0 0 3px rgba(123, 181, 231, .35);
}.puck-contact-widget textarea{ resize: vertical; min-height: 120px; }.puck-contact-widget [data-cf="challengeAnswer"] + p{
  color: var(--ink-soft); font-size: .85rem; margin: 6px 0 0;
}.puck-contact-widget input[type="checkbox"]{
  width: 18px; height: 18px; margin-top: 3px; accent-color: var(--navy);
}.puck-contact-widget label:has(input[type="checkbox"]){
  font-weight: 400; color: var(--ink-soft); font-size: .92rem;
}.puck-contact-widget [data-cf="error"]{
  color: var(--error, #b3261e); background: #fdecea; border: 1px solid #f4c7c3;
  border-radius: 10px; padding: 10px 14px; font-size: .92rem;
}.puck-contact-widget [data-cf="submit"]{
  background: var(--blue-mid); color: var(--white); border: 0; border-radius: 999px;
  padding: 14px 28px; font-weight: 600; font-family: var(--font-head); font-size: 1rem;
  cursor: pointer; transition: background .18s ease, transform .18s ease;
}.puck-contact-widget [data-cf="submit"]:hover{ background: var(--navy); transform: translateY(-1px); }.puck-flex{ display: flex; gap: 24px; flex-wrap: wrap; }/* STATS */
/* Full-bleed dark section */ .css-orphan-1{
  background: var(--grad-band);
  border-radius: 0;
  color: var(--white);
  max-width: none;
  width: calc(100% + 4rem);
  margin: 8px -2rem;
  padding: 72px 24px;
  box-shadow: none;
}/* Mission callout */
.mission-callout{
  background: var(--grad-band);
  border-radius: var(--radius-lg);
  padding: var(--pad-panel);
  text-align: center;
  position: relative;
  overflow: hidden;
}.mission-callout::before{
  content: '\201C';
  position: absolute;
  top: -20px;
  left: 24px;
  font-size: 9rem;
  line-height: 1;
  color: rgba(255,255,255,.08);
  font-family: var(--font-head);
  pointer-events: none;
}.puck-text .mission-callout-text,.mission-callout-text{
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  line-height: 1.65;
  color: #fff;
  max-width: 740px;
  margin: 0 auto;
  font-family: var(--font-head);
  font-weight: 400;
}/* CTA band */
/* Full-bleed dark section (color-blocked rhythm): CTA bands run edge-to-edge
   using the same padding-cancel technique as the hero. */
.puck-cta{
  background: var(--grad-band);
  color: var(--white);
  border-radius: 0;
  max-width: none;
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-right: -2rem;
  padding: 80px 24px;
  text-align: center;
  box-shadow: none;
  position: relative;
  overflow: hidden;
}.puck-cta > *{ max-width: var(--maxw); margin-inline: auto; }.puck-cta::after{
  content: "";
  position: absolute; right: -60px; top: -60px;
  width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(123,181,231,.35), transparent 70%);
}.puck-cta-title{ color: var(--white); font-size: clamp(1.9rem, 3.6vw, 2.6rem); font-weight: 800; letter-spacing: -0.02em; margin: 0 auto 12px; text-align: center; }.puck-cta-description{ color: rgba(255,255,255,.9); max-width: 60ch; margin: 0 auto 26px; font-size: 1.08rem; }.puck-cta-buttons{ display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }.puck-cta-primary,.puck-cta-secondary{
  display: inline-block; padding: 14px 28px; border-radius: 999px; font-weight: 600; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}/* CTA primary: white button on dark navy band — high contrast,clearly primary */
.puck-cta-primary{
  background: var(--white) !important;
  color: var(--navy-deep) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
  font-weight: 700;
}.puck-cta-primary:hover{ transform: translateY(-2px); box-shadow: 0 14px 32px rgba(0,0,0,.35); color: var(--navy-deep) !important; }/* CTA secondary: ghost/outline,white border on dark */
.puck-cta-secondary{ background: rgba(255,255,255,.10) !important; color: var(--white) !important; border: 1.5px solid rgba(255,255,255,.65) !important; }.puck-cta-secondary:hover{ background: rgba(255,255,255,.22) !important; color: var(--white) !important; }/* BUTTONS (generic) */
.puck-button{
  display: inline-block; padding: 12px 26px; border-radius: 999px;
  background: var(--navy); color: var(--white); font-weight: 600;
  transition: transform .18s ease, background .18s ease;
}.puck-button:hover{ background: var(--teal); color: var(--white); transform: translateY(-2px); }/* ---------- Pill buttons authored in Text blocks (About,Sponsorship,etc.) ----------
   One shared button system so hand-authored pages match component buttons. */
.btn-row{ display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }.btn-pill{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 26px; border-radius: 999px;
  background: var(--navy); color: var(--white) !important;
  font-weight: 600; font-size: .95rem; text-decoration: none !important;
  transition: background .18s ease, transform .18s ease;
}.btn-pill:hover{ background: var(--teal); color: var(--white); transform: translateY(-2px); }.btn-pill--alt{ background: var(--teal); }.btn-pill--alt:hover{ background: var(--navy); }/* Sponsor logo rows share the affiliate logo treatment */
.sponsor-logos{
  display: flex; flex-wrap: wrap; gap: 28px;
  justify-content: center; align-items: stretch; padding: 8px 0;
  max-width: 1080px; margin: 0 auto;
}.sponsor-logos img,.puck-text .sponsor-logos img{
  box-sizing: border-box;
  width: 300px; height: 170px !important; object-fit: contain;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px 32px;
  box-shadow: var(--shadow-sm);
  transition: var(--t2);
}.sponsor-logos img:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); }
@media (max-width: 700px) {.sponsor-logos{ gap: 16px; }.sponsor-logos img,.puck-text .sponsor-logos img{ width: calc(50% - 8px); height: 130px !important; padding: 18px; }
}.section-footnote{ text-align: center; color: var(--ink-soft); font-size: .9rem; margin-top: 16px; }/* IMAGES */
.puck-image-img{ border-radius: var(--radius); box-shadow: var(--shadow-md); }.puck-image-caption{ color: var(--ink-soft); font-size: .9rem; text-align: center; margin-top: 8px; }/* SITE HEADER */
.site-header{
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}.header-grid{ max-width: none !important; width: 100%; margin: 0; padding: 14px 48px; box-sizing: border-box; }.header-logo-img{ max-height: 46px; }.nav-menu{ display: flex; gap: 2px; align-items: center; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }.nav-link{
  color: var(--ink); font-weight: 500; font-size: .88rem;
  padding: 9px 10px; border-radius: 8px;
  transition: background .16s ease, color .16s ease;
  /* Pre-set transparent underline so :visited can reveal it without layout shift */
  border-bottom: 2px solid transparent;
}/* Visited nav links: navy underline + navy text tint so users can see where they've been */
.nav-link:visited{ color: var(--navy); border-bottom-color: var(--navy); }.nav-link:hover{ background: var(--surface-2); color: var(--navy); border-bottom-color: transparent; }.nav-link:visited:hover{ background: var(--surface-2); color: var(--navy); border-bottom-color: transparent; }/* Force desktop top-level nav into a single row at 1280px. */
.desktop-nav > ul{
  column-gap: 4px !important;
  flex-wrap: nowrap !important;
}.desktop-nav > ul > li > a,.desktop-nav > ul > li > button{
  font-size: .88rem !important;
  padding: 9px 11px !important;
}.nav-link:hover{ background: var(--surface-2); color: var(--navy); }.nav-link-dropdown{ position: relative; }/* Thin line chevron — drawn with borders,replacing the platform's ▼ glyph */
/* Replace the platform's ▼ glyph with Material Symbols Rounded expand_more */
.dropdown-arrow{
  font-size: 0;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-left: 2px;
}.dropdown-arrow::after{
  content: '\e5cf';                    /* expand_more */
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-size: 15px;
  line-height: 1;
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 20;
  opacity: .75;
}.nav-dropdown{
  position: absolute; top: 100%; left: 0; min-width: 240px; z-index: 60;
  background: var(--white); border: 1px solid var(--line); border-radius: 12px;
  box-shadow: var(--shadow-lg); padding: 8px; margin-top: 6px;
  list-style: none;
}.nav-dropdown .nav-link{ display: block; padding: 10px 14px; border-radius: 8px; font-weight: 500; }.nav-dropdown .nav-link:hover{ background: var(--surface-2); color: var(--navy); }/* Second-level (flyout) submenus — the renderer only styles one dropdown level,*/
.nav-dropdown .nav-link-dropdown{ position: relative; }/* The nested ul is a SIBLING of the anchor inside li.nav-item-nested,so the */
.nav-dropdown .nav-item-nested{ position: relative; }.nav-dropdown .nav-item-nested > .nav-link,.nav-dropdown .nav-item-nested > a,.nav-dropdown .nav-link-dropdown > .nav-link,.nav-dropdown .nav-link-dropdown > a{
  display: block; width: 100%; box-sizing: border-box;
  font-weight: 700; color: var(--navy); text-transform: uppercase;
  letter-spacing: .04em; font-size: .82rem;
}/* Flyout (nested) arrows point right */
.nav-dropdown .dropdown-arrow::after{
  content: '\e5cc';                    /* chevron_right */
  float: right;
}.nav-dropdown .nav-dropdown{
  top: -9px; left: 100%; margin: 0 0 0 8px; min-width: 250px;
}/* Invisible hover bridges so the pointer can cross the visual gaps without
   the menu closing: 8px below the top-level nav item,8px beside a flyout. */
.nav-dropdown::before{
  content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px;
}.nav-dropdown .nav-dropdown::before{
  top: 0; bottom: 0; height: auto; left: -10px; right: auto; width: 10px;
}.nav-dropdown .nav-item-nested:hover > .nav-dropdown,.nav-dropdown .nav-item-nested:focus-within > .nav-dropdown,.nav-dropdown .nav-link-dropdown:hover > .nav-dropdown,.nav-dropdown .nav-link-dropdown:focus-within > .nav-dropdown{ display: block; }.nav-dropdown .nav-dropdown .nav-link{
  font-weight: 500; color: var(--ink); text-transform: none; letter-spacing: 0; font-size: .95rem;
}.nav-dropdown .nav-dropdown .nav-link::after{ content: none; }.header-cta-button{
  display: inline-block; background: linear-gradient(180deg, var(--navy), var(--navy-deep));
  color: var(--white); font-weight: 600; padding: 11px 22px; border-radius: 999px;
  box-shadow: 0 8px 20px rgba(11,79,138,.28); transition: transform .18s ease;
}.header-cta-button:hover{ transform: translateY(-2px); color: var(--white); }.page-title{ font-family: var(--font-head); color: var(--ink); }/* Mobile nav */
.mobile-nav{ background: var(--white); border-top: 1px solid var(--line); }.mobile-nav .nav-link{ display: block; padding: 12px 20px; border-radius: 0; }/* Bold hierarchy: site name + top-level items bold,sub-items normal */
.mobile-nav-title{ font-family: var(--font-head); font-weight: 700; font-size: 1rem; color: var(--ink); }.mobile-nav > ul > li > a{ font-weight: 700 !important; color: var(--ink) !important; }.mobile-nav ul ul.mobile-nav-sub li a{ font-weight: 400 !important; color: var(--ink-soft) !important; }/* SITE FOOTER */
.site-footer{
  background: linear-gradient(180deg, var(--indigo), var(--indigo-deep));
  color: rgba(255,255,255,.82);
  margin-top: 0;
  padding-top: 72px;
  position: relative;
}.site-footer::before{
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--grad-accent);
}.site-footer a{ color: rgba(255,255,255,.82); }.site-footer a:hover{ color: var(--green-soft); }.site-footer-content{
  max-width: 1040px; margin: 0 auto; padding: 0 24px 28px;
  display: grid; grid-template-columns: 1.8fr 1fr 1.4fr 1fr; gap: 48px; box-sizing: border-box;
}.site-footer-title{ font-family: var(--font-head); font-weight: 500; color: var(--teal-bright); font-size: 1.05rem; margin: 0 0 14px; letter-spacing: .04em; }/* Replace the "ICTFL" text heading in the first footer column with the logo image */
.site-footer-section:first-child .site-footer-title{
  display: block;
  width: 96px;
  height: 56px;
  background: url('/media/ictfl/variant/62f3c56e-002f-4820-a321-28f3c0a60b0a') no-repeat left center;
  background-size: contain;
  font-size: 0;
  color: transparent;
  margin-bottom: 18px;
}.site-footer-text{ color: rgba(255,255,255,.72); font-size: .95rem; line-height: 1.7; }.site-footer-links{ list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }.site-footer .site-footer-links li{ list-style: none; }.site-footer-contact{ font-size: .95rem; line-height: 1.8; }.footer-bottom-bar{
  max-width: var(--maxw); margin: 0 auto; padding: 16px 24px 20px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,.14);
}.footer-bottom-bar-copy{ color: rgba(255,255,255,.72); font-size: .88rem; }.site-footer a.footer-bottom-bar-link{
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--white); color: #23305a;
  border-radius: 6px; padding: 6px 12px; font-size: .82rem; font-weight: 600;
  box-shadow: 0 1px 3px rgba(0,0,20,.25); text-decoration: none;
  transition: var(--t18);
}.site-footer a.footer-bottom-bar-link:hover{ color: #23305a; transform: translateY(-1px); box-shadow: 0 3px 8px rgba(0,0,20,.3); }.footer-bottom-bar-link svg{ display: inline-block; vertical-align: middle; }/* RECUR RUNTIME WIDGETS (events / products / calendar) */
/* Event list: full-bleed soft surface band for light/dark section rhythm */
.recur-event-list{
  max-width: none;
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-right: -2rem;
  padding: 64px 24px;
  background: var(--surface);
}.recur-event-list-title,.recur-product-list-title{ font-family: var(--font-head); color: var(--ink); text-align: center; font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -0.02em; }.recur-event-list-grid,.recur-product-list-grid{ display: grid !important; flex-direction: unset !important; grid-template-columns: repeat(3, 1fr) !important; gap: 26px; max-width: var(--maxw); margin: 0 auto; align-items: stretch; }.recur-event-list-empty,.recur-product-list-empty{
  max-width: 620px; margin: 8px auto; text-align: center; color: var(--ink-soft);
  background: var(--surface); border: 1px dashed var(--line); border-radius: var(--radius); padding: 40px 28px;
}/* Event/product cards fill their grid cell height */
.recur-event-card,.recur-product-card{ height: 100%; }.recur-event-card,.recur-product-card{
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-sm); overflow: hidden; display: flex; flex-direction: column;
  transition: var(--t2);
}.recur-event-card:hover,.recur-product-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }.recur-event-card-image,.recur-product-card-image{ width: 100%; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain; background: var(--surface); display: block; flex-shrink: 0; }/* Catch any platform wrapper that may clip the image */
.recur-event-card img,.recur-product-card img{ height: auto !important; max-height: none !important; }/* Body fills remaining card height so "Learn more" always pins to the bottom */
.recur-event-card-body,.recur-product-card-body{ padding: 22px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }/* Title grows to fill available space,pushing date + button downward */
.recur-event-card-title,.recur-product-card-title{ font-family: var(--font-head); font-size: 1.2rem; color: var(--ink); flex: 1 1 auto; }.recur-event-card-date{ color: var(--teal); font-weight: 600; font-size: .9rem; }.recur-product-card-price{ color: var(--navy); font-weight: 600; font-size: 1.15rem; }.recur-event-card-description,.recur-product-card-description{ color: var(--ink-soft); font-size: .96rem; }.recur-event-card-button,.recur-product-card-button,.recur-event-modal-button{
  margin-top: auto; align-self: flex-start; display: inline-block;
  background: var(--navy); color: var(--white); font-weight: 600;
  padding: 10px 20px; border-radius: 999px; transition: background .18s ease, transform .18s ease;
}.recur-event-card-button:hover,.recur-product-card-button:hover{ background: var(--teal); color: var(--white); transform: translateY(-1px); }/* Calendar */
.recur-event-calendar-title{ font-family: var(--font-head); color: var(--ink); text-align: center; }.recur-event-calendar-day{ border: 1px solid var(--line); min-width: 0; }/* The renderer's inline grid uses repeat(7,1fr); with nowrap chip titles,1fr's */
.recur-event-calendar [style*="grid-template-columns"]{
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}.recur-event-calendar-event{
  background: var(--teal); color: var(--white); border-radius: 6px; padding: 2px 6px; font-size: .8rem;
  text-overflow: ellipsis; max-width: 100%;
}/* Mouseover reveals the full title as an overlay anchored to the day cell
   (which is position:relative),without disturbing the grid. */
.recur-event-calendar-event:hover,.recur-event-calendar-event:focus-visible{
  position: absolute; left: 2px; min-width: calc(100% - 4px); width: max-content !important;
  max-width: 320px; white-space: normal !important; z-index: 30;
  background: var(--navy); box-shadow: var(--shadow-md); padding: 6px 10px;
}.recur-event-modal-title{ font-family: var(--font-head); color: var(--ink); }/* The global inline-style stripper (added for the contact form) removes the */
#recur-event-modal-overlay{ background: rgba(15, 42, 58, .55); padding: 20px; }#recur-event-modal{
  background: var(--white); border-radius: var(--radius); padding: 26px 28px;
  box-shadow: var(--shadow-md); border: 1px solid var(--line);
}.puck-text .wsite-section-wrap,.puck-text .wsite-section,.puck-text .wsite-elements,.puck-text .container{
  border: 0 !important; outline: 0 !important; box-shadow: none !important;
  background: transparent !important; margin: 0; padding: 0; width: auto; max-width: none;
}.puck-text .wsite-not-footer{ padding: 0; }/* Content section titles inside reproduced pages */
.puck-text h2.wsite-content-title,.puck-text .wsite-content-title{
  font-family: var(--font-head);
  color: var(--ink);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  line-height: 1.2;
  font-weight: 700;
  margin: 1.6em 0 .5em;
}.puck-text .wsite-content-title:first-child{ margin-top: 0; }/* Titles that are links — remove browser underline,style as plain heading */
.puck-text a.wsite-content-title,.puck-text a h2.wsite-content-title,.puck-text h2.wsite-content-title a{
  text-decoration: none !important;
  color: var(--ink) !important;
}.puck-text a.wsite-content-title:hover,.puck-text h2.wsite-content-title a:hover{ color: var(--navy) !important; }/* Body paragraphs */
.puck-text .paragraph{ color: var(--ink-soft); font-size: 1.06rem; margin: 0 0 1em; }.puck-text .paragraph:last-child{ margin-bottom: 0; }.puck-text ul,.puck-text ol{ color: var(--ink-soft); padding-left: 1.4em; margin: 0 0 1em; }.puck-text li{ margin: .35em 0; }/* Divider */
.puck-text hr{
  border: 0; height: 3px; margin: 2em 0;
  background: var(--grad-accent);
  border-radius: 3px; opacity: .8;
}/* All images inside text blocks: fully responsive,override any HTML width/height attrs */
.puck-text img{
  max-width: 100% !important;
  height: auto !important;
  width: auto;
  display: inline-block;
  vertical-align: middle;
}/* Images + wrappers */
.puck-text .wsite-image{ display: block; margin: 1.2em auto; text-align: center; }.puck-text .wsite-image img{ border-radius: var(--radius); box-shadow: var(--shadow-sm); }.puck-text .wsite-image div{ color: var(--ink-soft); font-size: .9rem; margin-top: 6px; }.puck-text .wsite-multicol-table{
  display: block !important;
  width: 100%;
  border: none !important;
  box-shadow: none !important;
}.puck-text .wsite-multicol-table{ display: block !important; }/* Content tables (data tables only — schedules,fee grids,etc.)
   Any table that still has border="1" after cleanup is a genuine data table. */
.puck-text table:not(.wsite-multicol-table){
  border-collapse: collapse; width: 100%; margin: 1.4em 0; font-size: .98rem;
  box-shadow: var(--shadow-sm); border-radius: var(--radius); overflow: hidden;
}.puck-text table:not(.wsite-multicol-table) th,.puck-text table:not(.wsite-multicol-table) td{
  border: 1px solid var(--line); padding: 10px 14px; text-align: left; vertical-align: top;
}.puck-text table:not(.wsite-multicol-table) th{ background: var(--surface-2); color: var(--ink); font-weight: 600; }.puck-text table:not(.wsite-multicol-table) tr:nth-child(even) td{ background: var(--surface); }/* Sponsor/logo image rows (grid of images */ .css-orphan-2{ border-radius: var(--radius); box-shadow: var(--shadow-sm); }

/* RESPONSIVE */
@media (max-width: 900px) {.multilingual-band,.mission-callout{ padding: 40px 24px; }.recur-event-list-grid,.recur-product-list-grid{ grid-template-columns: repeat(2, 1fr); }.site-footer-content{ grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 600px) {/* Heroes: never taller than the phone screen; size to content instead of the */
  .puck-hero{ min-height: 0 !important; }.puck-hero-content{ padding: 52px 20px; }.puck-hero-title{ font-size: 1.65rem; line-height: 1.25; }.puck-hero-subtitle{ font-size: .98rem; }.recur-event-list-grid,.recur-product-list-grid{ grid-template-columns: 1fr; }.site-footer-content{ grid-template-columns: 1fr; }.puck-cta{ padding: 48px 24px; }.recur-event-list{ padding: 44px 20px; }.puck-hero--split .puck-hero-content{ padding: 44px 24px; }
}/* ------------------------------------------------------------ */

.puck-text .wsite-elements,.puck-text .wsite-not-footer{ display: contents; }.puck-text .container,.puck-text .banner{ display: block; padding: 0; margin: 0; border: 0; background: transparent; max-width: none; }/* Level 1: major section header — near-black,large,generous rhythm */
.puck-text h2.wsite-content-title{
  font-family: var(--font-head);
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  font-weight: 900;
  /* Near-black — NOT navy/teal so color stays reserved for interactive only */
  color: var(--indigo-deep);
  letter-spacing: -0.025em;
  line-height: 1.15;
  /* 80px above each major section for generous rhythm */
  margin: 80px 0 24px;
  padding: 0;
  border: 0;
  display: block;
  text-decoration: none;
  outline: none;
  position: relative;
}/* Thin teal accent bar above (visual anchor,not a full underline) */
.puck-text h2.wsite-content-title::before{
  content: '';
  display: block;
  width: 36px;
  height: 3px;
  background: var(--teal);
  border-radius: 2px;
  margin-bottom: 14px;
}.puck-text h2.wsite-content-title:first-child{ margin-top: 0; }.puck-text h2.wsite-content-title:first-child::before{ display: none; }/* Strip editor junk */
.puck-text h2.wsite-content-title u{ text-decoration: none; }.puck-text h2.wsite-content-title span{ display: inline; }/* Level 2: sub-section label — small caps label,teal,clearly subordinate */
.puck-text p strong:only-child,.puck-text p > strong:first-child:last-child{
  display: block;
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 700;
  color: var(--teal);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin: 2em 0 .5em;
  padding: 0;
}/* Level 3: body copy — comfortable reading */
.puck-text .paragraph,.puck-text p{
  font-size: .95rem;
  line-height: 1.72;
  color: var(--ink);
  margin: 0 0 1em;
}.puck-text .paragraph:last-child,.puck-text p:last-child{ margin-bottom: 0; }/* Reading width — constrain standalone body copy (not photo grids) */
.puck-text > .paragraph,.puck-text > p{ max-width: 720px; }/* 3. BUTTONS — teal only */ .css-orphan-3{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  background: var(--teal);
  color: #fff !important;
  border-radius: 100px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .88rem;
  text-decoration: none !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(0,0,160,.14);
  margin: 6px 10px 6px 0;
  transition: background .2s, transform .15s, box-shadow .15s;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: .01em;
}.puck-text .wsite-multicol-table{
  border: 0 !important;
  border-collapse: collapse !important;
  display: block !important;
  width: 100%;
  margin-bottom: 0;
}/* Photo row — featured first image */ .css-orphan-4{
  gap: 3px;
  padding: 0;
  background: var(--line);
  align-items: stretch;
}/* Inline logos / badges (inside paragraph) — natural ratio */ .css-orphan-5{
  aspect-ratio: auto;
  max-height: 200px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  filter: none;
  border-radius: 0;
  margin: 0 auto 8px;
  display: block;
}.puck-text .wsite-image{ display: block; border: 0; }.puck-text ol{
  list-style: none;
  padding: 0;
  margin: 0 0 2em;
  counter-reset: step-counter;
  /* Left rail */
  border-left: 2px solid var(--line);
  margin-left: 20px;
}.puck-text ol li{
  counter-increment: step-counter;
  position: relative;
  /* Pull content away from the rail */
  padding: 0 0 32px 36px;
  margin: 0;
  background: transparent;
  border: 0;
  font-size: .93rem;
  line-height: 1.7;
  color: var(--ink);
}.puck-text ol li:last-child{ padding-bottom: 0; }/* Numbered circle — sits ON the rail */
.puck-text ol li::before{
  content: counter(step-counter);
  position: absolute;
  /* Align circle center to the rail (2px left border, circle 32px wide) */
  left: -17px;
  top: 0;
  width: 32px;
  height: 32px;
  background: var(--teal);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: .78rem;
  /* White ring to separate from the rail line */
  box-shadow: 0 0 0 3px var(--white);
  z-index: 1;
}/* Nested ol — subordinate sub-steps,NO badge,simple lettered indent */
.puck-text ol li ol{
  border: 0;
  margin-left: 0;
  padding-left: 0;
  margin-top: 10px;
  counter-reset: sub-step-counter;
}.puck-text ol li ol li{
  counter-increment: sub-step-counter;
  padding: 4px 0 4px 28px;
  margin: 0 0 2px;
  font-size: .84rem;
  color: var(--ink-soft);
  background: transparent;
  border: 0;
}.puck-text ol li ol li::before{
  content: counter(sub-step-counter, lower-alpha) '.';
  position: absolute;
  left: 0;
  top: 4px;
  width: auto;
  height: auto;
  background: transparent;
  color: var(--teal);
  border-radius: 0;
  display: inline;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .84rem;
  box-shadow: none;
}.puck-text ol li ol li > *{ background: transparent; padding: 0; border-radius: 0; }.puck-text ul{
  list-style: none;
  padding: 0;
  margin: 0 0 1.5em;
}.puck-text ul li{
  position: relative;
  padding: 13px 18px 13px 50px;
  margin: 0 0 8px;
  background: var(--surface);
  border-radius: 12px;
  font-size: .93rem;
  line-height: 1.65;
  color: var(--ink);
}.puck-text ul li::before{
  content: '';
  position: absolute;
  left: 17px;
  top: 19px;
  width: 8px;
  height: 8px;
  background: var(--teal);
  border-radius: 50%;
}

/* 12. RESPONSIVE */
@media (max-width: 760px) {.puck-text h2.wsite-content-title{ margin-top: 56px; font-size: 1.4rem; }.puck-text ol{ margin-left: 14px; }.puck-text ol li::before{ left: -15px; width: 28px; height: 28px; font-size: .72rem; }
}/* ------------------------------------------------------------ */

/* 1. Section background rhythm */
.puck-grid:nth-of-type(2n),.puck-grid:nth-of-type(2n)+.puck-grid{
  background: var(--surface);
  padding-top: 40px;
  padding-bottom: 40px;
  border-radius: var(--radius);
}/* Cards inside surface-bg bands: keep white so they pop */
.puck-grid:nth-of-type(2n) .puck-card,.puck-grid:nth-of-type(2n)+.puck-grid .puck-card{ background: var(--white); }/* 2. Icon-led section headers */
.sh__icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--teal);
  font-size: 28px;
  margin: 0 0 18px;
  flex-shrink: 0;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}.sh--center .sh__icon{ margin-inline: auto; }.sh--left .sh__icon{ margin-left: 0; }/* Remove the old ::after underline bar when icon is present — icon anchors the section */
.sh--icon .sh__title::after{ display: none; }/* 3. Person-card placeholder (no photo) */
.puck-card--board:not(:has(img)) .puck-card > div:first-child,.puck-card--director:not(:has(img)) .puck-card > div:first-child{
  width: 130px !important;
  height: 130px !important;
  border-radius: 50% !important;
  background: var(--surface-2) !important;
  border: 4px solid var(--line) !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
}.puck-card--board:not(:has(img)) [class*="material-symbols"],.puck-card--director:not(:has(img)) [class*="material-symbols"]{
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  color: var(--ink-soft) !important;
  font-size: 52px !important;
  padding: 0 !important;
  box-sizing: content-box !important;
  box-shadow: none !important;
}/* 5. Past-recipients accordion */
.wsite-accordion{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-top: 28px;
  overflow: hidden;
}.wsite-accordion[open]{ box-shadow: var(--shadow-sm); }.wsite-accordion__trigger{
  display: list-item;
  list-style: none;
  padding: 16px 24px;
  background: var(--surface);
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 700;
  color: var(--teal);
  cursor: pointer;
  user-select: none;
  transition: background .15s;
}.wsite-accordion__trigger::-webkit-details-marker{ display: none; }.wsite-accordion__trigger:hover{ background: var(--surface-2); }.wsite-accordion[open] .wsite-accordion__trigger{ border-bottom: 1px solid var(--line); }/* 6. Restrained color discipline */
.puck-card--board img,.puck-card--director img{ border-color: var(--surface-2) !important; }/* 7. Procedural-section collapse (TOY award pages) */
.wsite-proc-section{
  border-left: 3px solid var(--teal);
  border-radius: 0 var(--radius) var(--radius) 0;
  margin: 1em 0;
  background: var(--white);
}.wsite-proc-section[open]{ box-shadow: var(--shadow-sm); }.wsite-proc-section summary{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 20px;
  background: var(--surface);
  font-family: var(--font-head);
  font-size: .98rem;
  font-weight: 700;
  color: var(--teal);
  cursor: pointer;
  user-select: none;
  list-style: none;
  border-radius: 0 var(--radius) var(--radius) 0;
  transition: background .15s;
}.wsite-proc-section summary::-webkit-details-marker{ display: none; }.wsite-proc-section summary::before{
  content: '+';
  font-size: 1.1em;
  line-height: 1;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}.wsite-proc-section[open] summary::before{ content: '−'; }.wsite-proc-section summary:hover{ background: var(--surface-2); }.wsite-proc-section[open] summary{
  border-bottom: 1px solid var(--line);
  border-radius: 0 var(--radius) 0 0;
}.wsite-proc-section__body{ padding: 16px 22px; }/* Paragraphs and lists inside proc sections: full width (not reading-cap) */
.wsite-proc-section .paragraph,.wsite-proc-section p,.wsite-proc-section ul,.wsite-proc-section ol{ max-width: none; }/* 8. JNCL year-event headings */
.puck-text h2.wsite-year-heading{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(.88rem, 1.8vw, 1rem);
  font-weight: 700;
  color: var(--white);
  background: var(--navy);
  padding: 7px 18px 7px 14px;
  border-radius: 100px;
  margin: 1.8em 0 .6em;
}.puck-text h2.wsite-year-heading::before{
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--teal);
  flex-shrink: 0;
}/* 9. Reading-width cap on body text */
.puck-text .paragraph{ max-width: 72ch; }.puck-text table .paragraph{ max-width: none; }/* h2 section separator: thin rule + breathing room above each
   non-first,non-badge content heading on wsite pages.       */
.puck-text h2.wsite-content-title:not(:first-child):not(.wsite-year-heading){
  border-top: 1px solid var(--line);
  padding-top: 1.8em;
}/* Inside proc-section bodies,suppress the separator (summary handles it) */
.wsite-proc-section__body h2.wsite-content-title{ border-top: none; padding-top: 0; }.puck-text td[colspan] img{ aspect-ratio: auto; }

@media (max-width: 600px) {.wsite-proc-section summary{ font-size: .9rem; padding: 12px 14px; }.wsite-proc-section__body{ padding: 14px 16px; }
}/* Donation appeal panel (awards + sponsorship pages) */
.donate-panel{
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 48px 32px;
  text-align: center;
  box-shadow: var(--shadow-sm);
}.donate-panel__icon{
  display: block;
  font-size: 48px;
  color: var(--teal);
  margin: 0 auto 20px;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 48;
}.donate-panel__title{
  font-family: var(--font-head);
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 14px;
  line-height: 1.2;
}.puck-text p.donate-panel__body{
  font-size: 1rem;
  color: var(--ink-soft);
  max-width: 62ch;
  margin: 0 auto 28px;
  text-align: center;
  line-height: 1.65;
}.donate-panel__btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: var(--teal);
  color: #fff !important;
  border-radius: 100px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none !important;
  transition: background .2s, transform .15s;
}.donate-panel__btn:hover{ background: var(--indigo-deep); transform: translateY(-2px); }
@media (max-width: 600px) {.donate-panel{ padding: 32px 20px; }.donate-panel__btn{ width: 100%; justify-content: center; }
}/* Stacked info panels must never touch */
.mi-panel + .mi-panel{ margin-top: 24px; }/* Awardee photo cards (New Teacher Award page) */
.award-intro{ max-width: 720px; margin: 0 auto; text-align: left; }.award-intro p{ margin: 0 0 18px; line-height: 1.7; color: var(--ink-soft); }.puck-text .award-intro p strong,.award-intro p strong{
  /* Exempt from the Level-2 small-caps label rule (which carries
     pseudo-class specificity), hence the importants */
  display: inline !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin: 0 !important;
}.award-deadline{
  display: flex; align-items: center; gap: 10px; justify-content: center;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 16px 22px; margin: 26px 0; color: var(--ink); font-size: 1.02rem;
}.award-deadline .material-symbols-rounded{ color: var(--teal); }.awardee-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: var(--maxw);
  margin: 0 auto;
  align-items: stretch;
}.awardee-grid--featured{ grid-template-columns: repeat(3, 1fr); max-width: 940px; }.awardee-card{
  margin: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: var(--t18);
}.awardee-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }.awardee-card img{
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}.awardee-card figcaption{
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  text-align: left;
}.awardee-card__year{
  align-self: flex-start;
  background: var(--navy);
  color: var(--white);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 4px;
}.awardee-card__name{ font-family: var(--font-head); font-size: 1.05rem; color: var(--ink); line-height: 1.3; }.awardee-card__school{ color: var(--ink-soft); font-size: .92rem; line-height: 1.4; }
@media (max-width: 900px) {.awardee-grid{ grid-template-columns: repeat(2, 1fr); }.awardee-grid--featured{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {.awardee-grid,.awardee-grid--featured{ grid-template-columns: 1fr; max-width: 400px; }
}/* Fall Conference — "Wayfinding" redesign */

/* Waypoint fact cards — icon in a tinted compass chip,accent stripe on */
.puck-card--fc-fact{
  text-align: center;
  padding: 34px 26px 30px;
  background: linear-gradient(180deg, #fff 0%, var(--surface) 100%);
}.puck-card--fc-fact::before{ transform: scaleX(1); }.puck-card--fc-fact [class*="material-symbols"],.puck-card--fc-fact [class*="material-icons"]{
  font-size: 40px !important;
  color: var(--teal) !important;
  background: rgba(42, 109, 181, .1);
  border: 1px solid var(--line);
  border-radius: 50%;
  width: 76px; height: 76px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 6px;
}.puck-card--fc-fact .puck-card-title{
  font-family: var(--font-head);
  font-size: 1.2rem;
  color: var(--navy);
}.puck-card--fc-fact .puck-card-description{
  font-size: .92rem;
  line-height: 1.65;
  color: var(--ink-soft);
}/* Action cards — clickable "trail signage": bold hover lift,arrow cue */
.puck-card--fc-action{
  text-align: left;
  padding: 30px 28px 56px;
  position: relative;
  background: #fff;
}.puck-card--fc-action::before{ transform: scaleX(1); }.puck-card--fc-action::after{
  content: "\2192";
  position: absolute;
  right: 24px; bottom: 18px;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--teal);
  transition: transform .18s ease;
}.puck-card--fc-action:hover::after{ transform: translateX(6px); }.puck-card--fc-action [class*="material-symbols"],.puck-card--fc-action [class*="material-icons"]{
  font-size: 34px !important;
  color: #fff !important;
  background: var(--grad-band);
  border-radius: var(--radius, 12px);
  width: 60px; height: 60px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
  box-shadow: 0 6px 16px rgba(11,16,68,.25);
}.puck-card--fc-action .puck-card-title{
  font-family: var(--font-head);
  font-size: 1.15rem;
  color: var(--navy);
}.puck-card--fc-action .puck-card-description{
  font-size: .9rem;
  line-height: 1.6;
  color: var(--ink-soft);
}/* Uniform card height — both three-card bands (facts + actions) share the */
.puck-card--fc-fact,.puck-card--fc-action{
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}/* Quick-link fc-action cards in 2-col grids stay compact (icon-horizontal) */
.puck-grid[style*="--grid-columns: 2"] .puck-card--fc-action{
  min-height: 0;
  padding-bottom: 34px;
}/* Contact line under action cards */
.fc-contact{
  text-align: center;
  color: var(--ink-soft);
  font-size: .95rem;
  margin: 18px auto 0;
}.fc-contact a{
  color: var(--navy);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid var(--line);
}.fc-contact a:hover{ color: var(--teal); border-color: var(--teal); }/* Program cover — framed poster treatment,caption bar below */
.puck-card--fc-program{
  max-width: 720px;
  margin: 0 auto;
  padding: 18px 18px 26px;
  text-align: center;
  background: #fff;
}.puck-card--fc-program::before{ transform: scaleX(1); }.puck-card--fc-program > div:first-child{
  height: auto !important;
  overflow: visible !important;
  margin-bottom: 18px;
}.puck-card--fc-program img{
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: calc(var(--radius-lg, 16px) - 8px) !important;
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(11,16,68,.12);
}.puck-card--fc-program .puck-card-eyebrow{
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--teal);
  margin: 0 0 8px;
}.puck-card--fc-program .puck-card-title{
  font-family: var(--font-head);
  font-size: 1.25rem;
  color: var(--navy);
  margin: 0;
}/* Archive metadata line */
.fc-archive-note{
  text-align: center;
  color: var(--ink-soft);
  font-size: .95rem;
  letter-spacing: .01em;
  margin: 0 auto 8px;
}/* Archive document cards — vertical layout,teal top accent,navy icon */
.puck-card--fc-archive{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  padding: 28px 22px 24px;
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--teal);
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-top-color .18s ease;
}.puck-card--fc-archive:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-top-color: var(--navy);
  background: var(--white);
}.puck-card--fc-archive [class*="material-symbols"],.puck-card--fc-archive [class*="material-icons"]{
  font-size: 28px !important;
  color: #fff !important;
  background: var(--navy);
  border: 3px solid var(--teal);
  border-radius: 50%;
  width: 58px; height: 58px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0 !important;
  box-shadow: 0 4px 12px rgba(11,16,68,.18);
}.puck-card--fc-archive .puck-card-title{
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
}/* Standardized page-title header (.pt) */
.pt{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
  text-align: center;
}.pt__title{
  font-family: var(--font-head);
  font-size: clamp(2rem, 4vw, 2.9rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--navy);
  line-height: 1.12;
  margin: 0;
}.pt__title::before{
  content: "";
  display: block;
  width: 72px;
  height: 5px;
  margin: 0 auto 18px;
  border-radius: 5px;
  background: var(--grad-accent);
}/* MULTILINGUAL ILLINOIS — roadmap page card system (.mi-*) */
/* Photo + quote highlight: photos left,ISBE quote right */
.mi-quote{
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  text-align: left;
}.mi-quote__media{ display: block; position: relative; overflow: hidden; min-height: 320px; }/* Flyer variant: wider media column,flyer shown in full,larger body text */
.mi-quote--flyer{ grid-template-columns: 440px 1fr; }.mi-quote--flyer .mi-quote__media img{ height: auto !important; }.puck-text .mi-quote--flyer .mi-quote__text,.mi-quote--flyer .mi-quote__text{ font-size: 1.18rem; line-height: 1.85; }.mi-quote--flyer .mi-quote__body{ padding: 48px 56px; gap: 18px; }
@media (max-width: 900px) {.mi-quote--flyer{ grid-template-columns: 1fr; }.mi-quote--flyer .mi-quote__media img{ width: 100%; height: auto; }.mi-quote--flyer .mi-quote__body{ padding: 32px 24px; }
}.mi-quote__media img{
  position: absolute; inset: 0;
  width: 100% !important; height: 100% !important;
  object-fit: cover; margin: 0; border-radius: 0; display: block;
}/* Flyer variant: restore natural flow */
.mi-quote--flyer .mi-quote__media{ position: static; overflow: visible; min-height: 0; display: flex; flex-direction: column; }.mi-quote--flyer .mi-quote__media img{ position: static; height: auto !important; width: 100% !important; }.mi-quote__body{ padding: 36px 40px; display: flex; flex-direction: column; justify-content: center; }.mi-quote__label{
  display: inline-block; align-self: flex-start;
  padding: 6px 14px; border-radius: 999px;
  background: var(--surface-2); color: var(--navy);
  font-size: .72rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  margin: 0 0 16px;
}.puck-text .mi-quote__text,.mi-quote__text{
  font-family: var(--font-head);
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  font-weight: 800; color: var(--navy);
  font-style: normal; line-height: 1.2;
  letter-spacing: -0.02em; margin: 0 0 16px;
}.puck-text .mi-quote__caption,.mi-quote__caption{
  color: var(--ink); font-size: .95rem; line-height: 1.7;
  margin: 0; padding-top: 16px; border-top: 1px solid var(--line);
}.mi-quote__caption strong{
  display: block;
  color: var(--navy); font-weight: 700; font-size: .92rem;
  line-height: 1.7; font-style: normal;
  background: var(--surface-2); border-left: 3px solid var(--teal);
  padding: 12px 16px; border-radius: 0 8px 8px 0;
  margin: 12px 0 14px;
}/* Full-width prose panels — icon chip + title + body */
.mi-panel{
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 24px;
  align-items: start;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: var(--radius);
  padding: 30px 34px;
  text-align: left;
}.mi-panel + .mi-panel{ margin-top: 28px; }.mi-panel__icon.material-symbols-rounded{
  font-size: 30px; color: var(--navy);
  background: var(--white); border: 1px solid var(--line);
  border-radius: 16px; padding: 20px; line-height: 1;
}.mi-panel__title{
  font-family: var(--font-head);
  font-size: 1.35rem; font-weight: 700;
  color: var(--ink); margin: 2px 0 10px; line-height: 1.2;
}.puck-text .mi-panel__body,.mi-panel__body{ color: var(--ink); font-size: 1.02rem; line-height: 1.75; margin: 0; }.puck-text .mi-panel__body + .mi-panel__body{ margin-top: 12px; }/* Achievement card grid */
.mi-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: left;
}.mi-ach{
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 3px solid var(--teal);
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-sm);
  display: flex; flex-direction: column; gap: 14px;
  transition: var(--t2);
}.mi-ach:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); border-top-color: var(--navy); }.mi-ach__icon.material-symbols-rounded{
  font-size: 24px; color: #fff;
  background: var(--navy); border: 2px solid var(--teal);
  border-radius: 12px; padding: 12px;
  align-self: flex-start; line-height: 1;
}.puck-text .mi-ach__text,.mi-ach__text{ color: var(--ink); font-size: .98rem; line-height: 1.55; margin: 0; font-weight: 500; }

@media (max-width: 900px) {.mi-quote{ grid-template-columns: 1fr; }.mi-quote__media{ flex-direction: row; }.mi-quote__media img{ width: 50%; height: 220px; }.mi-grid{ grid-template-columns: repeat(2, 1fr); }.mi-panel{ grid-template-columns: 1fr; }
}
@media (max-width: 600px) {.mi-grid{ grid-template-columns: 1fr; }.mi-quote__media{ flex-direction: column; }.mi-quote__media img{ width: 100%; }
}/* ------------------------------------------------------------ */

/* Awards: Celebration honor strip */
.awards-honor{
  background: linear-gradient(135deg, #050038 0%, #000074 40%, #000098 100%);
  border-radius: var(--radius-lg);
  padding: 52px 40px;
  max-width: var(--maxw);
  margin: 0 auto;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}.awards-honor::before{
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #b8921a, #f2d860, #e6c442, #b8921a);
}.puck-text .awards-honor p,.awards-honor p{ max-width: none !important; margin: 0 !important; color: inherit; }.awards-honor__eyebrow{
  display: block; font-size: .7rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: #f2d860; margin: 0 0 14px;
}.awards-honor__title{
  display: block; font-family: var(--font-head);
  font-size: clamp(1.65rem, 3.2vw, 2.4rem);
  font-weight: 800; color: #fff; margin: 0 0 16px;
  letter-spacing: -0.02em; line-height: 1.15;
}.awards-honor__lead{
  display: block; color: rgba(255,255,255,.85); font-size: 1.05rem;
  max-width: 600px; margin: 0 auto 36px; line-height: 1.75;
}.awards-honor__stats{
  display: flex; justify-content: center;
  border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius);
  background: rgba(255,255,255,.07); overflow: hidden;
  max-width: 520px; margin: 0 auto;
}.awards-honor__stat{ flex: 1; padding: 20px 24px; position: relative; }.awards-honor__stat + .awards-honor__stat::before{
  content: ""; position: absolute; left: 0; top: 20%; bottom: 20%;
  width: 1px; background: rgba(255,255,255,.2);
}.awards-honor__stat-value{
  display: block; font-family: var(--font-head);
  font-size: clamp(1.7rem, 3.5vw, 2.2rem); font-weight: 900;
  color: #f2d860; line-height: 1;
}.awards-honor__stat-label{
  display: block; font-size: .7rem; color: rgba(255,255,255,.6);
  margin-top: 6px; line-height: 1.4; text-transform: uppercase; letter-spacing: .07em;
}/* Advocacy: Civic manifesto band */
.advocacy-civic{
  background: var(--grad-band);
  border-radius: var(--radius-lg);
  padding: 44px 40px;
  max-width: var(--maxw);
  margin: 0 auto;
  display: flex; gap: 40px; align-items: center;
  box-shadow: var(--shadow-md);
}.puck-text .advocacy-civic p,.advocacy-civic p{ max-width: none !important; margin: 0 !important; color: inherit; }.advocacy-civic__quote{
  flex: 1; border-left: 4px solid var(--teal-bright); padding-left: 28px;
}.advocacy-civic__text{
  display: block; font-family: var(--font-head);
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: #fff; line-height: 1.55; font-weight: 600;
  margin: 0 0 10px; font-style: italic;
}.advocacy-civic__source{
  display: block; font-size: .8rem; color: rgba(255,255,255,.55);
}.advocacy-civic__stat{
  flex: 0 0 auto; text-align: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius); padding: 24px 28px; min-width: 148px;
}.advocacy-civic__stat-value{
  display: block; font-family: var(--font-head);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem); font-weight: 900;
  color: var(--teal-bright); line-height: 1;
}.advocacy-civic__stat-label{
  display: block; font-size: .75rem; color: rgba(255,255,255,.65);
  margin-top: 8px; line-height: 1.45;
}
@media (max-width: 680px) {.advocacy-civic{ flex-direction: column; gap: 20px; padding: 32px 24px; }.advocacy-civic__quote{
    border-left: none; border-top: 3px solid var(--teal-bright);
    padding-left: 0; padding-top: 20px;
  }
}/* Seal of Biliteracy: Credential comparison */
.seal-compare{
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px;
  box-sizing: border-box;
}.seal-compare-card{
  border-radius: var(--radius-lg); padding: 36px 30px;
  position: relative; overflow: hidden;
  border: 1px solid var(--line); background: var(--white);
  box-shadow: var(--shadow-md);
  display: flex; flex-direction: column;
  transition: var(--t2);
}.seal-compare-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-lg); }.seal-compare-card::before{
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px;
}.seal-compare-card--state::before{
  background: linear-gradient(90deg, #1a6632, #3db862, #1a6632);
}.seal-compare-card--global::before{
  background: linear-gradient(90deg, var(--navy), var(--teal-bright), var(--navy));
}.seal-compare-card__badge{
  display: inline-flex; align-items: center;
  padding: 4px 12px; border-radius: 999px;
  font-size: .68rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; margin-bottom: 14px; align-self: flex-start;
}.seal-compare-card--state .seal-compare-card__badge{
  background: #e6f5ea; color: #1a6632; border: 1px solid #aadcba;
}.seal-compare-card--global .seal-compare-card__badge{
  background: var(--surface-2); color: var(--navy); border: 1px solid var(--line);
}.seal-compare-card__title{
  display: block; font-family: var(--font-head); font-size: 1.4rem; font-weight: 800;
  color: var(--ink) !important; margin: 0 0 12px; line-height: 1.2;
}.puck-text .seal-compare-card__body,.seal-compare-card__body{
  display: block; color: var(--ink-soft) !important; font-size: .94rem;
  line-height: 1.72; margin: 0 0 18px !important; max-width: none !important;
}.puck-text .seal-compare-card__facts,.seal-compare-card__facts{
  list-style: none !important; padding: 0 !important;
  margin: 0 0 20px !important; border-left: none !important;
  margin-left: 0 !important; display: flex; flex-direction: column; gap: 6px; flex: 1;
}.puck-text .seal-compare-card__facts li,.seal-compare-card__facts li{
  display: flex !important; align-items: flex-start; gap: 8px;
  font-size: .88rem !important; color: var(--ink) !important;
  line-height: 1.5 !important;
  background: transparent !important; border-radius: 0 !important;
  padding: 0 !important; margin: 0 !important;
}.puck-text .seal-compare-card__facts li::before,.seal-compare-card__facts li::before{
  content: "\2713" !important;
  font-weight: 800 !important; font-size: .9rem !important; flex-shrink: 0;
  background: transparent !important; border-radius: 0 !important;
  padding: 0 !important; width: auto !important; height: auto !important;
  border: none !important; position: static !important;
  top: auto !important; left: auto !important;
  color: var(--teal) !important; box-shadow: none !important;
  display: inline !important; font-family: inherit !important;
  margin: 0 !important; line-height: 1.5 !important;
}.puck-text .seal-compare-card__link,.seal-compare-card__link{
  display: inline-flex !important; align-items: center; gap: 6px;
  font-weight: 700; font-size: .9rem;
  color: var(--navy) !important; text-decoration: none !important;
  border-bottom: 2px solid var(--line); padding-bottom: 2px;
  transition: border-color .15s, color .15s; align-self: flex-start;
  margin-top: auto;
}.puck-text .seal-compare-card__link:hover,.seal-compare-card__link:hover{ color: var(--teal) !important; border-color: var(--teal); }
@media (max-width: 640px) {.seal-compare{ grid-template-columns: 1fr; } }/* Professional Learning: Pathway trio */
.pl-pathways{
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px; box-sizing: border-box;
}.pl-pathways__grid{
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--line);
  border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line);
}.pl-pathway{ background: var(--surface); padding: 30px 26px; border-bottom: 3px solid transparent; transition: border-color .2s; }.pl-pathway:hover{ border-bottom-color: var(--teal); }.pl-pathway__num{
  display: block; font-family: var(--font-head); font-size: 2.8rem; font-weight: 900;
  color: var(--teal); opacity: .45; line-height: 1; margin: 0 0 12px; letter-spacing: -0.06em;
}.puck-text .pl-pathway__title,.pl-pathway__title{
  display: block; font-family: var(--font-head);
  font-size: 1.08rem !important; font-weight: 800 !important;
  color: var(--navy) !important; margin: 0 0 6px !important; line-height: 1.2;
}.puck-text .pl-pathway__body,.pl-pathway__body{
  display: block; font-size: .86rem !important; color: var(--ink-soft) !important;
  line-height: 1.65; margin: 0 !important; max-width: none !important;
}
@media (max-width: 640px) {.pl-pathways__grid{ grid-template-columns: 1fr; } }/* News: Accents publication masthead */
.news-masthead{
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px; box-sizing: border-box;
}.news-masthead__inner{
  display: flex; align-items: center; gap: 32px;
  background: var(--surface); border-radius: var(--radius-lg);
  padding: 32px 36px; border: 1px solid var(--line);
  position: relative; overflow: hidden;
}.news-masthead__inner::before{
  content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 5px;
  background: var(--grad-accent);
}.news-masthead__pub{ flex: 0 0 auto; text-align: center; padding-left: 8px; }.news-masthead__pub-title{
  display: block; font-family: var(--font-head); font-size: 2.4rem; font-weight: 900;
  color: var(--navy); letter-spacing: -0.04em; line-height: 1; margin: 0; font-style: italic;
}.news-masthead__pub-sub{
  display: block; font-size: .62rem; font-weight: 600; letter-spacing: .22em;
  text-transform: uppercase; color: var(--ink-soft); margin-top: 5px;
}.news-masthead__divider{
  width: 1px; align-self: stretch; background: var(--line); flex-shrink: 0; margin: 6px 0;
}.news-masthead__body{ flex: 1; min-width: 0; }.news-masthead__title{
  display: block; font-family: var(--font-head); font-size: 1.12rem; font-weight: 800;
  color: var(--ink); margin: 0 0 6px; line-height: 1.2;
}.puck-text .news-masthead__text,.news-masthead__text{
  display: block; font-size: .93rem !important; color: var(--ink-soft) !important;
  line-height: 1.7; margin: 0 !important; max-width: none !important;
}
@media (max-width: 580px) {.news-masthead__inner{ flex-direction: column; gap: 16px; padding: 24px; }.news-masthead__divider{ width: 100%; height: 1px; align-self: auto; }
}/* About: Org identity stat strip */
.org-identity{
  max-width: var(--maxw); margin: 0 auto; padding: 0 24px; box-sizing: border-box;
}.org-identity__grid{
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 1px; border-radius: var(--radius-lg); overflow: hidden;
  background: var(--line); border: 1px solid var(--line);
}.org-identity__cell{
  background: var(--white); padding: 28px 14px; text-align: center;
}.org-identity__value{
  display: block; font-family: var(--font-head);
  font-size: clamp(1.6rem, 3.2vw, 2.3rem); font-weight: 900;
  color: var(--navy); line-height: 1; letter-spacing: -0.03em;
}.org-identity__label{
  display: block; font-size: .68rem; font-weight: 600; letter-spacing: .07em;
  color: var(--ink-soft); margin-top: 6px; text-transform: uppercase; line-height: 1.4;
}
@media (max-width: 600px) {.org-identity__grid{ grid-template-columns: repeat(2, 1fr); } }.mi-grid+.mi-panel{margin-top:32px}[data-recur-widget] > .recur-widget{margin-left:auto;margin-right:auto}.recur-event-list{width:100%;margin-left:auto;margin-right:auto}.recur-event-list-grid{margin-left:auto;margin-right:auto;justify-content:center}/* mission label readability (beats .puck-text p color) */
.puck-text .mission-callout-label{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}/* a lone card in a grid column keeps its natural height instead of stretching */
.puck-grid-column > .puck-card:only-child{flex:1 1 auto;height:100%}/* governing document cards */
.doc-cards{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;max-width:820px;margin:0 auto}.doc-card{flex:1 1 300px;max-width:380px;background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(11,31,68,.08);padding:34px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.doc-card .material-symbols-rounded{font-size:34px;color:var(--teal);background:var(--surface);border-radius:14px;padding:12px}.doc-card h3{font-family:var(--font-head);font-size:1.2rem;margin:4px 0 0;color:var(--navy)}.puck-text .doc-card p{font-size:.95rem;color:#4a5a74;margin:0 0 8px;line-height:1.55}.doc-card .btn-pill{margin-top:auto}/* centered variant of the intro panel (board page) */
.section-intro--center{border-left:none;border-radius:var(--radius);text-align:center;border-top:4px solid var(--teal)}.puck-text .mi-panel__body img,.mi-panel__body img{display:block;width:100%;max-width:860px;height:auto !important;max-height:none;border-radius:14px;box-shadow:var(--shadow-sm);margin-top:20px;background:var(--white)}.mi-panel + .mi-panel{margin-top:32px}.spon-invite{max-width:760px;margin:56px auto 0;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px 44px}/* News page: featured story + article cards */
.news-feature{display:grid;grid-template-columns:minmax(0,46%) 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;max-width:var(--maxw);margin:0 auto}.news-feature__media img{display:block;width:100%;height:100%;object-fit:cover;min-height:320px}.news-feature__body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center}.news-feature__tags{display:flex;align-items:center;gap:14px;margin-bottom:14px}.news-feature__chip{background:var(--surface);color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;border:1px solid var(--line)}.news-feature__date{color:var(--ink-soft);font-size:.9rem;font-weight:600}.puck-text .news-feature__title,.news-feature__title{font-family:var(--font-head);font-size:1.65rem;color:var(--navy);margin:0 0 12px;line-height:1.25}.puck-text .news-feature__text,.news-feature__text{color:var(--ink);font-size:1.02rem;line-height:1.75;margin:0}
@media(max-width:820px){.news-feature{grid-template-columns:1fr}.news-feature__media img{min-height:220px;max-height:280px}.news-feature__body{padding:28px 24px}}.news-masthead__cta{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;flex-wrap:wrap}.news-masthead__link{color:var(--navy);font-weight:600;font-size:.95rem;text-decoration:none}.news-masthead__link:hover{text-decoration:underline}.puck-card--news .puck-card-eyebrow{color:var(--teal);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center}.puck-card--news .puck-card-meta{color:var(--ink-soft);font-size:.85rem;font-weight:600;text-align:center;align-items:center}.puck-card--news .puck-card-meta-row{background:var(--bg-soft,#f0f2f7);border-radius:99px;padding:3px 12px;gap:4px}/* Fall Conference: no always-on top accent lines; link-cards render clean text */
.puck-card--fc-fact::before,.puck-card--fc-action::before,.puck-card--fc-archive::before,.puck-card--fc-program::before{display:none}a.puck-card,a.puck-card .puck-card-title,a.puck-card .puck-card-description{text-decoration:none}/* Presenter spotlight (Text puck) — photo left */ .css-orphan-6{display:grid;grid-template-columns:minmax(260px,360px) 1fr;align-items:stretch;max-width:980px;margin:0 auto;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);background:linear-gradient(120deg,var(--indigo-deep) 0%,var(--indigo) 55%,var(--blue-mid) 100%)}/* Central States logo pair — even white panels,generous air */
.cs-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:900px;margin-left:auto;margin-right:auto}
@media (max-width:700px){.cs-logos{grid-template-columns:1fr}}.puck-card--ach{border-top:3px solid var(--teal)}.puck-card--ach [class*="material-symbols"],.puck-card--ach [class*="material-icons"]{color:#fff!important;background:var(--navy);border:2px solid var(--teal);border-radius:12px;padding:12px}.puck-card--ach .puck-card-title{font-size:1.3rem;font-weight:800}.puck-card--panel{background:var(--surface);border-left:4px solid var(--teal)}.puck-card--spon img{aspect-ratio:auto!important;height:200px!important;object-fit:contain!important;object-position:center!important;border:1px solid var(--line);border-radius:12px;padding:18px;box-sizing:border-box;background:var(--white)}.puck-card--civic-quote{background:var(--grad-band)!important;border:none!important;border-left:4px solid var(--teal-bright)!important;border-radius:var(--radius-lg)!important;padding:44px 40px!important;box-shadow:var(--shadow-md)!important}.puck-card--civic-quote::before{display:none}.puck-card--civic-quote .puck-card-title,.puck-card--civic-quote .puck-card-eyebrow{color:#fff!important}.puck-card--civic-quote .puck-card-description{font-family:var(--font-head);font-size:clamp(1rem,2vw,1.35rem);color:#fff;font-style:italic;font-weight:600;line-height:1.55}.puck-card--civic-quote .puck-card-meta,.puck-card--civic-quote .puck-card-meta-value{color:rgba(255,255,255,.55)!important;font-size:.8rem;list-style:none;padding:0;margin:10px 0 0}.puck-card--intro-left{border-left:4px solid var(--teal)!important;padding:24px 32px!important;background:var(--surface)!important;border-radius:0 var(--radius) var(--radius) 0!important;box-shadow:none!important}.puck-card--intro-left::before{display:none}.puck-card--intro-left .puck-card-eyebrow,.puck-card--panel .puck-card-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}.puck-card--intro-left .puck-card-title{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;margin:0 0 12px}.puck-card--intro-left .puck-card-description{color:var(--ink);font-size:1.06rem;line-height:1.75}.puck-card--intro-left{text-align:left;align-items:flex-start}.puck-card--intro-left>div{align-items:flex-start;text-align:left}.puck-card--intro-left .puck-card-meta{list-style:none;padding:0;margin:8px 0 0}.puck-card--intro-left .puck-card-meta a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.puck-card--intro-left .puck-card-button,.puck-card--intro-left a[class*=button]{align-self:flex-start;margin-top:14px}/* fall-conference reg */
.puck-grid:has(.recur-event-card) .recur-event-card-image{display:none!important}.puck-grid:has(.recur-event-card) .recur-event-card-button{background:transparent;color:var(--navy);border:2px solid var(--navy);box-shadow:none}.puck-grid:has(.recur-event-card) .recur-event-card-button:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}
@media(max-width:600px){.puck-grid:has(.recur-event-card){grid-template-columns:1fr!important}}:focus-visible{outline:3px solid var(--teal-bright);outline-offset:2px}/* Contact page */
.puck-contact-widget ~ .puck-grid:last-of-type{background:var(--grad-band);padding:40px 28px;border-radius:var(--radius)}.puck-contact-widget ~ .puck-grid:last-of-type .puck-card{background:#ffffff14;border-color:#ffffff1f}.puck-contact-widget ~ .puck-grid:last-of-type :is(.puck-card-title,.puck-card-description){color:#fff}.navu{text-decoration:underline;text-underline-offset:3px}
@media(max-width:920px){.puck-image-img[src*="c6ace987"]{height:auto!important}}
/* Home mission pillars (Connect / Learn / Advocate) — icon cards on surface band */
.home-mission{background:var(--surface);border-radius:var(--radius-lg);padding:32px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:100%;box-sizing:border-box}
.home-mission__pillar{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:32px 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.home-mission__pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-accent);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.home-mission__pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.home-mission__pillar:hover::before{transform:scaleX(1)}
.home-mission__icon{font-size:28px;color:var(--navy);background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:16px;line-height:1;display:block}
.home-mission__verb{display:block;font-family:var(--font-head);font-size:1.3rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.1;margin-bottom:10px}
.home-mission__desc{font-size:.93rem;color:var(--ink-soft);line-height:1.65}
@media(max-width:700px){.home-mission{grid-template-columns:1fr;padding:20px;gap:14px;border-radius:var(--radius)}.home-mission__pillar{align-items:flex-start;text-align:left;padding:24px 20px}}
a.nav-active{text-decoration:underline!important;text-underline-offset:3px!important}
.fc-spotlight{display:grid;grid-template-columns:minmax(260px,360px) 1fr;align-items:stretch;max-width:980px;margin:0 auto;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);background:linear-gradient(120deg,var(--indigo-deep) 0%,var(--indigo) 55%,var(--blue-mid) 100%)}
.fc-spotlight__media img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center top}
.fc-spotlight__body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center;text-align:left}
.fc-spotlight__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#bcd7f7;margin:0 0 14px}
.puck-text h3.fc-spotlight__name{font-family:var(--font-head);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;color:#fff;margin:0 0 14px}
.puck-text p.fc-spotlight__bio{color:rgba(255,255,255,.85);font-size:.98rem;line-height:1.75;margin:0}
@media(max-width:760px){.fc-spotlight{grid-template-columns:1fr}.fc-spotlight__media img{max-height:340px}.fc-spotlight__body{padding:28px 24px}}
/* Portrait photo cards — taller aspect ratio so faces aren't cropped */
.puck-card--portrait>div:first-child{height:380px!important;background:var(--surface);border-radius:12px}
.puck-card--portrait img{aspect-ratio:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
/* Featured card — white eyebrow + white button treatment */
.puck-card--featured .puck-card-eyebrow{color:rgba(255,255,255,.65)!important;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.puck-card--featured .puck-card-button{background:#fff!important;color:var(--navy)!important;border:none!important}
.puck-card--featured .puck-card-button:hover{background:var(--teal-bright)!important;color:var(--navy)!important}
/* Bridge history panel — used in award pages with Montserrat Vilarrubla history */
.bridge-panel{background:var(--grad-band)!important;border-radius:var(--radius-lg);padding:34px 44px;text-align:left;max-width:820px;margin:0 auto 56px;border-left:4px solid var(--teal-bright);box-shadow:var(--shadow-md)}
.bridge-panel p{color:rgba(255,255,255,.95);font-size:1.06rem;line-height:1.8;margin:0}
.bridge-panel__kicker{color:rgba(255,255,255,.6)!important;font-size:.78rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin:0 0 12px!important}
.bridge-panel__accent{color:var(--teal-bright)!important;font-style:normal;text-transform:none!important;letter-spacing:0!important;font-weight:800;font-size:inherit!important;font-family:inherit!important;display:inline!important}
/* DSA page: full uncropped photos */
.puck-card--fullphoto>div:first-child{height:400px!important;background:var(--surface);border-radius:12px}
.puck-card--fullphoto img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center top!important}
.puck-card--fullphoto::before{display:none!important}
/* Recipient photo grids: uniform, no alternating band background */
.puck-grid:has(.puck-card--fullphoto){background:transparent!important;padding-top:0!important;padding-bottom:0!important}
.puck-grid:has(.puck-card--fullphoto) .puck-card{background:var(--white)}
/* Pill jump nav */
.pillnav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;padding:8px 0}
.pillnav__label{flex-basis:100%;width:100%;text-align:center;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft,#64748b);margin:0 0 10px}
.pillnav a{display:inline-flex;align-items:center;padding:7px 18px;border-radius:999px;background:var(--navy)!important;color:#fff!important;font-size:.83rem;font-weight:700;text-decoration:none!important;letter-spacing:.02em;transition:background .15s}
.pillnav a:hover{background:var(--blue-mid)!important}
/* Styled single-line year rows */
.year-line{display:flex;align-items:baseline;gap:14px;max-width:720px;margin:0 auto 10px;padding:12px 20px;background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--teal-bright);border-radius:10px;box-shadow:0 1px 3px rgba(15,23,42,.06)}
.year-line__badge{font-weight:800;color:var(--navy);font-size:1rem;min-width:52px}
.year-line__names{color:#334155;font-size:.95rem;line-height:1.6}
/* Honor roll name lists (1989–2004) */
.honor-wrap{background:#fff;border:1px solid #e2e8f0;border-top:4px solid var(--navy);border-radius:12px;padding:20px 22px;box-shadow:0 2px 8px rgba(15,23,42,.06);height:100%}
.honor-roll{list-style:none;margin:0;padding:0;text-align:left}
.honor-roll li{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid #eef2f7;font-size:.9rem;color:#334155}
.honor-roll li:last-child{border-bottom:none}
.honor-roll .hr-year{color:var(--teal-bright);font-weight:700;font-variant-numeric:tabular-nums}
/* Presidents Award: full-bleed portrait beside profile card */
.puck-grid-column:has(>.puck-text>.fill-img){display:flex}
.puck-text:has(>.fill-img){display:flex;width:100%;height:100%}
.fill-img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center top;border-radius:14px;display:block;box-shadow:0 4px 16px rgba(15,23,42,.12)}
/* Profile card: refined typography for recipient spotlight */
.puck-card--profile{border-left:4px solid var(--teal-bright)!important}
.puck-card--profile .puck-card-title{font-size:1.7rem!important;letter-spacing:-.01em}
.puck-card--profile .puck-card-description{font-size:1.02rem!important;line-height:1.95!important;color:#334155!important}
/* Roll cards: bold uniform year under name */
.puck-card--roll .puck-card-title{font-weight:700!important;font-size:1.05rem!important}
.puck-card--roll .puck-card-description{font-weight:800!important;color:var(--navy)!important;font-size:.92rem!important;letter-spacing:.06em;margin-top:2px}
/* JNCL-NCLIS delegation photo galleries */
.jncl-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:var(--maxw);margin:0 auto;padding:0 24px;box-sizing:border-box}
.jncl-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:12px;box-shadow:var(--shadow-sm);transition:var(--t2);display:block;background:var(--surface-2)}
.jncl-gallery img:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
@media(max-width:700px){.jncl-gallery{grid-template-columns:repeat(2,1fr)}}

/* Global Seal: media cards (bigger uniform images) + civic-quote button spacing */
.puck-card--media{border-top:3px solid var(--teal)}
.puck-card--media .puck-card-title{font-size:1.3rem;font-weight:800}
.puck-card--media img{width:100%;aspect-ratio:auto!important;height:340px!important;object-fit:contain!important;object-position:center!important;background:var(--white);border-radius:12px;margin:-6px 0 18px}
.puck-card--civic-quote .puck-card-button,.puck-card--civic-quote a[class*=button]{margin-top:22px!important}

/* Checklist polish: center text on icon boxes, tidy spacing */
.puck-card-checklist{gap:12px!important;margin-top:16px!important}
.puck-card-checklist li{align-items:center!important;gap:14px!important}
.puck-card-checklist li [class*=material-symbols],.puck-card-checklist li [class*=material-icons]{padding:8px!important;font-size:20px!important;line-height:1!important}
.puck-card-checklist li>span:last-child{font-size:.95rem!important;line-height:1.55!important}
/* Featured (dark) card: readable meta link, translucent checklist icon boxes */
.puck-card--featured .puck-card-meta{margin-top:18px}
.puck-card--featured .puck-card-meta a,.puck-card--featured .puck-card-meta-value{color:#fff!important;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.puck-card--featured .puck-card-checklist li [class*=material-symbols],.puck-card--featured .puck-card-checklist li [class*=material-icons]{color:var(--teal-bright)!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px}

/* Join page: larger Membership Levels heading (scoped via anchor sibling) */
.puck-text:has(#membership-levels)+h2{font-size:clamp(2.1rem,3.6vw,2.8rem)}
/* Featured card: eyebrow + button prominence on dark gradient */
.puck-card--featured .puck-card-eyebrow{color:var(--teal-bright)!important;letter-spacing:.14em}
.puck-card--featured .puck-card-button{margin-top:18px;padding:12px 26px!important;font-weight:700}

/* -ovf continuation grids always match their base band state: strip the band
   when the base grid is white (complement of the extend rule above) */
.puck-grid:not(:nth-of-type(2n))+.puck-grid{background:transparent;padding-top:20px;padding-bottom:0;border-radius:0}
/* Center a 2-card row in a 3-col continuation grid (third column empty) */
.puck-grid+.puck-grid:has(>.puck-grid-column:nth-child(3):empty):not(:has(>.puck-grid-column:nth-child(2):empty)){grid-template-columns:repeat(2,calc((100% - 48px)/3))!important;justify-content:center}

/* Featured (dark) card typography & spacing polish */
.puck-card--featured .puck-card-title{font-size:1.5rem!important;letter-spacing:-.01em;margin:2px 0 10px!important}
.puck-card--featured .puck-card-description{font-size:1.02rem!important;line-height:1.75!important;color:rgba(255,255,255,.92)!important;max-width:70ch}
.puck-card--featured .puck-card-meta{margin:20px 0 0!important}
.puck-card--featured .puck-card-meta a{font-size:.95rem}
.puck-card--featured .puck-card-button{margin-top:20px!important}
/* Uniform large section headings via anchor markers */
.puck-text:has(.h2-anchor)+h2{font-size:clamp(2.1rem,3.6vw,2.8rem)}
/* Product cards: no stray bullet dots from clamped descriptions */
.recur-product-card-description ul{list-style:none!important;margin:6px 0 0!important;padding:0!important}
.recur-product-card-description li{list-style:none!important}
.recur-product-card-description li::marker{content:""!important}

/* Solo (1-col) fc-action cards: no reserved band height, no floating arrow */
.puck-grid[style*="--grid-columns: 1"] .puck-card--fc-action{min-height:0;padding-bottom:30px}
.puck-grid[style*="--grid-columns: 1"] .puck-card--fc-action::after{display:none}
/* Pill year nav: lighter, professional segmented style */
.pillnav{gap:8px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.pillnav a{background:#fff!important;color:var(--navy)!important;border:1.5px solid var(--line);font-weight:600;box-shadow:0 1px 2px rgba(11,16,68,.06)}
.pillnav a:hover{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)}

/* Roadmap goal cards: compact, vertically centered, uniform */
.puck-card--goal{flex-direction:row!important;align-items:center!important}
.puck-card--goal .puck-card-title{font-size:1.02rem!important;line-height:1.5!important;font-weight:700;margin:0!important}
.puck-card--goal [class*=material-symbols],.puck-card--goal [class*=material-icons]{flex-shrink:0}

/* Contact info cards: refined typography */
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card-title{font-size:1.12rem!important;letter-spacing:.01em;margin-bottom:8px}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card-description{font-size:.95rem;line-height:1.75;color:var(--ink-soft)}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card-description a{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--teal)}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card-description a:hover{color:var(--blue-mid)}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card{transition:transform .15s ease,box-shadow .15s ease}
.puck-contact-widget~.puck-grid:not(:last-of-type) .puck-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}

/* Checklist cards: breathing room before the action button */
.puck-card .puck-card-checklist{margin-bottom:24px}
.puck-card-checklist~.puck-card-meta-link{margin-top:4px}
/* Photo + panel pairs: image stretches to match the text panel height */
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-grid-column{display:flex;align-items:stretch}
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-image{display:flex;width:100%}
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-image-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top;border-radius:var(--radius)}
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-card{width:100%}

/* 1-col grids: stacked cards size to their content */
.puck-grid[style*="--grid-columns: 1"] .puck-grid-column{grid-auto-rows:auto!important;align-items:start}

/* centered image captions */
figcaption,.puck-image-caption,.puck-image figcaption{text-align:center!important;margin-left:auto;margin-right:auto}
.puck-card--fullphoto{text-align:center}

/* Section-header Card variant — replaces icon-referencing sh Text pucks */
.puck-card--sh{ background:transparent!important; box-shadow:none!important; border:none!important; text-align:center; padding:0!important; }
.puck-card--sh::before,.puck-card--sh::after{ display:none!important; }
.puck-card--sh [class*="material-symbols"],.puck-card--sh [class*="material-icons"]{
  display:flex; align-items:center; justify-content:center;
  width:56px!important; height:56px!important; border-radius:14px;
  background:var(--surface-2); color:var(--teal)!important; font-size:28px!important;
  margin:0 auto 18px; box-shadow:none!important;
  font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24;
}
.puck-card--sh .puck-card-title{
  font-family:var(--font-head); font-size:clamp(1.85rem,3.6vw,2.6rem);
  font-weight:800; letter-spacing:-0.02em; color:var(--ink); margin:0 0 18px; line-height:1.15;
}
.puck-card--sh .puck-card-description{
  font-size:1.13rem; color:var(--ink); line-height:1.78; max-width:660px; margin:0 auto;
}
.puck-grid:has(> .puck-grid-column > .puck-card--sh){ background:transparent!important; padding:0!important; }

/* Stats puck — match site design language */
.puck-stats{ max-width: var(--maxw); margin: 0 auto; }
.puck-stat-card{ text-align: center; }
.puck-stat-value{
  font-family: var(--font-head); font-size: clamp(2rem,4vw,2.8rem);
  font-weight: 800; color: var(--navy); line-height: 1.1; letter-spacing: -0.02em;
}
.puck-stat-label{
  font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-soft); margin-top: 8px;
}

/* featured title emphasis */
.puck-card--featured .puck-card-title{
  font-size: clamp(1.5rem, 2.6vw, 1.95rem)!important;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin-bottom: 14px;
}
.puck-card--featured .puck-card-checklist li{
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: .02em;
}

/* no band behind archive card rows */
.puck-grid:nth-of-type(2n):has(.puck-card--fc-archive),
.puck-grid:nth-of-type(2n)+.puck-grid:has(.puck-card--fc-archive){
  background: transparent;
  padding-top: 0;
  padding-bottom: 0;
}
/* single centered card: grid with only the middle column occupied */
.puck-grid:has(>.puck-grid-column:first-child:empty):not(:has(>.puck-grid-column:nth-child(2):empty)):has(>.puck-grid-column:nth-child(3):empty){grid-template-columns:calc((100% - 48px)/3)!important;justify-content:center}
.puck-grid:has(>.puck-grid-column:first-child:empty)>.puck-grid-column:empty{display:none}

/* photo-gallery uniform tiles */
.puck-grid[style*='--grid-columns: 4']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image,.puck-grid[style*='--grid-columns: 2']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image{width:100%}
.puck-grid[style*='--grid-columns: 4']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-img,.puck-grid[style*='--grid-columns: 2']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center;display:block}
/* image+card intro pairing: center card content vertically */
.puck-grid:has(>.puck-grid-column>.puck-image):has(>.puck-grid-column>.puck-card) .puck-card{display:flex;flex-direction:column;justify-content:center}

/* 3-col logo grids: show whole logo, never crop */
.puck-grid[style*='--grid-columns: 3']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;background:var(--white);padding:24px;box-sizing:border-box}
/* awards-family hero photo: keep faces visible (image layer ignores bgPosition prop) */
.puck-hero[style*="a046b56cb19e"]{background-position:center top!important}
/* Avant ADVANCE Together card: display large and centered */
.puck-image-img[src*="a04ec123c1df"]{width:min(1040px,100%)!important;height:auto!important;display:block;margin:0 auto;box-shadow:var(--shadow-md);border:1px solid var(--line);border-radius:16px}
/* 4-col quick-link panel cards: vertically centered, comfortable */
.puck-grid[style*="--grid-columns: 4"] .puck-card--panel{justify-content:center;min-height:150px}
.puck-grid[style*="--grid-columns: 4"] .puck-card--panel>div{align-items:center}
.puck-grid[style*="--grid-columns: 4"] .puck-card--panel .puck-card-title{margin:0}
/* logo-grid wrappers must fill their column (SVG logos shrink-wrap otherwise) */
.puck-grid[style*='--grid-columns: 3']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image{width:100%;box-sizing:border-box}
.puck-grid[style*='--grid-columns: 3']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-figure,
.puck-grid[style*='--grid-columns: 3']:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-figure>a{width:100%;display:block;margin:0}
/* lone donate featured card: let text breathe across the band */
.puck-card--featured .puck-card-description{max-width:56em}
#puck-content .puck-grid[style*="--grid-columns: 1"] .puck-card--featured .puck-card-description{max-width:none;font-size:1.05rem;line-height:1.7}

/* jump-to-year nav: label centered on top, breathing room below the title */
.puck-text:has(>.pillnav){margin-top:8px}
.pillnav{margin-top:12px}
/* image+card pairings (recipient spotlights): text scales up to fill the card */
.puck-grid[style*="--grid-columns: 2"]:has(>.puck-grid-column>.puck-image) .puck-card{justify-content:center}
.puck-grid[style*="--grid-columns: 2"]:has(>.puck-grid-column>.puck-image) .puck-card .puck-card-title{font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.25;margin-bottom:14px}
.puck-grid[style*="--grid-columns: 2"]:has(>.puck-grid-column>.puck-image) .puck-card .puck-card-description{font-size:1.18rem;line-height:1.85}
.puck-grid[style*="--grid-columns: 2"]:has(>.puck-grid-column>.puck-image) .puck-card .puck-card-eyebrow{font-size:.85rem}

/* feature card (task131) — 2-col grid layout */
.puck-card--feature{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;padding:0!important;overflow:hidden;text-align:left;border:1px solid var(--line)!important;border-radius:var(--radius-lg)!important;align-items:stretch}
.puck-card--feature::before{display:none}
.puck-card--feature>div:first-child{width:100%;height:100%!important;min-height:320px;border-radius:0!important;flex-shrink:0}
.puck-card--feature>div:first-child img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center}
.puck-card--feature>div:last-child{padding:40px 44px!important;align-items:flex-start;text-align:left;display:flex;flex-direction:column;justify-content:center}
.puck-card--feature .puck-card-eyebrow{background:var(--surface);color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;border:1px solid var(--line);display:inline-block;margin-bottom:14px}
.puck-card--feature .puck-card-title{font-family:var(--font-head);font-size:1.65rem;color:var(--navy);margin:0 0 12px;line-height:1.25}
.puck-card--feature .puck-card-description{color:var(--ink);font-size:1.02rem;line-height:1.75}
.puck-card--feature .puck-card-button,.puck-card--feature a[class*=button]{align-self:flex-start;margin-top:20px}
@media(max-width:820px){.puck-card--feature{grid-template-columns:1fr}.puck-card--feature>div:first-child{min-height:220px}}
/* ===== task131: native conversions ===== */
.puck-card--band,.puck-card--mission{background:var(--grad-band)!important;border:none!important;border-radius:var(--radius-lg)!important;padding:var(--pad-panel)!important;text-align:center;box-shadow:var(--shadow-md)!important;overflow:hidden}
.puck-card--band::before,.puck-card--mission::before{display:none}
.puck-card--mission::after{content:'\201C';position:absolute;top:-20px;left:24px;font-size:9rem;line-height:1;color:rgba(255,255,255,.08);font-family:var(--font-head);pointer-events:none}
.puck-card--band>div,.puck-card--mission>div{align-items:center;text-align:center}
.puck-card--band .puck-card-eyebrow,.puck-card--mission .puck-card-eyebrow{display:inline-block;padding:7px 16px;border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;line-height:1.3;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:var(--teal-bright);margin:0 0 18px}
.puck-card--band .puck-card-title{font-family:var(--font-head);font-size:clamp(1.8rem,3.2vw,2.4rem);letter-spacing:-.02em;font-weight:800;color:#fff;margin:0 0 20px;line-height:1.2}
.puck-card--band .puck-card-description{color:rgba(255,255,255,.88);font-size:1.05rem;line-height:1.75;max-width:680px;margin:0 auto}
.puck-card--band .puck-card-description a{color:var(--teal-bright);text-decoration:underline;text-underline-offset:3px}
.puck-card--band .puck-card-button,.puck-card--band a[class*=button]{margin:22px auto 0}
.puck-card--mission .puck-card-description{font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.65;color:#fff;max-width:740px;margin:0 auto}
.puck-card--intro-center{border:none!important;border-top:4px solid var(--teal)!important;padding:24px 32px!important;background:var(--surface)!important;border-radius:var(--radius)!important;box-shadow:none!important;text-align:center;max-width:820px;margin-left:auto;margin-right:auto}
.puck-card--intro-center::before{display:none}
.puck-card--intro-center>div{align-items:center;text-align:center}
.puck-card--intro-center .puck-card-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.puck-card--intro-center .puck-card-title{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;margin:0 0 12px}
.puck-card--intro-center .puck-card-description{color:var(--ink);font-size:1.06rem;line-height:1.75;max-width:820px;margin:0 auto}
.puck-card--pathway{background:var(--surface)!important;padding:30px 26px!important;border:none!important;border-bottom:3px solid transparent!important;border-radius:0!important;box-shadow:none!important;text-align:left;transition:border-color .2s}
.puck-card--pathway:hover{border-bottom-color:var(--teal)!important;transform:none!important}
.puck-card--pathway::before{display:none}
.puck-card--pathway>div{align-items:flex-start;text-align:left}
.puck-card--pathway .puck-card-eyebrow{display:block;font-family:var(--font-head);font-size:2.8rem;font-weight:900;color:var(--teal);opacity:.45;line-height:1;margin:0 0 12px;letter-spacing:-.06em;text-transform:none}
.puck-card--pathway .puck-card-title{font-size:1.15rem;font-weight:800;color:var(--ink);margin:0 0 8px}
.puck-card--pathway .puck-card-description{color:var(--ink-soft);font-size:.95rem;line-height:1.7}
.puck-card--seal-state,.puck-card--seal-global{border-radius:var(--radius-lg)!important;padding:36px 30px!important;position:relative;overflow:hidden;border:1px solid var(--line)!important;background:var(--white)!important;box-shadow:var(--shadow-md)!important;text-align:left}
.puck-card--seal-state>div,.puck-card--seal-global>div{align-items:flex-start;text-align:left}
.puck-card--seal-state::before,.puck-card--seal-global::before{content:"";display:block!important;position:absolute;top:0;left:0;right:0;height:6px;width:auto!important;background-image:none}
.puck-card--seal-state::before{background:linear-gradient(90deg,#1a6632,#3db862,#1a6632)!important}
.puck-card--seal-global::before{background:linear-gradient(90deg,var(--navy),var(--teal-bright),var(--navy))!important}
.puck-card--seal-state .puck-card-eyebrow,.puck-card--seal-global .puck-card-eyebrow{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;align-self:flex-start}
.puck-card--seal-state .puck-card-eyebrow{background:#e6f5ea;color:#1a6632;border:1px solid #aadcba}
.puck-card--seal-global .puck-card-eyebrow{background:var(--surface-2);color:var(--navy);border:1px solid var(--line)}
.puck-card--seal-state .puck-card-title,.puck-card--seal-global .puck-card-title{font-family:var(--font-head);font-size:1.4rem;font-weight:800;color:var(--ink);margin:0 0 12px;line-height:1.2}
.puck-card--seal-state .puck-card-description,.puck-card--seal-global .puck-card-description{color:var(--ink-soft);font-size:.94rem;line-height:1.72;margin:0 0 18px}
.puck-card--seal-state .puck-card-checklist li>span:last-child,.puck-card--seal-global .puck-card-checklist li>span:last-child{font-size:.88rem!important;line-height:1.5!important}
.puck-card--seal-state .puck-card-checklist li [class*=material-symbols],.puck-card--seal-state .puck-card-checklist li [class*=material-icons]{color:#1a6632!important}
.puck-card--yl{max-width:720px;margin:0 auto 10px;padding:12px 20px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-left:4px solid var(--teal-bright)!important;border-radius:10px!important;box-shadow:0 1px 3px rgba(15,23,42,.06)!important;text-align:left}
.puck-card--yl::before{display:none}
.puck-card--yl>div{flex-direction:row;align-items:baseline;gap:14px;text-align:left}
.puck-card--yl .puck-card-eyebrow{font-weight:800;color:var(--navy);font-size:1rem;min-width:52px;letter-spacing:0;text-transform:none;margin:0}
.puck-card--yl .puck-card-description{color:#334155;font-size:.95rem;line-height:1.6;margin:0}
.puck-card--honor{background:#fff!important;border:1px solid #e2e8f0!important;border-top:4px solid var(--navy)!important;border-radius:12px!important;padding:20px 22px!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important;height:100%;text-align:left}
.puck-card--honor::before{display:none}
.puck-card--honor .puck-card-checklist{gap:0!important;margin:0!important}
.puck-card--honor .puck-card-checklist li{padding:7px 2px!important;border-bottom:1px solid #eef2f7;font-size:.9rem!important;color:#334155;gap:8px!important;align-items:flex-start!important}
.puck-card--honor .puck-card-checklist li:last-child{border-bottom:none}
.puck-card--honor .puck-card-checklist li [class*=material-symbols],.puck-card--honor .puck-card-checklist li [class*=material-icons]{display:none!important}
.puck-card--honor .puck-card-checklist li>span:last-child{font-size:.9rem!important;line-height:1.55!important}
.puck-card--shot,.puck-card--shot-sq{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:12px!important;overflow:hidden;transition:var(--t2)}
.puck-card--shot::before,.puck-card--shot-sq::before{display:none}
.puck-card--shot:hover,.puck-card--shot-sq:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)!important}
.puck-card--shot>div:first-child{height:300px!important;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.puck-card--shot-sq>div:first-child{height:280px!important;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.puck-card--shot img,.puck-card--shot-sq img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.puck-card--shot>div:last-child:empty,.puck-card--shot-sq>div:last-child:empty{display:none}
.puck-grid:has(>.puck-grid-column>.puck-card--shot),.puck-grid:has(>.puck-grid-column>.puck-card--shot-sq){background:transparent!important;padding-top:0!important;padding-bottom:0!important}

/* Big-year heading pattern: h2 year followed by h3 recipient subheading */
#puck-content h2 + h3 {
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem);
  font-weight: 600;
  color: #4a5568;
  line-height: 1.5;
  margin-top: 0.35rem;
}

/* College WL award: standalone h3 page/section titles at a moderate size */
#puck-content > h3 { font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2rem); line-height: 1.3; }
/* Group photos (2013 intro, 2023 ceremony, 2016 recipients): large, centered, uniform */
.puck-image-img[src*="10c181d6b5fc"],
.puck-image:has(.puck-image-img[src*="10c181d6b5fc"]) .puck-image-figure,
/* Centered utility note paragraphs inside Text pucks */
.puck-text p[style*="text-align:center"]{text-align:center!important}

/* Partially-filled 3-col recipient grids: hide empty columns, center the remaining cards, keep card width uniform with full rows */
.puck-grid[style*="--grid-columns: 3"]:has(>.puck-grid-column:empty):has(>.puck-grid-column>.puck-card){display:flex;justify-content:center;gap:26px!important}
.puck-grid[style*="--grid-columns: 3"]:has(>.puck-grid-column:empty):has(>.puck-grid-column>.puck-card)>.puck-grid-column{flex:0 0 calc((100% - 52px)/3)}
.puck-grid[style*="--grid-columns: 3"]:has(>.puck-grid-column>.puck-card)>.puck-grid-column:empty{display:none}

/* Standalone intro-left cards: cap width for comfortable reading, centered block */
#puck-content > .puck-card--intro-left{max-width:880px;margin-left:auto;margin-right:auto;box-sizing:border-box}

/* Global Seal webinar promo graphics: show entire image at natural aspect */
#puck-content .puck-image-img[src*="4a554d99af6f"],
#puck-content .puck-image-img[src*="db3adac19079"],
#puck-content .puck-image-img[src*="6210679c1fa9"],
#puck-content .puck-image-img[src*="fce1c352c807"]{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:12px}

/* Advocacy civic-quote band: stat-led hierarchy */
.puck-card--civic-quote{text-align:center}
.puck-card--civic-quote>div{align-items:center}
.puck-card--civic-quote .puck-card-eyebrow{color:var(--teal-bright)!important;letter-spacing:.18em;font-size:.78rem!important;margin-bottom:14px}
.puck-card--civic-quote .puck-card-title{font-size:clamp(1.9rem, 1.2rem + 2.4vw, 2.9rem)!important;font-weight:800;line-height:1.2;max-width:820px;margin:0 auto 18px}
.puck-card--civic-quote .puck-card-description{font-size:clamp(1rem, .95rem + .5vw, 1.2rem)!important;font-weight:400!important;color:rgba(255,255,255,.85)!important;max-width:760px;margin:0 auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.25)}

/* Multilingual Illinois: show full photos beside the ISBE text card, letterboxed on a soft surface */
#puck-content .puck-image-img[src*="57331762d871"],
#puck-content .puck-image-img[src*="1cfd23686474"]{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;border-radius:var(--radius)}
.puck-grid:has(img[src*="57331762d871"])>.puck-grid-column:first-child{display:flex;flex-direction:column;gap:20px;justify-content:center}

/* Board regions map: render as large as the source allows, clickable for full size */
#puck-content .puck-image-img[src*="d94492f9206c"]{width:620px!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;display:block;margin:0 auto;cursor:zoom-in}
#puck-content a:has(>.puck-image-img[src*="d94492f9206c"]){display:block;width:100%;text-align:center}

/* 2016 group card: wide group photo shown uncropped inside the uniform card frame */
.puck-card--fullphoto:has(img[src*="71f2b4ceee99"]){max-width:880px;margin:0 auto}
.puck-card--fullphoto:has(img[src*="71f2b4ceee99"])>div:first-child{height:auto!important}
.puck-card--fullphoto img[src*="71f2b4ceee99"]{height:auto!important;object-fit:contain!important}

/* shot-l: gallery card like --shot but natural aspect (no face-cropping portrait crop) */
.puck-card--shot-l{align-self:start;height:auto!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:12px!important;overflow:hidden;transition:var(--t2)}
.puck-card--shot-l::before{display:none}
.puck-card--shot-l:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)!important}
.puck-card--shot-l>div:first-child{height:auto!important;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.puck-card--shot-l img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
.puck-card--shot-l>div:last-child:empty{display:none}
.puck-grid:has(>.puck-grid-column>.puck-card--shot-l){background:transparent!important;padding-top:0!important;padding-bottom:0!important}

/* Affiliate logos: never crop a logo — letterbox on white instead */
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image-img{object-fit:contain!important;background:#fff;padding:10px;box-sizing:border-box}

/* shot-l cards must never stretch to row height */
#puck-content .puck-grid-column>.puck-card--shot-l{align-self:start!important;height:auto!important}
#puck-content .puck-grid:has(>.puck-grid-column>.puck-card--shot-l)>.puck-grid-column{align-content:start!important;align-items:start!important}
#puck-content .puck-card--shot-l>div:first-child{height:auto!important}
#puck-content .puck-card--shot-l img{display:block;height:auto!important;background:transparent!important}

/* breathing room between the dark mission card and the stats strip */
#puck-content .puck-card--mission:has(~ .puck-stats){margin-bottom:56px!important}

/* Affiliate logo cards: uniform size */
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image{width:100%!important;max-width:none!important}
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image>a{display:block;width:100%!important}
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image-img{width:100%!important;height:170px!important;aspect-ratio:auto!important}

/* feature card: image bleeds to card edges, no inset gap or inner rounding */
#puck-content .puck-card--feature>div:first-child{padding:0!important;margin:0!important;overflow:hidden}
#puck-content .puck-card--feature>div:first-child img{border-radius:0!important;display:block;margin:0!important}

/* icon-card icon boxes: larger icon inside the pale blue square */
#puck-content .puck-card-icon [class*="material-symbols"],#puck-content .puck-card-icon [class*="material-icons"]{font-size:36px!important}

/* Keynote speakers heading: space before the split-hero cards below it */
#puck-content h2+.puck-hero--split,#puck-content h3+.puck-hero--split{margin-top:40px!important}

/* Central States 2026 logos: show full logo, no crop */
#puck-content .puck-grid:has(img[alt="Central States — Languages for All"]) .puck-image-img{object-fit:contain!important;background:#fff;padding:12px;box-sizing:border-box;height:220px!important}

/* Teacher tours gallery: force uniform row height so all columns stay in line */
#puck-content .puck-grid:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image{height:220px!important;overflow:hidden}
#puck-content .puck-grid:has(>.puck-grid-column>.puck-image):not(:has(.puck-card)) .puck-image-img{width:100%!important;height:100%!important;object-fit:cover!important}
/* Override for affiliate logo grid: still contain on white (scoped more specifically) */
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image{height:auto!important;overflow:visible}
#puck-content .puck-grid:has(.puck-image-img[alt="NNELL"]) .puck-image-img{height:170px!important;object-fit:contain!important}

/* Pathway step cards: panel base + oversized step number */
.puck-card--pathway{background:var(--surface);border-left:4px solid var(--teal)}
.puck-card--pathway .puck-card-eyebrow{font-family:var(--font-head);font-size:3.5rem!important;font-weight:900!important;letter-spacing:-.03em;color:var(--navy)!important;line-height:1;text-transform:none!important;margin-bottom:8px!important}
.puck-card--pathway .puck-card-title{font-size:1.15rem!important;font-weight:800;margin:0 0 8px}
.puck-card--pathway .puck-card-description{font-size:.97rem;line-height:1.65;color:var(--ink)}

/* NextGen flyer: wider column + full image visible (no crop) */
#puck-content .puck-grid:has(img[alt*="2027 monthly meeting"]){grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important}
#puck-content .puck-grid:has(img[alt*="2027 monthly meeting"]) .puck-image{height:auto!important;overflow:visible}
#puck-content .puck-grid:has(img[alt*="2027 monthly meeting"]) .puck-image-img{object-fit:contain!important;height:auto!important;width:100%!important;background:#fff;margin:0!important}

/* NextGen "How do I join?" card: center content, no giant gap, bigger checklist */
#puck-content .puck-card--featured:has(.puck-card-checklist)>div{justify-content:center!important;gap:20px!important;align-items:flex-start}
#puck-content .puck-card--featured:has(.puck-card-checklist) .puck-card-description{flex-grow:0!important;flex-shrink:0}
#puck-content .puck-card--featured:has(.puck-card-checklist) .puck-card-checklist{font-size:1.15rem!important;align-self:center;width:100%}
#puck-content .puck-card--featured:has(.puck-card-checklist) .puck-card-checklist li{align-items:center;justify-content:center;gap:14px}
#puck-content .puck-card--featured:has(.puck-card-checklist) .puck-card-checklist li [class*="material"]{font-size:24px!important}


            /* 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.9.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;
}
          