/* --- tailwind.css --- */
*,: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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,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}input:where(:not([type])),input:where([type=date]),input:where([type=datetime-local]),input:where([type=email]),input:where([type=month]),input:where([type=number]),input:where([type=password]),input:where([type=search]),input:where([type=tel]),input:where([type=text]),input:where([type=time]),input:where([type=url]),input:where([type=week]),select,select:where([multiple]),textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}input:where(:not([type])):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=email]):focus,input:where([type=month]):focus,input:where([type=number]):focus,input:where([type=password]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=text]):focus,input:where([type=time]):focus,input:where([type=url]):focus,input:where([type=week]):focus,select:focus,select:where([multiple]):focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}select:where([multiple]),select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}input:where([type=checkbox]),input:where([type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:where([type=checkbox]):checked,input:where([type=radio]):checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {input:where([type=checkbox]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {input:where([type=radio]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:focus,input:where([type=checkbox]):checked:hover,input:where([type=radio]):checked:focus,input:where([type=radio]):checked:hover{border-color:transparent;background-color:currentColor}input:where([type=checkbox]):indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active) {input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:focus,input:where([type=checkbox]):indeterminate:hover{border-color:transparent;background-color:currentColor}input:where([type=file]){background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}input:where([type=file]):focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-20{top:5rem}.top-4{top:1rem}.isolate{isolation:isolate}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[55\]{z-index:55}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.col-span-full{grid-column:1/-1}.-m-2{margin:-.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-40{height:10rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.min-h-\[100px\]{min-height:100px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[72px\]{min-height:72px}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-\[min\(20rem\2c 100vw\)\]{width:min(20rem,100vw)}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[44px\]{min-width:44px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[360px\]{max-width:360px}.max-w-\[64px\]{max-width:64px}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{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))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.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))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.scroll-mt-28{scroll-margin-top:7rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem*var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem*var(--tw-space-y-reverse))}.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))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*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-outline-variant>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(113 128 150/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.125rem}.rounded-full{border-radius:.75rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-outline-variant{--tw-border-opacity:1;border-color:rgb(113 128 150/var(--tw-border-opacity,1))}.border-outline-variant\/50{border-color:rgba(113,128,150,.5)}.border-primary{--tw-border-opacity:1;border-color:rgb(26 32 44/var(--tw-border-opacity,1))}.border-primary\/20{border-color:rgba(26,32,44,.2)}.border-primary\/30{border-color:rgba(26,32,44,.3)}.border-secondary{--tw-border-opacity:1;border-color:rgb(49 130 206/var(--tw-border-opacity,1))}.border-secondary\/30{border-color:rgba(49,130,206,.3)}.border-secondary\/40{border-color:rgba(49,130,206,.4)}.border-transparent{border-color:transparent}.bg-accent-1{--tw-bg-opacity:1;background-color:rgb(76 81 191/var(--tw-bg-opacity,1))}.bg-accent-2{--tw-bg-opacity:1;background-color:rgb(56 161 105/var(--tw-bg-opacity,1))}.bg-accent-3{--tw-bg-opacity:1;background-color:rgb(221 107 32/var(--tw-bg-opacity,1))}.bg-accent-4{--tw-bg-opacity:1;background-color:rgb(214 158 46/var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:rgb(247 250 252/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-div-1{--tw-bg-opacity:1;background-color:rgb(197 48 48/var(--tw-bg-opacity,1))}.bg-div-2{--tw-bg-opacity:1;background-color:rgb(229 62 62/var(--tw-bg-opacity,1))}.bg-div-3{--tw-bg-opacity:1;background-color:rgb(212 95 95/var(--tw-bg-opacity,1))}.bg-div-4{--tw-bg-opacity:1;background-color:rgb(216 226 236/var(--tw-bg-opacity,1))}.bg-div-5{--tw-bg-opacity:1;background-color:rgb(69 143 196/var(--tw-bg-opacity,1))}.bg-div-6{--tw-bg-opacity:1;background-color:rgb(59 143 202/var(--tw-bg-opacity,1))}.bg-div-7{--tw-bg-opacity:1;background-color:rgb(49 130 206/var(--tw-bg-opacity,1))}.bg-div-8{--tw-bg-opacity:1;background-color:rgb(43 108 176/var(--tw-bg-opacity,1))}.bg-outline{--tw-bg-opacity:1;background-color:rgb(113 128 150/var(--tw-bg-opacity,1))}.bg-primary,.bg-primary-container{--tw-bg-opacity:1;background-color:rgb(26 32 44/var(--tw-bg-opacity,1))}.bg-primary\/10{background-color:rgba(26,32,44,.1)}.bg-primary\/40{background-color:rgba(26,32,44,.4)}.bg-secondary{--tw-bg-opacity:1;background-color:rgb(49 130 206/var(--tw-bg-opacity,1))}.bg-secondary\/10{background-color:rgba(49,130,206,.1)}.bg-seq-1{--tw-bg-opacity:1;background-color:rgb(74 107 133/var(--tw-bg-opacity,1))}.bg-seq-2{--tw-bg-opacity:1;background-color:rgb(53 150 162/var(--tw-bg-opacity,1))}.bg-seq-3{--tw-bg-opacity:1;background-color:rgb(44 152 137/var(--tw-bg-opacity,1))}.bg-seq-4{--tw-bg-opacity:1;background-color:rgb(54 154 83/var(--tw-bg-opacity,1))}.bg-seq-5{--tw-bg-opacity:1;background-color:rgb(61 148 56/var(--tw-bg-opacity,1))}.bg-seq-6{--tw-bg-opacity:1;background-color:rgb(101 147 46/var(--tw-bg-opacity,1))}.bg-seq-7{--tw-bg-opacity:1;background-color:rgb(136 142 50/var(--tw-bg-opacity,1))}.bg-seq-8{--tw-bg-opacity:1;background-color:rgb(175 128 34/var(--tw-bg-opacity,1))}.bg-status-brief{--tw-bg-opacity:1;background-color:rgb(49 130 206/var(--tw-bg-opacity,1))}.bg-status-report{--tw-bg-opacity:1;background-color:rgb(26 32 44/var(--tw-bg-opacity,1))}.bg-surface{--tw-bg-opacity:1;background-color:rgb(247 250 252/var(--tw-bg-opacity,1))}.bg-surface-container{--tw-bg-opacity:1;background-color:rgb(237 242 247/var(--tw-bg-opacity,1))}.bg-surface-container-high{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-surface-container-highest{--tw-bg-opacity:1;background-color:rgb(203 213 224/var(--tw-bg-opacity,1))}.bg-surface-container-low{--tw-bg-opacity:1;background-color:rgb(247 250 252/var(--tw-bg-opacity,1))}.bg-surface-container-lowest{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-surface-muted{--tw-bg-opacity:1;background-color:rgb(237 242 247/var(--tw-bg-opacity,1))}.bg-tertiary{--tw-bg-opacity:1;background-color:rgb(49 151 149/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-primary-container{--tw-gradient-from:#1a202c var(--tw-gradient-from-position);--tw-gradient-to:rgba(26,32,44,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-secondary{--tw-gradient-from:#3182ce var(--tw-gradient-from-position);--tw-gradient-to:rgba(49,130,206,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-secondary{--tw-gradient-to:#3182ce var(--tw-gradient-to-position)}.to-tertiary{--tw-gradient-to:#319795 var(--tw-gradient-to-position)}.p-10{padding:2.5rem}.p-12{padding:3rem}.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-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.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}.px-8{padding-left:2rem;padding-right:2rem}.px-margin-mobile{padding-left:20px;padding-right:20px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.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-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-12{padding-left:3rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pr-4{padding-right:1rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-body-lg,.font-body-md{font-family:EB Garamond,serif}.font-data-numeral,.font-display-lg,.font-headline-lg,.font-label-caps{font-family:Public Sans,sans-serif}.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-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[40px\]{font-size:40px}.text-\[56px\]{font-size:56px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-body-lg{font-size:22px}.text-body-lg,.text-body-md{line-height:1.65;font-weight:400}.text-body-md{font-size:20px}.text-data-numeral{font-size:16px;line-height:1.2;font-weight:600}.text-display-lg{font-size:48px;line-height:1.15;letter-spacing:-.02em;font-weight:700}.text-headline-lg{font-size:32px;line-height:1.25;font-weight:600}.text-label-caps{font-size:14px;line-height:1.3;letter-spacing:.05em;font-weight:700}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:1.125rem;line-height:1.65rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-widest{letter-spacing:.1em}.text-data-highlight{--tw-text-opacity:1;color:rgb(214 158 46/var(--tw-text-opacity,1))}.text-error{--tw-text-opacity:1;color:rgb(197 48 48/var(--tw-text-opacity,1))}.text-on-background{--tw-text-opacity:1;color:rgb(26 32 44/var(--tw-text-opacity,1))}.text-on-primary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-on-primary-container{--tw-text-opacity:1;color:rgb(247 250 252/var(--tw-text-opacity,1))}.text-on-secondary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-on-surface{--tw-text-opacity:1;color:rgb(26 32 44/var(--tw-text-opacity,1))}.text-on-surface-variant{--tw-text-opacity:1;color:rgb(74 85 104/var(--tw-text-opacity,1))}.text-outline{--tw-text-opacity:1;color:rgb(74 85 104/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(26 32 44/var(--tw-text-opacity,1))}.text-secondary{--tw-text-opacity:1;color:rgb(43 108 176/var(--tw-text-opacity,1))}.text-secondary-container{--tw-text-opacity:1;color:rgb(144 205 244/var(--tw-text-opacity,1))}.text-status-brief{--tw-text-opacity:1;color:rgb(43 108 176/var(--tw-text-opacity,1))}.text-tertiary{--tw-text-opacity:1;color:rgb(44 122 123/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/90{color:hsla(0,0%,100%,.9)}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.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)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-secondary\/40{--tw-ring-color:rgba(49,130,206,.4)}.filter{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)}.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-all{transition-property:all;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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.first-letter\:float-left:first-letter{float:left}.first-letter\:mr-3:first-letter{margin-right:.75rem}.first-letter\:mt-1:first-letter{margin-top:.25rem}.first-letter\:font-headline-lg:first-letter{font-family:Public Sans,sans-serif}.first-letter\:text-5xl:first-letter{font-size:3rem;line-height:1}.first-letter\:text-primary:first-letter{--tw-text-opacity:1;color:rgb(26 32 44/var(--tw-text-opacity,1))}.hover\:border-secondary:hover{--tw-border-opacity:1;border-color:rgb(49 130 206/var(--tw-border-opacity,1))}.hover\:border-secondary\/40:hover{border-color:rgba(49,130,206,.4)}.hover\:border-secondary\/50:hover{border-color:rgba(49,130,206,.5)}.hover\:bg-surface-container-high:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-surface-muted:hover{--tw-bg-opacity:1;background-color:rgb(237 242 247/var(--tw-bg-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(26 32 44/var(--tw-text-opacity,1))}.hover\:text-secondary:hover{--tw-text-opacity:1;color:rgb(49 130 206/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-sm:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-secondary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(49 130 206/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.group:hover .group-hover\:text-secondary{--tw-text-opacity:1;color:rgb(49 130 206/var(--tw-text-opacity,1))}.has-\[\:checked\]\:border-secondary:has(:checked){--tw-border-opacity:1;border-color:rgb(49 130 206/var(--tw-border-opacity,1))}.has-\[\:checked\]\:bg-surface-container-low:has(:checked){--tw-bg-opacity:1;background-color:rgb(247 250 252/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:h-full{height:100%}.sm\:min-h-\[140px\]{min-height:140px}.sm\:w-44{width:11rem}.sm\:w-48{width:12rem}.sm\:w-auto{width:auto}.sm\:min-w-\[12rem\]{min-width:12rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-6{gap:1.5rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:pl-0{padding-left:0}.sm\:pr-6{padding-right:1.5rem}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:mx-0{margin-left:0;margin-right:0}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-2\/5{width:40%}.md\:w-3\/5{width:60%}.md\:w-52{width:13rem}.md\:max-w-2xl{max-width:42rem}.md\:max-w-xl{max-width:36rem}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(220px\2c 360px\)\]{grid-template-columns:minmax(0,1fr) minmax(220px,360px)}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:justify-between{justify-content:space-between}.md\:gap-12{gap:3rem}.md\:gap-16{gap:4rem}.md\:gap-8{gap:2rem}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:p-16{padding:4rem}.md\:p-8{padding:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:px-margin-desktop{padding-left:80px;padding-right:80px}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:text-left{text-align:left}.md\:text-\[22px\]{font-size:22px}.md\:text-\[28px\]{font-size:28px}.md\:text-\[64px\]{font-size:64px}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-24{top:6rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-48{width:12rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:self-start{align-self:flex-start}}
/* --- po-layout.css --- */
/* Pathways & Outcomes — unified content width
   Load after mobile.css on every page. */
@import url("po-icons.css");

:root {
  --po-content-max: 720px;
  --po-shell-max: 1280px;
  --po-logo-height: 2.75rem;
  --po-footer-logo-height: 3.25rem;
  --po-header-height: 4.5rem;
}

@media (min-width: 768px) {
  :root {
    --po-logo-height: 3.25rem;
    --po-footer-logo-height: 3.75rem;
    --po-header-height: 5rem;
  }
}

/* Fixed header height tracks logo size (pages use h-20 / pt-20 in markup) */
header.fixed.h-20 {
  height: var(--po-header-height);
}

main.pt-20 {
  padding-top: var(--po-header-height);
}

.sticky.top-20 {
  top: var(--po-header-height);
}

/* Primary content column — prose, heroes, hubs, listings (720px) */
.po-content,
.reading-container,
.ballot-container,
.po-reading,
.po-reading-wide {
  width: 100%;
  max-width: var(--po-content-max);
  margin-left: auto;
  margin-right: auto;
}

/* Wide shell — design tools only; avoid on public pages */
.po-shell {
  width: 100%;
  max-width: var(--po-shell-max);
  margin-left: auto;
  margin-right: auto;
}

/* Site logo — header wordmark */
.po-logo-link {
  display: flex;
  align-items: center;
  min-width: 0;
  text-decoration: none;
}

/* Site logo — horizontal PNG (icon + wordmark baked in) */
.po-logo {
  display: block;
  height: var(--po-logo-height);
  width: auto;
  max-width: min(14rem, 58vw);
  object-fit: contain;
  object-position: left center;
}

.po-footer-logo {
  display: block;
  height: var(--po-footer-logo-height);
  width: auto;
  max-width: min(16rem, 72vw);
  object-fit: contain;
}

.po-logo--display {
  height: 5.5rem;
  width: auto;
  max-width: 22rem;
  object-fit: contain;
}

/* Site logo — footer */
.po-footer-logo-link {
  display: inline-flex;
  text-decoration: none;
}

/* Breadcrumbs — first element in page hero, above eyebrow/H1 */
.po-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
  margin-bottom: 1.5rem;
  color: #4A5568; /* on-surface-variant — AA small text on light surfaces */
}

.po-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.po-breadcrumb a:hover {
  color: #3182CE;
}

/* Publication card thumbnails */
.po-thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Accessible reading — floors for low-vision readers (50+); lifts Tailwind micro utilities */
.text-\[8px\] { font-size: 11px !important; }
.text-\[9px\] { font-size: 12px !important; }
.text-\[10px\] { font-size: 13px !important; }
.text-\[11px\] { font-size: 14px !important; }

.po-breadcrumb__sep {
  font-size: 14px;
  line-height: 1;
}

.po-breadcrumb__current {
  color: #1A202C;
}

/* Footer — cred line and Donate CTA on gray band (surface-container-highest) */
footer.bg-surface-container-highest > p.text-outline {
  color: #4A5568;
}

footer.bg-surface-container-highest a.text-secondary.font-bold {
  color: #1A202C;
}

footer.bg-surface-container-highest a.text-secondary.font-bold:hover {
  color: #3182CE;
}

/* --- po-brand.css --- */
/* Pathways & Outcomes — reusable brand components
   Load after tailwind-config.js. Copy markup from brand-board.html
   Type scale targets readers 50+ — body 20px, secondary 18px, label floor 13–14px */

/* Width enforced in site-layout.css — load site-layout.css before this file */
.po-reading,
.po-reading-wide,
.po-content,
.reading-container { max-width: 720px; margin-left: auto; margin-right: auto; width: 100%; }

/* Publication badges */
.po-badge {
  display: inline-block;
  font-family: "Public Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
}
.po-badge-report { background: #1A202C; color: #fff; }
.po-badge-brief { background: #3182CE; color: #fff; }
.po-badge-dive { background: #267A73; color: #fff; }
.po-badge-blog { background: #4A5568; color: #fff; }
.po-badge-series { background: #D69E2E; color: #1A202C; }
.po-badge-pipeline { background: #EDF2F7; color: #1A202C; border: 1px solid #718096; }
.po-badge-pipeline-input { border-left: 3px solid #3182CE; }
.po-badge-pipeline-throughput { border-left: 3px solid #319795; }
.po-badge-pipeline-output { border-left: 3px solid #D69E2E; }
.po-badge-pipeline-mobility { border-left: 3px solid #1A202C; }

/* Utah Opportunity Chain — series hub & nav */
.po-content-wide { max-width: 960px; margin-left: auto; margin-right: auto; width: 100%; }
.po-pipeline-diagram {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem;
  padding: 1.5rem; background: #F7FAFC; border: 1px solid #718096;
}
.po-pipeline-step { flex: 1; min-width: 8rem; text-align: center; padding: 0.75rem; background: #fff; border: 1px solid #E2E8F0; }
.po-pipeline-step-capstone { background: #1A202C; color: #fff; }
.po-pipeline-step-capstone .po-pipeline-label { color: #fff; }
.po-pipeline-step-capstone .po-pipeline-parts { color: #A0AEC0; }
.po-pipeline-label { display: block; font-family: "Public Sans", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #1A202C; }
.po-pipeline-parts { display: block; font-size: 16px; color: #4A5568; margin-top: 0.25rem; }
.po-pipeline-arrow { color: #718096; }

/* School profile — Input / Throughput / Output summary */
.po-profile-pipeline {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .po-profile-pipeline { grid-template-columns: repeat(3, 1fr); }
}
.po-profile-pipeline-card {
  border: 1px solid #E2E8F0;
  background: #fff;
  padding: 1.25rem 1.5rem;
}
.po-profile-pipeline-card--input { border-left: 3px solid #3182CE; }
.po-profile-pipeline-card--throughput { border-left: 3px solid #319795; }
.po-profile-pipeline-card--output { border-left: 3px solid #D69E2E; }
.po-profile-pipeline-stage {
  display: block;
  font-family: "Public Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1A202C;
}
.po-profile-pipeline-subtitle {
  display: block;
  font-size: 18px;
  color: #4A5568;
  margin-top: 0.15rem;
  margin-bottom: 1rem;
}
.po-profile-pipeline-metrics { display: flex; flex-direction: column; gap: 1rem; }
.po-profile-pipeline-metric-label {
  display: block;
  font-family: "Public Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #718096;
  margin-bottom: 0.25rem;
}
.po-profile-pipeline-metric-value {
  display: block;
  font-size: 1.75rem;
  line-height: 1.1;
  color: #1A202C;
  margin-bottom: 0.25rem;
}
.po-profile-pipeline-metric-note {
  display: block;
  font-size: 16px;
  color: #718096;
  line-height: 1.35;
}

.po-profile-nav {
  border: 1px solid #E2E8F0;
  background: #F7FAFC;
  padding: 1rem 1.25rem;
  margin-bottom: 2rem;
}
.po-profile-nav__label {
  display: block;
  font-family: "Public Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #718096;
  margin-bottom: 0.75rem;
}
.po-profile-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.po-profile-nav__list a {
  font-size: 16px;
  color: #3182CE;
  text-decoration: none;
}
.po-profile-nav__list a:hover { text-decoration: underline; }

.po-profile-benchmark-charts .po-chart {
  margin: 0;
  height: 100%;
  padding: 1.25rem;
}

.po-profile-benchmark-charts .po-chart-source {
  margin-top: 0.75rem;
}

.po-profile-benchmark-charts .po-chart-note {
  font-size: 13px;
  margin-top: 0.35rem;
}

.po-profile-benchmark-meta {
  font-size: 11px;
  letter-spacing: 0.06em;
  line-height: 1.45;
  color: #718096;
}

.po-profile-benchmark-table .po-benchmark-context {
  font-size: 12px;
  line-height: 1.4;
  color: #4A5568;
  min-width: 9rem;
}

.po-profile-benchmark-charts--headline .po-profile-benchmark-chart {
  border: 1px solid #E2E8F0;
  border-left-width: 3px;
  margin: 0;
  padding: 1.25rem 1.5rem;
}

.po-profile-benchmark-chart--input { border-left-color: #3182CE; }
.po-profile-benchmark-chart--throughput { border-left-color: #319795; }
.po-profile-benchmark-chart--output { border-left-color: #D69E2E; }

.po-profile-benchmark-charts--headline .po-chart {
  min-height: 100%;
}

.po-series-stage { margin-bottom: 2.5rem; }
.po-series-stage-title { font-family: "Public Sans", sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #319795; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid #E2E8F0; }
.po-series-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.po-series-card { border: 1px solid #E2E8F0; padding: 1.25rem; background: #fff; }
.po-series-card:hover { border-color: #3182CE; }
.po-series-card-part { font-family: "Public Sans", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #D69E2E; }
.po-series-card-stage { float: right; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #718096; }
.po-series-card-title { font-family: "Public Sans", sans-serif; font-size: 1.1rem; font-weight: 600; color: #1A202C; margin: 0.5rem 0; line-height: 1.3; }
.po-series-card-title a:hover { color: #3182CE; }
.po-series-card-deck { font-size: 18px; color: #4A5568; line-height: 1.55; margin-bottom: 0.75rem; }
.po-series-card-meta { display: flex; gap: 1rem; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #718096; }
.po-series-nav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; }
.po-series-nav-link { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 16px; color: #3182CE; max-width: 40%; }
.po-series-nav-link--next { text-align: right; justify-content: flex-end; margin-left: auto; }
.po-series-nav-hub { font-size: 14px; }
.po-methods-accordion summary { list-style: none; }
.po-methods-accordion summary::-webkit-details-marker { display: none; }

/* Data notes — superscript field references in research prose */
.po-data-note-ref {
  font-family: inherit;
  font-size: 0.62em;
  font-weight: 400;
  line-height: 0;
  vertical-align: super;
  margin-left: 0.05em;
}
.po-data-note-ref a {
  color: #718096;
  text-decoration: none;
}
.po-data-note-ref a:hover {
  color: #4A5568;
  text-decoration: underline;
}
.po-data-notes-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.po-data-note-item {
  padding: 0.35rem 0;
  font-size: 16px;
  line-height: 1.55;
}
.po-data-note-item + .po-data-note-item {
  border-top: 1px solid #EDF2F7;
  padding-top: 0.5rem;
  margin-top: 0.15rem;
}
.po-data-note-num {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #718096;
  margin-right: 0.35rem;
}
.po-data-note-key {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #1A202C;
  margin-right: 0.35rem;
}
.po-data-note-key::after {
  content: ".";
  font-weight: 400;
  color: #718096;
}
.po-data-note-desc {
  font-family: "EB Garamond", serif;
  color: #4A5568;
}
.po-data-table { border-collapse: collapse; }
.po-data-table th,
.po-data-table td {
  border: 1px solid #E2E8F0;
  padding: 0.75rem 1rem;
  text-align: left;
  vertical-align: top;
}
.po-data-table th {
  background: #F7FAFC;
  font-family: "Public Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #4A5568;
}
.po-data-table td {
  font-family: "EB Garamond", serif;
  font-size: 20px;
  line-height: 1.65;
  color: #1A202C;
}
.po-data-table td.font-data-numeral {
  font-family: "Public Sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

/* Program leader tables — compare pathways and similar explorers */
.po-prog-leaders-section {
  margin-bottom: 1.75rem;
}
.po-prog-leaders-section:last-child {
  margin-bottom: 0;
}
.po-prog-leaders-section__title {
  font-family: "Public Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #718096;
  margin-bottom: 0.5rem;
}
.po-prog-leaders-table td {
  font-size: 17px;
  line-height: 1.45;
}
.po-prog-leaders-table .po-prog-leader-cred {
  display: block;
  margin-top: 0.2rem;
  font-family: "Public Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  color: #718096;
}
.po-prog-leaders-table .po-prog-leader-school {
  font-family: "Public Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
}
.po-prog-leaders-table td.font-data-numeral {
  font-size: 16px;
  white-space: nowrap;
}

/* Ballot filters — room for native select chevron (WP/Bootstrap collide without this) */
.po-ballot-select,
select.po-ballot-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  min-height: 44px;
  padding: 0.5rem 2.25rem 0.5rem 0.75rem;
  font-family: "Public Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.3;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234A5568' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 12px 8px;
  cursor: pointer;
}

/* Agenda / questions page — up-down voting */
.po-question-vote {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.75rem;
}

.po-vote-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #E2E8F0;
  background: #fff;
  color: #4A5568;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.po-vote-arrow .material-symbols-outlined {
  font-size: 22px;
  line-height: 1;
}

.po-vote-arrow:hover {
  border-color: #3182CE;
  color: #3182CE;
}

.po-vote-arrow.is-active.po-vote-up {
  border-color: #3182CE;
  background: rgba(49, 130, 206, 0.08);
  color: #3182CE;
}

.po-vote-arrow.is-active.po-vote-down {
  border-color: #DD6B20;
  background: rgba(221, 107, 32, 0.08);
  color: #DD6B20;
}

.po-vote-score {
  min-width: 2.75rem;
  text-align: center;
  font-family: "Public Sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #1A202C;
}

/* Data callout — hero stat */
.po-data-callout {
  border-left: 4px solid #3182CE;
  padding: 1.5rem 0 1.5rem 1.5rem;
  margin: 2rem 0;
}
.po-data-callout-value {
  font-family: "Public Sans", sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1;
  color: #1A202C;
}
.po-data-callout-label {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4A5568;
  margin-top: 0.5rem;
}
.po-data-callout-context {
  font-family: "EB Garamond", serif;
  font-size: 18px;
  line-height: 1.6;
  color: #4A5568;
  margin-top: 0.75rem;
}

/* Inline data highlight (within prose) */
.po-data-inline {
  display: inline-block;
  background: #EDF2F7;
  border-bottom: 2px solid #D69E2E;
  padding: 0 0.25rem;
  font-family: "Public Sans", sans-serif;
  font-weight: 600;
}

/* Featured callout box */
.po-callout-box {
  background: #F7FAFC;
  border: 1px solid #718096;
  padding: 1.5rem;
  margin: 2rem 0;
}
.po-callout-box-tertiary { border-left: 4px solid #319795; }
.po-callout-box-warning { border-left: 4px solid #DD6B20; background: #FFFAF0; }
.po-callout-box-primary {
  background: #1A202C;
  color: #CBD5E0;
  border: none;
}
.po-callout-box-primary .po-callout-title {
  color: #fff;
}
.po-callout-box-primary p,
.po-callout-box-primary li,
.po-callout-box-primary ul,
.po-callout-box-primary .font-body-md,
.po-callout-box-primary .text-on-surface-variant {
  color: #CBD5E0;
}
.po-callout-box-primary strong {
  color: #fff;
}
.po-callout-box-primary a,
.po-callout-box-primary .text-secondary {
  color: #90CDF4;
}
.po-callout-box-primary a:hover {
  color: #BEE3F8;
}
.po-callout-box-primary .po-data-inline {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-bottom-color: #D69E2E;
}

.po-callout-title {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #1A202C;
  margin-bottom: 0.75rem;
}

/* Investigative research product — compare pathways */
.po-research-note {
  background: #EDF2F7;
  border-left: 4px solid #4A5568;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
}
.po-research-note__label {
  font-family: "Public Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #4A5568;
  margin-bottom: 0.5rem;
}
.po-what-noticed {
  background: #F7FAFC;
  border: 1px solid #CBD5E0;
  border-left: 4px solid #319795;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0 0;
}
.po-what-noticed__label {
  font-family: "Public Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #319795;
  margin-bottom: 0.5rem;
}
.po-tradeoffs-lede {
  border-left: 4px solid #1A202C;
  padding: 0 0 0 1.25rem;
  margin: 0 0 2rem;
}

/* Quote — block */
.po-quote {
  border-left: 4px solid #319795;
  padding: 1rem 0 1rem 1.5rem;
  margin: 2rem 0;
}
.po-quote-text {
  font-family: "EB Garamond", serif;
  font-size: 1.35rem;
  line-height: 1.5;
  color: #1A202C;
  font-style: italic;
}
.po-quote-attribution {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #4A5568;
  margin-top: 1rem;
}

/* Pull quote — large, centered */
.po-pull-quote {
  text-align: center;
  padding: 2.5rem 1.5rem;
  margin: 2.5rem 0;
  border-top: 1px solid #718096;
  border-bottom: 1px solid #718096;
}
.po-pull-quote-text {
  font-family: "Public Sans", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.35;
  color: #1A202C;
  max-width: 36rem;
  margin: 0 auto;
}

/* Key finding (list item) */
.po-finding {
  display: flex;
  gap: 1rem;
  border-left: 4px solid #3182CE;
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
}
.po-finding-tertiary { border-left-color: #319795; }
.po-finding-gold { border-left-color: #D69E2E; }

/* Key takeaways box */
.po-takeaways {
  background: #EDF2F7;
  border: 1px solid #718096;
  padding: 1.5rem 1.5rem 1.5rem 1.25rem;
  margin: 2rem 0;
}
.po-takeaways ol {
  list-style: decimal;
  padding-left: 1.25rem;
  margin: 0;
}
.po-takeaways li {
  font-family: "EB Garamond", serif;
  font-size: 20px;
  line-height: 1.65;
  color: #4A5568;
  margin-bottom: 0.5rem;
}
.po-takeaways li:last-child { margin-bottom: 0; }

/* Investigation framing (assumption → question → finding) */
.po-investigation {
  background: #fff;
  border: 1px solid #718096;
  border-left: 4px solid #2C5282;
  padding: 1.5rem 1.5rem 1.25rem;
  margin: 2rem 0;
}
.po-investigation__grid {
  margin: 0.75rem 0 0;
  display: grid;
  gap: 0.85rem;
}
.po-investigation__row {
  display: grid;
  grid-template-columns: minmax(6.5rem, 7.5rem) 1fr;
  gap: 0.75rem 1rem;
  align-items: start;
}
.po-investigation__label {
  font-family: "Public Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #4A5568;
  margin: 0;
}
.po-investigation__value {
  font-family: "EB Garamond", serif;
  font-size: 20px;
  line-height: 1.55;
  color: #4A5568;
  margin: 0;
}
@media (max-width: 640px) {
  .po-investigation__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

/* Chart container */
.po-chart {
  background: #fff;
  border: 1px solid #718096;
  padding: 2rem;
  margin: 2rem 0;
}
.po-chart-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.5rem;
  gap: 1rem;
}
.po-chart-title {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #1A202C;
}
.po-chart-subtitle {
  font-size: 16px;
  color: #4A5568;
  margin-top: 0.25rem;
}
.po-chart-source {
  font-family: "Public Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
  color: #718096;
  margin-top: 1rem;
}
.po-chart-note {
  font-family: "EB Garamond", serif;
  font-size: 16px;
  color: #4A5568;
  margin-top: 0.5rem;
  font-style: italic;
}

.po-chart-source.po-profile-benchmark-meta {
  font-size: 10px;
  letter-spacing: 0.03em;
  line-height: 1.45;
  text-transform: none;
  color: #718096;
  margin-top: 0.75rem;
}

/* Chart accessibility — ≥3:1 fill contrast; labels outside fills; segment separators */
.po-chart-bar,
.po-chart-hbar-fill,
.po-chart-diverging-left,
.po-chart-diverging-right,
.po-chart-donut-swatch,
.po-chart [class*="bg-seq-"],
.po-chart [class*="bg-div-"] {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.9);
}

.po-chart-donut-svg circle[stroke] {
  stroke-linecap: butt;
  stroke-width: 22;
  filter: drop-shadow(0 0 0.5px rgba(255, 255, 255, 0.9));
}

/* Bar chart */
.po-chart-bars {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  gap: 1rem;
  height: 14rem;
  border-bottom: 1px solid #718096;
  border-left: 1px solid #718096;
  padding: 0 1rem 0.5rem;
}
.po-chart-bar-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  height: 100%;
  justify-content: flex-end;
}
.po-chart-bar-value {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #1A202C;
  margin-bottom: 0.5rem;
}
.po-chart-bar {
  width: 100%;
  max-width: 64px;
  min-height: 4px;
}
.po-chart-bar-label {
  font-family: "Public Sans", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #4A5568;
  margin-top: 0.75rem;
  text-align: center;
  line-height: 1.2;
}

/* Horizontal bar chart */
.po-chart-hbars { display: flex; flex-direction: column; gap: 1rem; }
.po-chart-hbar-row { display: grid; grid-template-columns: 8rem 1fr 3rem; align-items: center; gap: 0.75rem; }
.po-chart-hbar-track { background: #EDF2F7; height: 1.5rem; position: relative; }
.po-chart-hbar-fill { height: 100%; }

/* Line chart — trend over time */
.po-chart-line-wrap {
  width: 100%;
  --po-chart-line-color: #3596A2; /* seq-2 — default single-series line */
}

.po-chart-line-svg {
  width: 100%;
  height: auto;
  display: block;
  color: var(--po-chart-line-color);
}

.po-chart-line-grid {
  stroke: #EDF2F7;
  stroke-width: 1;
}

.po-chart-line-axis {
  stroke: #718096;
  stroke-width: 1;
}

.po-chart-line-axis-label {
  font-family: "Public Sans", sans-serif;
  font-size: 18px;
  fill: #4A5568;
}

.po-chart-line-area {
  fill: url(#po-line-area-fill);
}

.po-chart-line-stroke {
  fill: none;
  stroke: var(--po-chart-line-color);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.po-chart-line-dot {
  fill: var(--po-chart-line-color);
}

.po-chart-line-point-label {
  font-family: "Public Sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  fill: var(--po-chart-line-color);
}

.po-chart-line-end-label {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  fill: #1A202C;
}

.po-chart-line-value-label {
  font-family: "Public Sans", sans-serif;
  font-size: 11px;
  font-weight: 600;
  fill: #4A5568;
}

.po-chart-line-wrap--labeled {
  min-height: 15rem;
}

.po-chart-line-wrap--labeled .po-chart-line-svg {
  overflow: visible;
}

/* Legacy line placeholder */
.po-chart-line {
  height: 12rem;
  border-bottom: 1px solid #718096;
  border-left: 1px solid #718096;
  position: relative;
  background: linear-gradient(to top, #EDF2F7 0%, transparent 40%);
}
.po-chart-line-path {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80%;
}

/* Diverging bar (ROI premium) — bars grow from center baseline */
.po-chart-diverging { display: flex; flex-direction: column; gap: 1rem; }
.po-chart-diverging-row {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
}
.po-chart-diverging-label {
  font-family: "Public Sans", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #4A5568;
  text-align: right;
  line-height: 1.2;
}
.po-chart-diverging-center {
  height: 1.5rem;
  background: #EDF2F7;
  position: relative;
  min-width: 0;
  overflow: visible;
}
.po-chart-diverging-center::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -2px;
  bottom: -2px;
  width: 2px;
  background: #CBD5E0;
  transform: translateX(-50%);
  z-index: 1;
}
.po-chart-diverging-left,
.po-chart-diverging-right {
  height: 100%;
  position: absolute;
  top: 0;
  max-width: 50%;
}
.po-chart-diverging-left {
  right: calc(50% + 1.85rem);
  max-width: calc(50% - 1.85rem);
  border-radius: 2px 0 0 2px;
}
.po-chart-diverging-right {
  left: calc(50% + 1.85rem);
  max-width: calc(50% - 1.85rem);
  border-radius: 0 2px 2px 0;
}
/* Values sit in the center gutter on the track — never on bar fills */
.po-chart-diverging-value {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #1A202C;
  white-space: nowrap;
  line-height: 1;
  text-align: center;
  padding: 0.15rem 0.45rem;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(113, 128, 150, 0.35);
  z-index: 3;
}
.po-chart-diverging-value-neg,
.po-chart-diverging-value-pos {
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  text-align: center;
}

/* Donut / proportion chart */
.po-chart-donut-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .po-chart-donut-block {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
  }
}

.po-chart-donut-figure {
  position: relative;
  width: 12rem;
  height: 12rem;
  flex-shrink: 0;
}

.po-chart-donut-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.po-chart-donut-hole {
  position: absolute;
  inset: 30%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
  background: #fff;
  border-radius: 50%;
}

.po-chart-donut-center-value {
  font-family: "Public Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.1;
  color: #1A202C;
}

.po-chart-donut-center-label {
  font-family: "Public Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #4A5568;
  margin-top: 0.25rem;
}

.po-chart-donut-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 14rem;
  text-align: left;
}

.po-chart-donut-legend li {
  display: grid;
  grid-template-columns: 0.75rem 1fr 2.75rem 2.75rem;
  align-items: center;
  gap: 0.5rem 0.65rem;
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  color: #4A5568;
}

.po-chart-donut-swatch {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 2px;
  flex-shrink: 0;
}

.po-chart-donut-legend-label {
  line-height: 1.3;
}

.po-chart-donut-legend-pct {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #1A202C;
  text-align: right;
}

.po-chart-donut-legend-count {
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #4A5568;
  text-align: right;
}

/* Legacy single-ring placeholder (prefer po-chart-donut-block) */
.po-chart-donut {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  margin: 0 auto;
  background: conic-gradient(#3596A2 0% 42%, #369A53 42% 68%, #65932E 68% 85%, #AF8022 85% 100%);
  position: relative;
}
.po-chart-donut::after {
  content: "";
  position: absolute;
  inset: 28%;
  background: #fff;
  border-radius: 50%;
}

/* Map placeholder */
.po-chart-map {
  height: 16rem;
  background: #EDF2F7;
  border: 1px solid #718096;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4A5568;
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Methodology accordion */
.po-accordion details { border: 1px solid #718096; background: #fff; margin-bottom: 0.5rem; }
.po-accordion summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #1A202C;
}
.po-accordion summary::-webkit-details-marker { display: none; }
.po-accordion .po-accordion-body { padding: 0 1.5rem 1.25rem; }

/* Article meta strip */
.po-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  font-family: "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #4A5568;
}

.po-article-date {
  font-family: "Public Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #718096;
}

/* Author byline (blog) */
.po-byline {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid #718096;
  border-bottom: 1px solid #718096;
  margin: 1.5rem 0 2rem;
}
.po-byline-avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #1A202C, #3182CE);
  flex-shrink: 0;
}

/* Download data CTA */
.po-download-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: #EDF2F7;
  border: 1px solid #718096;
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
}

/* Table of contents (deep dives) */
.po-toc {
  background: #F7FAFC;
  border: 1px solid #718096;
  padding: 1.5rem;
  margin: 2rem 0;
}
.po-toc ol { list-style: decimal; padding-left: 1.25rem; margin: 0.75rem 0 0; }
.po-toc li { margin-bottom: 0.35rem; }
.po-toc a { color: #3182CE; text-decoration: none; }
.po-toc a:hover { text-decoration: underline; }

/* Sidebar note */
.po-sidebar-note {
  background: #FFFAF0;
  border-left: 4px solid #D69E2E;
  padding: 1rem 1.25rem;
  font-size: 18px;
  line-height: 1.6;
}

/* Chart bar height utilities */
.po-bar-h-48 { height: 48%; }
.po-bar-h-58 { height: 58%; }
.po-bar-h-65 { height: 65%; }
.po-bar-h-72 { height: 72%; }
.po-bar-h-85 { height: 85%; }

/* Chart scroll wrapper (optional — .po-chart also scrolls on mobile) */
.po-chart-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 -0.25rem;
  padding: 0 0.25rem;
}

/* —— Mobile (max-width: 639px) —— */
@media (max-width: 639px) {
  .po-reading,
  .po-reading-wide {
    padding-left: 0;
    padding-right: 0;
  }

  .po-chart {
    padding: 1rem;
    margin: 1.25rem 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .po-chart-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .po-chart-bars {
    min-width: 280px;
    gap: 0.35rem;
    height: 11rem;
    padding: 0 0.5rem 0.5rem;
  }

  .po-chart-bar {
    max-width: 48px;
  }

  .po-chart-bar-value {
    font-size: 16px;
  }

  .po-chart-bar-label {
    font-size: 11px;
    letter-spacing: 0.02em;
  }

  .po-chart-hbar-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .po-chart-hbar-row .font-data-numeral {
    text-align: left;
  }

  .po-chart-diverging-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .po-chart-diverging-label {
    text-align: left;
  }

  .po-chart-map {
    height: 12rem;
    font-size: 18px;
    padding: 1rem;
    text-align: center;
  }

  .po-chart-line-axis-label,
  .po-chart-line-point-label,
  .po-chart-line-value-label {
    font-size: 12px;
  }

  .po-chart-line {
    height: 10rem;
  }

  .po-chart-donut-figure {
    width: 9rem;
    height: 9rem;
  }

  .po-chart-donut {
    width: 8rem;
    height: 8rem;
  }

  .po-data-callout {
    padding: 1rem 0 1rem 1rem;
    margin: 1.5rem 0;
  }

  .po-data-callout-value {
    font-size: 2rem;
  }

  .po-pull-quote {
    padding: 1.5rem 0.5rem;
    margin: 1.5rem 0;
  }

  .po-pull-quote-text {
    font-size: 1.15rem;
  }

  .po-quote-text {
    font-size: 1.1rem;
  }

  .po-callout-box {
    padding: 1rem;
    margin: 1.25rem 0;
  }

  .po-takeaways {
    padding: 1rem;
  }

  .po-takeaways li {
    font-size: 18px;
  }

  .po-download-cta {
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
  }

  .po-download-cta a,
  .po-download-cta button {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .po-accordion summary {
    padding: 1rem;
    min-height: 48px;
    font-size: 16px;
    gap: 0.5rem;
  }

  .po-accordion .po-accordion-body {
    padding: 0 1rem 1rem;
  }

  .po-article-meta {
    gap: 0.5rem 1rem;
    font-size: 18px;
  }

  .po-byline {
    flex-wrap: wrap;
  }

  .po-toc {
    padding: 1rem;
  }

  .po-sidebar-note {
    padding: 0.875rem 1rem;
    font-size: 16px;
  }

  .po-finding {
    padding-left: 1rem;
  }
}

/* Utah hub — start-here constraint router */
.po-start-here-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .po-start-here-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .po-start-here-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.po-start-here-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.25rem;
  background: var(--color-surface-container-lowest, #fff);
  border: 1px solid var(--color-outline-variant, #E2E8F0);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.po-start-here-card:hover {
  border-color: rgba(49, 130, 206, 0.4);
  box-shadow: 0 2px 8px rgba(26, 32, 44, 0.06);
}
.po-start-here-card__metric {
  font-family: "Public Sans", sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #1A202C;
  line-height: 1.1;
}
.po-start-here-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: auto;
  padding-top: 0.5rem;
}
.po-audience-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.po-audience-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 1rem;
  font-family: "Public Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #2D3748;
  background: #EDF2F7;
  border: 1px solid #E2E8F0;
  transition: background 0.15s ease, color 0.15s ease;
}
.po-audience-chip:hover {
  background: #E2E8F0;
  color: #3182CE;
}
.po-audience-chip .material-symbols-outlined {
  font-size: 16px;
}

/* Printable one-pagers */
.po-one-pager__main {
  padding-bottom: 3rem;
}
.po-one-pager__sheet {
  background: #fff;
  border: 1px solid #E2E8F0;
  padding: 2rem;
}
@media print {
  .po-no-print,
  header,
  footer,
  .po-header-cta {
    display: none !important;
  }
  .po-one-pager__main {
    padding-top: 0 !important;
  }
  .po-one-pager__sheet {
    border: none;
    padding: 0;
    max-width: none;
  }
  body.po-one-pager {
    background: #fff;
  }
}

/* Compare schools picker */
.po-compare-picker select {
  min-height: 44px;
}

.po-compare-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  align-items: center;
}

.po-compare-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.po-compare-legend-swatch {
  display: inline-block;
  width: 0.85rem;
  height: 0.85rem;
  border: 1px solid rgba(26, 32, 44, 0.15);
  flex-shrink: 0;
}

.po-compare-charts .po-chart {
  margin: 0;
  height: 100%;
}

.po-compare-ref-bar {
  opacity: 0.72;
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 3px,
    rgba(255, 255, 255, 0.35) 3px,
    rgba(255, 255, 255, 0.35) 6px
  );
}

/* Three-school compare — denser charts and table headers */
.po-compare-charts--three .po-chart-bars {
  gap: 0.5rem;
  padding: 0 0.35rem 0.5rem;
}
.po-compare-charts--three .po-chart-bar {
  max-width: 44px;
}
.po-compare-charts--three .po-chart-bar-label {
  font-size: 10px;
  letter-spacing: 0.04em;
  line-height: 1.25;
  max-width: 4.5rem;
  text-align: center;
  word-break: break-word;
}
.po-compare-charts--three .po-chart-bar-value {
  font-size: 14px;
}
.po-compare-school-th {
  font-family: "Public Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  vertical-align: bottom;
  max-width: 12rem;
}
#compare-table.po-compare-table--three .po-compare-school-th {
  font-size: 13px;
  max-width: 10rem;
}

.po-fields-view-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.po-fields-view {
  border: 1px solid var(--po-outline-variant, rgba(26, 32, 44, 0.15));
  background: var(--po-surface-container-lowest, #fff);
  color: var(--po-on-surface-variant, #4a5568);
  font-size: 0.8125rem;
  line-height: 1.25;
  padding: 0.45rem 0.75rem;
  cursor: pointer;
}

.po-fields-view--active {
  border-color: var(--po-secondary, #2f6f8f);
  color: var(--po-secondary, #2f6f8f);
  font-weight: 600;
}

.po-fields-sort {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.po-fields-sort--active {
  color: var(--po-secondary, #2f6f8f);
  font-weight: 600;
}

.po-fields-search {
  width: 100%;
  max-width: 20rem;
  border: 1px solid var(--po-outline-variant, rgba(26, 32, 44, 0.15));
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  background: #fff;
}

/* Compare pathways — lens sections, jump nav, pay sparklines */
.po-lens-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  padding: 0.75rem 0;
  border-top: 1px solid var(--po-outline-variant, rgba(26, 32, 44, 0.12));
  border-bottom: 1px solid var(--po-outline-variant, rgba(26, 32, 44, 0.12));
}

.po-lens-jump__link {
  font-size: 0.8125rem;
  color: var(--po-secondary, #2f6f8f);
  text-decoration: underline;
}

.po-lens-section {
  border: 1px solid var(--po-outline-variant, rgba(26, 32, 44, 0.12));
  margin-bottom: 0.75rem;
  background: var(--po-surface-container-lowest, #fff);
}

.po-lens-section--nested {
  border: none;
  margin-bottom: 0.5rem;
  background: transparent;
}

.po-lens-section__summary {
  cursor: pointer;
  font-weight: 600;
  padding: 0.85rem 1rem;
  list-style: none;
}

.po-lens-section__summary::-webkit-details-marker {
  display: none;
}

.po-lens-section__summary::before {
  content: "▸ ";
  color: var(--po-secondary, #2f6f8f);
}

.po-lens-section[open] > .po-lens-section__summary::before {
  content: "▾ ";
}

.po-lens-section__body {
  padding: 0 1rem 1rem;
}

.po-lens-section--nested .po-lens-section__body {
  padding: 0.5rem 0 0 0.75rem;
}

.po-print-lens {
  border: 1px solid var(--po-outline-variant, rgba(26, 32, 44, 0.15));
  background: #fff;
  color: var(--po-on-surface-variant, #4a5568);
  font-size: 0.75rem;
  padding: 0.4rem 0.75rem;
  cursor: pointer;
}

.po-pay-spark {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 4rem;
}

.po-pay-spark__bar {
  display: block;
  height: 6px;
  border-radius: 1px;
}

.po-pay-spark__bar--early {
  background: var(--po-tertiary-container, #d4e4dc);
}

.po-pay-spark__bar--mid {
  background: var(--po-secondary, #4a6359);
}

@media print {
  header,
  footer,
  #sector-lens-chooser,
  #sector-lens-current,
  .po-print-lens,
  #sector-view-bar,
  #sector-search,
  #sector-count,
  #sector-lens-explainer,
  #sector-table,
  #sector-group-detail,
  #sector-field-caveat,
  .po-callout-box:first-of-type {
    display: none !important;
  }

  .po-lens-panel[hidden] {
    display: none !important;
  }

  .po-lens-panel:not([hidden]) {
    display: block !important;
  }

  .po-lens-section {
    break-inside: avoid;
  }

  .po-lens-section[open] .po-lens-section__body,
  .po-lens-section .po-lens-section__body {
    display: block !important;
  }
}


/* --- mobile.css --- */
/* Pathways & Outcomes — mobile-first overrides */

/* Mobile nav drawer + backdrop (mobile-nav.js) */
.po-nav-backdrop {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.po-nav-backdrop--visible {
  opacity: 1;
  pointer-events: auto;
}

body.po-nav-open {
  overflow: hidden;
}

@media (max-width: 639px) {
  /* Prevent horizontal page scroll */
  html, body { overflow-x: hidden; max-width: 100vw; }

  /* Responsive type scale */
  .text-display-lg,
  .font-display-lg.text-display-lg {
    font-size: 2rem !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em;
  }

  .text-headline-lg,
  .font-headline-lg.text-headline-lg {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
  }

  /* Compact site header */
  header .font-headline-lg.text-headline-lg {
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }

  .po-header-cta {
    padding: 0.5rem 0.75rem !important;
    font-size: 13px !important;
    white-space: nowrap;
  }

  /* Touch-friendly menu icon */
  header .material-symbols-outlined.cursor-pointer {
    padding: 0.5rem;
    margin: -0.5rem;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Hero / primary CTAs full width */
  .po-hero-ctas {
    flex-direction: column;
    width: 100%;
    max-width: 20rem;
  }

  .po-hero-ctas a {
    width: 100%;
    text-align: center;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Horizontally scrollable tab bars */
  .po-tabs-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: 1.25rem !important;
    padding-left: 0;
    padding-right: 0;
  }

  .po-tabs-scroll::-webkit-scrollbar { display: none; }

  .po-tabs-scroll .type-tab,
  .po-tabs-scroll button[type="button"] {
    min-height: 44px;
    flex-shrink: 0;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  /* Filter sidebar: touch targets */
  aside label.flex.items-center {
    min-height: 44px;
    padding: 0.25rem 0;
  }

  aside input[type="checkbox"],
  aside input[type="radio"] {
    width: 1.25rem;
    height: 1.25rem;
  }

  aside button,
  aside .bg-primary {
    min-height: 44px;
  }

  /* Publication list cards: consistent padding on small screens */
  .publication-card .flex-1,
  article.group.flex .flex-1 {
    padding: 1.25rem !important;
  }

  .publication-card h3 a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.15rem 0;
  }

  /* Newsletter / forms */
  form.flex-col input,
  form.flex-col button,
  #newsletter input,
  #newsletter button {
    min-height: 48px;
    width: 100%;
  }

  #newsletter button[type="submit"] {
    min-width: 44px;
    min-height: 48px;
  }

  /* Brand board: horizontal section nav on mobile */
  .bb-nav-mobile {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #CBD5E0;
  }

  .bb-nav-mobile::-webkit-scrollbar { display: none; }

  .bb-nav-mobile a {
    flex-shrink: 0;
    white-space: nowrap;
    padding: 0.5rem 0.75rem;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    background: #F7FAFC;
    border: 1px solid #CBD5E0;
    font-size: 13px !important;
  }

  .bb-nav-desktop { display: none; }

  /* Code blocks */
  pre, code {
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  pre {
    max-width: 100%;
    padding: 0.75rem !important;
  }

  /* Trust / donate rows */
  .po-stack-mobile {
    flex-direction: column !important;
    text-align: center;
  }

  .po-stack-mobile a,
  .po-stack-mobile button {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Featured insight stat */
  .po-feature-stat {
    font-size: 2.75rem !important;
  }

  /* Topic chips: comfortable tap targets */
  .po-topic-chips a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
  }

  /* Audience cards: full-width tap on narrow screens */
  .grid.grid-cols-1.md\:grid-cols-3 > a {
    min-height: 44px;
  }

  /* Search inputs */
  input[type="search"],
  input[type="email"],
  select {
    font-size: 16px; /* prevents iOS zoom on focus */
  }

  /* Breadcrumbs wrap */
  nav.flex.items-center.gap-2,
  .po-breadcrumb {
    flex-wrap: wrap;
    row-gap: 0.25rem;
  }

  /* Utah bureau hero — tighter display type on small phones */
  .utah-hero__content h1.font-display-lg {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
  }

  /* Series prev/next navigation on publication pages */
  .po-series-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .po-series-nav-link,
  .po-series-nav-link--next {
    max-width: none;
    width: 100%;
    min-height: 48px;
    padding: 0.75rem 0;
    justify-content: flex-start;
    text-align: left;
  }

  .po-series-nav-link--next {
    margin-left: 0;
    justify-content: flex-start;
  }

  .po-series-nav-hub {
    order: -1;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  /* Publication badges wrap cleanly */
  .flex.flex-wrap.gap-2.mb-4 .po-badge {
    max-width: 100%;
  }

  /* Footer links — comfortable tap targets */
  footer nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0;
  }

  /* Data tables scroll horizontally instead of breaking layout */
  .po-data-table-wrap,
  .overflow-x-auto {
    -webkit-overflow-scrolling: touch;
  }

  table.po-data-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }

  /* Inline CTAs and secondary actions */
  .po-content a.font-label-caps,
  .po-content button.font-label-caps {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  /* Safe-area padding for notched devices */
  header.fixed {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }

  footer {
    padding-bottom: max(5rem, calc(5rem + env(safe-area-inset-bottom, 0px)));
  }

  /* Responsive media */
  .po-content img,
  .po-content video,
  .po-content svg:not(.material-symbols-outlined) {
    max-width: 100%;
    height: auto;
  }
}

@media (min-width: 640px) {
  .bb-nav-mobile { display: none; }
}

/* --- research-hero.css --- */
/* Page hero — unified two-column layout (copy left, illustration right) */

.po-research-hero {
  background: #F7FAFC;
  border-bottom: 1px solid #E2E8F0;
  padding: 1.75rem 0 2.25rem;
}

.po-research-hero__grid {
  display: grid;
  gap: 1.75rem;
  align-items: center;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.po-research-hero__content {
  min-width: 0;
}

.po-research-hero__figure {
  margin: 0;
  background: #fff;
  border: 1px solid #E2E8F0;
  padding: 0.625rem;
  border-radius: 2px;
  justify-self: center;
  width: min(100%, 18rem);
}

.po-research-hero__img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 14rem;
  object-fit: contain;
  object-position: center center;
}

.po-research-hero .po-breadcrumb {
  margin-bottom: 0;
}

.po-research-hero--home .po-research-hero__eyebrow,
.po-research-hero--home .po-research-hero__eyebrow.text-tertiary {
  color: #2C7A7B !important; /* beat generic .text-tertiary overrides */
}

.po-research-hero--home .po-research-hero__tagline {
  color: #2C7A7B !important;
}

.po-research-hero__eyebrow {
  display: block;
  margin-top: 1rem;
  margin-bottom: 0.75rem;
  font-family: "Public Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.po-research-hero__tagline {
  display: block;
  margin-bottom: 1rem;
  font-family: "Public Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #2C7A7B;
}

.po-research-hero h1 {
  margin-bottom: 1rem;
}

.po-research-hero .font-body-lg {
  margin-bottom: 1.25rem;
}

.po-research-hero .po-article-meta {
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-bottom: 0;
}

.po-research-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.po-research-hero-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  font-family: "Public Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity 0.15s;
}

.po-research-hero-actions .po-cta-primary {
  background: #1A202C;
  color: #fff;
}

.po-research-hero-actions .po-cta-secondary {
  background: transparent;
  color: #1A202C;
  border: 1px solid #CBD5E0;
}

.po-research-hero-actions a:hover {
  opacity: 0.88;
}

/* Text-only heroes — single column, reading width */
.po-research-hero--no-media .po-research-hero__grid,
.po-research-hero--no-media > .po-research-hero__content {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.po-research-hero--no-media .po-research-hero__grid {
  grid-template-columns: 1fr;
}

/* Per-image focal tweaks */
.po-research-hero--chain .po-research-hero__img {
  object-position: 72% center;
}

.po-research-hero--mobility .po-research-hero__img {
  object-position: 55% 35%;
}

.po-research-hero--technical .po-research-hero__img {
  object-position: 50% 40%;
}

.po-research-hero--hub .po-research-hero__figure {
  width: min(100%, 20rem);
}

.po-research-hero--hub .po-research-hero__img {
  max-height: 13rem;
  object-position: center bottom;
}

.po-research-hero--home .po-research-hero__img,
.po-research-hero--utah .po-research-hero__img {
  max-height: 15rem;
  object-position: center center;
}

.po-research-hero--default .po-research-hero__img {
  object-position: center center;
}

@media (min-width: 768px) {
  .po-research-hero {
    padding: 2.5rem 0 3rem;
  }

  .po-research-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 2.5rem 3rem;
  }

  .po-research-hero--no-media .po-research-hero__grid {
    grid-template-columns: 1fr;
  }

  .po-research-hero__figure {
    justify-self: end;
    width: 100%;
    max-width: 300px;
  }

  .po-research-hero__img {
    max-height: 18rem;
  }

  .po-research-hero--chain .po-research-hero__img {
    max-height: 12.5rem;
  }

  .po-research-hero--hub .po-research-hero__figure {
    max-width: 320px;
  }

  .po-research-hero--hub .po-research-hero__img {
    max-height: 15rem;
  }

  .po-research-hero--home .po-research-hero__figure,
  .po-research-hero--utah .po-research-hero__figure {
    max-width: 300px;
  }

  .po-research-hero--home .po-research-hero__img,
  .po-research-hero--utah .po-research-hero__img {
    max-height: 16rem;
  }
}

@media (max-width: 767px) {
  .po-research-hero__figure {
    width: min(100%, 14rem);
    margin-top: 0.25rem;
  }

  .po-research-hero-actions {
    flex-direction: column;
  }

  .po-research-hero-actions a {
    width: 100%;
  }
}

/* --- po-wp-import.css --- */
/**
 * WordPress wrappers for HTML imported from the static site (Tailwind sections).
 */

/* Let full-width section backgrounds span the viewport */
.po-static-import {
  width: 100%;
  max-width: none;
}

.po-static-import .po-content,
.po-static-import .po-content-wide {
  max-width: var(--po-content-max, 720px);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.po-static-import .po-content-wide {
  max-width: var(--po-shell-max, 1280px);
}

/* Undo Picostrap/Bootstrap prose constraints on imported pages */
.po-static-import.entry-content,
.po-has-static-import .po-static-import.entry-content {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Bootstrap utility classes collide with Tailwind tokens — restore brand palette */
.po-has-static-import .po-static-import .text-primary {
  color: #1a202c !important;
}

.po-has-static-import .po-static-import .bg-primary {
  background-color: #1a202c !important;
}

.po-has-static-import .po-static-import .border-primary {
  border-color: #1a202c !important;
}

.po-has-static-import .po-static-import .text-secondary {
  color: #2b6cb0 !important; /* AA ≥4.5 on white / muted */
}

.po-has-static-import .po-static-import .text-tertiary {
  color: #246a6b !important; /* AA ≥4.5 on white / muted surfaces */
}

.po-has-static-import .po-static-import .text-status-brief {
  color: #2b6cb0 !important;
}

.po-has-static-import .po-static-import .text-on-primary {
  color: #ffffff !important;
}

.po-has-static-import .po-static-import .text-on-primary-container {
  color: #f7fafc !important;
}

/* Light blue fails AA on dark navy — use brighter link tone on featured bands */
.po-has-static-import .po-static-import .text-secondary-container {
  color: #90cdf4 !important;
}

.po-has-static-import .po-static-import section.bg-primary .text-secondary-container,
.po-has-static-import .po-static-import section.bg-primary a.text-secondary-container {
  color: #bee3f8 !important; /* ≥7:1 on #1A202C */
}

.po-has-static-import .po-static-import section.bg-primary .text-tertiary,
.po-has-static-import .po-static-import section.bg-primary .text-secondary {
  color: #bee3f8 !important;
}

.po-has-static-import .po-static-import .text-on-surface-variant {
  color: #4a5568 !important;
}

/* Imported tables and callouts */
.po-static-import .po-data-table {
  width: 100%;
  border-collapse: collapse;
}

.po-static-import .po-data-table th,
.po-static-import .po-data-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: top;
}

.po-static-import .po-data-table thead th {
  font-family: "Public Sans", sans-serif;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #4a5568 !important;
  background: #f7fafc;
}

.po-has-static-import .po-static-import .po-data-table td {
  font-family: "EB Garamond", serif !important;
  font-size: 20px !important;
  line-height: 1.65 !important;
  color: #1a202c !important;
}

.po-has-static-import .po-static-import .po-data-table td.font-data-numeral {
  font-family: "Public Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

/* Publication body: match static site top spacing under header */
.single-po_publication .po-static-import {
  padding-top: 0;
}

/**
 * Research hero inside imported publications — Bootstrap/Picostrap reboot fights
 * <header>, h1, and Tailwind token utilities unless overridden here.
 */
.po-has-static-import .po-static-import header.po-research-hero {
  display: block !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  z-index: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: #f7fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding-top: 1.75rem !important;
  padding-bottom: 2.25rem !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

@media (min-width: 768px) {
  .po-has-static-import .po-static-import header.po-research-hero {
    padding-top: 2.5rem !important;
    padding-bottom: 3rem !important;
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
}

.po-has-static-import .po-static-import .po-research-hero__grid {
  display: grid !important;
  gap: 1.75rem !important;
  align-items: center !important;
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

.po-has-static-import .po-static-import .po-research-hero--no-media .po-research-hero__grid,
.po-has-static-import .po-static-import .po-research-hero--no-media > .po-research-hero__content {
  max-width: 720px !important;
  grid-template-columns: 1fr !important;
}

.po-has-static-import .po-static-import .po-research-hero__content {
  min-width: 0 !important;
}

.po-has-static-import .po-static-import .po-research-hero__eyebrow {
  display: block !important;
  margin-top: 1rem !important;
  margin-bottom: 0.75rem !important;
  font-family: "Public Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.po-has-static-import .po-static-import .po-research-hero h1,
.po-has-static-import .po-static-import .po-research-hero h1.font-display-lg {
  font-family: "Public Sans", sans-serif !important;
  font-size: 48px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
  color: #1a202c !important;
  margin: 0 0 1rem !important;
}

.po-has-static-import .po-static-import .po-research-hero .font-body-lg,
.po-has-static-import .po-static-import .po-research-hero p.font-body-lg {
  font-family: "EB Garamond", serif !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  color: #4a5568 !important;
  margin: 0 0 1.25rem !important;
}

@media (max-width: 767px) {
  .po-has-static-import .po-static-import .po-research-hero h1,
  .po-has-static-import .po-static-import .po-research-hero h1.font-display-lg {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
  }
}

@media (min-width: 768px) {
  .po-has-static-import .po-static-import .po-research-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px) !important;
    gap: 2.5rem 3rem !important;
  }

  .po-has-static-import .po-static-import .po-research-hero--no-media .po-research-hero__grid {
    grid-template-columns: 1fr !important;
  }
}

.po-has-static-import .po-static-import .po-research-hero__figure {
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  padding: 0.625rem !important;
  border-radius: 2px !important;
}

/* Core flex — ensure Tailwind layout utilities win in imported body */
.po-has-static-import .po-static-import .flex {
  display: flex !important;
}

.po-has-static-import .po-static-import .inline-flex {
  display: inline-flex !important;
}

.po-has-static-import .po-static-import .flex-col {
  flex-direction: column !important;
}

@media (min-width: 640px) {
  .po-has-static-import .po-static-import .flex.flex-col[class*="sm:flex-row"],
  .po-has-static-import .po-static-import article.publication-card[class*="sm:flex-row"] {
    flex-direction: row !important;
  }
}

@media (min-width: 768px) {
  .po-has-static-import .po-static-import .flex.flex-col[class*="md:flex-row"] {
    flex-direction: row !important;
  }
}

.po-has-static-import .po-static-import .flex-wrap {
  flex-wrap: wrap !important;
}

.po-has-static-import .po-static-import .items-center {
  align-items: center !important;
}

.po-has-static-import .po-static-import .justify-between {
  justify-content: space-between !important;
}

.po-has-static-import .po-static-import .gap-2 {
  gap: 0.5rem !important;
}

.po-has-static-import .po-static-import .gap-3 {
  gap: 0.75rem !important;
}

.po-has-static-import .po-static-import .gap-4 {
  gap: 1rem !important;
}

.po-has-static-import .po-static-import .gap-6 {
  gap: 1.5rem !important;
}

.po-has-static-import .po-static-import .gap-8 {
  gap: 2rem !important;
}

/**
 * Bootstrap 5 .grid is a 12-column CSS grid; Tailwind .grid uses grid-cols-*.
 * Without this override, three cards land in three 1/12 columns (broken layout).
 */
.po-static-import .grid,
.po-has-static-import .po-static-import .grid {
  display: grid !important;
  grid-template-rows: none !important;
  --bs-columns: 1 !important;
  --bs-rows: unset !important;
  --bs-gap: unset !important;
}

.po-static-import .grid[class*="grid-cols"] > *,
.po-has-static-import .po-static-import .grid[class*="grid-cols"] > * {
  min-width: 0;
  width: auto !important;
  max-width: none !important;
}

/* wpautop sometimes wraps grid children in <p> — keep them in the grid */
.po-static-import .grid[class*="grid-cols"] > p,
.po-has-static-import .po-static-import .grid[class*="grid-cols"] > p {
  display: contents;
  margin: 0;
}

.po-static-import .grid-cols-1:not([class*="sm:grid-cols"]):not([class*="md:grid-cols"]):not([class*="lg:grid-cols"]),
.po-has-static-import .po-static-import .grid-cols-1:not([class*="sm:grid-cols"]):not([class*="md:grid-cols"]):not([class*="lg:grid-cols"]) {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.po-static-import .grid-cols-2,
.po-has-static-import .po-static-import .grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.po-static-import .grid-cols-4,
.po-has-static-import .po-static-import .grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.po-static-import .grid-cols-8,
.po-has-static-import .po-static-import .grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

@media (min-width: 640px) {
  .po-static-import .grid[class*="sm:grid-cols-2"],
  .po-has-static-import .po-static-import .grid[class*="sm:grid-cols-2"],
  .po-static-import .sm\:grid-cols-2,
  .po-has-static-import .po-static-import .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .po-static-import .sm\:flex-row,
  .po-has-static-import .po-static-import .sm\:flex-row,
  .po-has-static-import .po-static-import [class*="sm:flex-row"] {
    flex-direction: row !important;
  }

  .po-static-import .sm\:justify-between,
  .po-has-static-import .po-static-import .sm\:justify-between {
    justify-content: space-between !important;
  }

  .po-static-import .sm\:items-end,
  .po-has-static-import .po-static-import .sm\:items-end {
    align-items: flex-end !important;
  }

  .po-static-import .sm\:items-center,
  .po-has-static-import .po-static-import .sm\:items-center {
    align-items: center !important;
  }

  .po-static-import .sm\:text-left,
  .po-has-static-import .po-static-import .sm\:text-left {
    text-align: left !important;
  }

  .po-static-import .sm\:w-44,
  .po-has-static-import .po-static-import .sm\:w-44 {
    width: 11rem !important;
  }
}

@media (min-width: 768px) {
  .po-static-import .grid[class*="md:grid-cols-2"],
  .po-has-static-import .po-static-import .grid[class*="md:grid-cols-2"],
  .po-static-import .md\:grid-cols-2,
  .po-has-static-import .po-static-import .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .po-static-import .grid[class*="md:grid-cols-3"],
  .po-has-static-import .po-static-import .grid.grid-cols-1[class*="md:grid-cols-3"],
  .po-static-import .md\:grid-cols-3,
  .po-has-static-import .po-static-import .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .po-static-import .grid[class*="md:grid-cols-4"],
  .po-has-static-import .po-static-import .grid[class*="md:grid-cols-4"],
  .po-static-import .md\:grid-cols-4,
  .po-has-static-import .po-static-import .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .po-static-import .md\:flex-row,
  .po-has-static-import .po-static-import .md\:flex-row,
  .po-has-static-import .po-static-import [class*="md:flex-row"] {
    flex-direction: row !important;
  }

  .po-static-import .md\:w-2\/5,
  .po-has-static-import .po-static-import .md\:w-2\/5,
  .po-has-static-import .po-static-import [class*="md:w-2/5"] {
    width: 40% !important;
  }

  .po-static-import .md\:w-3\/5,
  .po-has-static-import .po-static-import .md\:w-3\/5,
  .po-has-static-import .po-static-import [class*="md:w-3/5"] {
    width: 60% !important;
  }

  .po-static-import .md\:items-center,
  .po-has-static-import .po-static-import .md\:items-center,
  .po-has-static-import .po-static-import [class*="md:items-center"] {
    align-items: center !important;
  }

  .po-static-import .md\:items-end,
  .po-has-static-import .po-static-import .md\:items-end {
    align-items: flex-end !important;
  }

  .po-static-import .md\:justify-between,
  .po-has-static-import .po-static-import .md\:justify-between {
    justify-content: space-between !important;
  }

  .po-static-import .md\:text-left,
  .po-has-static-import .po-static-import .md\:text-left,
  .po-has-static-import .po-static-import [class*="md:text-left"] {
    text-align: left !important;
  }

  .po-static-import .md\:w-52,
  .po-has-static-import .po-static-import .md\:w-52 {
    width: 13rem !important;
  }

  .po-static-import .md\:gap-16,
  .po-has-static-import .po-static-import .md\:gap-16 {
    gap: 4rem !important;
  }
}

@media (min-width: 1024px) {
  .po-static-import .lg\:grid-cols-3,
  .po-has-static-import .po-static-import .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Homepage audience cards — "Start here" */
.po-static-import .grid[class*="grid-cols"] > a,
.po-static-import .grid[class*="grid-cols"] > p > a,
.po-has-static-import .po-static-import .grid.md\:grid-cols-3 > a,
.po-has-static-import .po-static-import .grid.md\:grid-cols-3 > p > a {
  display: block !important;
  width: 100% !important;
  text-decoration: none;
  color: inherit;
}

/* Fixed WP navbar — #theme-main already has padding-top via po-layout; avoid doubling */
.single-po_publication .po-static-import {
  padding-top: 0;
}

/* Surface / background tokens vs Bootstrap .bg-light, .bg-white */
.po-has-static-import .po-static-import .bg-surface {
  background-color: #edf2f7 !important;
}

.po-has-static-import .po-static-import .bg-surface-container-lowest {
  background-color: #ffffff !important;
}

.po-has-static-import .po-static-import .bg-surface-container-low {
  background-color: #f7fafc !important;
}

.po-has-static-import .po-static-import .bg-surface-container-high {
  background-color: #edf2f7 !important;
}

.po-has-static-import .po-static-import .bg-primary-container {
  background-color: #1a202c !important;
}

.po-has-static-import .po-static-import .bg-status-report {
  background-color: #1a202c !important;
}

.po-has-static-import .po-static-import .bg-status-brief {
  background-color: #319795 !important;
}

.po-has-static-import .po-static-import .border-outline-variant {
  border-color: #718096 !important; /* ≥3:1 vs white — WCAG 1.4.11 */
}

.po-has-static-import .po-static-import section.bg-primary a.inline-flex,
.po-has-static-import .po-static-import section.bg-primary a.text-secondary-container,
.po-has-static-import .po-static-import section.bg-primary .text-secondary-container,
.po-has-static-import .po-static-import section.bg-primary a.text-on-primary {
  color: #ffffff !important; /* AA on navy — prefer white over pale blue */
}

.po-has-static-import .po-static-import .text-outline {
  color: #4a5568 !important; /* was #a0aec0 — failed contrast on white */
}

.po-has-static-import .po-static-import .text-data-highlight {
  color: #246a6b !important;
}

/* Featured insight band — dark section typography */
.po-has-static-import .po-static-import section.bg-primary .text-on-primary-container,
.po-has-static-import .po-static-import section.bg-primary-container .text-on-primary-container {
  color: #f7fafc !important;
}

.po-has-static-import .po-static-import section.bg-primary strong,
.po-has-static-import .po-static-import section.bg-primary .text-on-primary strong {
  color: #ffffff !important;
}

.po-has-static-import .po-static-import section.bg-primary .po-feature-stat {
  color: #ffffff !important;
}

/* Publication cards — horizontal layout with thumbnail */
.po-has-static-import .po-static-import article.publication-card {
  display: flex !important;
}

@media (min-width: 640px) {
  .po-has-static-import .po-static-import article.publication-card {
    flex-direction: row !important;
  }

  .po-has-static-import .po-static-import article.publication-card > a.shrink-0,
  .po-has-static-import .po-static-import article.publication-card > a[class*="sm:w-44"] {
    width: 11rem !important;
    flex-shrink: 0 !important;
  }

  .po-has-static-import .po-static-import article.publication-card .po-thumb {
    width: 100% !important;
    height: 100% !important;
    min-height: 8.75rem !important;
    object-fit: cover !important;
  }
}

@media (min-width: 768px) {
  .po-has-static-import .po-static-import article.publication-card > a[class*="md:w-52"] {
    width: 13rem !important;
  }
}

/* Bootstrap .border sets color; keep Tailwind border width */
.po-has-static-import .po-static-import .border {
  border-style: solid;
  border-width: 1px;
}

.po-has-static-import .po-static-import .border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-style: solid;
}

.po-has-static-import .po-static-import .border-b {
  border-bottom-width: 1px;
  border-style: solid;
}

/* Flex layout — Bootstrap uses .d-flex; Tailwind .flex must stay flex */
.po-has-static-import .po-static-import .flex {
  display: flex !important;
}

.po-has-static-import .po-static-import .inline-flex {
  display: inline-flex !important;
}

.po-has-static-import .po-static-import .flex-wrap {
  flex-wrap: wrap !important;
}

.po-has-static-import .po-static-import .flex-col {
  flex-direction: column !important;
}

.po-has-static-import .po-static-import .items-center {
  align-items: center !important;
}

.po-has-static-import .po-static-import .items-end {
  align-items: flex-end !important;
}

.po-has-static-import .po-static-import .justify-between {
  justify-content: space-between !important;
}

.po-has-static-import .po-static-import .justify-center {
  justify-content: center !important;
}

.po-has-static-import .po-static-import .gap-2 {
  gap: 0.5rem !important;
}

.po-has-static-import .po-static-import .gap-6 {
  gap: 1.5rem !important;
}

.po-has-static-import .po-static-import .gap-4 {
  gap: 1rem !important;
}

.po-has-static-import .po-static-import .gap-10 {
  gap: 2.5rem !important;
}

.po-has-static-import .po-static-import .items-start {
  align-items: flex-start !important;
}

.po-has-static-import .po-static-import .shrink-0 {
  flex-shrink: 0 !important;
}

.po-has-static-import .po-static-import .flex-1,
.po-has-static-import .po-static-import .flex-grow {
  flex: 1 1 0% !important;
}

.po-has-static-import .po-static-import .text-center {
  text-align: center !important;
}

.po-has-static-import .po-static-import .space-y-6 > * + * {
  margin-top: 1.5rem !important;
}

.po-has-static-import .po-static-import .bg-surface-muted {
  background-color: #e2e8f0 !important;
}

/* Hero thumbnails */
.po-has-static-import .po-static-import .po-thumb,
.po-has-static-import .po-static-import img.po-research-hero__img {
  object-fit: cover;
}

.po-has-static-import .po-static-import .relative {
  position: relative !important;
}

.po-has-static-import .po-static-import .absolute {
  position: absolute !important;
}

.po-has-static-import .po-static-import .overflow-hidden {
  overflow: hidden !important;
}

.po-has-static-import .po-static-import .overflow-x-auto {
  overflow-x: auto !important;
}

.po-has-static-import .po-static-import .w-full {
  width: 100% !important;
}

.po-has-static-import .po-static-import .h-full {
  height: 100% !important;
}

.po-has-static-import .po-static-import .h-40 {
  height: 10rem !important;
}

.po-has-static-import .po-static-import .hidden {
  display: none !important;
}

@media (min-width: 768px) {
  .po-has-static-import .po-static-import .md\:flex {
    display: flex !important;
  }

  .po-has-static-import .po-static-import .md\:hidden {
    display: none !important;
  }
}

/* Research hub filter script */
.po-has-static-import .po-static-import .publication-card[hidden] {
  display: none !important;
}

.po-has-static-import .po-static-import .tab-active {
  color: #1a202c !important;
  border-bottom: 2px solid #319795 !important;
  font-weight: 700 !important;
}

/* Site chrome — Bootstrap utility collisions with Tailwind tokens */
.po-site-chrome header .text-primary,
.po-site-chrome footer .text-primary {
  color: #1a202c !important;
}

.po-site-chrome header .bg-primary,
.po-site-chrome header .po-header-cta.bg-primary {
  background-color: #1a202c !important;
}

.po-site-chrome header .text-on-primary,
.po-site-chrome header .po-header-cta.text-on-primary {
  color: #ffffff !important;
}

.po-site-chrome header .text-secondary,
.po-site-chrome footer .text-secondary {
  color: #2b6cb0 !important; /* AA ≥4.5 on white */
}

.po-site-chrome header .text-on-surface-variant,
.po-site-chrome footer .text-on-surface-variant {
  color: #4a5568 !important;
}

.po-site-chrome header .border-secondary {
  border-color: #3182ce !important;
}

.po-site-chrome header .bg-surface-container-lowest {
  background-color: #ffffff !important;
}

.po-site-chrome footer .bg-surface-container-highest {
  background-color: #f7fafc !important;
}

.po-site-chrome header .border-outline-variant,
.po-site-chrome footer .border-outline-variant {
  border-color: #e2e8f0 !important;
}

.po-site-chrome header .hidden {
  display: none !important;
}

@media (min-width: 768px) {
  .po-site-chrome header .md\:flex {
    display: flex !important;
  }

  .po-site-chrome header .md\:hidden {
    display: none !important;
  }
}

.po-site-chrome .skip-link.visually-hidden-focusable:focus {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 100;
  padding: 0.5rem 1rem;
  background: #1a202c;
  color: #fff;
  clip: auto;
  width: auto;
  height: auto;
}

/* Ballot filter selects — Bootstrap native chevron overlaps label text */
.po-ballot-select,
select.po-ballot-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 44px !important;
  padding: 0.5rem 2.25rem 0.5rem 0.75rem !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234A5568' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 12px 8px !important;
}

/* Touch targets — publication titles + newsletter submit (PSI mobile) */
.po-has-static-import .po-static-import article.publication-card h3 a {
  display: inline-block;
  padding: 0.25rem 0;
  min-height: 44px;
  line-height: 1.35;
}

.po-has-static-import .po-static-import #newsletter button[type="submit"],
.po-has-static-import .po-static-import [data-po-newsletter-form] button[type="submit"] {
  min-height: 48px;
  min-width: 48px;
}

/* --- po-site-chrome.css --- */
/**
 * Site header/footer — match static HTML; override Bootstrap/Picostrap collisions.
 * Load last on public pages.
 */

#theme-main {
  padding-top: var(--po-header-height);
}

/* Logged-in view: clear WP admin bar */
.admin-bar #wrapper-navbar {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar #wrapper-navbar {
    top: 46px;
  }

  .admin-bar #theme-main {
    padding-top: calc(var(--po-header-height) + 46px);
  }
}

@media (min-width: 783px) {
  .admin-bar #theme-main {
    padding-top: calc(var(--po-header-height) + 32px);
  }
}

/* Header shell — flex layout (Bootstrap reboot sets display:block on header) */
.po-site-chrome #wrapper-navbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-sizing: border-box;
}

.po-site-chrome #wrapper-navbar nav {
  display: none;
}

@media (min-width: 768px) {
  .po-site-chrome #wrapper-navbar nav {
    display: flex !important;
    align-items: center;
    gap: 2rem;
  }
}

/* Nav links — no Bootstrap link color/underline */
.po-site-chrome #wrapper-navbar nav a,
.po-site-chrome #wrapper-navbar .po-logo-link,
.po-site-chrome #wrapper-navbar .po-header-cta {
  text-decoration: none !important;
}

.po-site-chrome #wrapper-navbar nav a {
  font-family: "Public Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.po-site-chrome #wrapper-navbar .po-header-cta {
  font-family: "Public Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 0;
}

/* Tailwind token colors — Bootstrap utilities use the same class names */
.po-site-chrome #wrapper-navbar .text-primary,
.po-site-chrome #wrapper-footer .text-primary {
  color: #1a202c !important;
}

.po-site-chrome #wrapper-navbar .bg-primary,
.po-site-chrome #wrapper-navbar .po-header-cta.bg-primary {
  background-color: #1a202c !important;
}

.po-site-chrome #wrapper-navbar .text-on-primary,
.po-site-chrome #wrapper-navbar .po-header-cta.text-on-primary {
  color: #ffffff !important;
}

.po-site-chrome #wrapper-navbar .text-secondary,
.po-site-chrome #wrapper-footer .text-secondary {
  color: #2b6cb0 !important; /* AA ≥4.5 on white */
}

.po-site-chrome #wrapper-navbar .text-on-surface-variant,
.po-site-chrome #wrapper-footer .text-on-surface-variant,
.po-site-chrome #side-drawer .text-on-surface-variant {
  color: #4a5568 !important;
}

.po-site-chrome #wrapper-navbar .border-secondary {
  border-color: #2b6cb0 !important;
}

.po-site-chrome #wrapper-navbar .bg-surface-container-lowest {
  background-color: #ffffff !important;
}

.po-site-chrome #wrapper-footer .bg-surface-container-highest {
  background-color: #f7fafc !important;
}

.po-site-chrome #wrapper-navbar .border-outline-variant,
.po-site-chrome #wrapper-footer .border-outline-variant {
  border-color: #e2e8f0 !important;
}

.po-site-chrome #side-drawer .bg-surface-container-low {
  background-color: #f7fafc !important;
}

.po-site-chrome #side-drawer .bg-surface-container-high,
.po-site-chrome #side-drawer a:hover {
  background-color: #edf2f7;
}

.po-site-chrome #wrapper-navbar .md\:hidden {
  display: none !important;
}

@media (max-width: 767px) {
  .po-site-chrome #wrapper-navbar .md\:hidden {
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .po-site-chrome #wrapper-navbar .md\:hidden {
    display: none !important;
  }

  .po-site-chrome #side-drawer {
    display: none !important;
  }
}

/* Footer — match site-layout.css */
.po-site-chrome #wrapper-footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center;
}

.po-site-chrome #wrapper-footer > p.text-outline {
  color: #4a5568 !important;
}

.po-site-chrome #wrapper-footer a.text-secondary.font-bold {
  color: #1a202c !important;
}

.po-site-chrome #wrapper-footer a.text-secondary.font-bold:hover {
  color: #2b6cb0 !important;
}

.po-site-chrome #wrapper-footer nav a {
  font-family: "Public Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #4a5568 !important;
  text-decoration: underline !important;
}

.po-site-chrome #wrapper-footer nav a:hover {
  color: #1a202c !important;
}

.po-site-chrome #wrapper-footer .custom-logo-link,
.po-site-chrome #wrapper-navbar .custom-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
  line-height: 0;
}

.po-site-chrome .skip-link.visually-hidden-focusable:focus {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 100;
  padding: 0.5rem 1rem;
  background: #1a202c;
  color: #fff;
  clip: auto;
  width: auto;
  height: auto;
}
