/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lato-latin-300-normal-BP2wSCML.woff2)format("woff2"),url(/assets/lato-latin-300-normal-CINZtfFB.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lato-latin-400-normal-BEhtfm5r.woff2)format("woff2"),url(/assets/lato-latin-400-normal-B11PyLys.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lato-latin-700-normal-BUGMgin4.woff2)format("woff2"),url(/assets/lato-latin-700-normal-DAdL7O4w.woff)format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/lato-latin-900-normal-C3uaq3BA.woff2)format("woff2"),url(/assets/lato-latin-900-normal-CZBfLiEO.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/montserrat-latin-300-normal-BgP24wlQ.woff2)format("woff2"),url(/assets/montserrat-latin-300-normal-sTRdVzlf.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2)format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff)format("woff")}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-green-600:oklch(62.7% .194 149.214);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-bold:700;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-madiba-teal:#6ab1bf;--color-madiba-teal-dark:#0080aa;--color-madiba-slate:#585f77;--color-madiba-heading:#525252;--color-madiba-body:#7e7e7e;--color-madiba-border:#f1f1f1;--color-madiba-bg:#f9f9f9}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-5{bottom:calc(var(--spacing) * 5)}.bottom-16{bottom:calc(var(--spacing) * 16)}.bottom-\[25px\]{bottom:25px}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-3{grid-column:span 3/span 3}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[21px\]{margin-top:21px}.mt-\[60px\]{margin-top:60px}.mt-\[70px\]{margin-top:70px}.mt-\[100px\]{margin-top:100px}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-\[100px\]{margin-bottom:100px}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[19px\]{height:19px}.h-\[38px\]{height:38px}.h-\[300px\]{height:300px}.h-\[450px\]{height:450px}.h-\[480px\]{height:480px}.h-\[600px\]{height:600px}.h-full{height:100%}.h-px{height:1px}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[19px\]{width:19px}.w-\[23px\]{width:23px}.w-\[25px\]{width:25px}.w-\[38px\]{width:38px}.w-\[55px\]{width:55px}.w-\[100px\]{width:100px}.w-\[200px\]{width:200px}.w-\[270px\]{width:270px}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[1180px\]{max-width:1180px}.max-w-\[1240px\]{max-width:1240px}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[40px\]{gap:40px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[25px\]{border-radius:25px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-madiba-body{border-color:var(--color-madiba-body)}.border-madiba-border{border-color:var(--color-madiba-border)}.border-madiba-teal{border-color:var(--color-madiba-teal)}.border-white{border-color:var(--color-white)}.bg-\[\#0080aa\]{background-color:#0080aa}.bg-\[\#f9f9f9\]{background-color:#f9f9f9}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.bg-black\/70{background-color:color-mix(in oklab, var(--color-black) 70%, transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-madiba-bg{background-color:var(--color-madiba-bg)}.bg-madiba-slate{background-color:var(--color-madiba-slate)}.bg-madiba-teal{background-color:var(--color-madiba-teal)}.bg-madiba-teal\/90{background-color:#6ab1bfe6}@supports (color:color-mix(in lab, red, red)){.bg-madiba-teal\/90{background-color:color-mix(in oklab, var(--color-madiba-teal) 90%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/50{--tw-gradient-from:#00000080}@supports (color:color-mix(in lab, red, red)){.from-black\/50{--tw-gradient-from:color-mix(in oklab, var(--color-black) 50%, transparent)}}.from-black\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab, red, red)){.from-black\/60{--tw-gradient-from:color-mix(in oklab, var(--color-black) 60%, transparent)}}.from-black\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\/70{--tw-gradient-from:#000000b3}@supports (color:color-mix(in lab, red, red)){.from-black\/70{--tw-gradient-from:color-mix(in oklab, var(--color-black) 70%, transparent)}}.from-black\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-madiba-teal{--tw-gradient-from:var(--color-madiba-teal);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-black\/20{--tw-gradient-via:#0003}@supports (color:color-mix(in lab, red, red)){.via-black\/20{--tw-gradient-via:color-mix(in oklab, var(--color-black) 20%, transparent)}}.via-black\/20{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\/30{--tw-gradient-via:#0000004d}@supports (color:color-mix(in lab, red, red)){.via-black\/30{--tw-gradient-via:color-mix(in oklab, var(--color-black) 30%, transparent)}}.via-black\/30{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-black\/20{--tw-gradient-to:#0003}@supports (color:color-mix(in lab, red, red)){.to-black\/20{--tw-gradient-to:color-mix(in oklab, var(--color-black) 20%, transparent)}}.to-black\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-black\/50{--tw-gradient-to:#00000080}@supports (color:color-mix(in lab, red, red)){.to-black\/50{--tw-gradient-to:color-mix(in oklab, var(--color-black) 50%, transparent)}}.to-black\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-black\/70{--tw-gradient-to:#000000b3}@supports (color:color-mix(in lab, red, red)){.to-black\/70{--tw-gradient-to:color-mix(in oklab, var(--color-black) 70%, transparent)}}.to-black\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-madiba-slate{--tw-gradient-to:var(--color-madiba-slate);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-cover{background-size:cover}.bg-fixed{background-attachment:fixed}.bg-scroll{background-attachment:scroll}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-center{background-position:50%}.object-cover{object-fit:cover}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-10{padding:calc(var(--spacing) * 10)}.p-\[15px\]{padding:15px}.p-\[30px\]{padding:30px}.p-\[50px\]{padding:50px}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-10{padding-inline:calc(var(--spacing) * 10)}.px-\[20px\]{padding-inline:20px}.px-\[30px\]{padding-inline:30px}.px-\[35px\]{padding-inline:35px}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-32{padding-block:calc(var(--spacing) * 32)}.py-\[10px\]{padding-block:10px}.py-\[15px\]{padding-block:15px}.py-\[50px\]{padding-block:50px}.py-\[60px\]{padding-block:60px}.py-\[90px\]{padding-block:90px}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.text-center{text-align:center}.text-right{text-align:right}.font-\[\'Lato\'\]{font-family:Lato}.font-\[\'Montserrat\'\]{font-family:Montserrat}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[20px\]{font-size:20px}.text-\[24px\]{font-size:24px}.text-\[32px\]{font-size:32px}.text-\[40px\]{font-size:40px}.text-\[50px\]{font-size:50px}.text-\[70px\]{font-size:70px}.text-\[120px\]{font-size:120px}.leading-\[50px\]{--tw-leading:50px;line-height:50px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.tracking-\[-5px\]{--tw-tracking:-5px;letter-spacing:-5px}.tracking-\[2px\]{--tw-tracking:2px;letter-spacing:2px}.tracking-\[3px\]{--tw-tracking:3px;letter-spacing:3px}.tracking-\[4px\]{--tw-tracking:4px;letter-spacing:4px}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-\[\#727475\]{color:#727475}.text-\[\#878787\]{color:#878787}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-madiba-body{color:var(--color-madiba-body)}.text-madiba-heading{color:var(--color-madiba-heading)}.text-madiba-teal{color:var(--color-madiba-teal)}.text-red-600{color:var(--color-red-600)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_-2px_10px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 -2px 10px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);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-md{--tw-backdrop-blur:blur(var(--blur-md));-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(var(--blur-sm));-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-\[\#0080aa\]\/90:hover{background-color:oklab(56.1908% -.0718294 -.0862482/.9)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-madiba-body:hover{background-color:var(--color-madiba-body)}.hover\:bg-madiba-teal:hover{background-color:var(--color-madiba-teal)}.hover\:bg-madiba-teal-dark:hover{background-color:var(--color-madiba-teal-dark)}.hover\:bg-madiba-teal\/90:hover{background-color:#6ab1bfe6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-madiba-teal\/90:hover{background-color:color-mix(in oklab, var(--color-madiba-teal) 90%, transparent)}}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-madiba-teal:hover{color:var(--color-madiba-teal)}.hover\:text-white:hover{color:var(--color-white)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-madiba-teal:focus{border-color:var(--color-madiba-teal)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=48rem){.md\:bottom-6{bottom:calc(var(--spacing) * 6)}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-2{gap:calc(var(--spacing) * 2)}.md\:bg-fixed{background-attachment:fixed}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:pr-\[60px\]{padding-right:60px}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.md\:text-left{text-align:left}.md\:text-right{text-align:right}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-\[76px\]{font-size:76px}.md\:text-\[180px\]{font-size:180px}}@media (width>=64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}html{scroll-behavior:smooth}body{color:var(--color-madiba-body);font-family:Lato,sans-serif}.swiper-pagination-bullet-active{background-color:#6ab1bf!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}

/* madiba-bandeau : le bandeau suit le rapport de la photo (1920x900)
   au lieu d'une hauteur fixe de 600px qui la rognait. */
section.relative.h-\[600px\]{height:min(46.875vw,calc(100vh - 255px),900px)!important;width:100%;min-height:340px;margin-bottom:24px}

/* barre-haut-blanche : la bande du haut passe en blanc.
   Cible l'attribut de classe EXACT, pour ne pas toucher aux boutons
   ni au pied de page qui utilisent la meme couleur. */
div[class="bg-madiba-teal"]{background:#ffffff!important;border-bottom:1px solid #e8e8e8}
div[class="bg-madiba-teal"],
div[class="bg-madiba-teal"] a,
div[class="bg-madiba-teal"] span,
div[class="bg-madiba-teal"] p{color:#4a4a4a!important}
div[class="bg-madiba-teal"] a:hover{color:#6AB1BF!important}
/* les icones sont des SVG blancs : on les assombrit. Les drapeaux sont
   des PNG et gardent leurs couleurs. */
div[class="bg-madiba-teal"] img[src$=".svg"]{filter:brightness(0) opacity(.55)}

/* menu-plus-sombre : ACCUEIL, HEBERGEMENTS, RESTAURANT, SERVICES, RESERVATION
   passaient en gris moyen (#727475) et en graisse legere. */
a[class*="text-[#727475]"]{color:#2e3132!important;font-weight:400!important}
a[class*="text-[#727475]"]:hover{color:#6AB1BF!important}

/* video-retiree : la video YouTube sous le bandeau d'accueil n'est plus
   d'actualite. On masque le bloc entier, lecteur et marge comprise.
   Reversible : il suffit de supprimer ces deux regles. */
div[class*="max-w-[1180px]"]:has(> .aspect-video){display:none!important}
.aspect-video{display:none!important}

/* bande-non-fixe : la bande de 300px utilisait un fond fixe (parallaxe).
   Dans ce mode le navigateur dimensionne l'image sur la FENETRE et non sur
   la bande, ce qui l'agrandissait enormement. On la cale sur son bloc. */
/* parallaxe retablie : l'image reste fixe et se decouvre au defilement,
   comme les autres sections. L'image est livree en rapport 1.5, proche de
   celui de l'ecran, pour qu'elle ne soit pas agrandie. */

/* voile-carrousel : le bandeau posait un degrade noir de 70% a 20% sur chaque
   photo, pour la lisibilite du titre. C'est lui qui assombrissait les images,
   pas l'etalonnage. On l'allege a 38% -> 8%. */
section.relative.h-\[600px\] .bg-gradient-to-b.from-black\/70{
  background-image:linear-gradient(to bottom, rgba(0,0,0,.38) 0%, rgba(0,0,0,.08) 100%)!important}

/* ombre-titre : le voile ayant ete allege, le texte du bandeau perd du
   contraste sur les zones claires. Une ombre portee le rend lisible sans
   rassombrir la photo. */
section.relative.h-\[600px\] h1,
section.relative.h-\[600px\] h2,
section.relative.h-\[600px\] p,
section.relative.h-\[600px\] a{
  text-shadow:0 2px 10px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.45)}


/* voiles-sections : les sections Sejour et Nos Services posaient un voile
   noir a 50% sur la photo. On l'allege a 22% et on rend le texte lisible
   par une ombre plutot que par l'assombrissement de l'image. */
.bg-gradient-to-r.from-black\/50{background-image:linear-gradient(to bottom, rgba(0,0,0,.38) 0%, rgba(0,0,0,.08) 100%)!important}
section:has(> .bg-gradient-to-r.from-black\/50) h1,
section:has(> .bg-gradient-to-r.from-black\/50) h2,
section:has(> .bg-gradient-to-r.from-black\/50) h3,
section:has(> .bg-gradient-to-r.from-black\/50) p,
section:has(> .bg-gradient-to-r.from-black\/50) li,
section:has(> .bg-gradient-to-r.from-black\/50) a{
  text-shadow:0 2px 10px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.5)}
/* les titres en degrade ne reagissent pas a text-shadow : ombre de forme */
section:has(> .bg-gradient-to-r.from-black\/50) [class*="bg-clip-text"],
section:has(> .bg-gradient-to-r.from-black\/50) [class*="from-madiba-teal"]{
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}

/* lettrage-sections : sur Sejour / Evenements / Nos Services, les titres
   etaient en degrade turquoise decoupe dans le texte et le corps en gris
   clair : illisible sur une photo lumineuse. On passe tout en blanc franc. */
section:has(> .bg-gradient-to-r.from-black\/50) [class*="bg-clip-text"],
section:has(> .bg-gradient-to-r.from-black\/50) [class*="text-transparent"]{
  background-image:none!important;
  -webkit-text-fill-color:#ffffff!important;
  color:#ffffff!important}
section:has(> .bg-gradient-to-r.from-black\/50) h1,
section:has(> .bg-gradient-to-r.from-black\/50) h2,
section:has(> .bg-gradient-to-r.from-black\/50) h3,
section:has(> .bg-gradient-to-r.from-black\/50) p,
section:has(> .bg-gradient-to-r.from-black\/50) li,
section:has(> .bg-gradient-to-r.from-black\/50) span{
  color:#ffffff!important}

/* carte-blanche : la carte Search Rooms est sur fond blanc. Le passage en
   blanc du texte de la section la rendait illisible : on lui rend un texte
   fonce, et le bouton turquoise garde son texte blanc. */
section:has(> .bg-gradient-to-r.from-black\/50) .bg-white,
section:has(> .bg-gradient-to-r.from-black\/50) .bg-white *{
  color:#3b4a52!important; -webkit-text-fill-color:#3b4a52!important;
  text-shadow:none!important}
section:has(> .bg-gradient-to-r.from-black\/50) .bg-white [class*="bg-madiba-teal"],
section:has(> .bg-gradient-to-r.from-black\/50) .bg-white [class*="bg-madiba-teal"] *{
  color:#ffffff!important; -webkit-text-fill-color:#ffffff!important}

/* ================= modernisation : angles arrondis et ombres =============
   On arrondit les CONTENEURS, pas les images : les cartes recadrent deja
   leur contenu, donc les photos suivent. Les icones et le logo, qui sont
   des images libres, ne sont pas touches. */

/* --- cartes de chambres --- */
.border-madiba-border{
  border-radius:16px;
  box-shadow:0 6px 24px rgba(20,30,40,.10);
  transition:transform .25s ease, box-shadow .25s ease}
.border-madiba-border:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 36px rgba(20,30,40,.16)}

/* --- cartes claires (Search Rooms, encarts) --- */
.bg-white.border{border-radius:18px; box-shadow:0 8px 30px rgba(20,30,40,.10)}

/* --- boutons : en pastille --- */
button,
a[class*="bg-madiba-teal"],
[class*="bg-[#0080aa]"],
[class*="border"][class*="px-"][class*="py-"][class*="uppercase"]{
  border-radius:999px}

/* --- carte Google et cadres --- */
iframe{border-radius:18px}

/* --- champs de formulaire --- */
input, select, textarea{border-radius:12px}

/* ============== hud-verre : photos arrondies + panneaux translucides =====
   Les bandeaux pleine largeur deviennent des panneaux arrondis, detaches
   des bords. Les encarts poses par-dessus passent en verre depoli. */

/* --- bandeaux et sections en photo : panneaux arrondis --- */
section.relative.h-\[600px\],
main section[class*="bg-cover"]{
  border-radius:22px!important;
  overflow:hidden;
  margin-left:18px; margin-right:18px;
  width:auto!important}

/* --- toutes les photos de contenu --- */
main img{border-radius:12px}
/* sauf les icones, drapeaux, logos et moyens de paiement */
header img, footer img,
img[class*="w-[1"], img[class*="h-[1"],
img[src*="icon"], img[src$=".svg"], img[src*="Logo"],
img[src$="fr.png"], img[src$="en-us.png"], img[src*="cards"]{border-radius:0!important}

/* --- verre depoli sur les encarts poses sur les photos --- */
section:has(> .bg-gradient-to-r.from-black\/50) .bg-white{
  background-color:rgba(255,255,255,.58)!important;
  backdrop-filter:blur(14px) saturate(115%);
  -webkit-backdrop-filter:blur(14px) saturate(115%);
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:0 10px 40px rgba(10,25,40,.18)}

/* --- etiquettes de chambres : pastilles translucides --- */
[class*="bg-[#0080aa]"]{
  background-color:rgba(0,128,170,.48)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.28)}

/* --- bouton de defilement du bandeau --- */
section.relative.h-\[600px\] .bg-white{
  background-color:rgba(255,255,255,.38)!important;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.6)}

/* ================= hud-boutons : tous les boutons en verre ==============
   Fond translucide, flou d'arriere-plan, liseré clair et reflet superieur.
   Le texte reste plein pour la lisibilite. */
button,
a[class*="bg-madiba-teal"],
[class*="bg-[#0080aa]"],
.bg-madiba-teal{
  position:relative;
  backdrop-filter:blur(12px) saturate(130%);
  -webkit-backdrop-filter:blur(12px) saturate(130%);
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 6px 20px rgba(10,25,40,.18), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease}
button:hover,
a[class*="bg-madiba-teal"]:hover,
[class*="bg-[#0080aa]"]:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(10,25,40,.26), inset 0 1px 0 rgba(255,255,255,.45)}
/* turquoise translucide plutot que plein */
a[class*="bg-madiba-teal"], .bg-madiba-teal:not([class="bg-madiba-teal"]){
  background-color:rgba(106,177,191,.52)!important}
[class*="bg-[#0080aa]"]{background-color:rgba(0,128,170,.48)!important}
/* boutons a bordure seule (EN SAVOIR PLUS, RESERVEZ MAINTENANT) */
section:has(> .bg-gradient-to-r.from-black\/50) a[class*="border"],
section.relative.h-\[600px\] a[class*="border"]{
  background-color:rgba(255,255,255,.10)!important;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:999px}

/* ========== panneaux-texte : le texte sur verre sombre ==================
   Le blanc seul ne suffit pas sur une photo lumineuse. On pose les colonnes
   de texte sur un panneau translucide sombre : lisibilite garantie quelle
   que soit l'image, et coherent avec le reste du verre depoli. */
section:has(> .bg-gradient-to-r.from-black\/50) .grid > div{
  background:rgba(10,20,28,.24);
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:28px 24px}
/* la carte Search Rooms a deja son propre fond : on la laisse nue */
section:has(> .bg-gradient-to-r.from-black\/50) .grid > div:has(.bg-white){
  background:none; backdrop-filter:none; -webkit-backdrop-filter:none;
  border:0; padding:0}

/* titre-batiment : intitule de groupe occupant toute la largeur de la grille */
.madiba-titre-batiment{
  grid-column:1/-1;
  margin:34px 0 6px;
  font:300 22px/1.2 Lato,sans-serif;
  letter-spacing:.22em;
  color:#5a6b74;
  text-align:center;
  position:relative}
.madiba-titre-batiment::after{
  content:'';
  display:block;
  width:54px; height:2px;
  margin:12px auto 0;
  background:#6AB1BF;
  border-radius:2px}
.madiba-titre-batiment:first-child{margin-top:4px}

/* verre-pensions : les encarts DEMI-PENSION / PENSION COMPLETE passent en verre */
section:has(> .bg-gradient-to-r.from-black\/50) [class*="bg-white"],
section:has(> .bg-gradient-to-r.from-black\/50) [class*="bg-madiba-bg"]{
  background-color:rgba(255,255,255,.55)!important;
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  border:1px solid rgba(255,255,255,.45)!important}

/* ============ cadres-chambres : photos entieres et cadres plus grands ====
   Les cartes cadraient l'image en 4/3 alors que les photos sont en 16/9 :
   les cotes etaient coupes. On met le cadre au format des photos, et on
   elargit la grille qui laissait de la place perdue sur les bords. */
.border-madiba-border img[class*="aspect-"]{
  aspect-ratio:16/9!important;
  object-fit:cover}
/* grille des chambres elargie */
[class*="max-w-[1240px]"]:has(.border-madiba-border){max-width:1560px!important}
/* un peu plus d'air entre les cartes */
[class*="max-w-[1240px]"]:has(.border-madiba-border) .grid{gap:26px!important}

/* ============== visionneuse de chambres ================================
   Fleches franchement visibles : verre clair, liseré blanc, grande cible.
   C'est le defaut que tu as signale — on ne voyait pas comment naviguer. */
#madiba-lightbox{
  position:fixed; inset:0; z-index:9999; display:none;
  align-items:center; justify-content:center; gap:18px;
  background:rgba(8,14,20,.88);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  padding:28px}
#madiba-lightbox.ouvert{display:flex}
#madiba-lightbox figure{margin:0; max-width:min(1400px,92vw); text-align:center}
#madiba-lightbox img{
  max-width:100%; max-height:82vh; display:block;
  border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.55)}
#madiba-lightbox figcaption{
  margin-top:14px; color:#fff; font:300 13px/1 Lato,sans-serif; letter-spacing:.2em}
#madiba-lightbox button{
  flex:0 0 auto; width:56px; height:56px; border-radius:999px;
  font-size:24px; line-height:1; color:#fff; cursor:pointer;
  background:rgba(255,255,255,.16)!important;
  border:1.5px solid rgba(255,255,255,.75)!important;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  box-shadow:0 6px 22px rgba(0,0,0,.35);
  transition:background-color .18s ease, transform .18s ease}
#madiba-lightbox button:hover{background:rgba(255,255,255,.34)!important; transform:scale(1.07)}
#madiba-lightbox .ml-fermer{
  position:absolute; top:22px; right:26px; width:48px; height:48px; font-size:30px}
@media (max-width:640px){
  #madiba-lightbox{gap:8px; padding:12px}
  #madiba-lightbox button{width:46px; height:46px; font-size:20px}
}

/* grille-batiments : la grille reconstruite de la page Hebergements */
.madiba-grille-batiments{
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
  max-width:1560px; margin:0 auto; padding:0 16px}
@media (max-width:900px){.madiba-grille-batiments{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.madiba-grille-batiments{grid-template-columns:1fr}}

/* les cartes de cette page utilisent border-gray-200 : meme traitement
   que celles de l'accueil — coins arrondis, ombre, image au format 16/9 */
.cursor-pointer[class*="border-gray-200"]{
  border-radius:16px!important; overflow:hidden;
  box-shadow:0 6px 24px rgba(20,30,40,.10);
  transition:transform .25s ease, box-shadow .25s ease}
.cursor-pointer[class*="border-gray-200"]:hover{
  transform:translateY(-4px); box-shadow:0 14px 36px rgba(20,30,40,.16)}
.cursor-pointer[class*="border-gray-200"] img{aspect-ratio:16/9; object-fit:cover}

/* reveler-cartes : le site revele ses cartes par animation au defilement.
   En les deplacant dans la nouvelle grille, l'observateur qui les affiche
   ne les suit plus : elles restaient a opacite zero. */
.madiba-grille-batiments > div,
.madiba-grille-batiments > div *{opacity:1!important}
.madiba-grille-batiments > div{transform:none!important}

/* ---- Bandeau des trois suites : mise au format des cartes du site ---- */
/* Il gardait les vignettes carrees a angles vifs et un bouton bleu plat.  */
div[class*="max-w-[1240px]"]:has(img[src*="-150x150"]):has(> div > div > a[href="/reservation"]){max-width:1560px!important;padding-top:34px;padding-bottom:10px}
div[class*="max-w-[1240px]"]:has(img[src*="-150x150"]):has(> div > div > a[href="/reservation"]) > div{
  align-items:center;gap:20px;padding:14px!important;
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%);
  border:1px solid rgba(255,255,255,.55);border-radius:18px;
  box-shadow:0 6px 24px rgba(20,30,40,.10);
  transition:transform .25s ease, box-shadow .25s ease}
div[class*="max-w-[1240px]"]:has(img[src*="-150x150"]):has(> div > div > a[href="/reservation"]) > div:hover{
  transform:translateY(-3px);box-shadow:0 12px 34px rgba(20,30,40,.16)}
div[class*="max-w-[1240px]"]:has(img[src*="-150x150"]):has(> div > div > a[href="/reservation"]) img{
  width:104px!important;height:104px;border-radius:14px;flex:0 0 auto}
div[class*="max-w-[1240px]"]:has(img[src*="-150x150"]):has(> div > div > a[href="/reservation"]) h4{
  font-weight:500!important;letter-spacing:.02em;line-height:1.3}
div[class*="max-w-[1240px]"]:has(img[src*="-150x150"]):has(> div > div > a[href="/reservation"]) a[href="/reservation"]{
  border-radius:999px;padding:7px 16px!important;letter-spacing:.14em;
  background:rgba(0,128,170,.88)!important;
  box-shadow:0 3px 12px rgba(0,128,170,.28)}

/* ---- Page Hebergements : meme presentation que la section de l'accueil ---- */
/* Ses images avaient une hauteur fixe (400 px) posee en style inline, donc   */
/* des cadrages differents d'une carte a l'autre. On passe tout en 16/9.      */
.madiba-grille-batiments div[style*="height: 400px"],
.madiba-grille-batiments div[style*="height:400px"]{
  height:auto!important;aspect-ratio:16/9!important;width:100%}
.madiba-grille-batiments img[src*="-720x680"]{
  width:100%;height:100%;object-fit:cover}
.madiba-grille-batiments > div > div{
  border-color:#e6e6e6!important;border-radius:16px;overflow:hidden;
  box-shadow:0 6px 24px rgba(20,30,40,.10)}

/* ---- Page Hebergements : voiles noirs allegés, comme sur l'accueil ---- */
/* Ils etaient a 50 % et 60 % de noir plat : on ne voyait plus la photo.  */
div[style*="hebergements-entete"] > .bg-black\/50,
div[style*="Herbergement-2-opt"] > .bg-black\/60{
  background-color:transparent!important;
  background-image:linear-gradient(to bottom, rgba(0,0,0,.42) 0%, rgba(0,0,0,.12) 100%)!important}
/* Le sable est clair : on garde la photo lisible et on porte le texte. */
div[style*="Herbergement-2-opt"] h2,
div[style*="Herbergement-2-opt"] h1,
div[style*="Herbergement-2-opt"] p,
div[style*="hebergements-entete"] h1{
  text-shadow:0 2px 14px rgba(0,0,0,.72), 0 1px 3px rgba(0,0,0,.55)}

/* ---- Page Restaurant : memes voiles allegés que les autres pages ---- */
div[style*="restaurant-piscine"] > .bg-black\/50,
div[style*="restaurant-piscine"] > .bg-black\/60{
  background-color:transparent!important;
  background-image:linear-gradient(to bottom, rgba(0,0,0,.42) 0%, rgba(0,0,0,.12) 100%)!important}
div[style*="restaurant-piscine"] h1,
div[style*="restaurant-piscine"] h2,
div[style*="restaurant-piscine"] p{
  text-shadow:0 2px 14px rgba(0,0,0,.72), 0 1px 3px rgba(0,0,0,.55)}
/* Bandeau du haut : la fenetre visible remonte sur les batiments,
   les toits en paille sortent du cadre. */

/* ---- Cartes des chambres : voile noir allegé ---- */
/* Il montait a 70 % de noir en bas et assombrissait la photo.          */
/* On descend a 42 %, et le texte tient grace a une ombre portee.       */
.border-madiba-border .bg-gradient-to-b.from-transparent,
.border-gray-200 .bg-gradient-to-t.from-black\/70,
.group .bg-gradient-to-t.from-black\/70{
  background-image:linear-gradient(to top,
    rgba(0,0,0,.42) 0%, rgba(0,0,0,.14) 34%, rgba(0,0,0,0) 62%)!important}
.border-madiba-border .bg-gradient-to-b.from-transparent{
  background-image:linear-gradient(to bottom,
    rgba(0,0,0,0) 38%, rgba(0,0,0,.14) 66%, rgba(0,0,0,.42) 100%)!important}
.border-madiba-border .text-white,
.border-gray-200 .text-white,
.group .text-white{text-shadow:0 1px 6px rgba(0,0,0,.85), 0 1px 2px rgba(0,0,0,.7)}

/* ---- Pastilles des cartes de chambres : format verre ---- */
/* React ecrit la couleur en rgb(), pas en hexadecimal : mes premiers      */
/* selecteurs en 0080aa ne matchaient rien.                                */
[style*="rgb(0, 128, 170)"],
.border-madiba-border button[class*="bg-[#0080aa]"]{
  border-radius:999px!important;
  padding:8px 17px!important;
  background-color:rgba(0,128,170,.74)!important;
  -webkit-backdrop-filter:blur(10px) saturate(125%);backdrop-filter:blur(10px) saturate(125%);
  border:1px solid rgba(255,255,255,.3)!important;
  box-shadow:0 4px 16px rgba(0,0,0,.24);
  text-shadow:0 1px 3px rgba(0,0,0,.5)}
/* la pastille de prix, plus petite */
.absolute.bottom-5 [style*="rgb(0, 128, 170)"]{padding:6px 13px!important}

/* ---- Panneaux Sejour et Evenements : flou allege ---- */
/* Ils etaient a 12 px, le fond derriere devenait illisible.  */
section:has(> .bg-gradient-to-r.from-black\/50) .grid > div{
  -webkit-backdrop-filter:blur(5px) saturate(108%)!important;
          backdrop-filter:blur(5px) saturate(108%)!important}


/* ---- « Pourquoi nous choisir » : pictogrammes remontes ---- */
/* Le titre portait 100 px de marge basse, le bloc decrochait trop bas. */
h2[class*="mb-[100px]"], h1[class*="mb-[100px]"], h3[class*="mb-[100px]"]{
  margin-bottom:44px!important}

/* ---- Calendrier du widget : lisible une fois replace ---- */
#temp-date-picker .ui-datepicker{width:100%!important;font-size:13px}
#temp-date-picker table{width:100%!important;border-collapse:collapse;table-layout:fixed}
#temp-date-picker th{padding:6px 0!important;font-weight:500;color:#6b7a82;font-size:11px;
  text-transform:uppercase;letter-spacing:.04em;text-align:center}
#temp-date-picker td{padding:2px!important;text-align:center}
#temp-date-picker td a, #temp-date-picker td span{
  display:block;padding:7px 0;border-radius:9px;text-decoration:none;
  color:#33434c;font-size:13px;line-height:1.1}
#temp-date-picker td a:hover{background:#eef4f7}
#temp-date-picker .ui-state-active, #temp-date-picker .ui-datepicker-current-day a{
  background:#0080aa!important;color:#fff!important}
#temp-date-picker .ui-datepicker-title{
  text-align:center;font-weight:500;color:#33434c;padding:4px 0 8px}
#temp-date-picker .ui-datepicker-group{padding:0 8px;box-sizing:border-box}
#temp-date-picker .ui-datepicker-prev, #temp-date-picker .ui-datepicker-next{cursor:pointer}


/* grille-evenements : le meme modele que les batiments, mais en plus grand.
   Les photos d'evenements se lisent mal en vignette : on elargit le bloc et
   on augmente la hauteur des cartes. Le nombre de colonnes suit le nombre de
   photos du groupe, pour que les cartes gardent la meme taille partout. */
.madiba-grille-evenements{
  display:grid; gap:30px; max-width:1760px; margin:0 auto; padding:0 20px}
.madiba-grille-evenements.de-1{grid-template-columns:minmax(0,760px); justify-content:center}
.madiba-grille-evenements.de-2{grid-template-columns:repeat(2,1fr)}
.madiba-grille-evenements.de-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1180px){
  .madiba-grille-evenements.de-2,
  .madiba-grille-evenements.de-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){
  .madiba-grille-evenements.de-1,
  .madiba-grille-evenements.de-2,
  .madiba-grille-evenements.de-3{grid-template-columns:1fr}}
/* le site revele ses cartes au defilement : les notres ne sont pas suivies */
.madiba-grille-evenements > div,
.madiba-grille-evenements > div *{opacity:1!important}
.madiba-grille-evenements > div{transform:none!important}


/* titre-evenement : le meme intitule que pour les batiments, mais beaucoup
   plus aere. Les photos d'evenements ont besoin de respirer, et le titre doit
   se detacher nettement des photos qu'il annonce. */
.madiba-titre-evenement{
  margin:72px auto 34px;
  font:300 23px/1.3 Lato,sans-serif;
  letter-spacing:.24em;
  color:#5a6b74;
  text-align:center}
.madiba-titre-evenement::after{
  content:''; display:block;
  width:58px; height:2px; margin:18px auto 0;
  background:#6AB1BF; border-radius:2px}

/* la grille respire aussi : plus large, et davantage d'espace entre cartes */
.madiba-grille-evenements{max-width:1860px; gap:42px; padding:0 30px}
@media (max-width:1180px){.madiba-grille-evenements{gap:30px; padding:0 20px}}

/* titre-pensions : les formules de repas sont un autre sujet. Sans ce titre,
   leurs prix paraissaient se rapporter aux salles d'evenements. */
.madiba-titre-pensions{
  margin:96px auto 10px;
  font:300 32px/1.3 Lato,sans-serif;
  letter-spacing:.22em;
  color:#1d2a33;
  text-align:center}
.madiba-titre-pensions::after{
  content:''; display:block;
  width:58px; height:2px; margin:20px auto 0;
  background:#6AB1BF; border-radius:2px}


/* Les groupes de trois photos donnaient des vignettes. Toutes les photos
   passent donc a la taille de celles de la salle de seminaire : deux par
   rangee, quel que soit le nombre de photos du groupe. Quand un groupe en
   compte un nombre impair, la derniere est centree, a la meme taille que les
   autres : elle ne s'etire pas sur toute la largeur. */
.madiba-grille-evenements.de-1,
.madiba-grille-evenements.de-2,
.madiba-grille-evenements.de-3{
  grid-template-columns:repeat(2,1fr);
  max-width:1700px;
  gap:46px}
.madiba-grille-evenements > div:last-child:nth-child(odd){
  grid-column:1/-1;
  justify-self:center;
  width:min(100%, calc(50% - 23px))}
@media (max-width:900px){
  .madiba-grille-evenements.de-1,
  .madiba-grille-evenements.de-2,
  .madiba-grille-evenements.de-3{grid-template-columns:1fr; gap:30px}
  .madiba-grille-evenements > div:last-child:nth-child(odd){width:100%}}


/* Retour a une seule rangee par groupe : chaque groupe affiche toutes ses
   photos cote a cote, comme la page Hebergements. Mais on laisse la grille
   deborder largement vers les bords de l'ecran pour que les cartes restent
   grandes, meme a trois. */
.madiba-grille-evenements.de-1{grid-template-columns:minmax(0,1100px)}
.madiba-grille-evenements.de-2{grid-template-columns:repeat(2,1fr)}
.madiba-grille-evenements.de-3{grid-template-columns:repeat(3,1fr)}
.madiba-grille-evenements.de-1,
.madiba-grille-evenements.de-2,
.madiba-grille-evenements.de-3{
  max-width:min(2240px, 96vw);
  gap:30px;
  padding:0}
/* plus de carte isolee sur une deuxieme rangee */
.madiba-grille-evenements > div:last-child:nth-child(odd){
  grid-column:auto; justify-self:stretch; width:auto}
@media (max-width:1100px){
  .madiba-grille-evenements.de-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:780px){
  .madiba-grille-evenements.de-1,
  .madiba-grille-evenements.de-2,
  .madiba-grille-evenements.de-3{grid-template-columns:1fr; max-width:94vw}}


/* On pousse la grille jusqu'aux bords de l'ecran et on resserre l'ecart :
   c'est tout ce que la largeur permet de gagner quand les photos d'un groupe
   restent sur une seule rangee. */
.madiba-grille-evenements.de-1,
.madiba-grille-evenements.de-2,
.madiba-grille-evenements.de-3{
  max-width:none;
  width:calc(100vw - 48px);
  margin-left:calc(50% - 50vw + 24px);
  margin-right:calc(50% - 50vw + 24px);
  gap:22px;
  padding:0}
@media (max-width:780px){
  .madiba-grille-evenements.de-1,
  .madiba-grille-evenements.de-2,
  .madiba-grille-evenements.de-3{
    width:calc(100vw - 32px);
    margin-left:calc(50% - 50vw + 16px);
    margin-right:calc(50% - 50vw + 16px)}}


/* Pleine largeur, c'etait trop. On revient a une grille large mais bornee,
   avec de l'air sur les cotes. */
.madiba-grille-evenements.de-1,
.madiba-grille-evenements.de-2,
.madiba-grille-evenements.de-3{
  width:auto;
  max-width:min(1900px, 92vw);
  margin-left:auto;
  margin-right:auto;
  gap:28px;
  padding:0}
@media (max-width:780px){
  .madiba-grille-evenements.de-1,
  .madiba-grille-evenements.de-2,
  .madiba-grille-evenements.de-3{max-width:92vw; gap:22px}}


/* La grille butait sur la largeur du conteneur de la page : demander 92 % de
   l'ecran ne servait a rien. On la sort donc du conteneur et on la centre sur
   l'ecran, a une largeur intermediaire entre le bord a bord et la mise en page
   d'origine. */
.madiba-grille-evenements.de-1,
.madiba-grille-evenements.de-2,
.madiba-grille-evenements.de-3{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(1800px, calc(100vw - 170px));
  max-width:none;
  margin-left:0;
  margin-right:0;
  gap:28px;
  padding:0}
@media (max-width:900px){
  .madiba-grille-evenements.de-1,
  .madiba-grille-evenements.de-2,
  .madiba-grille-evenements.de-3{
    width:calc(100vw - 48px); gap:22px}}


/* Bandeaux de titre des pages interieures (Services, Restaurant,
   Hebergements, Contact...) : la photo etait couverte de 50 % de noir, ce qui
   l'eteignait completement. On descend a 30 %, assez pour que le titre blanc
   reste lisible. */
.bg-cover.bg-center > .absolute.inset-0.bg-black\/50{
  background-color:rgba(0,0,0,.30)!important}


/* Les bandeaux Hebergements et Restaurant cumulaient deux voiles : les 30 %
   de noir plat ajoutes pour toutes les pages, ET un ancien degrade a 42 %
   pose specialement sur ces deux pages. D'ou leur aspect bien plus sombre que
   Services, qui n'en a qu'un. On ne garde qu'une seule couche, legere. */
div[style*="hebergements-entete"] > .bg-black\/50,
div[style*="Herbergement-2-opt"] > .bg-black\/60,
div[style*="restaurant-piscine"] > .bg-black\/50,
div[style*="restaurant-piscine"] > .bg-black\/60{
  background-color:transparent!important;
  background-image:linear-gradient(to bottom,
    rgba(0,0,0,.26) 0%, rgba(0,0,0,.08) 100%)!important}


/* Restaurant : retour au voile d'origine, celui d'avant les essais du
   13 octobre. Hebergements garde le voile allege. */
div[style*="restaurant-piscine"] > .bg-black\/50,
div[style*="restaurant-piscine"] > .bg-black\/60{
  background-color:transparent!important;
  background-image:linear-gradient(to bottom,
    rgba(0,0,0,.42) 0%, rgba(0,0,0,.12) 100%)!important}


/* Restaurant : filtre baisse. */
div[style*="restaurant-piscine"] > .bg-black\/50,
div[style*="restaurant-piscine"] > .bg-black\/60{
  background-color:transparent!important;
  background-image:linear-gradient(to bottom,
    rgba(0,0,0,.22) 0%, rgba(0,0,0,.06) 100%)!important}


/* Restaurant : filtre baisse encore. */
div[style*="restaurant-piscine"] > .bg-black\/50,
div[style*="restaurant-piscine"] > .bg-black\/60{
  background-color:transparent!important;
  background-image:linear-gradient(to bottom,
    rgba(0,0,0,.14) 0%, rgba(0,0,0,.04) 100%)!important}


/* Restaurant : filtre quasi supprime. Le titre blanc tient grace a une ombre
   portee legere, sinon il se perdrait sur les murs clairs. */
div[style*="restaurant-piscine"] > .bg-black\/50,
div[style*="restaurant-piscine"] > .bg-black\/60{
  background-color:transparent!important;
  background-image:linear-gradient(to bottom,
    rgba(0,0,0,.06) 0%, rgba(0,0,0,0) 100%)!important}
div[style*="restaurant-piscine"] h1,
div[style*="restaurant-piscine"] h2{
  text-shadow:0 2px 14px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.35)}


/* Hebergements : meme traitement que Restaurant, filtre quasi supprime et
   ombre portee sur le titre. */
div[style*="hebergements-entete"] > .bg-black\/50,
div[style*="Herbergement-2-opt"] > .bg-black\/60{
  background-color:transparent!important;
  background-image:linear-gradient(to bottom,
    rgba(0,0,0,.06) 0%, rgba(0,0,0,0) 100%)!important}
div[style*="hebergements-entete"] h1,
div[style*="hebergements-entete"] h2,
div[style*="Herbergement-2-opt"] h1,
div[style*="Herbergement-2-opt"] h2{
  text-shadow:0 2px 14px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.35)}


/* Page Restaurant : le titre « cuisine preparee avec des produits locaux et
   de saison » tombait sur quatre lignes, avec « saison » seul sur la
   derniere. On equilibre les lignes et on adapte le corps a la largeur
   disponible pour tenir en trois lignes. */
h2[class*="text-[40px]"][class*="text-right"]{
  font-size:clamp(24px, 2.1vw, 38px)!important;
  line-height:1.32!important;
  text-wrap:balance;
  text-wrap:pretty}
