*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:IBM Plex Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-x-0{left:0;right:0}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.col-auto{grid-column:auto}.float-start{float:inline-start}.m-0{margin:0}.m-2{margin:.5rem}.m-5{margin:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-auto{margin-bottom:auto}.me-3{margin-inline-end:.75rem}.me-auto{margin-inline-end:auto}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:.75rem}.ms-4{margin-inline-start:1rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-72{height:18rem}.h-\[340px\]{height:340px}.h-\[41px\]{height:41px}.h-full{height:100%}.min-h-\[280px\]{min-height:280px}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-20{width:5rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-steel\/15>:not([hidden])~:not([hidden]){border-color:rgba(99,102,106,.15)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-charcoal{--tw-border-opacity:1;border-color:rgb(45 41 38/var(--tw-border-opacity,1))}.border-charcoal\/10{border-color:rgba(45,41,38,.1)}.border-charcoal\/20{border-color:rgba(45,41,38,.2)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-paper\/10{border-color:hsla(45,20%,96%,.1)}.border-paper\/40{border-color:hsla(45,20%,96%,.4)}.bg-charcoal{--tw-bg-opacity:1;background-color:rgb(45 41 38/var(--tw-bg-opacity,1))}.bg-charcoal\/95{background-color:rgba(45,41,38,.95)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green{--tw-bg-opacity:1;background-color:rgb(80 158 47/var(--tw-bg-opacity,1))}.bg-paper{--tw-bg-opacity:1;background-color:rgb(247 246 243/var(--tw-bg-opacity,1))}.bg-rust{--tw-bg-opacity:1;background-color:rgb(154 51 36/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-0{padding:0}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-28{padding-bottom:7rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pe-3{padding-inline-end:.75rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}.font-body{font-family:Inter,sans-serif}.font-brand{font-family:Special Elite,cursive}.font-display{font-family:Archivo,sans-serif}.font-mono{font-family:IBM Plex Mono,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-charcoal{--tw-text-opacity:1;color:rgb(45 41 38/var(--tw-text-opacity,1))}.text-charcoal\/50{color:rgba(45,41,38,.5)}.text-charcoal\/70{color:rgba(45,41,38,.7)}.text-charcoal\/90{color:rgba(45,41,38,.9)}.text-gold{--tw-text-opacity:1;color:rgb(255 198 88/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-green{--tw-text-opacity:1;color:rgb(80 158 47/var(--tw-text-opacity,1))}.text-paper{--tw-text-opacity:1;color:rgb(247 246 243/var(--tw-text-opacity,1))}.text-paper\/40{color:hsla(45,20%,96%,.4)}.text-paper\/50{color:hsla(45,20%,96%,.5)}.text-paper\/60{color:hsla(45,20%,96%,.6)}.text-paper\/70{color:hsla(45,20%,96%,.7)}.text-paper\/80{color:hsla(45,20%,96%,.8)}.text-rust{--tw-text-opacity:1;color:rgb(154 51 36/var(--tw-text-opacity,1))}.text-steel{--tw-text-opacity:1;color:rgb(99 102 106/var(--tw-text-opacity,1))}.text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.contrast-125{--tw-contrast:contrast(1.25)}.contrast-125,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:border-gold:hover{--tw-border-opacity:1;border-color:rgb(255 198 88/var(--tw-border-opacity,1))}.hover\:border-green:hover{--tw-border-opacity:1;border-color:rgb(80 158 47/var(--tw-border-opacity,1))}.hover\:bg-green\/90:hover{background-color:rgba(80,158,47,.9)}.hover\:text-gold:hover{--tw-text-opacity:1;color:rgb(255 198 88/var(--tw-text-opacity,1))}.hover\:text-green:hover{--tw-text-opacity:1;color:rgb(80 158 47/var(--tw-text-opacity,1))}.hover\:opacity-80:hover{opacity:.8}@media (min-width:640px){.sm\:inline-block{display:inline-block}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-full{height:100%}.md\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------------------------------------------------------------
   Sponsors section — stopgap overrides for classes not yet safelisted
   in the Tailwind build. Paste at the end of /assets/css/tailwind.css.
   These are plain CSS (not @apply), so they work regardless of the
   Tailwind content scanner ever seeing Sponsors.tpl.
   Delete once the chunk's classes are added to the safelist and
   these get generated properly by the build.

   FIXED 2026-07-31: .transition below used to redeclare the real
   compiled .transition (transition-property: all instead of the
   specific property list), which silently overrode it site-wide
   since this block is appended later in the cascade. Renamed to
   .sponsor-logo-transition — the sponsor logo <a> tags in the
   Sponsors chunk markup need to use this class name instead of
   "transition" going forward. Duplicate rules (.h-10, .px-4,
   .rounded-lg, .text-xs, .font-mono, .flex, .flex-wrap,
   .items-center, .justify-center, .w-auto) are left in place for
   now — harmless, tracked as task #3 in site-conventions.md.
   --------------------------------------------------------------- */

.h-6 { height: 1.5rem; }
.h-7 { height: 1.75rem; }
.h-8 { height: 2rem; }
.h-9 { height: 2.25rem; }
.h-10 { height: 2.5rem; }
.h-11 { height: 2.75rem; }

.gap-x-10 { column-gap: 2.5rem; }
.gap-x-12 { column-gap: 3rem; }
.gap-y-6 { row-gap: 1.5rem; }
.gap-y-8 { row-gap: 2rem; }

.px-4 { padding-left: 1rem; padding-right: 1rem; }
.rounded-lg { border-radius: 0.5rem; }
.border-dashed { border-style: dashed; }
.border-steel\/30 { border-color: rgba(99, 102, 106, 0.3); }
.text-steel\/70 { color: rgba(99, 102, 106, 0.7); }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.font-mono { font-family: 'IBM Plex Mono', monospace; }
.opacity-80 { opacity: 0.8; }
.hover\:opacity-100:hover { opacity: 1; }
.sponsor-logo-transition { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
.duration-200 { transition-duration: 200ms; }
.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.w-auto { width: auto; }

@media (min-width: 640px) {
  .sm\:h-7 { height: 1.75rem; }
  .sm\:h-8 { height: 2rem; }
  .sm\:h-9 { height: 2.25rem; }
}

@media (min-width: 768px) {
  .md\:h-8 { height: 2rem; }
  .md\:h-9 { height: 2.25rem; }
  .md\:h-10 { height: 2.5rem; }
  .md\:gap-x-12 { column-gap: 3rem; }
  .md\:gap-y-8 { row-gap: 2rem; }
}

@media (min-width: 1024px) {
  .lg\:h-9 { height: 2.25rem; }
  .lg\:h-10 { height: 2.5rem; }
  .lg\:h-11 { height: 2.75rem; }
}

/* --- Ripple Effect (initiatives) page — manual stopgap additions, 2026-08-06 ---
   Classes used in tailwind-theme/modx-source/initiatives/*.tpl that were not
   yet present in this compiled file (confirmed via direct grep against the
   four new chunks). Not yet run through the real TailwindHelper/safelist.json
   build — remove this block once a proper build supersedes it. See
   initiatives-page-handoff.md's "Tailwind safelist / build watch-list". */
.text-teal { --tw-text-opacity: 1; color: rgb(0 98 114 / var(--tw-text-opacity, 1)); }
.bg-teal { --tw-bg-opacity: 1; background-color: rgb(0 98 114 / var(--tw-bg-opacity, 1)); }
.bg-gold { --tw-bg-opacity: 1; background-color: rgb(255 198 88 / var(--tw-bg-opacity, 1)); }
.font-normal { font-weight: 400; }
.tracking-wider { letter-spacing: .05em; }
.whitespace-nowrap { white-space: nowrap; }
.max-w-xl { max-width: 36rem; }
.max-w-3xl { max-width: 48rem; }
.mb-1\.5 { margin-bottom: .375rem; }
.mb-2\.5 { margin-bottom: .625rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.border-l-4 { border-left-width: 4px; }
.border-steel\/20 { border-color: rgba(99, 102, 106, 0.2); }
/* IMPORTANT: every .border-l-{color} rule must stay BELOW .border-steel\/20
   above. border-steel\/20 sets the shorthand `border-color` (all four
   sides), so if it comes later in the file it silently overrides
   border-left-color too, regardless of source order in the HTML class
   list. Confirmed live bug 2026-08-06: green/teal/rust borders rendered
   gray because these were originally placed BEFORE border-steel\/20. */
.border-l-green { --tw-border-opacity: 1; border-left-color: rgb(80 158 47 / var(--tw-border-opacity, 1)); }
.border-l-teal { --tw-border-opacity: 1; border-left-color: rgb(0 98 114 / var(--tw-border-opacity, 1)); }
.border-l-rust { --tw-border-opacity: 1; border-left-color: rgb(154 51 36 / var(--tw-border-opacity, 1)); }
.border-l-steel { --tw-border-opacity: 1; border-left-color: rgb(99 102 106 / var(--tw-border-opacity, 1)); }
.rounded-r-lg { border-top-right-radius: .5rem; border-bottom-right-radius: .5rem; }
.hover\:underline:hover { text-decoration-line: underline; }

@media (min-width: 768px) {
  .md\:px-8 { padding-left: 2rem; padding-right: 2rem; }
}

/* --- Moved from inline-head-style-block.css, 2026-08-06 --- */
/* These are pure Tailwind utility output that had drifted into the Base */
/* Template's inline <style> block instead of this file. Moving them here */
/* so there's one source of truth for what these classes mean. See */
/* site-conventions.md's CSS-file-structure section for the reorg. */
.w-24 { width: 6rem; }
.h-24 { height: 6rem; }
.pb-6 { padding-bottom: 1.5rem; }

/* --- Ripple Effect card photos, 2026-08-06 --- */
.object-cover { object-fit: cover; }
.h-32 { height: 8rem; }

/* --- Ripple Effect card border/image update, 2026-08-06 round 2 --- */
/* Corrected: no new "orange" color exists anywhere in this site's CSS —
   checked every hex code actually defined in tailwind.css/site-custom.css.
   "Orange" in Alex's 4-color list is gold (#FFC658), the only brand color
   left unassigned across the 4 cards — not a new Tailwind stock color. */
.h-40 { height: 10rem; }
.border-l-8 { border-left-width: 8px; }
.border-l-gold { --tw-border-opacity: 1; border-left-color: rgb(255 198 88 / var(--tw-border-opacity, 1)); }

/* --- Ripple Effect: darker gold for text, 2026-08-06 round 3 --- */
/* Gold (#FFC658) is too light for text on a white card (confirmed by */
/* comparing options visually with Alex) — border stays bright gold, */
/* text uses this darker shade of the same hue instead. */
.text-gold-dark { --tw-text-opacity: 1; color: rgb(138 90 18 / var(--tw-text-opacity, 1)); }

/* --- Ripple Effect card photos, taller crop, 2026-08-06 round 5 --- */
.h-56 { height: 14rem; }