/* lsri-bundle edac70632b4b9c03d0f1cd7be6df11d4 67fcf9ba6384eb74ff4eb3119f4823ea 926d3822123f9087ca4bd52d974f455a | generated from style.css + lsri-tailwind.css + lsri-components.css (docs/batch11/tools/css-bundle.sh); do not edit */
/*
Theme Name: LSRI Custom Theme
Theme URI: https://lsri.uk
Author: LSRI Dev Team
Author URI: https://lsri.uk
Description: Custom WordPress theme migrated from React/Vite application.
Version: 1.0.0
License: Proprietary
Text Domain: lsri-theme
*/

/* 
 * This theme relies on Tailwind CSS compiled from the source React application.
 * All styles are loaded via the enqueued assets in functions.php.
 */

/* =========================================
   Missing Utility & Animation Classes
   (Restoring classes that might be purged or custom)
   ========================================= */

/* Opacity & Transform Overrides */
.opacity-0 {
    opacity: 0;
}

.opacity-100 {
    opacity: 1 !important;
}

.translate-y-8 {
    transform: translateY(2rem);
}

.translate-y-0 {
    transform: translateY(0) !important;
}

.scale-95 {
    transform: scale(0.95);
}

.scale-100 {
    transform: scale(1) !important;
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.duration-700 {
    transition-duration: 700ms;
}

.duration-500 {
    transition-duration: 500ms;
}

.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.delay-200 {
    transition-delay: 200ms;
}

/* Custom Animations */
@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

.animate-float {
    animation: float 3s ease-in-out infinite;
}

@keyframes infinite-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.animate-infinite-scroll {
    display: flex;
    width: max-content;
    animation: infinite-scroll 60s linear infinite;
}

.logo-carousel-mask {
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

/* Ensure Alpine x-cloak works if used (optional) */
[x-cloak] {
    display: none !important;
}

/* =========================================
   Layout Utilities
   ========================================= */
.container-custom {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem;
    max-width: 1280px;
    /* equivalent to max-w-7xl */
}

@media (min-width: 640px) {
    .container-custom {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .container-custom {
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

/* =========================================
   Typography Overrides
   (Assuming Inter/system fonts if custom fonts missing)
   ========================================= */
body {
    font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.font-display {
    font-family: 'Outfit', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
/*! LSRI theme Tailwind build (generated; do not edit). Source + how to rebuild: docs/batch4/tools/tailwind/README.txt */
*,:before,:after{--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: rgb(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: rgb(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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,sans-serif;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,samp,pre{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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-top:3.5rem;font-family:Inter,system-ui,-apple-system,sans-serif;--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}@media(min-width:1024px){body{padding-top:4rem}}body{font-feature-settings:"cv02","cv03","cv04","cv11"}::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(225 239 245 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(27 59 85 / var(--tw-text-opacity, 1))}::selection{--tw-bg-opacity: 1;background-color:rgb(225 239 245 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(27 59 85 / var(--tw-text-opacity, 1))}h1,h2,h3,h4,h5,h6{font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.025em;--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}h1{font-size:2.25rem;line-height:2.5rem}@media(min-width:1024px){h1{font-size:3rem;line-height:1}}@media(min-width:1280px){h1{font-size:3.75rem;line-height:1}}h2{font-size:1.875rem;line-height:2.25rem}@media(min-width:1024px){h2{font-size:2.25rem;line-height:2.5rem}}h3{font-size:1.5rem;line-height:2rem}@media(min-width:1024px){h3{font-size:1.875rem;line-height:2.25rem}}h4{font-size:1.25rem;line-height:1.75rem}@media(min-width:1024px){h4{font-size:1.5rem;line-height:2rem}}h5{font-size:1.125rem;line-height:1.75rem}@media(min-width:1024px){h5{font-size:1.25rem;line-height:1.75rem}}h6{font-size:1rem;line-height:1.5rem}@media(min-width:1024px){h6{font-size:1.125rem;line-height:1.75rem}}:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#3687a7}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.card{border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(245 245 245 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 2px 15px -3px rgba(0, 0, 0, .07), 0 10px 20px -2px rgba(0, 0, 0, .04);--tw-shadow-colored: 0 2px 15px -3px var(--tw-shadow-color), 0 10px 20px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.card:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.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}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-4{inset:-1rem}.inset-0{inset:0}.-bottom-3{bottom:-.75rem}.-bottom-6{bottom:-1.5rem}.-bottom-8{bottom:-2rem}.-left-6{left:-1.5rem}.-left-8{left:-2rem}.-left-\[9px\]{left:-9px}.-right-2{right:-.5rem}.-right-24{right:-6rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-right-6{right:-1.5rem}.-top-2{top:-.5rem}.-top-24{top:-6rem}.-top-4{top:-1rem}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-1\/4{bottom:25%}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.bottom-3{bottom:.75rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-10{left:2.5rem}.left-2{left:.5rem}.left-2\/4{left:50%}.left-3{left:.75rem}.left-3\/4{left:75%}.left-4{left:1rem}.left-6{left:1.5rem}.left-\[15\%\]{left:15%}.left-\[60\%\]{left:60%}.right-0{right:0}.right-1\/4{right:25%}.right-10{right:2.5rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-\[15\%\]{right:15%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-12{top:3rem}.top-14{top:3.5rem}.top-2{top:.5rem}.top-20{top:5rem}.top-24{top:6rem}.top-3{top:.75rem}.top-4{top:1rem}.top-8{top:2rem}.top-\[60px\]{top:60px}.top-full{top:100%}.-z-0{z-index:0}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-5{grid-column:span 5 / span 5}.col-span-7{grid-column:span 7 / span 7}.m-0{margin:0}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mt-1{margin-top:-.25rem}.-mt-8{margin-top:-2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.mr-1{margin-right:.25rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.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}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.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-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[14px\]{height:14px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[420px\]{height:420px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-\[80px\]{height:80px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-12{max-height:3rem}.max-h-\[calc\(100vh-64px\)\]{max-height:calc(100vh - 64px)}.min-h-\[400px\]{min-height:400px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[550px\]{min-height:550px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[140px\]{width:140px}.w-\[14px\]{width:14px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[30rem\]{width:30rem}.w-\[600px\]{width:600px}.w-\[80\%\]{width:80%}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.min-w-\[700px\]{min-width:700px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[100px\]{max-width:100px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[320px\]{max-width:320px}.max-w-lg{max-width:32rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-8{--tw-translate-x: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-4{--tw-translate-y: -1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-8{--tw-translate-x: 2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-8{--tw-translate-y: 2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.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-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.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}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.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-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(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 * calc(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 * calc(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 * calc(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 * calc(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 * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-neutral-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(245 245 245 / var(--tw-divide-opacity, 1))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(226 232 240 / 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}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-\[8px\]{border-bottom-width:8px}.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-amber-100{--tw-border-opacity: 1;border-color:rgb(254 243 199 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-500\/30{border-color:#10b9814d}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-neutral-100{--tw-border-opacity: 1;border-color:rgb(245 245 245 / var(--tw-border-opacity, 1))}.border-neutral-200{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.border-neutral-800{--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.border-primary{--tw-border-opacity: 1;border-color:rgb(26 82 118 / var(--tw-border-opacity, 1))}.border-primary-100{--tw-border-opacity: 1;border-color:rgb(225 239 245 / var(--tw-border-opacity, 1))}.border-primary-200{--tw-border-opacity: 1;border-color:rgb(191 223 233 / var(--tw-border-opacity, 1))}.border-primary-50{--tw-border-opacity: 1;border-color:rgb(240 247 250 / var(--tw-border-opacity, 1))}.border-primary-500{--tw-border-opacity: 1;border-color:rgb(54 135 167 / var(--tw-border-opacity, 1))}.border-primary-500\/30{border-color:#3687a74d}.border-primary-600{--tw-border-opacity: 1;border-color:rgb(43 109 140 / var(--tw-border-opacity, 1))}.border-primary-600\/20{border-color:#2b6d8c33}.border-primary-700{--tw-border-opacity: 1;border-color:rgb(26 82 118 / var(--tw-border-opacity, 1))}.border-primary\/20{border-color:#1a527633}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.border-rose-100{--tw-border-opacity: 1;border-color:rgb(255 228 230 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-slate-50{--tw-border-opacity: 1;border-color:rgb(248 250 252 / var(--tw-border-opacity, 1))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-teal-400{--tw-border-opacity: 1;border-color:rgb(45 212 191 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.bg-accent-100{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500\/20{background-color:#f59e0b33}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-neutral-200{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(26 82 118 / var(--tw-bg-opacity, 1))}.bg-primary-100{--tw-bg-opacity: 1;background-color:rgb(225 239 245 / var(--tw-bg-opacity, 1))}.bg-primary-100\/50{background-color:#e1eff580}.bg-primary-50{--tw-bg-opacity: 1;background-color:rgb(240 247 250 / var(--tw-bg-opacity, 1))}.bg-primary-50\/30{background-color:#f0f7fa4d}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgb(54 135 167 / var(--tw-bg-opacity, 1))}.bg-primary-500\/10{background-color:#3687a71a}.bg-primary-500\/20{background-color:#3687a733}.bg-primary-500\/30{background-color:#3687a74d}.bg-primary-500\/5{background-color:#3687a70d}.bg-primary-500\/80{background-color:#3687a7cc}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(43 109 140 / var(--tw-bg-opacity, 1))}.bg-primary-600\/10{background-color:#2b6d8c1a}.bg-primary-600\/20{background-color:#2b6d8c33}.bg-primary-600\/5{background-color:#2b6d8c0d}.bg-primary-700{--tw-bg-opacity: 1;background-color:rgb(26 82 118 / var(--tw-bg-opacity, 1))}.bg-primary-800{--tw-bg-opacity: 1;background-color:rgb(26 69 101 / var(--tw-bg-opacity, 1))}.bg-primary-900{--tw-bg-opacity: 1;background-color:rgb(27 59 85 / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:#1a52761a}.bg-primary\/20{background-color:#1a527633}.bg-primary\/5{background-color:#1a52760d}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500\/20{background-color:#ef444433}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/30{background-color:#0f172a4d}.bg-slate-900\/40{background-color:#0f172a66}.bg-teal-500\/10{background-color:#14b8a61a}.bg-teal-500\/20{background-color:#14b8a633}.bg-teal-500\/30{background-color:#14b8a64d}.bg-teal-500\/5{background-color:#14b8a60d}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/95{background-color:#fffffff2}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-50{--tw-gradient-from: #fffbeb var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500{--tw-gradient-from: #f59e0b var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-50{--tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from: #10b981 var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-neutral-900\/60{--tw-gradient-from: rgb(23 23 23 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(23 23 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: #1a5276 var(--tw-gradient-from-position);--tw-gradient-to: rgb(26 82 118 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-100{--tw-gradient-from: #e1eff5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(225 239 245 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-200{--tw-gradient-from: #bfdfe9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(191 223 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-400{--tw-gradient-from: #52a3c1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(82 163 193 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-50{--tw-gradient-from: #f0f7fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 247 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from: #3687a7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(54 135 167 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500\/10{--tw-gradient-from: rgb(54 135 167 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(54 135 167 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500\/20{--tw-gradient-from: rgb(54 135 167 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(54 135 167 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500\/5{--tw-gradient-from: rgb(54 135 167 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(54 135 167 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-600{--tw-gradient-from: #2b6d8c var(--tw-gradient-from-position);--tw-gradient-to: rgb(43 109 140 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-600\/10{--tw-gradient-from: rgb(43 109 140 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(43 109 140 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-600\/5{--tw-gradient-from: rgb(43 109 140 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(43 109 140 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-900\/30{--tw-gradient-from: rgb(27 59 85 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(27 59 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-900\/80{--tw-gradient-from: rgb(27 59 85 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(27 59 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-50{--tw-gradient-from: #fff1f2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 241 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-500{--tw-gradient-from: #f43f5e var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from: #f8fafc var(--tw-gradient-from-position);--tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-900{--tw-gradient-from: #0f172a var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-900\/60{--tw-gradient-from: rgb(15 23 42 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-900\/70{--tw-gradient-from: rgb(15 23 42 / .7) var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-900\/80{--tw-gradient-from: rgb(15 23 42 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-600{--tw-gradient-from: #0d9488 var(--tw-gradient-from-position);--tw-gradient-to: rgb(13 148 136 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-neutral-900\/20{--tw-gradient-to: rgb(23 23 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(23 23 23 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary-900{--tw-gradient-to: rgb(27 59 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1b3b55 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-slate-200{--tw-gradient-to: rgb(226 232 240 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #e2e8f0 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-slate-800{--tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1e293b var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-slate-900\/80{--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(15 23 42 / .8) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-slate-900\/90{--tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(15 23 42 / .9) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-50{--tw-gradient-to: #eff6ff var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-cyan-50{--tw-gradient-to: #ecfeff var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to: #06b6d4 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to: #10b981 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to: #fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-primary-100{--tw-gradient-to: #e1eff5 var(--tw-gradient-to-position)}.to-primary-50{--tw-gradient-to: #f0f7fa var(--tw-gradient-to-position)}.to-primary-600\/40{--tw-gradient-to: rgb(43 109 140 / .4) var(--tw-gradient-to-position)}.to-primary-700{--tw-gradient-to: #1a5276 var(--tw-gradient-to-position)}.to-primary-900{--tw-gradient-to: #1b3b55 var(--tw-gradient-to-position)}.to-primary-900\/40{--tw-gradient-to: rgb(27 59 85 / .4) var(--tw-gradient-to-position)}.to-primary\/90{--tw-gradient-to: rgb(26 82 118 / .9) var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to: #faf5ff var(--tw-gradient-to-position)}.to-slate-800{--tw-gradient-to: #1e293b var(--tw-gradient-to-position)}.to-slate-900{--tw-gradient-to: #0f172a var(--tw-gradient-to-position)}.to-teal-400{--tw-gradient-to: #2dd4bf var(--tw-gradient-to-position)}.to-teal-50{--tw-gradient-to: #f0fdfa var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to: #14b8a6 var(--tw-gradient-to-position)}.to-teal-500\/10{--tw-gradient-to: rgb(20 184 166 / .1) var(--tw-gradient-to-position)}.to-teal-500\/20{--tw-gradient-to: rgb(20 184 166 / .2) var(--tw-gradient-to-position)}.to-teal-500\/5{--tw-gradient-to: rgb(20 184 166 / .05) var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to: #0d9488 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-\[\#00D3B9\]\/10{fill:#00d3b91a}.fill-\[\#1080E9\]\/10{fill:#1080e91a}.fill-amber-400{fill:#fbbf24}.stroke-\[3\]{stroke-width:3}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-left{-o-object-position:left;object-position:left}.object-top{-o-object-position:top;object-position:top}.p-1\.5{padding:.375rem}.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-1\.5{padding-left:.375rem;padding-right:.375rem}.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-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-0{padding-left:0}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display,.font-heading{font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,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-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#007954\]{--tw-text-opacity: 1;color:rgb(0 121 84 / var(--tw-text-opacity, 1))}.text-\[\#0079C2\]{--tw-text-opacity: 1;color:rgb(0 121 194 / var(--tw-text-opacity, 1))}.text-\[\#00D3B9\]{--tw-text-opacity: 1;color:rgb(0 211 185 / var(--tw-text-opacity, 1))}.text-\[\#1080E9\]{--tw-text-opacity: 1;color:rgb(16 128 233 / var(--tw-text-opacity, 1))}.text-\[\#8cc63f\]{--tw-text-opacity: 1;color:rgb(140 198 63 / var(--tw-text-opacity, 1))}.text-\[\#D65F00\]{--tw-text-opacity: 1;color:rgb(214 95 0 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-neutral-300{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-600{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-neutral-800{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.text-neutral-900{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(26 82 118 / var(--tw-text-opacity, 1))}.text-primary-100{--tw-text-opacity: 1;color:rgb(225 239 245 / var(--tw-text-opacity, 1))}.text-primary-200{--tw-text-opacity: 1;color:rgb(191 223 233 / var(--tw-text-opacity, 1))}.text-primary-300{--tw-text-opacity: 1;color:rgb(140 197 216 / var(--tw-text-opacity, 1))}.text-primary-400{--tw-text-opacity: 1;color:rgb(82 163 193 / var(--tw-text-opacity, 1))}.text-primary-50{--tw-text-opacity: 1;color:rgb(240 247 250 / var(--tw-text-opacity, 1))}.text-primary-500{--tw-text-opacity: 1;color:rgb(54 135 167 / var(--tw-text-opacity, 1))}.text-primary-600{--tw-text-opacity: 1;color:rgb(43 109 140 / var(--tw-text-opacity, 1))}.text-primary-600\/20{color:#2b6d8c33}.text-primary-600\/80{color:#2b6d8ccc}.text-primary-700{--tw-text-opacity: 1;color:rgb(26 82 118 / var(--tw-text-opacity, 1))}.text-primary-800{--tw-text-opacity: 1;color:rgb(26 69 101 / var(--tw-text-opacity, 1))}.text-primary-900{--tw-text-opacity: 1;color:rgb(27 59 85 / var(--tw-text-opacity, 1))}.text-primary\/20{color:#1a527633}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-teal-200{--tw-text-opacity: 1;color:rgb(153 246 228 / var(--tw-text-opacity, 1))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity, 1))}.text-teal-500{--tw-text-opacity: 1;color:rgb(20 184 166 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/50{color:#ffffff80}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/85{color:#ffffffd9}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.decoration-primary-200{text-decoration-color:#bfdfe9}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-5{opacity:.05}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-\[0\.03\]{opacity:.03}.opacity-\[0\.05\]{opacity:.05}.opacity-\[0\.06\]{opacity:.06}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-overlay{mix-blend-mode:overlay}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-elegant{--tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-emerald-900\/40{--tw-shadow-color: rgb(6 78 59 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary-100\/50{--tw-shadow-color: rgb(225 239 245 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-2{--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, 0 0 #0000)}.ring-primary-100{--tw-ring-opacity: 1;--tw-ring-color: rgb(225 239 245 / var(--tw-ring-opacity, 1))}.ring-primary-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(82 163 193 / var(--tw-ring-opacity, 1))}.blur-2xl{--tw-blur: blur(40px);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)}.blur-3xl{--tw-blur: blur(64px);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)}.brightness-0{--tw-brightness: brightness(0);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)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);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)}.invert{--tw-invert: invert(100%);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)}.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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-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-shadow{transition-property:box-shadow;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}.delay-200{transition-delay:.2s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.container-custom{margin-left:auto;margin-right:auto;max-width:1280px;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.container-custom{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container-custom{padding-left:2rem;padding-right:2rem}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-\[19px\]:before{content:var(--tw-content);left:19px}.before\:top-2:before{content:var(--tw-content);top:.5rem}.before\:h-\[85\%\]:before{content:var(--tw-content);height:85%}.before\:w-0\.5:before{content:var(--tw-content);width:.125rem}.before\:bg-slate-200:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.last\:border-0:last-child{border-width:0px}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:gap-3:hover{gap:.75rem}.hover\:border-\[\#0079C2\]:hover{--tw-border-opacity: 1;border-color:rgb(0 121 194 / var(--tw-border-opacity, 1))}.hover\:border-\[\#00D3B9\]:hover{--tw-border-opacity: 1;border-color:rgb(0 211 185 / var(--tw-border-opacity, 1))}.hover\:border-\[\#1080E9\]:hover{--tw-border-opacity: 1;border-color:rgb(16 128 233 / var(--tw-border-opacity, 1))}.hover\:border-\[\#8cc63f\]:hover{--tw-border-opacity: 1;border-color:rgb(140 198 63 / var(--tw-border-opacity, 1))}.hover\:border-amber-300:hover{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:border-emerald-500:hover{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.hover\:border-indigo-500:hover{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.hover\:border-primary:hover{--tw-border-opacity: 1;border-color:rgb(26 82 118 / var(--tw-border-opacity, 1))}.hover\:border-primary-100:hover{--tw-border-opacity: 1;border-color:rgb(225 239 245 / var(--tw-border-opacity, 1))}.hover\:border-primary-200:hover{--tw-border-opacity: 1;border-color:rgb(191 223 233 / var(--tw-border-opacity, 1))}.hover\:border-primary-300:hover{--tw-border-opacity: 1;border-color:rgb(140 197 216 / var(--tw-border-opacity, 1))}.hover\:border-primary-500:hover{--tw-border-opacity: 1;border-color:rgb(54 135 167 / var(--tw-border-opacity, 1))}.hover\:border-primary-500\/30:hover{border-color:#3687a74d}.hover\:border-primary-600:hover{--tw-border-opacity: 1;border-color:rgb(43 109 140 / var(--tw-border-opacity, 1))}.hover\:border-primary\/30:hover{border-color:#1a52764d}.hover\:border-primary\/50:hover{border-color:#1a527680}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:bg-emerald-50:hover{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 247 250 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-500:hover{--tw-bg-opacity: 1;background-color:rgb(54 135 167 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-600:hover{--tw-bg-opacity: 1;background-color:rgb(43 109 140 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-600\/5:hover{background-color:#2b6d8c0d}.hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgb(26 82 118 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-800:hover{--tw-bg-opacity: 1;background-color:rgb(26 69 101 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-900:hover{--tw-bg-opacity: 1;background-color:rgb(27 59 85 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/5:hover{background-color:#1a52760d}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-emerald-700:hover{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.hover\:text-emerald-800:hover{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.hover\:text-indigo-700:hover{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.hover\:text-neutral-300:hover{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.hover\:text-neutral-900:hover{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.hover\:text-primary-100:hover{--tw-text-opacity: 1;color:rgb(225 239 245 / var(--tw-text-opacity, 1))}.hover\:text-primary-600:hover{--tw-text-opacity: 1;color:rgb(43 109 140 / var(--tw-text-opacity, 1))}.hover\:text-primary-700:hover{--tw-text-opacity: 1;color:rgb(26 82 118 / var(--tw-text-opacity, 1))}.hover\:text-primary-800:hover{--tw-text-opacity: 1;color:rgb(26 69 101 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-2xl:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-primary-600\/25:hover{--tw-shadow-color: rgb(43 109 140 / .25);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary-700\/20:hover{--tw-shadow-color: rgb(26 82 118 / .2);--tw-shadow: var(--tw-shadow-colored)}.focus\:border-primary:focus{--tw-border-opacity: 1;border-color:rgb(26 82 118 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2: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(2px + 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-primary-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(54 135 167 / var(--tw-ring-opacity, 1))}.focus\:ring-primary\/20:focus{--tw-ring-color: rgb(26 82 118 / .2)}.group[open] .group-open\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:w-full{width:100%}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:gap-2{gap:.5rem}.group:hover .group-hover\:gap-3{gap:.75rem}.group:hover .group-hover\:border-primary-100{--tw-border-opacity: 1;border-color:rgb(225 239 245 / var(--tw-border-opacity, 1))}.group:hover .group-hover\:border-transparent{border-color:transparent}.group:hover .group-hover\:bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-primary-100{--tw-bg-opacity: 1;background-color:rgb(225 239 245 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(43 109 140 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-primary\/20{background-color:#1a527633}.group:hover .group-hover\:bg-white\/20{background-color:#fff3}.group:hover .group-hover\:from-primary-600{--tw-gradient-from: #2b6d8c var(--tw-gradient-from-position);--tw-gradient-to: rgb(43 109 140 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:to-primary-700{--tw-gradient-to: #1a5276 var(--tw-gradient-to-position)}.group:hover .group-hover\:text-\[\#00D3B9\]{--tw-text-opacity: 1;color:rgb(0 211 185 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-\[\#1080E9\]{--tw-text-opacity: 1;color:rgb(16 128 233 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-\[\#8cc63f\]{--tw-text-opacity: 1;color:rgb(140 198 63 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-primary{--tw-text-opacity: 1;color:rgb(26 82 118 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-primary-600{--tw-text-opacity: 1;color:rgb(43 109 140 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-primary-700{--tw-text-opacity: 1;color:rgb(26 82 118 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white\/90{color:#ffffffe6}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-5{opacity:.05}@media(min-width:640px){.sm\:left-4{left:1rem}.sm\:right-4{right:1rem}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:h-12{height:3rem}.sm\:h-5{height:1.25rem}.sm\:w-12{width:3rem}.sm\:w-5{width:1.25rem}.sm\:w-\[calc\(50\%-10px\)\]{width:calc(50% - 10px)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-10{gap:2.5rem}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:p-5{padding:1.25rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media(min-width:768px){.md\:block{display:block}.md\:hidden{display:none}.md\:h-10{height:2.5rem}.md\:h-96{height:24rem}.md\:w-96{width:24rem}.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\:flex-row{flex-direction:row}.md\:gap-24{gap:6rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}}@media(min-width:1024px){.lg\:-bottom-6{bottom:-1.5rem}.lg\:-right-6{right:-1.5rem}.lg\:left-6{left:1.5rem}.lg\:right-6{right:1.5rem}.lg\:top-28{top:7rem}.lg\:top-6{top:1.5rem}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:mb-16{margin-bottom:4rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:mb-5{margin-bottom:1.25rem}.lg\:ml-12{margin-left:3rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-12{height:3rem}.lg\:h-16{height:4rem}.lg\:h-6{height:1.5rem}.lg\:h-\[400px\]{height:400px}.lg\:h-\[480px\]{height:480px}.lg\:min-h-\[650px\]{min-height:650px}.lg\:w-1\/3{width:33.333333%}.lg\:w-12{width:3rem}.lg\:w-16{width:4rem}.lg\:w-2\/3{width:66.666667%}.lg\:w-6{width:1.5rem}.lg\:w-\[calc\(33\.33\%-15px\)\]{width:calc(33.33% - 15px)}.lg\:w-auto{width:auto}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:items-center{align-items:center}.lg\:gap-12{gap:3rem}.lg\:gap-16{gap:4rem}.lg\:gap-20{gap:5rem}.lg\:gap-4{gap:1rem}.lg\:gap-5{gap:1.25rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-8{gap:2rem}.lg\:p-10{padding:2.5rem}.lg\:p-12{padding:3rem}.lg\:p-14{padding:3.5rem}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\:pb-16{padding-bottom:4rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pl-12{padding-left:3rem}.lg\:pt-28{padding-top:7rem}.lg\:pt-32{padding-top:8rem}.lg\:text-left{text-align:left}.lg\:text-right{text-align:right}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:1280px){.xl\:w-\[calc\(25\%-20px\)\]{width:calc(25% - 20px)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:gap-8{gap:2rem}.xl\:text-5xl{font-size:3rem;line-height:1}.xl\:text-\[3\.75rem\]{font-size:3.75rem}}

/*
 * LSRI shared components (call bar, clinics block, trust strip, CTAs, breadcrumbs…), styled with the
 * theme's brand tokens. Loaded after assets/css/lsri-tailwind.css (the theme's Tailwind build).
 * Tailwind utility classes are NOT defined here: after adding a new Tailwind class to a template,
 * rebuild lsri-tailwind.css (docs/batch4/tools/tailwind/README.txt).
 */
/* Fonts — self-hosted (Batch 4). The same WOFF2 files Google Fonts served (Inter v20, Plus Jakarta Sans
 * v12, variable weight), latin + latin-ext only. Weights: Inter 400–700 (body), Plus Jakarta Sans 600–700
 * (headings). The two latin files are preloaded in inc/performance.php. Licence: assets/fonts/OFL.txt */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url(../fonts/inter-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url(../fonts/inter-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600 700;
    font-display: swap;
    src: url(../fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600 700;
    font-display: swap;
    src: url(../fonts/plus-jakarta-sans-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --lsri-primary-50: #f0f7fa;
    --lsri-primary-100: #e1eff5;
    --lsri-primary-200: #bfdfe9;
    --lsri-primary-600: #2b6d8c;
    --lsri-primary-700: #1a5276;
    --lsri-primary-800: #1a4565;
    --lsri-primary-900: #1b3b55;
    --lsri-slate-900: #0f172a;
    --lsri-neutral-50: #fafafa;
    --lsri-neutral-100: #f5f5f5;
    --lsri-neutral-200: #e5e5e5;
    --lsri-neutral-500: #737373;
    --lsri-neutral-600: #525252;
    --lsri-neutral-700: #404040;
    --lsri-neutral-900: #171717;
    --lsri-star: #f59e0b;
    --lsri-callbar-h: 64px;
    --lsri-font-heading: 'Plus Jakarta Sans', Inter, system-ui, sans-serif;
}

/* ---------- Icons & buttons ---------- */
.lsri-icon {
    width: 1.125em;
    height: 1.125em;
    flex-shrink: 0;
}

.lsri-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 44px;
    padding: 0.75rem 1.25rem;
    border-radius: 0.75rem;
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.2;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
    white-space: nowrap;
}

.lsri-btn--primary {
    background: var(--lsri-primary-700);
    color: #fff;
    box-shadow: 0 10px 15px -3px rgba(26, 82, 118, 0.2);
}

.lsri-btn--primary:hover {
    background: var(--lsri-primary-800);
    color: #fff;
}

.lsri-btn--secondary {
    background: #fff;
    color: var(--lsri-neutral-900);
    border-color: var(--lsri-neutral-200);
}

.lsri-btn--secondary:hover {
    border-color: var(--lsri-primary-200);
    background: var(--lsri-primary-50);
}

.lsri-btn--on-dark {
    background: #fff;
    color: var(--lsri-primary-700);
}

.lsri-btn--on-dark:hover {
    background: var(--lsri-primary-50);
}

.lsri-btn--ghost-dark {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.4);
}

.lsri-btn--ghost-dark:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.lsri-btn--sm {
    min-height: 40px;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    border-radius: 0.5rem;
}

/* ---------- Header call buttons ---------- */
.lsri-header-mobile-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.lsri-header-call {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 44px;
    padding: 0 0.875rem;
    border-radius: 0.625rem;
    background: var(--lsri-primary-700);
    color: #fff;
    font-weight: 700;
    font-size: 0.875rem;
    text-decoration: none;
}

.lsri-header-call:hover {
    background: var(--lsri-primary-800);
    color: #fff;
}

.lsri-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
}

@media (min-width: 1024px) {
    .lsri-header-mobile-actions {
        display: none;
    }
}

/* ---------- Mobile call bar (below 1024px) ---------- */
.lsri-callbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid var(--lsri-neutral-200);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
}

.lsri-callbar__btn {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 48px;
    padding: 0 0.5rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 0.9375rem;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
}

.lsri-callbar__btn--call {
    background: var(--lsri-primary-700);
    color: #fff;
}

.lsri-callbar__btn--book {
    background: #fff;
    color: var(--lsri-neutral-900);
    border: 1px solid var(--lsri-neutral-200);
}

.lsri-callbar__btn--wa {
    flex: 0 0 48px;
    padding: 0;
    background: #128c4a;
    color: #fff;
}

.lsri-callbar__btn--wa svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 359px) {
    .lsri-callbar__btn {
        font-size: 0.8125rem;
    }
}

@media (max-width: 1023px) {
    body {
        padding-bottom: calc(var(--lsri-callbar-h) + env(safe-area-inset-bottom, 0px));
    }

    /* The floating WhatsApp bubble and trust badges would cover content: WhatsApp moves into the call bar. */
    .whatsapp-float,
    #lsri-trust-badge {
        display: none !important;
    }
}

@media (min-width: 1024px) {
    .lsri-callbar {
        display: none;
    }
}

/* ---------- Section heading helpers ---------- */
.lsri-eyebrow {
    margin: 0 0 0.5rem;
    color: var(--lsri-primary-700);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lsri-section-title {
    margin: 0 0 0.75rem;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.875rem;
    line-height: 1.2;
    font-weight: 700;
}

.lsri-section-intro {
    margin: 0;
    color: var(--lsri-neutral-600);
    font-size: 1.0625rem;
    line-height: 1.6;
}

@media (min-width: 1024px) {
    .lsri-section-title {
        font-size: 2.25rem;
    }
}

/* ---------- "Available at" line under service H1s ---------- */
.lsri-available {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: -0.75rem 0 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    font-weight: 500;
}

.lsri-available .lsri-icon {
    margin-top: 0.15em;
}

.lsri-available--dark {
    color: #e2e8f0;
}

.lsri-available--dark .lsri-icon {
    color: #5eead4;
}

.lsri-available--light {
    color: var(--lsri-neutral-700);
}

.lsri-available--light .lsri-icon {
    color: var(--lsri-primary-600);
}

/* ---------- Two clinics block ---------- */
.lsri-clinics {
    padding: 4rem 0;
    background: #fff;
}

.lsri-clinics--slate {
    background: #f8fafc;
}

.lsri-clinics__head {
    max-width: 48rem;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.lsri-clinics__grid {
    display: grid;
    gap: 1.5rem;
    max-width: 64rem;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .lsri-clinics__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lsri-clinics {
        padding: 6rem 0;
    }
}

.lsri-clinic-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.5rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
}

@media (min-width: 1024px) {
    .lsri-clinic-card {
        padding: 2rem;
    }
}

.lsri-clinic-card__top {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
}

.lsri-clinic-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    border-radius: 0.75rem;
    background: var(--lsri-primary-50);
    color: var(--lsri-primary-700);
    font-size: 1.25rem;
}

.lsri-clinic-card__name {
    margin: 0;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
}

.lsri-clinic-card__area {
    margin: 0.125rem 0 0;
    color: var(--lsri-neutral-600);
    font-size: 0.875rem;
}

.lsri-clinic-card__address {
    margin: 0;
    color: var(--lsri-neutral-700);
    font-style: normal;
    line-height: 1.6;
}

.lsri-clinic-card__label {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin: 0 0 0.5rem;
    color: var(--lsri-slate-900);
    font-size: 0.875rem;
    font-weight: 700;
}

.lsri-clinic-card__hours dl {
    margin: 0;
}

.lsri-clinic-card__hours dl > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.375rem 0;
    border-bottom: 1px solid var(--lsri-neutral-100);
    font-size: 0.9375rem;
}

.lsri-clinic-card__hours dt {
    color: var(--lsri-neutral-600);
}

.lsri-clinic-card__hours dd {
    margin: 0;
    color: var(--lsri-slate-900);
    font-weight: 600;
}

.lsri-clinic-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.lsri-clinic-card__actions .lsri-btn {
    flex: 1 1 12rem;
}

.lsri-clinic-card__more {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: auto;
    color: var(--lsri-primary-700);
    font-weight: 600;
    font-size: 0.9375rem;
    text-decoration: none;
}

.lsri-clinic-card__more:hover {
    text-decoration: underline;
}

/* ---------- Trust strip (under service-page hero CTA) ---------- */
.lsri-trust {
    padding: 1rem 0;
    background: #fff;
    border-bottom: 1px solid var(--lsri-neutral-200);
}

.lsri-trust__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lsri-trust__item--wide {
    grid-column: 1 / -1;
}

@media (min-width: 1024px) {
    .lsri-trust__list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 1rem 2rem;
    }
}

.lsri-trust__link {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
}

a.lsri-trust__link:hover .lsri-trust__title {
    color: var(--lsri-primary-700);
}

.lsri-trust__logo-svg {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

.lsri-trust__logo-icon {
    display: inline-flex;
    font-size: 26px;
    flex-shrink: 0;
}

.lsri-trust__logo-icon--doctify {
    color: #00a38f;
}

.lsri-trust__logo-img {
    height: 28px;
    width: auto;
    flex-shrink: 0;
    object-fit: contain;
}

.lsri-trust__logo-img--round {
    width: 28px;
}

.lsri-trust__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

.lsri-trust__title {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--lsri-slate-900);
    font-size: 0.875rem;
    font-weight: 700;
}

.lsri-trust__sub {
    color: var(--lsri-neutral-600);
    font-size: 0.8125rem;
}

.lsri-trust__stars {
    display: inline-flex;
    gap: 1px;
    color: var(--lsri-star);
}

.lsri-trust__star {
    width: 0.8rem;
    height: 0.8rem;
    fill: currentColor;
}

.lsri-trust__logo-icon--mobile {
    display: none;
    color: var(--lsri-primary-700);
}

@media (max-width: 639px) {
    .lsri-trust__logo-img--wide {
        display: none;
    }

    .lsri-trust__logo-icon--mobile {
        display: inline-flex;
    }
}

/* ---------- Blog "Need this assessed or treated?" box ---------- */
.lsri-post-cta {
    margin: 2rem 0;
    padding: 1.25rem 1.25rem 1.5rem;
    border: 1px solid var(--lsri-primary-200);
    border-left: 4px solid var(--lsri-primary-700);
    border-radius: 0.75rem;
    background: var(--lsri-primary-50);
    font-size: 1rem;
    line-height: 1.6;
}

.lsri-post-cta--end {
    margin-top: 2.5rem;
}

.lsri-post-cta .lsri-post-cta__title {
    margin: 0 0 0.375rem;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
}

.lsri-post-cta .lsri-post-cta__text {
    margin: 0 0 1rem;
    color: var(--lsri-neutral-700);
}

.lsri-post-cta a.lsri-post-cta__link {
    display: inline;
    color: var(--lsri-primary-700);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--lsri-primary-200);
}

.lsri-post-cta__link .lsri-icon {
    display: inline;
    vertical-align: -0.2em;
}

.lsri-post-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.lsri-post-cta__actions .lsri-btn {
    flex: 1 1 13rem;
}

.lsri-post-cta a.lsri-btn {
    text-decoration: none;
}

.lsri-post-cta a.lsri-btn--primary,
.lsri-post-cta a.lsri-btn--primary:hover {
    color: #fff;
}

.lsri-post-cta a.lsri-btn--secondary,
.lsri-post-cta a.lsri-btn--secondary:hover {
    color: var(--lsri-neutral-900);
}

.lsri-post-cta-section {
    padding: 0.5rem 0;
    background: #fff;
}

.lsri-post-cta-section__inner {
    max-width: 48rem;
    margin: 0 auto;
}

/* ---------- Location pages (single-rank_math_locations.php) ---------- */
.lsri-location__hero {
    padding: 3.5rem 0 3rem;
    background: linear-gradient(135deg, var(--lsri-slate-900), var(--lsri-primary-900));
    color: #fff;
}

@media (min-width: 1024px) {
    .lsri-location__hero {
        padding: 5rem 0 4.5rem;
    }
}

.lsri-eyebrow--light {
    color: #99f6e4;
}

.lsri-location__title {
    margin: 0 0 1.25rem;
    color: #fff;
    font-family: var(--lsri-font-heading);
    font-size: 2.25rem;
    line-height: 1.15;
    font-weight: 700;
}

@media (min-width: 1024px) {
    .lsri-location__title {
        font-size: 3rem;
    }
}

.lsri-location__address {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0 0 0.5rem;
    color: #e2e8f0;
    font-size: 1.0625rem;
}

.lsri-location__address .lsri-icon {
    margin-top: 0.2em;
    color: #5eead4;
}

.lsri-location__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.lsri-location__content {
    padding: 3rem 0;
    background: #fff;
}

.lsri-location__prose {
    max-width: 48rem;
    margin: 0 auto;
    color: #334155;
    font-size: 1.0625rem;
    line-height: 1.75;
}

.lsri-location__prose h2,
.lsri-location__prose h3 {
    margin: 2rem 0 0.75rem;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-weight: 700;
    line-height: 1.3;
}

.lsri-location__prose h2 {
    font-size: 1.625rem;
}

.lsri-location__prose h3 {
    font-size: 1.25rem;
}

.lsri-location__prose p,
.lsri-location__prose ul,
.lsri-location__prose ol {
    margin: 1rem 0;
}

.lsri-location__prose ul {
    list-style: disc;
    padding-left: 1.5rem;
}

.lsri-location__prose ol {
    list-style: decimal;
    padding-left: 1.5rem;
}

.lsri-location__prose a {
    color: var(--lsri-primary-700);
    text-decoration: underline;
}

/* ---------- Breadcrumbs (partials/breadcrumbs.php) ---------- */
.lsri-breadcrumbs {
    position: relative;
    z-index: 1;
    padding: 0.625rem 0;
    background: #fff;
    border-bottom: 1px solid var(--lsri-neutral-200);
    color: var(--lsri-neutral-600);
    font-size: 0.8125rem;
    line-height: 1.4;
}

/* Desktop: the fixed header is 112px (64px top bar + 48px nav) and body padding is 64px. */
@media (min-width: 1024px) {
    .lsri-breadcrumbs {
        margin-top: 48px;
    }
}

.lsri-breadcrumbs .rank-math-breadcrumb p {
    margin: 0;
    white-space: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
}

.lsri-breadcrumbs a {
    color: var(--lsri-neutral-600);
    text-decoration: none;
}

.lsri-breadcrumbs a:hover {
    color: var(--lsri-primary-700);
    text-decoration: underline;
}

.lsri-breadcrumbs .separator {
    margin: 0 0.375rem;
    color: #a3a3a3;
}

.lsri-breadcrumbs .last {
    color: var(--lsri-slate-900);
    font-weight: 600;
}

/* ---------- Related treatments & scans ---------- */
.lsri-related {
    padding: 4rem 0;
    background: #fff;
    border-top: 1px solid var(--lsri-neutral-200);
}

.lsri-related__grid {
    display: grid;
    gap: 0.75rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 640px) {
    .lsri-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lsri-related__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
    }
}

.lsri-related__card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    height: 100%;
    padding: 1rem 2.75rem 1rem 1.125rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: 0.75rem;
    background: #fff;
    text-decoration: none;
    transition: border-color 0.2s, background-color 0.2s;
}

.lsri-related__card:hover {
    border-color: var(--lsri-primary-200);
    background: var(--lsri-primary-50);
}

.lsri-related__name {
    color: var(--lsri-slate-900);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.35;
}

.lsri-related__desc {
    color: var(--lsri-neutral-600);
    font-size: 0.875rem;
    line-height: 1.45;
}

.lsri-related__arrow {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--lsri-primary-700);
}

/* ---------- Long-form content sections (thin-page expansions) ---------- */
.lsri-content {
    padding: 4rem 0;
}

@media (min-width: 1024px) {
    .lsri-content {
        padding: 6rem 0;
    }
}

.lsri-content--white {
    background: #fff;
}

.lsri-content--slate {
    background: #f8fafc;
}

.lsri-content__inner {
    max-width: 48rem;
    margin: 0 auto;
}

.lsri-prose {
    color: #475569;
    font-size: 1.0625rem;
    line-height: 1.75;
}

.lsri-prose p {
    margin: 0 0 1rem;
}

.lsri-prose h3 {
    margin: 1.75rem 0 0.5rem;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
}

.lsri-prose ul {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
    list-style: disc;
}

.lsri-prose li {
    margin: 0.375rem 0;
}

.lsri-prose a {
    color: var(--lsri-primary-700);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--lsri-primary-200);
}

.lsri-prose strong {
    color: var(--lsri-slate-900);
}

.lsri-steps {
    counter-reset: lsri-step;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.lsri-steps > li {
    position: relative;
    margin: 0 0 1rem;
    padding: 1rem 1rem 1rem 3.75rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: 0.75rem;
    background: #fff;
}

.lsri-steps > li::before {
    counter-increment: lsri-step;
    content: counter(lsri-step);
    position: absolute;
    left: 1rem;
    top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: var(--lsri-primary-700);
    color: #fff;
    font-weight: 700;
    font-size: 0.9375rem;
}

.lsri-steps strong {
    display: block;
    margin-bottom: 0.125rem;
    color: var(--lsri-slate-900);
}

.lsri-card-list {
    display: grid;
    gap: 0.75rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 640px) {
    .lsri-card-list--2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.lsri-card-list > li {
    padding: 1rem 1.125rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: 0.75rem;
    background: #fff;
}

.lsri-card-list strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--lsri-slate-900);
}

.lsri-callout {
    margin: 1.5rem 0 0;
    padding: 1.25rem;
    border-left: 4px solid var(--lsri-primary-700);
    border-radius: 0 0.75rem 0.75rem 0;
    background: var(--lsri-primary-50);
}

.lsri-callout p:last-child {
    margin-bottom: 0;
}

/* ---------- Scroll-reveal (assets/js/reveal.js) ----------
 * Templates start many blocks at opacity-0 and relied on JS (and undefined animation classes) to
 * show them. Content is now visible by default; only below-the-fold blocks get a fade-in via JS. */
.opacity-0.animate-fade-up,
.opacity-0.animate-fade-left,
.opacity-0.animate-fade-right,
.opacity-0.animate-fade-in,
[x-intersect].opacity-0 {
    opacity: 1;
    transform: none;
}

html .lsri-reveal-pending {
    opacity: 0;
    transform: translateY(16px);
}

html .lsri-reveal-pending.lsri-revealed {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

@media (prefers-reduced-motion: reduce) {
    html .lsri-reveal-pending {
        opacity: 1;
        transform: none;
    }

    .animate-float,
    .whatsapp-float {
        animation: none !important;
    }

    /* Logo strips keep drifting, just more slowly (owner's request) */
    html .animate-infinite-scroll {
        animation-duration: 180s;
    }
}

/* Logo strips (home "Affiliation by" and insurers): slower drift than style.css's 60s.
   Set here because this file is cache-busted by filemtime, style.css is not. */
.animate-infinite-scroll {
    animation-duration: 90s;
}

/* Logo strips: pause on hover only where there is a real mouse. On touch screens a tap
   leaves :hover stuck, which froze the strip until the visitor tapped elsewhere. */
@media (hover: hover) and (pointer: fine) {
    .animate-infinite-scroll:hover {
        animation-play-state: paused;
    }
}

/* ---------- Accessibility: skip link, focus, menu toggle ---------- */
.lsri-skip-link {
    position: absolute;
    left: 0.75rem;
    top: -100px;
    z-index: 100;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    background: var(--lsri-primary-700);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

.lsri-skip-link:focus {
    top: 0.75rem;
}

#content:focus {
    outline: none;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--lsri-primary-600);
    outline-offset: 2px;
}

.bg-primary-700 a:focus-visible,
.bg-slate-900 a:focus-visible,
.bg-neutral-900 a:focus-visible,
.lsri-location__hero a:focus-visible {
    outline-color: #fff;
}

.lsri-menu-toggle__icon {
    width: 22px;
    height: 22px;
}

.lsri-menu-toggle span {
    display: inline-flex;
}

/* ---------- Contrast fixes ---------- */
/* The compiled CSS gives every heading #171717, which made headings without their own colour class
   near-invisible inside dark (.text-white) sections. Same specificity as that rule, loaded later:
   any explicit text-* class on a heading still wins. */
:where(.text-white) h1,
:where(.text-white) h2,
:where(.text-white) h3,
:where(.text-white) h4,
:where(.text-white) h5,
:where(.text-white) h6 {
    color: inherit;
}

.lsri-pill-green {
    background: #15803d;
}

.lsri-on-dark-muted {
    color: rgba(255, 255, 255, 0.88);
}

/* Utility missing from the compiled Tailwind file */
.text-emerald-800 {
    color: #065f46;
}

/* Decorative step numbers ("01", "02"…) drawn from data-step so they are not read out or contrast-checked */
[data-step]::before {
    content: attr(data-step);
}

/* Emerald/teal utilities used by the CPD page and header badge but missing from the compiled CSS
   (Tailwind default palette). */
.bg-emerald-100 { background-color: #d1fae5; }
.bg-emerald-200 { background-color: #a7f3d0; }
.bg-emerald-400 { background-color: #34d399; }
.bg-emerald-500 { background-color: #10b981; }
.bg-emerald-600 { background-color: #059669; }
.bg-emerald-700 { background-color: #047857; }
.text-emerald-300 { color: #6ee7b7; }
.text-emerald-400 { color: #34d399; }
.text-emerald-700 { color: #047857; }
.text-teal-200 { color: #99f6e4; }
.lsri-ml-auto { margin-left: auto; }

/* ---------- Hero CTA (partials/hero-cta.php) ---------- */
.lsri-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.lsri-btn--lg {
    min-height: 52px;
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
}

@media (max-width: 479px) {
    .lsri-hero-cta .lsri-btn {
        flex: 1 1 100%;
    }
}

/* Home hero trust pill: wrap on small screens instead of running off the edge */
@media (max-width: 639px) {
    .lsri-hero-pill {
        border-radius: 1rem;
        row-gap: 0.375rem;
    }

    .lsri-hero-pill > .w-px {
        display: none;
    }
}

/* Hub heroes (imaging, injections, consultation): were a fixed 60–70vh height, which clipped the
   content (and the CTA) on small screens. */
.lsri-hub-hero {
    min-height: 70vh;
    padding: 3rem 0;
}

.lsri-hub-hero--short {
    min-height: 60vh;
}

.gap-x-6 { column-gap: 1.5rem; }
.gap-y-2 { row-gap: 0.5rem; }

/* =====================================================================
 * Batch 3 — design system
 * One set of tokens for spacing, radii, shadows and type, plus the shared
 * service-page hero, the closing CTA band and section rhythm on phones.
 * ===================================================================== */
:root {
    --lsri-radius-sm: 0.5rem;
    --lsri-radius-md: 0.75rem;
    --lsri-radius-lg: 1rem;
    --lsri-radius-xl: 1.5rem;
    --lsri-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --lsri-shadow-md: 0 4px 12px -2px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.05);
    --lsri-shadow-lg: 0 16px 32px -12px rgba(15, 23, 42, 0.18);
    --lsri-section-y: 3.5rem;
    --lsri-measure: 68ch;
}

@media (min-width: 768px) {
    :root {
        --lsri-section-y: 4.5rem;
    }
}

@media (min-width: 1024px) {
    :root {
        --lsri-section-y: 6rem;
    }
}

/* Buttons: every size keeps a 44px touch target */
.lsri-btn--sm {
    min-height: 44px;
}

.lsri-btn--ghost {
    background: transparent;
    color: var(--lsri-primary-700);
    border-color: var(--lsri-primary-200);
}

.lsri-btn--ghost:hover {
    background: var(--lsri-primary-50);
    color: var(--lsri-primary-800);
}

.lsri-btn--on-dark:hover {
    color: var(--lsri-primary-800);
}

/* Section rhythm on phones: the templates' py-20 / py-24 (80–96px) leave big empty gaps at 412px */
@media (max-width: 767px) {
    main .py-24,
    main .py-20 {
        padding-top: var(--lsri-section-y);
        padding-bottom: var(--lsri-section-y);
    }

    main .mb-16 {
        margin-bottom: 2.5rem;
    }

    main .mb-14 {
        margin-bottom: 2.25rem;
    }
}

/* ---------- Service-page hero (all imaging / injection / consultation templates) ----------
 * Height now follows the content (was a fixed 600/700px): on desktop the trust strip is on the
 * first screen; on phones the Call button sits higher. */
.lsri-service-hero > .container-custom {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.lsri-service-hero h1 {
    font-size: 2.125rem;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.lsri-service-hero .backdrop-blur-lg.rounded-3xl {
    padding: 1.5rem;
    border-radius: var(--lsri-radius-xl);
}

.lsri-service-hero p.text-xl {
    font-size: 1.125rem;
    line-height: 1.6;
}

.lsri-service-hero p.text-lg {
    font-size: 1rem;
}

@media (min-width: 1024px) {
    .lsri-service-hero > .container-custom {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .lsri-service-hero h1 {
        font-size: 3.25rem;
    }

    .lsri-service-hero .backdrop-blur-lg.rounded-3xl {
        padding: 2.5rem;
    }

    .lsri-service-hero p.text-xl {
        font-size: 1.25rem;
    }

    .lsri-service-hero p.text-lg {
        font-size: 1.0625rem;
    }
}

/* ---------- Closing CTA band (partials/cta-band.php) ---------- */
.lsri-cta-band {
    padding: var(--lsri-section-y) 0;
    background: linear-gradient(135deg, var(--lsri-primary-900) 0%, var(--lsri-slate-900) 100%);
    color: #fff;
}

.lsri-cta-band__inner {
    max-width: 46rem;
    margin: 0 auto;
    text-align: center;
}

.lsri-cta-band .lsri-cta-band__title {
    margin: 0 0 1rem;
    color: #fff;
    font-family: var(--lsri-font-heading);
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

@media (min-width: 1024px) {
    .lsri-cta-band .lsri-cta-band__title {
        font-size: 2.5rem;
    }
}

.lsri-cta-band__text {
    margin: 0 auto 0.75rem;
    max-width: 40rem;
    color: #cbd5e1;
    font-size: 1.0625rem;
    line-height: 1.65;
}

.lsri-cta-band__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

@media (max-width: 479px) {
    .lsri-cta-band__actions .lsri-btn {
        flex: 1 1 100%;
    }
}

.lsri-cta-band__hours {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1.5rem;
    margin: 1.75rem 0 0;
    padding: 0;
    list-style: none;
    color: #cbd5e1;
    font-size: 0.875rem;
}

.lsri-cta-band__hours li {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.lsri-cta-band__hours .lsri-icon {
    color: #5eead4;
}

.lsri-cta-band a:focus-visible {
    outline-color: #fff;
}

/* Related treatments (white) followed by the clinics block: tint the clinics block so the two
   sections don't run together. */
.lsri-related + .lsri-clinics {
    background: #f8fafc;
    border-top: 1px solid var(--lsri-neutral-200);
}

.lsri-cta-band__link {
    margin: 1.25rem 0 0;
    font-size: 0.9375rem;
}

.lsri-cta-band__link a {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 44px;
    color: #fff;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: rgba(255, 255, 255, 0.4);
}

.lsri-cta-band__points {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1.5rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
    color: #e2e8f0;
    font-size: 0.9375rem;
    font-weight: 600;
}

.lsri-cta-band__points li {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.lsri-cta-band__points .lsri-icon {
    color: #5eead4;
}

/* Type scale: the compiled CSS sizes every unclassed h3 at 30px on desktop — larger than many
   section titles — so card titles without their own size class looked like headings. Headings
   with a text-* class are unaffected (class beats element). */
h3 {
    font-size: 1.25rem;
    line-height: 1.4;
}

@media (min-width: 1024px) {
    h3 {
        font-size: 1.375rem;
        line-height: 1.35;
    }
}

/* ---------- Home page ---------- */
.lsri-home-steps-cta {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

.lsri-home-steps-cta .lsri-hero-cta {
    justify-content: center;
}

@media (max-width: 639px) {
    .lsri-home-badges > a {
        padding: 0.5rem 0.75rem;
        font-size: 0.875rem;
    }
}

.lsri-doctor-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--lsri-primary-200);
    border-radius: var(--lsri-radius-lg);
    background: var(--lsri-primary-50);
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.lsri-doctor-card:hover {
    border-color: var(--lsri-primary-600);
    box-shadow: var(--lsri-shadow-md);
}

.lsri-doctor-card__photo {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border-radius: 999px;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #fff;
    box-shadow: var(--lsri-shadow-sm);
}

.lsri-doctor-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.lsri-doctor-card__name {
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
}

.lsri-doctor-card__creds {
    color: var(--lsri-neutral-600);
    font-size: 0.8125rem;
    line-height: 1.45;
}

.lsri-doctor-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--lsri-primary-700);
    font-size: 0.9375rem;
    font-weight: 600;
}

/* ---------- Footer ---------- */
.lsri-footer__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem 1.5rem;
}

.lsri-footer__col--brand,
.lsri-footer__col--clinics {
    grid-column: 1 / -1;
}

@media (min-width: 768px) {
    .lsri-footer__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lsri-footer__grid {
        grid-template-columns: 1.3fr 1fr 1fr 0.9fr 1.3fr;
        gap: 2.5rem;
    }

    .lsri-footer__col--brand,
    .lsri-footer__col--clinics {
        grid-column: auto;
    }
}

.lsri-footer__heading {
    margin: 0 0 1rem;
    color: #fff;
    font-family: var(--lsri-font-heading);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.4;
}

.lsri-footer__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lsri-footer__list a,
.lsri-footer__contact a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 32px;
    color: #a3a3a3;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.2s;
}

.lsri-footer__list a:hover,
.lsri-footer__contact a:hover,
.lsri-footer__directions:hover {
    color: #fff;
}

.lsri-footer__clinic {
    margin: 0 0 1.25rem;
    color: #a3a3a3;
    font-size: 0.875rem;
    line-height: 1.55;
}

.lsri-footer__clinic p {
    margin: 0;
}

.lsri-footer__clinic .lsri-footer__clinic-name {
    color: #fff;
    font-weight: 600;
}

.lsri-footer__hours {
    color: #d4d4d4;
}

.lsri-footer__directions {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 32px;
    color: #7dd3fc;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
}

.lsri-footer__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.25rem;
    margin: 0.25rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid #262626;
    list-style: none;
}

.lsri-footer__contact .lsri-icon,
.lsri-footer__directions .lsri-icon {
    color: #7dd3fc;
}

@media (min-width: 1024px) {
    .lsri-footer__contact {
        flex-direction: column;
    }
}

/* ---------- Desktop main nav: one line from 1024px (11 items) ---------- */
.lsri-mainnav a {
    white-space: nowrap;
}

@media (min-width: 1024px) and (max-width: 1279px) {
    .lsri-mainnav {
        column-gap: 1rem;
    }

    .lsri-mainnav > a,
    .lsri-mainnav > div > a {
        font-size: 0.8125rem;
    }
}

/* ---------- Blog article (single.php) ---------- */
.lsri-article {
    max-width: 44rem;
    margin: 0 auto;
}

.lsri-article .blog-content {
    font-size: 1.0625rem;
    line-height: 1.75;
}

.lsri-article .blog-content h2 {
    font-size: 1.625rem;
    line-height: 1.3;
    letter-spacing: -0.01em;
    scroll-margin-top: 7rem;
}

.lsri-article .blog-content h3 {
    font-size: 1.25rem;
    scroll-margin-top: 7rem;
}

.lsri-article .blog-content h4 {
    margin: 1.75rem 0 0.75rem;
    color: var(--lsri-slate-900);
    font-size: 1.0625rem;
    font-weight: 700;
}

@media (min-width: 1024px) {
    .lsri-article .blog-content h2 {
        font-size: 1.875rem;
    }

    .lsri-article .blog-content h3 {
        font-size: 1.375rem;
    }
}

.lsri-article .blog-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 2rem 0;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.lsri-article .blog-content th,
.lsri-article .blog-content td {
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--lsri-neutral-200);
    text-align: left;
    vertical-align: top;
}

.lsri-article .blog-content th {
    background: #f8fafc;
    color: var(--lsri-slate-900);
    font-weight: 700;
}

.lsri-article .blog-content figure {
    margin: 2rem 0;
}

.lsri-article .blog-content figcaption {
    margin-top: -1.25rem;
    color: var(--lsri-neutral-600);
    font-size: 0.875rem;
    text-align: center;
}

.lsri-article .blog-content hr {
    margin: 2.5rem 0;
    border: 0;
    border-top: 1px solid var(--lsri-neutral-200);
}

.lsri-article .blog-content blockquote {
    padding: 0.75rem 1.25rem;
    border-left-color: var(--lsri-primary-600);
    background: var(--lsri-primary-50);
    border-radius: 0 var(--lsri-radius-md) var(--lsri-radius-md) 0;
}

.lsri-eeat p {
    margin: 0;
}

.lsri-eeat__icon {
    display: inline-flex;
    padding-top: 0.1rem;
    color: var(--lsri-primary-700);
}

.lsri-author-box {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 3rem;
    padding: 1.5rem;
    border: 1px solid var(--lsri-neutral-200);
    border-bottom: 4px solid var(--lsri-primary-600);
    border-radius: var(--lsri-radius-lg);
    background: #f8fafc;
}

@media (min-width: 640px) {
    .lsri-author-box {
        flex-direction: row;
        align-items: flex-start;
        padding: 1.75rem;
    }
}

.lsri-author-box__photo {
    width: 96px;
    height: 96px;
    flex-shrink: 0;
    border-radius: 999px;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #fff;
    box-shadow: var(--lsri-shadow-md);
}

.lsri-author-box .lsri-author-box__title {
    margin: 0 0 0.25rem;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.1875rem;
    font-weight: 700;
    line-height: 1.35;
}

.lsri-author-box__creds {
    margin: 0 0 0.75rem;
    color: var(--lsri-primary-700);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.5;
}

.lsri-author-box__bio {
    margin: 0 0 1rem;
    color: #475569;
    font-size: 0.9375rem;
    line-height: 1.65;
}

.lsri-author-box__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
}

.lsri-author-box__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 700;
}

.lsri-author-box__link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 44px;
    color: var(--lsri-primary-700);
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
}

.lsri-author-box__link:hover {
    text-decoration: underline;
}

/* Referral form: say something while the external JotForm iframe loads */
.jotform-container {
    position: relative;
    min-height: 800px;
}

.jotform-container::before {
    content: "Loading the referral form…";
    position: absolute;
    top: 2rem;
    left: 0;
    right: 0;
    color: var(--lsri-neutral-600);
    font-size: 0.9375rem;
    text-align: center;
}

.jotform-container iframe {
    position: relative;
}

/* Post content pasted from other apps can carry absolutely-positioned wrappers wider than the
   page (e.g. /frozen-shoulder-effective-treatment-options-explained/ at 1440px). Keep them inside
   the article column; tables scroll inside themselves (see .blog-content table). */
.lsri-article .blog-content {
    position: relative;
    overflow-x: clip;
}

/* Hover-only overlays/icons. They used opacity-0, which the pages' fade-in scripts strip from
   every element on scroll, leaving the overlay permanently visible. */
.lsri-hover-reveal {
    opacity: 0;
}

.group:hover .lsri-hover-reveal,
.group:focus-visible .lsri-hover-reveal {
    opacity: 1;
}

/* Keyboard focus must stay visible even where a template adds focus:outline-none (MRI FAQ). */
.focus\:outline-none:focus-visible {
    outline: 3px solid var(--lsri-primary-600);
    outline-offset: 2px;
}

/* FAQ accordions (<details> and button versions): same touch target and marker everywhere */
details > summary {
    min-height: 44px;
}

details > summary::-webkit-details-marker {
    display: none;
}

details > summary::marker {
    content: "";
}

/* Lucide placeholders: <i data-lucide class="w-4 h-4"> is inline (so its size is ignored) until
   the script swaps it for an <svg>; reserve the box so text doesn't jump when icons draw. */
i[data-lucide] {
    display: inline-block;
    flex-shrink: 0;
    vertical-align: middle;
}

/* =====================================================================
 * Batch 4 — clinic (location) pages and the shared FAQ partial (partials/faq.php)
 * ===================================================================== */
.lsri-location__details,
.lsri-location__services {
    padding: var(--lsri-section-y) 0;
    background: #fff;
}

.lsri-location__services {
    background: #f8fafc;
    border-top: 1px solid var(--lsri-neutral-200);
    border-bottom: 1px solid var(--lsri-neutral-200);
}

.lsri-location__cards {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

@media (min-width: 768px) {
    .lsri-location__cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem;
    }
}

.lsri-location__card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.5rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: var(--lsri-radius-lg);
    background: #fff;
    box-shadow: var(--lsri-shadow-sm);
}

.lsri-location__card-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
}

.lsri-location__card-title .lsri-icon {
    color: var(--lsri-primary-700);
}

.lsri-location__card-text {
    margin: 0;
    color: var(--lsri-neutral-700);
    font-style: normal;
    line-height: 1.6;
}

.lsri-location__card-links {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: auto 0 0;
}

.lsri-location__card-links a,
.lsri-location__card-note a,
.lsri-location__card-text a {
    color: var(--lsri-primary-700);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lsri-location__card-links a {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 44px;
}

.lsri-location__hours {
    margin: 0;
}

.lsri-location__hours > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--lsri-neutral-100);
}

.lsri-location__hours dt {
    color: var(--lsri-neutral-600);
}

.lsri-location__hours dd {
    margin: 0;
    color: var(--lsri-slate-900);
    font-weight: 600;
}

.lsri-location__card-note {
    margin: auto 0 0;
    color: var(--lsri-neutral-600);
    font-size: 0.9375rem;
}

.lsri-location__services .lsri-section-intro {
    max-width: 48rem;
}

/* Batch 7 T3 — small print under "Scans and treatments at …" (clinic page services_note) */
.lsri-location__small-print {
    margin: 1rem 0 0;
    color: var(--lsri-neutral-600);
    font-size: 0.875rem;
    line-height: 1.5;
}

.lsri-location__reviews {
    padding: 2.5rem 0;
    background: #fff;
}

.lsri-location__reviews-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.25rem;
    max-width: 64rem;
    margin: 0 auto;
    padding: 1.5rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: var(--lsri-radius-lg);
    background: var(--lsri-primary-50);
}

.lsri-location__reviews-inner > div {
    flex: 1 1 16rem;
}

.lsri-location__reviews-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: #fff;
    color: var(--lsri-star);
}

.lsri-location__reviews-icon .lsri-icon {
    fill: currentColor;
}

.lsri-location__reviews-title {
    margin: 0 0 0.25rem;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
}

.lsri-location__reviews-text {
    margin: 0;
    color: var(--lsri-neutral-700);
}

/* Shared FAQ partial */
.lsri-faq {
    padding: var(--lsri-section-y) 0;
    background: #fff;
}

.lsri-faq--slate {
    background: #f8fafc;
}

.lsri-faq__inner {
    max-width: 48rem;
    margin: 0 auto;
}

.lsri-faq__list {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.lsri-faq__item {
    border: 1px solid var(--lsri-neutral-200);
    border-radius: var(--lsri-radius-md);
    background: #fff;
}

.lsri-faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    color: var(--lsri-slate-900);
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
    list-style: none;
}

.lsri-faq__chevron {
    flex-shrink: 0;
    color: var(--lsri-primary-700);
    transition: transform 0.2s;
}

.lsri-faq__item[open] .lsri-faq__chevron {
    transform: rotate(180deg);
}

.lsri-faq__a {
    padding: 0 1.25rem 1.125rem;
    color: var(--lsri-neutral-700);
    line-height: 1.65;
}

.lsri-faq__a p {
    margin: 0 0 0.75rem;
}

.lsri-faq__a p:last-child {
    margin-bottom: 0;
}

.lsri-faq__a a {
    color: var(--lsri-primary-700);
    font-weight: 600;
    text-decoration: underline;
}

.lsri-faq__a ul,
.lsri-faq__a ol {
    margin: 0 0 0.75rem;
    padding-left: 1.25rem;
}

.lsri-faq__a ul {
    list-style: disc;
}

.lsri-faq__a ol {
    list-style: decimal;
}

.lsri-faq__a li + li {
    margin-top: 0.25rem;
}

.lsri-faq__a > :last-child {
    margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
    .lsri-faq__chevron {
        transition: none;
    }
}

/* Condition pages (page-condition.php) — hero and prose reuse the location-page styles */
.lsri-condition__intro {
    max-width: 44rem;
    margin: 0 0 1.75rem;
    color: #e2e8f0;
    font-size: 1.125rem;
    line-height: 1.65;
}

.lsri-condition__hero .lsri-available {
    margin: 0 0 1.25rem;
}

/* "Medically reviewed by … · date" (inc/medical-review.php): blog E-E-A-T header and condition hero */
.lsri-reviewed a {
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lsri-reviewed--hero {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: -0.75rem 0 1.75rem;
    color: #e2e8f0;
    font-size: 0.9375rem;
    line-height: 1.5;
}

.lsri-reviewed--hero .lsri-icon {
    flex-shrink: 0;
    margin-top: 0.15em;
    color: #5eead4;
}

.lsri-condition__section {
    padding: var(--lsri-section-y) 0;
    background: #fff;
}

.lsri-condition__section--tint {
    background: #f8fafc;
}

.lsri-condition__section .lsri-location__prose > h2:first-child {
    margin-top: 0;
}

.lsri-condition__cards {
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto;
}

/* Home review cards: stars in CSS (same Lucide star, 14px, 2px apart, amber-400 / neutral-300) */
.lsri-stars {
    position: relative;
    display: inline-block;
    width: 78px;
    height: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d4d4d4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z'/%3E%3C/svg%3E") 0 0 / 16px 14px repeat-x;
}

.lsri-stars::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: calc(var(--lsri-rating, 5) * 16px);
    max-width: 78px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='%23fbbf24' stroke='%23fbbf24' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z'/%3E%3C/svg%3E") 0 0 / 16px 14px repeat-x;
}

/* Initials in place of a ui-avatars.com placeholder image (same look: grey disc, dark letters) */
.lsri-avatar-initials {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ddd;
    color: #222;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1;
}

/* Archives, search results and 404 (archive.php, search.php, 404.php, partials/post-card.php) */
.lsri-archive__hero {
    padding: 3rem 0 2.5rem;
}

.lsri-archive__intro {
    max-width: 44rem;
    margin: 0 0 1.5rem;
    color: #e2e8f0;
    font-size: 1.0625rem;
    line-height: 1.6;
}

.lsri-archive__list {
    padding: var(--lsri-section-y) 0;
    background: #f8fafc;
}

.lsri-archive__empty {
    color: var(--lsri-neutral-700);
    font-size: 1.0625rem;
}

.lsri-archive__empty a {
    color: var(--lsri-primary-700);
    font-weight: 600;
    text-decoration: underline;
}

.lsri-post-grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 640px) {
    .lsri-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lsri-post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.lsri-post-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: var(--lsri-radius-lg);
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.lsri-post-card__link:hover {
    border-color: var(--lsri-primary-200);
    box-shadow: var(--lsri-shadow-md);
}

.lsri-post-card__img {
    display: block;
    aspect-ratio: 16 / 9;
    background: var(--lsri-primary-50);
}

.lsri-post-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lsri-post-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.25rem;
}

.lsri-post-card__date {
    color: var(--lsri-neutral-600);
    font-size: 0.8125rem;
}

.lsri-post-card__title {
    margin: 0;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
}

.lsri-post-card__excerpt {
    color: var(--lsri-neutral-700);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.lsri-post-card__more {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: auto;
    padding-top: 0.25rem;
    color: var(--lsri-primary-700);
    font-size: 0.9375rem;
    font-weight: 600;
}

.lsri-pagination {
    margin-top: 2.5rem;
}

.lsri-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}

.lsri-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 0.875rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: var(--lsri-radius-md);
    background: #fff;
    color: var(--lsri-slate-900);
    font-weight: 600;
    text-decoration: none;
}

.lsri-pagination .page-numbers.current {
    border-color: var(--lsri-primary-700);
    background: var(--lsri-primary-700);
    color: #fff;
}

.lsri-search {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    max-width: 36rem;
    margin-top: 1.5rem;
}

.lsri-search__label {
    flex-basis: 100%;
    color: var(--lsri-slate-900);
    font-weight: 600;
}

.lsri-search__input {
    flex: 1 1 14rem;
    min-height: 44px;
    padding: 0 0.875rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: var(--lsri-radius-md);
    background: #fff;
    color: var(--lsri-slate-900);
    font: inherit;
}

.lsri-search--light {
    margin-top: 2.5rem;
}

/* Batch 6 T2 — "Conditions we treat" link list (clinic and area pages, partials/conditions-list.php) */
.lsri-condition-links {
    margin-top: 2.5rem;
}

.lsri-condition-links__title {
    margin: 0 0 1rem;
    color: var(--lsri-slate-900);
    font-family: var(--lsri-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
}

.lsri-condition-links__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lsri-condition-links__list a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.5rem 1rem;
    border: 1px solid var(--lsri-neutral-200);
    border-radius: 999px;
    background: #fff;
    color: var(--lsri-primary-700);
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: border-color 0.2s, background-color 0.2s;
}

.lsri-condition-links__list a:hover {
    border-color: var(--lsri-primary-200);
    background: var(--lsri-primary-50);
}

.lsri-condition-links__list .lsri-condition-links__all {
    border-color: transparent;
    background: transparent;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Batch 6 T3 — Area pages (page-area.php) */
.lsri-area__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
    margin-top: 1rem;
}

.lsri-area__book {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 2.75rem;
    color: var(--lsri-primary-700);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lsri-area__conditions .lsri-condition-links {
    margin-top: 0;
}

.lsri-area__conditions .lsri-condition-links__title {
    font-size: 1.875rem;
    line-height: 1.2;
}

/* Batch 6 T6 — Easy TOC links: at least 24px tap targets (WCAG 2.2 target size; Lighthouse "target-size") */
#ez-toc-container .ez-toc-list a.ez-toc-link {
    display: inline-block;
    padding-block: 3px;
}
