/* Sassy front end — consolidated theme stylesheet. */

/* Minimal layout/forms/navigation compatibility — replaces the Bootstrap bundle. */
:root{--bs-gutter-x:1.5rem;--bs-body-line-height:1.5}
.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5)}
@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}@media(min-width:1400px){.container{max-width:1320px}}
.row{display:flex;flex-wrap:wrap;margin-right:calc(-.5*var(--bs-gutter-x));margin-left:calc(-.5*var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5)}
.col-12{flex:0 0 auto;width:100%}.col-lg{flex:1 0 0%}
@media(min-width:768px){.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-1{margin-left:8.33333333%}.order-md-1{order:1!important}.order-md-2{order:2!important}.mb-md-0{margin-bottom:0!important}}
@media(min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.offset-lg-1{margin-left:8.33333333%}.offset-lg-3{margin-left:25%}.order-lg-1{order:1!important}.mb-lg-0{margin-bottom:0!important}}
.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.w-100{width:100%!important}.m-0{margin:0!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.me-3{margin-right:1rem!important}.p-2{padding:.5rem!important}.p-4{padding:1.5rem!important}.fw-bold{font-weight:700!important}.text-center{text-align:center!important}.align-items-center{align-items:center!important}.justify-content-end{justify-content:flex-end!important}.order-1{order:1!important}.order-2{order:2!important}.ms-auto{margin-left:auto!important}
@media(min-width:768px){.d-md-block{display:block!important}}@media(min-width:992px){.d-lg-block{display:block!important}.align-items-lg-center{align-items:center!important}}
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar>.container{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin:0;list-style:none}.navbar-toggler{background:transparent}.navbar-collapse{flex-basis:100%;flex-grow:1}.collapse:not(.show){display:none}
@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-nav{flex-direction:row}}
.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;z-index:1000;min-width:12rem;list-style:none}.dropdown-menu.show,.dropdown.show>.dropdown-menu{display:block}@media(max-width:991.98px){.dropdown-menu{position:static}}
.form-control{display:block;width:100%;padding:.75rem 1rem;font:inherit;line-height:1.5;color:inherit;background:#fff;border:1px solid rgba(17,38,63,.22);border-radius:12px}.form-floating{position:relative}.form-floating>.form-control{min-height:58px;padding:1.45rem 1rem .45rem}.form-floating>textarea.form-control{min-height:140px}.form-floating>label{position:absolute;top:0;left:0;padding:.8rem 1rem;color:var(--sassy-muted);pointer-events:none;transform-origin:0 0;transform:scale(.82) translateY(-.15rem)}
.accordion-collapse:not(.show){display:none}.accordion-button{width:100%;text-align:left}.accordion-button[aria-expanded=true]{font-weight:700}
.alert{position:relative;padding:1rem 1.2rem;border:1px solid transparent;border-radius:12px}.alert-success{color:#185c35;background:#e8f8ef;border-color:#b8e5ca}.alert-danger{color:#842029;background:#f8d7da;border-color:#f5c2c7}

.theme-bg-green{background-color:#8ccf3f!important}.theme-bg-yellow{background-color:#ffd000!important}.theme-bg-red{background-color:#f92442!important}.theme-bg-blue{background-color:#00a4f2!important}.theme-bg-purple{background-color:#a4599e!important}.theme-bg-pink{background-color:#ee92c2!important}.theme-bg-primary{background-color:#60efff!important}.theme-bg-primary-contrast{background-color:#60efff!important}.theme-bg-primary-contrast-dark{background-color:#00dcf5!important}.theme-bg-secondary{background-color:#0061ff!important}.theme-bg-secondary-contrast{background-color:#0061ff!important}.theme-bg-secondary-contrast-dark{background-color:#004ecc!important}.theme-bg-accent{background-color:#f7f7f7!important}.theme-bg-white{background-color:#fff!important}.theme-bg-black{background-color:#000!important}.theme-text-green{color:#8ccf3f!important}.theme-text-yellow{color:#ffd000!important}.theme-text-red{color:#f92442!important}.theme-text-blue{color:#00a4f2!important}.theme-text-purple{color:#a4599e!important}.theme-text-pink{color:#ee92c2!important}.theme-text-primary{color:#60efff!important}.theme-text-primary-contrast{color:#60efff!important}.theme-text-primary-contrast-dark{color:#00dcf5!important}.theme-text-secondary{color:#0061ff!important}.theme-text-secondary-contrast{color:#0061ff!important}.theme-text-secondary-contrast-dark{color:#004ecc!important}.theme-text-accent{color:#f7f7f7!important}.theme-text-white{color:#fff!important}.theme-text-black{color:#000!important}.fill-theme-bg-primary{fill:#60efff!important}.fill-theme-bg-primary-contrast{fill:#60efff!important}.fill-theme-bg-primary-contrast-dark{fill:#00dcf5!important}.fill-theme-bg-secondary{fill:#0061ff!important}.fill-theme-bg-secondary-contrast{fill:#0061ff!important}.fill-theme-bg-secondary-contrast-dark{fill:#004ecc!important}.fill-theme-bg-accent{fill:#f7f7f7!important}.fill-theme-bg-white{fill:#fff!important}.fill-theme-bg-black{fill:#000!important}.fill-theme-bg-green{fill:#8ccf3f!important}.fill-theme-bg-yellow{fill:#ffd000!important}.fill-theme-bg-red{fill:#f92442!important}.fill-theme-bg-blue{fill:#00a4f2!important}.fill-theme-bg-purple{fill:#a4599e!important}.fill-theme-bg-pink{fill:#ee92c2!important}a,h1,h2,h3,h4,h5,h6,p{padding:0;margin-top:0}p{font-size:18px}.fs-sm{font-size:16px}.fs-xs{font-size:14px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:"Bungee Inline",sans-serif;font-weight:400;font-style:normal}.h1,h1{font-size:3.475rem}.h2,h2{font-size:2.075rem}.h3,h3{font-size:1.875rem}.h4,h4{font-size:1.675rem}.h5,h5{font-size:1.475rem}.h6,.heading-p,h6{font-size:1.275rem}@media only screen and (max-width:1199px){.h1,h1{font-size:2.975rem}.h2,h2{font-size:1.775rem}.h3,h3{font-size:1.575rem}.h4,h4{font-size:1.375rem}.h5,h5{font-size:1.275rem}.h6,.heading-p,h6{font-size:1.075rem}}@media only screen and (max-width:991px){.h1,h1{font-size:2.175rem}.h2,h2{font-size:1.575rem}.h3,h3{font-size:1.375rem}.h4,h4{font-size:1.275rem}.h5,h5{font-size:1.175rem}.h6,.heading-p,h6{font-size:1.075rem}}a{text-decoration:none;color:inherit}a:hover{text-decoration:none;color:inherit}.btn,.wp-element-button{font-family:"Bungee Inline",sans-serif;font-weight:400;font-style:normal;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out;border-radius:32px;color:#000;background-color:#8ccf3f;border:none;outline:0;text-transform:uppercase;font-size:16px;padding:16px 32px;overflow:hidden;position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;line-height:var(--bs-body-line-height)}.btn:hover:hover,.wp-element-button:hover{color:#000;background-color:#ee92c2}.btn.small.small,.wp-element-button.small{padding:.5rem 1rem}@media screen and (max-width:368px){.btn,.wp-element-button{padding:16px 18px;font-size:14px}}.btn-primary{color:#000;background-color:#ffd000}.btn-primary:hover{color:#000;background-color:#ee92c2}.btn-secondary{color:#000;background-color:#8ccf3f}.btn-secondary:hover{color:#fff;background-color:#a4599e}.btn-dark{color:#fff;background-color:#000}.btn-dark:hover{color:#000;background-color:#fff}.stwelve-btn-outline{border:1px solid #8ccf3f;color:#8ccf3f;-webkit-box-shadow:none;box-shadow:none}.stwelve-btn-outline svg path{-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.stwelve-btn-outline:hover{color:#fff;background-color:#00a4f2}.stwelve-btn-outline:hover svg path{stroke:#00a4f2}.round-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:25px;height:25px;width:25px;background-color:#00a4f2}.round-btn svg{height:20px;width:20px}.round-btn.large{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);height:125px;width:125px;border-radius:125px;background-color:#00a4f2}.round-btn.large svg{height:40px;width:40px}@media screen and (max-width:767px){.round-btn.large{height:90px;width:90px;border-radius:90px}.round-btn.large svg{height:30px;width:30px}}.section-header{text-align:center;margin:0 auto}.section-header .subtitle>*{max-width:900px;font-size:20px;margin:0 auto}@media screen and (max-width:767px){.section-header .subtitle>*{font-size:18px;max-width:100%;margin:0}}.theme-list{margin:0;padding:0}.theme-list li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;list-style:none;list-style-type:none;margin-bottom:1rem}.theme-list li:last-of-type{margin-bottom:0}.theme-list li:before{content:url("data:image/svg+xml,%3Csvg width='20px' height='20px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' stroke='%2339abf5'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'/%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Cpath d='M16.0303 10.0303C16.3232 9.73744 16.3232 9.26256 16.0303 8.96967C15.7374 8.67678 15.2626 8.67678 14.9697 8.96967L10.5 13.4393L9.03033 11.9697C8.73744 11.6768 8.26256 11.6768 7.96967 11.9697C7.67678 12.2626 7.67678 12.7374 7.96967 13.0303L9.96967 15.0303C10.2626 15.3232 10.7374 15.3232 11.0303 15.0303L16.0303 10.0303Z' fill='%2339abf5'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 1.25C6.06294 1.25 1.25 6.06294 1.25 12C1.25 17.9371 6.06294 22.75 12 22.75C17.9371 22.75 22.75 17.9371 22.75 12C22.75 6.06294 17.9371 1.25 12 1.25ZM2.75 12C2.75 6.89137 6.89137 2.75 12 2.75C17.1086 2.75 21.25 6.89137 21.25 12C21.25 17.1086 17.1086 21.25 12 21.25C6.89137 21.25 2.75 17.1086 2.75 12Z' fill='%2339abf5'/%3E%3C/g%3E%3C/svg%3E");display:block;margin-right:.5rem;height:20px;width:20px}.theme-list.numbered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;counter-reset:item 0;gap:1rem;color:#fff}@media screen and (max-width:767px){.theme-list.numbered{padding:4px}}.theme-list.numbered li{-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);padding:1rem;border-radius:0;-ms-flex-preferred-size:calc(50% - 1rem);flex-basis:calc(50% - 1rem);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:all .5s cubic-bezier(.645,.045,.355,1);transition:all .5s cubic-bezier(.645,.045,.355,1)}.theme-list.numbered li:nth-of-type(1),.theme-list.numbered li:nth-of-type(4){background-color:#0061ff}.theme-list.numbered li:nth-of-type(1):hover,.theme-list.numbered li:nth-of-type(4):hover{background-color:#60efff}.theme-list.numbered li:nth-of-type(1):before,.theme-list.numbered li:nth-of-type(4):before{color:#fff}.theme-list.numbered li:nth-of-type(2),.theme-list.numbered li:nth-of-type(3){background-color:#60efff}.theme-list.numbered li:nth-of-type(2):hover,.theme-list.numbered li:nth-of-type(3):hover{background-color:#0061ff}.theme-list.numbered li:nth-of-type(2):before,.theme-list.numbered li:nth-of-type(3):before{color:#fff}.theme-list.numbered li:hover{-webkit-transform:scale(1.02);transform:scale(1.02);-webkit-transition:all 1s cubic-bezier(.645,.045,.355,1);transition:all 1s cubic-bezier(.645,.045,.355,1)}.theme-list.numbered li:before{content:counter(item,decimal-leading-zero);counter-increment:item;font-weight:900;font-size:2rem;line-height:2rem;-webkit-box-flex:0;-ms-flex:0 0 60px;flex:0 0 60px;margin:0 16px 0 0}@media screen and (max-width:991px){.theme-list.numbered li{-webkit-box-flex:0;-ms-flex:0 0 calc(65% - 1rem);flex:0 0 calc(65% - 1rem);padding:1rem}.theme-list.numbered li:nth-of-type(1),.theme-list.numbered li:nth-of-type(3){background-color:#0061ff}.theme-list.numbered li:nth-of-type(1):hover,.theme-list.numbered li:nth-of-type(3):hover{background-color:#60efff}.theme-list.numbered li:nth-of-type(1):before,.theme-list.numbered li:nth-of-type(3):before{color:#fff}.theme-list.numbered li:nth-of-type(2),.theme-list.numbered li:nth-of-type(4){background-color:#60efff}.theme-list.numbered li:nth-of-type(2):hover,.theme-list.numbered li:nth-of-type(4):hover{background-color:#0061ff}.theme-list.numbered li:nth-of-type(2):before,.theme-list.numbered li:nth-of-type(4):before{color:#fff}}@media screen and (max-width:767px){.theme-list.numbered li{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-flow:column!important;flex-flow:column!important;-webkit-box-flex:0;-ms-flex:0 0 calc(90% - 1rem);flex:0 0 calc(90% - 1rem);padding:1.5rem 1.25rem}.theme-list.numbered li:before{font-size:1.6rem;line-height:1.6rem;-webkit-box-flex:0;-ms-flex:0 0 30px;flex:0 0 30px;margin:0 0 16px 0}}[class*=unordered_list]{margin:0;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}[class*=unordered_list]>li{float:left;list-style:none;display:inline-block;padding:12px 12px 12px 0}.unordered_list_block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.unordered_list_block>li{width:100%;display:block}html{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;font-smoothing:antialiased;text-rendering:optimizeLegibility}body{height:100%;width:100%;font-family:Montserrat,sans-serif;font-optical-sizing:auto;font-weight:400;color:#000;font-size:1rem;padding:0;margin:0 auto;overflow-y:scroll;overflow-x:hidden}*{-webkit-box-sizing:border-box;box-sizing:border-box}iframe,img,video{height:auto;max-width:100%}.start-2{left:0}.end-2{right:2rem}.container{padding-left:var(--bs-gutter-x);padding-right:var(--bs-gutter-x);max-width:1440px}@media screen and (max-width:991px){.inline-scroll,ol{overflow-x:auto!important;padding-bottom:32px!important;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-flow:row nowrap!important;flex-flow:row nowrap!important}.inline-scroll::-webkit-scrollbar{height:8px}.inline-scroll::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.5);border-radius:8px}.inline-scroll::-webkit-scrollbar:vertical{width:14px}.inline-scroll::-webkit-scrollbar:horizontal{height:14px}.inline-scroll::-webkit-scrollbar-track{background-color:rgba(0,0,0,0)}}.scroller{max-width:100%}.scroller__inner{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:2rem}.scroller[data-animated=true]{overflow:hidden;-webkit-mask:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(20%,#fff),color-stop(80%,#fff),to(transparent));-webkit-mask:linear-gradient(90deg,transparent,#fff 20%,#fff 80%,transparent);mask:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(20%,#fff),color-stop(80%,#fff),to(transparent));mask:linear-gradient(90deg,transparent,#fff 20%,#fff 80%,transparent)}.scroller[data-animated=true] .scroller__inner{width:-webkit-max-content;width:-moz-max-content;width:max-content;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-animation:scroll var(--_animation-duration,40s) var(--_animation-direction,forwards) linear infinite;animation:scroll var(--_animation-duration,40s) var(--_animation-direction,forwards) linear infinite}.scroller[data-direction=right]{--_animation-direction:reverse}.scroller[data-direction=left]{--_animation-direction:forwards}.scroller[data-speed=fast]{--_animation-duration:20s}.scroller[data-speed=slow]{--_animation-duration:60s}@-webkit-keyframes scroll{to{-webkit-transform:translate(calc(-50% - .5rem));transform:translate(calc(-50% - .5rem))}}@keyframes scroll{to{-webkit-transform:translate(calc(-50% - .5rem));transform:translate(calc(-50% - .5rem))}}.scrollChild{height:100px;width:225px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative}.scrollChild a{height:100%;width:100%;position:relative}.scrollChild img{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;-o-object-fit:contain;object-fit:contain}.main-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;height:100%;width:100%}.wrapper{padding:1rem 0}.wrapper-largest{padding:4rem 0}@media screen and (max-width:767px){.wrapper-largest{padding:2rem 0}}.wrapper-largest.btm{padding:0 0 4rem 0!important}@media screen and (max-width:767px){.wrapper-largest.btm{padding:0 0 2rem 0!important}}.wrapper-largest.top{padding:4rem 0 0 0!important}@media screen and (max-width:767px){.wrapper-largest.top{padding:2rem 0 0 0!important}}.page-header{background-color:#ee92c2}.quote-form{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);border:0;padding:1.5rem;background:#f7f7f7;position:relative}.quote-form::before{content:"";background-color:#ee92c2;position:absolute;top:-2rem;right:-2rem;left:2rem;height:100%;width:100%;z-index:-1}.theme-social-icons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row;flex-flow:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0;margin:0}.theme-social-icons li{list-style:none;list-style-type:none;margin-right:.75rem}.theme-social-icons li:last-of-type{margin-right:0}.theme-social-icons li img,.theme-social-icons li svg{height:28px;width:28px}.default-table>:not(caption)>*>*{padding:.5rem .5rem;color:#000;background-color:rgba(0,0,0,0);border-bottom-width:var(--bs-border-width);-webkit-box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)));box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.default-table thead th{font-size:1rem;padding:1rem;width:100%}.default-table thead th:nth-of-type(1){width:70%}@media screen and (min-width:992px){.default-table thead th:nth-of-type(1){width:50%}}.form-floating>label{font-size:16px}.image-card ul,.text-section ul{margin:0;padding:0 0 0 20px}.image-card ul li,.text-section ul li{margin-bottom:.75rem}.image-card ul li:last-of-type,.text-section ul li:last-of-type{margin:0}.image-card ul li::marker,.text-section ul li::marker{content:"✓ ";color:#0061ff;display:block;font-size:20px}abbr[title]{-webkit-border-after:none;border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;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}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{font-size:16px;color:#1d1d1d;line-height:1.4;font-style:italic;font-weight:400}[hidden],template{display:none}@media print{*,:after,:before{background:rgba(0,0,0,0)!important;color:#000!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;-webkit-column-break-inside:avoid;break-inside:avoid;border:1px solid #ccc}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;-webkit-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;-webkit-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea{width:100%;border:1px solid #1d1d1d;border-radius:3px;padding:.5rem 1rem;-webkit-transition:all .3s;transition:all .3s}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#1d1d1d}button,input{overflow:visible}button,select{text-transform:none}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:rgba(0,0,0,0);width:100%;-webkit-margin-after:15px;margin-block-end:15px;font-size:.9em;border-spacing:0;border-collapse:collapse}table td,table th{padding:15px;line-height:1.5;vertical-align:top;border:1px solid rgba(128,128,128,.5019607843)}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{-webkit-border-before:1px solid rgba(128,128,128,.5019607843);border-block-start:1px solid rgba(128,128,128,.5019607843)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:rgba(128,128,128,.0705882353)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:rgba(128,128,128,.1019607843)}table tbody+tbody{-webkit-border-before:2px solid rgba(128,128,128,.5019607843);border-block-start:2px solid rgba(128,128,128,.5019607843)}@media(max-width:767px){table table{font-size:.8em}table table td,table table th{padding:7px;line-height:1.3}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{-webkit-margin-before:0;margin-block-start:0;-webkit-margin-after:0;margin-block-end:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:rgba(0,0,0,0)}#wpgs-gallery .wcgs-thumb.swiper-slide img{border:2px solid #ddd;border-radius:0;height:150px;-o-object-fit:cover;object-fit:cover}.wpc-filter-title{font-weight:800}#container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.custom-related{display:inline-block;clear:both;margin:2rem 0 4rem 0}.pdf-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;margin:1.5rem 0;gap:1.5rem}.pdf-wrapper .pdf-figure p{font-weight:600;margin-bottom:0}.pdf-wrapper .pdf-figure p a{font-weight:600;color:#000}@media only screen and (max-width:1024px){.pdf-wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.pdf-wrapper .pdf-figure{-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 1.5rem);flex:0 0 calc(50% - 1.5rem);text-align:center;margin:0 auto}.pdf-wrapper .pdf-figure img{height:125px}}.select2-container .select2-choice{width:100%;padding:15px;border:1px solid #d8d8d8;margin-bottom:20px;font-size:14px;border-radius:0}.stwelve_header .navbar-nav .nav-link{color:#000;font-weight:700!important}.stwelve_header .navbar-nav .nav-link.active,.stwelve_header .navbar-nav .nav-link.show{font-weight:900!important}@media only screen and (max-width:991px){.stwelve_header .navbar-toggler{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.stwelve_header .navbar-brand{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.stwelve_header .search-container-wrapper{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}}.navbar-toggler{background:rgba(0,0,0,0);border:none;padding:0}.navbar-toggler svg{height:25px;width:25px}.header_topbar{background:#8ccf3f;color:#000;padding:.5rem}.header_topbar .header-tel{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.header_topbar .header-tel a{font-size:16px;text-decoration:none}.header_topbar .header-tel svg{height:28px;width:28px;margin-right:.5rem}@media screen and (max-width:767px){.header_topbar .header-tel svg{height:25px;width:25px}}@media screen and (max-width:767px){.header_topbar .theme-social-icons svg{height:25px;width:25px}}.search-container-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0}.mglass{display:inline-block;pointer-events:none;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg)}#search-form{height:100%;width:100%}.searchbutton{font-size:38px;line-height:38px;height:100%;width:100%;margin:0;padding:0;font-weight:600}.search-exp-input:focus+.searchbutton{height:36px;width:36px;transition-duration:.4s;-moz-transition-duration:.4s;-webkit-transition-duration:.4s;-o-transition-duration:.4s;color:#000;z-index:9999999}.search-exp-input{position:absolute;left:37px;background-color:#fff;color:#000!important;outline:0;border:none;padding:0;width:0;height:100%;z-index:10;transition-duration:.4s;-moz-transition-duration:.4s;-webkit-transition-duration:.4s;-o-transition-duration:.4s;border-radius:0;font-weight:600}.search-exp-input:focus{top:0!important;bottom:0!important;left:0!important;width:100%;padding:0 16px;height:100%;border-radius:0;color:#000}.expandright{top:0;left:auto;right:0}.expandright:focus{padding:0 0 0 16px}.stwelve_header .navbar{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);padding:.5rem 0}.stwelve_header .navbar .navbar-brand{font-weight:900}.stwelve_header .navbar .navbar-brand img{height:70px;max-width:100%}@media screen and (max-width:767px){.stwelve_header .navbar .navbar-brand img{height:70px}}@media screen and (min-width:992px){#menu-nav{position:relative}}.menu-navigation li{position:relative!important}@media screen and (max-width:991px){.menu-navigation li{position:relative!important}}.menu-navigation li a{position:relative;font-weight:600!important;text-transform:uppercase!important;padding:0 1rem}@media screen and (max-width:991px){.menu-navigation li a{padding:.75rem 0;text-transform:uppercase;font-size:14px;border-bottom:1px solid #eee}}.menu-navigation li a:before{content:"";position:absolute;height:2px;width:0;left:8px;bottom:0;background-color:rgba(0,0,0,0);-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.menu-navigation li a:hover:before{content:"";width:calc(100% - 16px);background-color:#ee92c2;-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.menu-navigation li .dropdown-item.active,.menu-navigation li .dropdown-item:active{color:inherit!important;text-decoration:none!important;background-color:rgba(0,0,0,0)!important}.menu-navigation .dropdown-menu{border:none;background:#eee;border-radius:0;margin:0;padding:2rem .5rem}@media screen and (min-width:992px){.menu-navigation .dropdown-menu{position:absolute;bottom:auto}}.menu-navigation .dropdown-menu li{margin-bottom:1rem}@media screen and (max-width:991px){.menu-navigation .dropdown-menu li a{padding:.25rem 16px;border-bottom:none}}.menu-navigation .dropdown-menu li:last-of-type{margin-bottom:0}.stwelve_footer{background:#ffd000;color:#000;margin-top:auto}.footer-branding .footer-brand img{height:125px}.footer-branding .theme-social-icons{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:start!important}.footer-column div{margin-bottom:2rem}.footer-column p b,.footer-column p strong{font-family:"Bungee Inline",sans-serif;font-weight:400;font-style:normal;border-bottom:3px solid;display:inline-block}.footer-column ul li a{padding:0!important;margin-bottom:1rem}.footer-column ul li:last-of-type a{margin-bottom:0}.accordion .accordion-item{border:none}.accordion .accordion-item .accordion-header .accordion-button{font-family:Montserrat,sans-serif;font-optical-sizing:auto;font-weight:400;padding:1.5rem 0;background:rgba(0,0,0,0);color:#000;font-weight:700;font-size:18px}.accordion .accordion-item .accordion-header .accordion-button[aria-expanded=true]{color:#00a4f2}.accordion .accordion-item .accordion-collapse .accordion-body{padding-left:0;padding-right:0;padding-bottom:2rem;border:0;-webkit-box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}@media screen and (max-width:767px){.contact-cards .icon-card-container{max-width:75%}}.contact-cards .icon-card{-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.contact-cards .icon-card:hover{background-color:#60efff!important}.icon-cards .icon-card-header p{margin:0}@media screen and (max-width:991px){.icon-card-container{max-width:65%}.icon-card-container .icon-card{height:100%}.icon-card-container .text{font-size:16px}}@media screen and (max-width:767px){.icon-card-container{max-width:95%}.icon-card-container .icon-card{padding:1.5rem!important}}.icon-card-container .icon-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-decoration:none;border-radius:32px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.icon-card-container .icon-card .rm-btn{-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out;color:#000;font-weight:600}.icon-card-container .icon-card .rm-btn .round-btn{-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.icon-card-container .icon-card .rm-btn .round-btn svg{-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.icon-card-container .icon-card:hover{background-color:#00a4f2!important}.icon-card-container .icon-card:hover .rm-btn{color:#fff}.icon-card-container .icon-card:hover .rm-btn .round-btn{background-color:#f92442}.icon-card-container .icon-card .icon-card-img{height:115px;width:115px;padding:0;margin:0 auto .5rem auto}@media screen and (max-width:767px){.icon-card-container .icon-card .icon-card-img{height:100px;width:100px}}.icon-card-container .icon-card img{height:100%;display:block;margin:0}.image-card .section-header .subtitle,.image-card .section-header .subtitle p,.image-card .section-header .title{text-align:left;margin:0}.image-card .section-header .subtitle>*{max-width:100%}@media screen and (max-width:767px){.image-card .image-card-media{margin-bottom:2rem;-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}}.image-card .image-card-img-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;position:relative}.image-card .image-card-img-container .image-card-img-border{position:absolute;height:calc(100% - 2rem);width:calc(100% - 2rem);border-radius:32px;z-index:1;bottom:0;right:0}@media screen and (max-width:767px){.image-card .image-card-img-container .image-card-img-border{top:0;left:0;right:0;bottom:0;width:100%;height:90%}}.image-card .image-card-img-container img{position:relative;z-index:2;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding:1rem;border-radius:32px}@media screen and (max-width:767px){.image-card .image-card-img-container img{padding:1rem;margin:0 auto}}.image-card .image-card-img-container .multi-imgs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;padding:2rem;gap:2rem}@media screen and (max-width:991px){.image-card .image-card-img-container .multi-imgs{padding:0;margin-bottom:2rem}}.image-card .image-card-img-container .multi-imgs .four-img{-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 1rem);flex:0 0 calc(50% - 1rem);height:calc(50% - 1rem)}@media screen and (min-width:768px)and (max-width:991px){.image-card .image-card-img-container .multi-imgs .four-img{height:250px}}.image-card .image-card-img-container .multi-imgs .four-img img{height:100%;width:100%;padding:0;border:12px solid}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-primary{border-color:#60efff}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-primary-contrast{border-color:#60efff}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-secondary{border-color:#0061ff}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-secondary-contrast{border-color:#0061ff}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-accent{border-color:#f7f7f7}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-yellow{border-color:#ffd000}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-blue{border-color:#00a4f2}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-pink{border-color:#ee92c2}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-green{border-color:#8ccf3f}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-red{border-color:#f92442}.image-card .image-card-img-container .multi-imgs .four-img img.theme-bg-purple{border-color:#a4599e}.image-card.multi .section-header .subtitle,.image-card.multi .section-header .subtitle p,.image-card.multi .section-header .title{text-align:center;margin:0}.large-jumbotron{position:relative;height:90vh}@media only screen and (min-width:1400px){.large-jumbotron{height:65vh}}.large-jumbotron .image-card-media{height:100%;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;left:0;right:0;top:0}.large-jumbotron .image-card-media::before{content:"";position:absolute;height:100%;width:100%;background:-webkit-gradient(linear,left top,right top,from(#000),color-stop(99.92%,rgba(238,238,238,0)),to(rgba(255,255,255,0)));background:linear-gradient(90deg,#000 0,rgba(238,238,238,0) 99.92%,rgba(255,255,255,0) 100%);z-index:1}.large-jumbotron .image-card-media img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.large-jumbotron .container{height:100%;width:100%}.large-jumbotron .container .row{height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.large-jumbotron .image-card-content .ic-title{color:#fff;margin:0}.large-jumbotron .image-card-content .ic-subtitle{display:block;max-width:700px;color:#fff}.large-jumbotron .image-card-content .ic-subtitle p{font-size:inherit}@media screen and (max-width:991px){.large-jumbotron .image-card-content{margin-top:3rem!important}.large-jumbotron .image-card-content .ic-subtitle p{font-size:18px}}.large-jumbotron .image-card-content .image-card-cta{margin-top:calc(2rem - 12px)}.jumbotron{position:relative;height:100%;width:100%}.jumbotron .container{height:100%;width:100%}.jumbotron .container .row{height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.jumbotron .image-card-content .ic-title{margin:0}.jumbotron .image-card-content .ic-subtitle{display:block;max-width:585px}.jumbotron .image-card-content .ic-subtitle p{font-size:inherit}@media screen and (max-width:991px){.jumbotron .image-card-content{margin-top:3rem!important}.jumbotron .image-card-content .ic-subtitle p{font-size:18px}}.jumbotron .image-card-content .image-card-cta{margin-top:calc(2rem - 12px)}.jumbotron .image-card-media{padding:1rem calc(var(--bs-gutter-x)*.5) 1rem calc(var(--bs-gutter-x)*.5)}.jumbotron .image-card-media .image-card-img-container{padding:1rem;z-index:1;position:relative}.jumbotron .image-card-media .image-card-img-container:after,.jumbotron .image-card-media .image-card-img-container:before{width:calc(100% - 2rem);height:calc(100% - 2rem);z-index:-1;content:"";position:absolute;border-radius:32px}.jumbotron .image-card-media .image-card-img-container:before{top:0;left:0;background-color:#ee92c2}.jumbotron .image-card-media .image-card-img-container:after{right:0;bottom:0;background-color:#8ccf3f}.jumbotron .image-card-media .image-card-img-container img{position:relative;z-index:2;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:32px}@media screen and (max-width:991px){.jumbotron .image-card-media{margin-top:3rem!important;padding:0 calc(var(--bs-gutter-x)*.5)}.jumbotron .image-card-media .image-card-img-container{height:100%}}@media screen and (max-width:991px){.jumbotron{padding:0 0 3rem 0;min-height:auto}.jumbotron .container{max-width:100%}}.single-post-header{position:relative;height:calc(100vh - 152px);width:100%}.single-post-header .featured-image{width:100%;position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.single-post-header .featured-image:after{content:"";height:100%;width:100%;background:rgba(0,0,0,.5);position:absolute;top:0;left:0;right:0;bottom:0}.single-post-header .featured-image img{height:100%;-o-object-fit:cover;object-fit:cover}.single-post-header .post-meta{color:#fff;height:100%;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.comments-area .comment-form-comment{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.stwelve-post .post-container{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.stwelve-post .post-meta ul li{list-style-type:none}.stwelve-post .post-meta ul li a{text-decoration:none;text-transform:uppercase;font-weight:600}.stwelve-post .post-media{display:block;height:250px;width:100%}.stwelve-post .post-media img{height:100%;-o-object-fit:cover;object-fit:cover}.stwelve-post .post-content{display:block;padding:0 1rem 1rem 1rem}.post-navigation{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;gap:2rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.post-navigation .post-link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem);padding:1rem;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);background:#60efff}.post-navigation .post-link.next-post-link{background:#0061ff}@media screen and (max-width:767px){.post-navigation .post-link{-webkit-box-flex:0;-ms-flex:0 0 calc(100% - 2rem);flex:0 0 calc(100% - 2rem)}}.post-navigation .post-link a{display:block;width:100%;height:100%}.text-section .section-subtitle{line-height:2.2rem}.text-section .section-header .col-md-12{padding:0}.text-section .section-header .subtitle,.text-section .section-header .subtitle p,.text-section .section-header .title{text-align:left;margin:0}.text-section .subtitle{margin-top:2rem}.text-section .subtitle p{text-align:inherit}.text-section.theme-bg-black .subtitle,.text-section.theme-bg-black .subtitle p,.text-section.theme-bg-black .title,.text-section.theme-bg-secondary .subtitle,.text-section.theme-bg-secondary .subtitle p,.text-section.theme-bg-secondary .title,.text-section.theme-bg-secondary-contrast .subtitle,.text-section.theme-bg-secondary-contrast .subtitle p,.text-section.theme-bg-secondary-contrast .title,.text-section.theme-bg-secondary-contrast-dark .subtitle,.text-section.theme-bg-secondary-contrast-dark .subtitle p,.text-section.theme-bg-secondary-contrast-dark .title{color:#fff}.video-section{height:70vh;width:100%;display:block}@media screen and (max-width:767px){.video-section{height:260px}}.video-section .vs-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;width:100%;position:relative}.video-section .vs-container .round-btn{position:absolute;z-index:2}.video-section .vs-container img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;z-index:1}.wave-wrapper{position:relative;overflow:hidden}.wave-container{position:relative;z-index:-1;height:116px;width:100%;bottom:1px;top:-1px}.wave{width:100%;height:100%;position:absolute;top:0;left:0;right:0;bottom:0}.wave.btm{-webkit-transform:rotate(180deg);transform:rotate(180deg)}

/*
 * Sassy Sensory Surprises — 2026 front-end refresh
 * Existing field names / values are intentionally preserved.
 */
:root {
  --sassy-ink: #11263F;
  --sassy-muted: #5D6B7A;
  --sassy-paper: #FFF9F3;
  --sassy-surface: #F2F8FB;
  --sassy-line: rgba(17, 38, 63, .12);
  --sassy-blue: #087CFA;
  --sassy-blue-dark: #0A4E9D;
  --sassy-sky: #24B8EE;
  --sassy-pink: #EB5CB5;
  --sassy-purple: #B845D5;
  --sassy-green: #35B536;
  --sassy-lime: #63D451;
  --sassy-yellow: #FFC400;
  --sassy-orange: #FF7A1A;
  --sassy-red: #F25555;
  --sassy-white: #FFFFFF;
  --sassy-radius: 30px;
  --sassy-radius-sm: 18px;
  --sassy-shadow: 0 22px 70px rgba(16, 35, 56, .10);
  --sassy-container: 1380px;
  --sassy-pad: clamp(1.2rem, 3.5vw, 3.25rem);
}

html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body.stwelve.sassy-modern {
  min-height: 100%;
  background: var(--sassy-paper);
  color: var(--sassy-ink);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif !important;
  font-size: 18px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.sassy-modern p,
body.sassy-modern li,
body.sassy-modern input,
body.sassy-modern textarea,
body.sassy-modern select,
body.sassy-modern button { font-family: "Atkinson Hyperlegible", Arial, sans-serif; }

body.sassy-modern h1,
body.sassy-modern h2,
body.sassy-modern h3,
body.sassy-modern h4,
body.sassy-modern h5,
body.sassy-modern h6,
body.sassy-modern .h1,
body.sassy-modern .h2,
body.sassy-modern .h3,
body.sassy-modern .h4,
body.sassy-modern .h5,
body.sassy-modern .h6 {
  color: var(--sassy-ink);
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 800 !important;
  font-style: normal;
  letter-spacing: -.04em;
  line-height: 1.03;
}
body.sassy-modern h1 { font-size: clamp(3rem, 7vw, 6.75rem); }
body.sassy-modern h2 { font-size: clamp(2.25rem, 4.7vw, 4.8rem); }
body.sassy-modern h3 { font-size: clamp(1.35rem, 2.1vw, 2rem); }
body.sassy-modern h4 { font-size: clamp(1.25rem, 1.8vw, 1.7rem); }
body.sassy-modern p { font-size: 1.05rem; line-height: 1.72; }
body.sassy-modern a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
body.sassy-modern img { display: block; }

body.sassy-modern .container {
  width: min(100% - (var(--sassy-pad) * 2), var(--sassy-container));
  max-width: var(--sassy-container);
  padding-left: 0;
  padding-right: 0;
}
body.sassy-modern .wrapper-largest { padding: clamp(4.5rem, 8vw, 8rem) 0; }
body.sassy-modern .wave-container { display: none !important; }
body.sassy-modern .wave-wrapper { overflow: visible; }

/* Existing colour choices become calm surfaces instead of loud full blocks. */
body.sassy-modern .theme-bg-pink { background-color: #fff2f8 !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-blue { background-color: #eff9ff !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-green { background-color: #f3f9ed !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-yellow { background-color: #fff9df !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-purple { background-color: #f7f0f8 !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-red { background-color: #fff0f2 !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-primary,
body.sassy-modern .theme-bg-primary-contrast,
body.sassy-modern .theme-bg-primary-contrast-dark { background-color: #eefcff !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-secondary,
body.sassy-modern .theme-bg-secondary-contrast,
body.sassy-modern .theme-bg-secondary-contrast-dark { background-color: #eef4ff !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-accent { background-color: #f5f6f8 !important; color: var(--sassy-ink) !important; }

/* Restore strong brand colours only when old colour classes are used as decorative accents. */
body.sassy-modern .sassy-image-accent.theme-bg-pink,
body.sassy-modern .sassy-orb.theme-bg-pink { background: var(--sassy-pink) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-blue,
body.sassy-modern .sassy-orb.theme-bg-blue { background: var(--sassy-sky) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-green,
body.sassy-modern .sassy-orb.theme-bg-green { background: var(--sassy-green) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-yellow,
body.sassy-modern .sassy-orb.theme-bg-yellow { background: var(--sassy-yellow) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-purple,
body.sassy-modern .sassy-orb.theme-bg-purple { background: var(--sassy-purple) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-red,
body.sassy-modern .sassy-orb.theme-bg-red { background: var(--sassy-red) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-primary-contrast,
body.sassy-modern .sassy-orb.theme-bg-primary-contrast { background: #60efff !important; }
body.sassy-modern .sassy-image-accent.theme-bg-secondary-contrast,
body.sassy-modern .sassy-orb.theme-bg-secondary-contrast { background: var(--sassy-blue) !important; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 99999;
  padding: .8rem 1rem;
  background: #fff;
  color: var(--sassy-ink);
  border: 2px solid var(--sassy-ink);
  border-radius: 8px;
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
body.sassy-modern :focus-visible { outline: 3px solid #ffca28 !important; outline-offset: 4px; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255, 253, 249, .94);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: box-shadow .25s ease, border-color .25s ease;
}
.site-header.is-scrolled { border-bottom-color: var(--sassy-line); box-shadow: 0 8px 30px rgba(23, 32, 42, .06); }
body.sassy-modern .header_topbar { background: var(--sassy-blue-dark); color: #fff; padding: .5rem 0; }
.sassy-topbar-inner { display: flex; align-items: center; justify-content: space-between; min-height: 34px; }
.sassy-topbar-email { display: inline-flex; align-items: center; gap: .5rem; color: #fff; font-size: .9rem; font-weight: 700; }
.sassy-topbar-email:hover { color: #fff; text-decoration: underline; }
body.sassy-modern .header_topbar .theme-social-icons svg,
body.sassy-modern .site-footer .theme-social-icons svg { width: 22px; height: 22px; }
body.sassy-modern .stwelve_header .navbar { box-shadow: none !important; padding: .8rem 0; background: transparent; }
.sassy-nav-inner { min-height: 74px; }
body.sassy-modern .navbar-brand img { height: clamp(54px, 5vw, 72px) !important; width: auto; max-width: 260px; object-fit: contain; }
body.sassy-modern .menu-navigation .navbar-nav { gap: clamp(.2rem, .75vw, .8rem); }
body.sassy-modern .menu-navigation li { position: relative !important; }
body.sassy-modern .menu-navigation li a {
  padding: .7rem .75rem !important;
  color: var(--sassy-ink);
  font-family: "Manrope", sans-serif;
  font-size: .88rem;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  text-transform: none !important;
  border: 0 !important;
}
body.sassy-modern .menu-navigation li a::before { display: none !important; }
body.sassy-modern .menu-navigation li a:hover,
body.sassy-modern .menu-navigation li.current-menu-item > a,
body.sassy-modern .menu-navigation li.current-menu-ancestor > a { color: var(--sassy-blue); }
body.sassy-modern .menu-navigation .dropdown-menu {
  top: calc(100% + .8rem);
  left: 50%;
  right: auto;
  min-width: 240px;
  padding: .75rem;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid var(--sassy-line);
  border-radius: 18px;
  box-shadow: var(--sassy-shadow);
}
body.sassy-modern .menu-navigation .dropdown-menu li { margin: 0; }
body.sassy-modern .menu-navigation .dropdown-menu a { border-radius: 10px; }
body.sassy-modern .menu-navigation .dropdown-menu a:hover { background: #f4f7fb; }
body.sassy-modern .navbar-toggler { width: 48px; height: 48px; border: 1px solid var(--sassy-line); border-radius: 999px; display: none; align-items: center; justify-content: center; }
.menu-toggle-lines { width: 21px; display: grid; gap: 4px; }
.menu-toggle-lines i { display: block; height: 2px; background: var(--sassy-ink); border-radius: 99px; }
body.sassy-modern .search-container-wrapper { width: 44px; height: 44px; margin-left: .7rem; }
body.sassy-modern .search-container-wrapper form { width: 100%; height: 100%; }

/* Buttons */
body.sassy-modern .btn,
body.sassy-modern 
body.sassy-modern .wp-element-button {
  min-height: 50px;
  gap: .75rem;
  justify-content: center;
  padding: .85rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 999px;
  box-shadow: none;
  font-family: "Manrope", sans-serif !important;
  font-size: .92rem;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  line-height: 1.15;
  text-transform: none;
}
body.sassy-modern .btn-primary { background: var(--sassy-blue); color: #fff; }
body.sassy-modern .btn-primary:hover { background: var(--sassy-blue-dark); color: #fff; transform: translateY(-2px); }
body.sassy-modern .btn-secondary { background: transparent; border-color: rgba(23,32,42,.35); color: var(--sassy-ink); }
body.sassy-modern .btn-secondary:hover { background: #fff; border-color: var(--sassy-ink); color: var(--sassy-ink); transform: translateY(-2px); }

.sassy-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1.15rem;
  color: var(--sassy-blue-dark);
  font-family: "Manrope", sans-serif;
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.sassy-eyebrow::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--sassy-pink); box-shadow: 0 0 0 6px rgba(216,75,145,.12); }
.sassy-richtext { color: var(--sassy-muted); }
.sassy-richtext > :last-child { margin-bottom: 0; }
.sassy-richtext p { color: inherit; }
.sassy-lead,
.sassy-lead p { color: var(--sassy-muted); font-size: clamp(1.15rem, 1.7vw, 1.4rem) !important; line-height: 1.55 !important; }

/* Hero */
.sassy-hero {
  position: relative;
  overflow: clip;
  min-height: min(800px, calc(100vh - 110px));
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 8% 15%, rgba(238,146,194,.16), transparent 27%),
    radial-gradient(circle at 90% 10%, rgba(96,239,255,.16), transparent 28%),
    radial-gradient(circle at 84% 88%, rgba(140,207,63,.13), transparent 26%),
    var(--sassy-paper);
}
.sassy-hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -230px;
  top: 18%;
  border: 1px solid rgba(7,86,201,.13);
  border-radius: 50%;
  pointer-events: none;
}
.sassy-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); gap: clamp(3rem, 6vw, 7rem); align-items: center; }
.sassy-hero-copy { position: relative; z-index: 2; max-width: 820px; }
body.sassy-modern .sassy-hero .ic-title { max-width: 850px; margin: 0 0 1.75rem; color: var(--sassy-ink) !important; font-size: clamp(3.35rem, 6.5vw, 7.1rem) !important; }
.sassy-highlight { display: inline; color: var(--sassy-blue); }
.sassy-hero .sassy-lead { max-width: 710px; }
.sassy-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.sassy-hero-media { position: relative; min-width: 0; }
.sassy-hero-image-wrap { position: relative; z-index: 2; aspect-ratio: 4 / 5; max-height: 650px; overflow: hidden; border-radius: 52px 52px 120px 52px; box-shadow: var(--sassy-shadow); background: #f4f6f8; }
.sassy-hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.sassy-orb { position: absolute; z-index: 1; border-radius: 50%; opacity: .9; }
.sassy-orb-one { width: 180px; height: 180px; top: -45px; right: -35px; }
.sassy-orb-two { width: 135px; height: 135px; bottom: -35px; left: -50px; }
.sassy-hero-caption { position: absolute; z-index: 3; right: -12px; bottom: 8%; display: grid; gap: .35rem; }
.sassy-hero-caption span { width: max-content; padding: .5rem .85rem; background: rgba(255,255,255,.92); border: 1px solid rgba(23,32,42,.08); border-radius: 999px; box-shadow: 0 8px 24px rgba(23,32,42,.08); font-family: "Manrope", sans-serif; font-size: .76rem; font-weight: 800; }

.sassy-hero--immersive { min-height: 72vh; color: #fff; background: #152033; }
.sassy-hero--immersive::after { display: none; }
.sassy-hero-backdrop { position: absolute; inset: 0; }
.sassy-hero-backdrop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,18,32,.92) 0%, rgba(9,18,32,.72) 48%, rgba(9,18,32,.22) 100%); }
.sassy-hero-backdrop img { width: 100%; height: 100%; object-fit: cover; }
.sassy-hero--immersive .container { position: relative; z-index: 2; }
.sassy-hero-immersive-copy { max-width: 830px; padding: clamp(6rem, 10vw, 10rem) 0; }
body.sassy-modern .sassy-hero--immersive h1,
body.sassy-modern .sassy-hero--immersive .sassy-lead,
body.sassy-modern .sassy-hero--immersive .sassy-lead p { color: #fff !important; }
.sassy-hero--immersive .sassy-eyebrow { color: #fff; }

/* Section headings */
.sassy-section-heading { max-width: 900px; margin: 0 0 clamp(2.6rem, 5vw, 5rem); }
.sassy-section-heading h2 { margin-bottom: 1.35rem; }
.sassy-section-heading .subtitle { max-width: 760px; }
.sassy-section-heading--split { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .6fr); gap: 3rem; align-items: end; }
.sassy-section-heading--center { margin-left: auto; margin-right: auto; text-align: center; }
.sassy-section-heading--center .sassy-richtext { margin-left: auto; margin-right: auto; max-width: 760px; }

/* Image / text block */
.sassy-split { position: relative; overflow: clip; background: var(--sassy-paper); }
.sassy-split-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); gap: clamp(3rem, 7vw, 7.5rem); align-items: center; }
.sassy-split--right .sassy-split-media { order: 2; }
.sassy-split--right .sassy-split-copy { order: 1; }
.sassy-split-media,
.sassy-faq-media,
.sassy-contact-media { position: relative; margin: 0; min-width: 0; }
.sassy-split-media img,
.sassy-faq-media img,
.sassy-contact-media img { position: relative; z-index: 2; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--sassy-radius); box-shadow: var(--sassy-shadow); }
.sassy-image-accent { position: absolute; z-index: 1; width: 82%; height: 84%; right: -18px; bottom: -18px; border-radius: var(--sassy-radius); opacity: .8; background: var(--sassy-sky); }
.sassy-split--left .sassy-image-accent { right: auto; left: -18px; }
.sassy-split-copy { max-width: 680px; }
.sassy-split-copy h2 { margin-bottom: 1.5rem; }
.sassy-split-copy .btn { margin-top: 1.8rem; }
.sassy-check-list { display: grid; gap: .9rem; padding: 0 !important; margin: 1.8rem 0 0 !important; }
body.sassy-modern .sassy-check-list li { display: grid; grid-template-columns: 32px 1fr; gap: .75rem; align-items: start; margin: 0; list-style: none; }
body.sassy-modern .sassy-check-list li::before { display: none !important; }
.sassy-check-list li > span:first-child { width: 28px; height: 28px; display: inline-grid; place-items: center; background: #eef4ff; color: var(--sassy-blue); border-radius: 50%; font-weight: 800; }

/* Feature cards */
.sassy-feature-section { position: relative; overflow: clip; }
.sassy-feature-section::before { content: ""; position: absolute; left: -110px; top: 90px; width: 260px; height: 260px; border: 1px solid rgba(23,32,42,.08); border-radius: 50%; pointer-events: none; }
.sassy-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sassy-feature-card {
  position: relative;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(23,32,42,.10);
  border-radius: 24px;
  color: var(--sassy-ink);
}
a.sassy-feature-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(23,32,42,.08); color: var(--sassy-ink); }
.sassy-feature-card:nth-child(6n/**/+1) { border-top: 6px solid var(--sassy-pink); }
.sassy-feature-card:nth-child(6n/**/+2) { border-top: 6px solid var(--sassy-yellow); }
.sassy-feature-card:nth-child(6n/**/+3) { border-top: 6px solid var(--sassy-green); }
.sassy-feature-card:nth-child(6n/**/+4) { border-top: 6px solid var(--sassy-sky); }
.sassy-feature-card:nth-child(6n/**/+5) { border-top: 6px solid var(--sassy-purple); }
.sassy-feature-card:nth-child(6n/**/+6) { border-top: 6px solid var(--sassy-red); }
.sassy-card-number { position: absolute; top: 1.5rem; right: 1.5rem; color: rgba(23,32,42,.35); font-family: "Manrope", sans-serif; font-size: .76rem; font-weight: 800; letter-spacing: .08em; }
.sassy-feature-icon { width: 58px; height: 58px; object-fit: contain; margin-bottom: 2.1rem; }
.sassy-feature-card h3 { max-width: 320px; margin-bottom: .9rem; }
.sassy-feature-card p { color: var(--sassy-muted); font-size: 1rem; }
.sassy-card-link { display: inline-flex; align-items: center; gap: .5rem; margin-top: auto; color: var(--sassy-blue-dark); font-family: "Manrope", sans-serif; font-size: .92rem; font-weight: 800; }
.sassy-card-link span { transition: transform .2s ease; }
a:hover .sassy-card-link span, .sassy-card-link:hover span { transform: translate(3px, -3px); }

/* Numbered list */
.sassy-numbered-section { background: #fff; }
.sassy-numbered-list { list-style: none; padding: 0; margin: 0 0 2.5rem; counter-reset: sassy-step; border-top: 1px solid var(--sassy-line); }
.sassy-numbered-list li { counter-increment: sassy-step; display: grid; grid-template-columns: 90px 1fr; gap: 1.25rem; padding: 1.7rem 0; border-bottom: 1px solid var(--sassy-line); }
.sassy-numbered-list .sassy-number::before { content: counter(sassy-step, decimal-leading-zero); color: var(--sassy-blue); font-family: "Manrope", sans-serif; font-size: 1rem; font-weight: 800; }
.sassy-numbered-list h3 { margin-bottom: .5rem; }
.sassy-numbered-list p { margin: 0; color: var(--sassy-muted); }

/* Text sections */
.sassy-text-section { position: relative; overflow: clip; }
.sassy-text-inner { max-width: 900px; }
.sassy-text-inner--wide { max-width: 1180px; }
.sassy-text-section--center .sassy-text-inner { text-align: center; margin-inline: auto; }
.sassy-text-section--statement .sassy-text-inner { max-width: 1100px; }
.sassy-text-section--statement h2 { font-size: clamp(2.8rem, 6vw, 6rem); }
.sassy-text-section h2 { margin-bottom: 1.4rem; }
.sassy-text-section .btn { margin-top: 1.8rem; }

/* Page header */
.sassy-page-header { position: relative; overflow: clip; padding: clamp(5rem, 9vw, 9rem) 0 clamp(4.5rem, 8vw, 7.5rem); background: #f7f8fb !important; text-align: left !important; }
.sassy-page-header::before { content: ""; position: absolute; right: -8%; top: -70%; width: min(54vw, 760px); aspect-ratio: 1; border: 1px solid rgba(216,75,145,.25); border-radius: 50%; box-shadow: inset 0 0 0 70px rgba(0,164,242,.035); }
.sassy-page-header-inner { position: relative; z-index: 1; max-width: 1000px; }
body.sassy-modern .sassy-page-header h1 { max-width: 970px; margin-bottom: 1.4rem; }
.sassy-page-header .heading-p { max-width: 760px; margin: 0; color: var(--sassy-muted); font-size: clamp(1.15rem, 1.7vw, 1.4rem); line-height: 1.55; }

/* Posts */
.sassy-posts { background: #fff; }
.sassy-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
body.sassy-modern .stwelve-post.sassy-post-card { width: auto; margin: 0 !important; padding: 0; }
body.sassy-modern .sassy-post-card .post-container { height: 100%; display: flex; flex-direction: column; overflow: hidden; background: var(--sassy-paper); border: 1px solid var(--sassy-line); border-radius: 24px; box-shadow: none !important; color: var(--sassy-ink); }
body.sassy-modern .sassy-post-card .post-container:hover { transform: translateY(-5px); box-shadow: 0 20px 50px rgba(23,32,42,.08) !important; }
body.sassy-modern .sassy-post-card .post-media { width: 100%; height: auto; aspect-ratio: 16 / 10; overflow: hidden; margin: 0 !important; background: #eef2f7; }
body.sassy-modern .sassy-post-card .post-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
body.sassy-modern .sassy-post-card:hover .post-media img { transform: scale(1.035); }
.sassy-post-placeholder { width: 100%; height: 100%; display: block; background: radial-gradient(circle at 20% 30%, rgba(238,146,194,.45), transparent 30%), radial-gradient(circle at 80% 70%, rgba(96,239,255,.65), transparent 35%), #f6f7f9; }
body.sassy-modern .sassy-post-card .post-content { flex: 1; display: flex; flex-direction: column; padding: 1.45rem 1.45rem 1.6rem; }
.sassy-post-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; color: var(--sassy-muted); font-size: .78rem; font-weight: 700; }
.sassy-post-meta span { color: var(--sassy-blue); text-transform: uppercase; letter-spacing: .06em; }
body.sassy-modern .sassy-post-card h3 { margin-bottom: .85rem; font-size: clamp(1.35rem, 1.8vw, 1.75rem); }
body.sassy-modern .sassy-post-card p { color: var(--sassy-muted); font-size: .98rem; }

/* FAQs */
.sassy-faq-section { background: #fff; }
.sassy-faq-wrap { max-width: 1000px; margin: 0 auto; }
.sassy-faq-divider { margin: 3.2rem 0 1rem; padding: 0; color: var(--sassy-blue-dark); font-size: 1.15rem !important; letter-spacing: 0 !important; }
body.sassy-modern .accordion { --bs-accordion-border-color: transparent; --bs-accordion-border-radius: 0; }
body.sassy-modern .accordion-item { background: transparent; border: 0; border-bottom: 1px solid var(--sassy-line); border-radius: 0 !important; }
body.sassy-modern .accordion-button { min-height: 72px; padding: 1.3rem .25rem; background: transparent; box-shadow: none; color: var(--sassy-ink); font-family: "Manrope", sans-serif; font-size: clamp(1.05rem, 1.6vw, 1.3rem); font-weight: 750; }
body.sassy-modern .accordion-button:not(.collapsed) { color: var(--sassy-blue-dark); background: transparent; }
body.sassy-modern .accordion-button::after { width: 32px; height: 32px; margin-left: 1rem; background: none; content: "+"; display: grid; place-items: center; border: 1px solid var(--sassy-line); border-radius: 50%; font-family: "Manrope", sans-serif; font-size: 1.3rem; line-height: 1; transform: none; }
body.sassy-modern .accordion-button:not(.collapsed)::after { content: "−"; transform: none; }
body.sassy-modern .accordion-body { padding: 0 .25rem 1.7rem; max-width: 840px; color: var(--sassy-muted); font-size: 1.02rem; }
.sassy-faq-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.sassy-faq-copy h2 { margin-bottom: 2rem; }
.sassy-faq-copy .btn { margin-top: 2rem; }
.sassy-faq-media img { aspect-ratio: 4 / 5; }

/* Contact */
.sassy-contact { background: #f7f8fb; }
.sassy-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.sassy-contact-copy h2 { margin-bottom: 1.3rem; }
body.sassy-modern .stwelve_form form { display: grid; gap: .9rem; margin-top: 2rem; }
body.sassy-modern .form-control,
body.sassy-modern .form-select,
body.sassy-modern select { min-height: 56px; border: 1px solid rgba(23,32,42,.22); border-radius: 14px; background: #fff; color: var(--sassy-ink); font-size: 1rem; }
body.sassy-modern textarea.form-control { min-height: 170px; }
body.sassy-modern .form-control:focus,
body.sassy-modern select:focus { border-color: var(--sassy-blue); box-shadow: 0 0 0 4px rgba(7,86,201,.12); }
body.sassy-modern .form-floating > label { color: var(--sassy-muted); }
.sassy-contact-media img { aspect-ratio: 4 / 5; }
.sassy-contact-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 4rem; }
.sassy-contact-card { padding: 1.5rem; background: #fff; border: 1px solid var(--sassy-line); border-radius: 20px; }
.sassy-contact-card img { width: 42px; height: 42px; object-fit: contain; margin-bottom: 1rem; }
.sassy-contact-card h3 { font-size: 1.2rem; margin-bottom: .5rem; }
.sassy-contact-card p { margin: 0; color: var(--sassy-muted); font-size: .95rem; }

/* Reviews / fees / video / accreditations */
.sassy-review-section .sassy-reviews { padding: clamp(1rem, 3vw, 2rem); background: rgba(255,255,255,.75); border: 1px solid rgba(23,32,42,.08); border-radius: 24px; }
.sassy-fee-list { border-top: 1px solid var(--sassy-line); }
.sassy-fee-row { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid var(--sassy-line); }
.sassy-fee-row h3 { margin-bottom: .4rem; font-size: 1.3rem; }
.sassy-fee-row p { margin: 0; color: var(--sassy-muted); font-size: .95rem; }
.sassy-fee-row strong { color: var(--sassy-blue-dark); font-family: "Manrope", sans-serif; font-size: 1.2rem; }
.sassy-video-section .video-section { height: auto !important; aspect-ratio: 16 / 8.5; overflow: hidden; border-radius: var(--sassy-radius); background: #111; box-shadow: var(--sassy-shadow); }
.sassy-video-section video,
.sassy-video-section img { width: 100%; height: 100%; object-fit: cover; }
body.sassy-modern .accreditations { padding: 2.5rem 0; background: #fff;}
body.sassy-modern .scrollChild { width: 170px; height: 86px; }

/* Footer */
.site-footer { margin-top: auto; padding: clamp(4.5rem, 8vw, 7rem) 0 1.5rem; background: #101d2e !important; color: #fff; }
.sassy-footer-grid { display: grid; grid-template-columns: minmax(280px, 1.4fr) repeat(2, minmax(160px, .7fr)); gap: clamp(2rem, 5vw, 5rem); }
.sassy-footer-brand { max-width: 460px; }
.site-footer .footer-brand img { height: auto !important; max-height: 86px; max-width: 280px; object-fit: contain; }
.sassy-footer-intro { margin-top: 1.7rem; color: rgba(255,255,255,.72); }
.sassy-footer-intro p { color: inherit; font-size: .98rem; }
.sassy-footer-email { display: inline-block; margin-top: 1rem; color: #fff; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 4px; }
.sassy-footer-socials { margin-top: 2rem; }
.sassy-footer-label { display: block; margin-bottom: .8rem; color: rgba(255,255,255,.62); font-family: "Manrope", sans-serif; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.site-footer .theme-social-icons { justify-content: flex-start !important; }
.site-footer .theme-social-icons img,
.site-footer .theme-social-icons svg { filter: brightness(0) invert(1); }
.sassy-footer-nav h2 { margin-bottom: 1.15rem; color: #fff !important; font-size: .82rem !important; letter-spacing: .08em !important; text-transform: uppercase; }
.sassy-footer-nav .footer-menu { padding: 0; margin: 0; list-style: none; }
.sassy-footer-nav .footer-menu li { margin-bottom: .65rem; }
.sassy-footer-nav .footer-menu a { color: rgba(255,255,255,.78); font-size: .95rem; }
.sassy-footer-nav .footer-menu a:hover { color: #fff; }
.sassy-footer-bottom { display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 4.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.13); }
.sassy-footer-bottom p,
.sassy-footer-bottom a { margin: 0; color: rgba(255,255,255,.62); font-size: .82rem; }
.sassy-footer-bottom a:hover { color: #fff; }

/* Search, archives, single posts, 404 */
body.sassy-modern .archive-header,
body.sassy-modern .search-header { background: #f7f8fb; }
body.sassy-modern .single-post-header { min-height: min(720px, 72vh); height: auto; display: grid; place-items: center; overflow: hidden; }
body.sassy-modern .single-post-header .featured-image::after { background: linear-gradient(180deg, rgba(11,21,35,.38), rgba(11,21,35,.72)); }
body.sassy-modern .single-post-header .post-meta { min-height: min(720px, 72vh); padding: 5rem var(--sassy-pad); text-align: center; }
body.sassy-modern .single-post-header .post-meta h1 { color: #fff; max-width: 1000px; }
body.sassy-modern .entry-content { color: var(--sassy-ink); }
body.sassy-modern .entry-content > * { max-width: 850px; margin-left: auto; margin-right: auto; }
body.sassy-modern .entry-content > .alignwide { max-width: 1180px; }
body.sassy-modern .entry-content > .alignfull { max-width: none; }
body.sassy-modern .post-navigation .post-link { background: #f5f7fa !important; border: 1px solid var(--sassy-line); border-radius: 18px; box-shadow: none !important; }
body.sassy-modern .error-404 { min-height: 65vh; display: grid; place-items: center; padding: 5rem var(--sassy-pad); text-align: center; }
body.sassy-modern .error-404 .page-title { font-size: clamp(3rem, 7vw, 6rem); }








/* Calm, accessible motion. */
.ss-reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.ss-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1199px) {
  .sassy-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); gap: 3rem; }
  .sassy-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sassy-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
  html { scroll-padding-top: 90px; }
  body.sassy-modern .navbar-toggler { display: inline-flex; }
  body.sassy-modern .stwelve_header .navbar { padding: .55rem 0; }
  body.sassy-modern .navbar-brand img { height: 58px !important; }
  body.sassy-modern .navbar-collapse { position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100vh - 90px); overflow: auto; padding: 1rem var(--sassy-pad) 1.5rem; background: rgba(255,253,249,.99); border-top: 1px solid var(--sassy-line); border-bottom: 1px solid var(--sassy-line); box-shadow: 0 18px 45px rgba(23,32,42,.10); }
  body.sassy-modern .menu-navigation .navbar-nav { align-items: stretch !important; }
  body.sassy-modern .menu-navigation li a { min-height: 52px; display: flex; align-items: center; padding: .85rem .25rem !important; border-bottom: 1px solid var(--sassy-line) !important; font-size: 1rem; }
  body.sassy-modern .menu-navigation .dropdown-menu { position: static !important; transform: none; padding: 0 0 0 1rem; background: transparent; border: 0; box-shadow: none; }
  .sassy-hero { min-height: auto; padding: 4rem 0 5rem; }
  .sassy-hero-grid,
  .sassy-split-grid,
  .sassy-faq-content-grid,
  .sassy-contact-grid { grid-template-columns: 1fr; }
  .sassy-hero-copy { max-width: 760px; }
  .sassy-hero-media { max-width: 660px; }
  .sassy-split--right .sassy-split-media,
  .sassy-split--right .sassy-split-copy { order: initial; }
  .sassy-split-media { max-width: 760px; }
  .sassy-section-heading--split { grid-template-columns: 1fr; gap: 1rem; }
  .sassy-footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  
}

@media (max-width: 767px) {
  :root { --sassy-pad: 1.25rem; --sassy-radius: 22px; }
  body.stwelve.sassy-modern { font-size: 17px; }
  body.sassy-modern .wrapper-largest { padding: 4rem 0; }
  body.sassy-modern h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  body.sassy-modern h2 { font-size: clamp(2rem, 10.5vw, 3.15rem); }
  body.sassy-modern .header_topbar { display: none; }
  .sassy-nav-inner { min-height: 66px; }
  body.sassy-modern .navbar-brand img { height: 52px !important; max-width: 210px; }
  .sassy-hero { padding-top: 3rem; }
  body.sassy-modern .sassy-hero .ic-title { font-size: clamp(3rem, 14.5vw, 4.8rem) !important; }
  .sassy-hero-grid { gap: 3.5rem; }
  .sassy-hero-image-wrap { border-radius: 30px 30px 70px 30px; aspect-ratio: 4 / 4.6; }
  .sassy-orb-one { width: 120px; height: 120px; right: -14px; }
  .sassy-orb-two { width: 90px; height: 90px; left: -15px; }
  .sassy-hero-caption { right: 7px; bottom: 5%; }
  .sassy-actions { flex-direction: column; align-items: stretch; }
  .sassy-actions .btn { width: 100%; }
  .sassy-feature-grid,
  .sassy-post-grid,
  .sassy-contact-cards { grid-template-columns: 1fr; }
  .sassy-feature-card { min-height: auto; }
  .sassy-split-grid,
  .sassy-faq-content-grid,
  .sassy-contact-grid { gap: 3.2rem; }
  .sassy-image-accent { right: -10px; bottom: -10px; }
  .sassy-split--left .sassy-image-accent { left: -10px; }
  .sassy-numbered-list li { grid-template-columns: 52px 1fr; }
  .sassy-footer-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .sassy-footer-bottom { flex-direction: column; margin-top: 3rem; }
  .sassy-fee-row { grid-template-columns: 1fr; gap: .6rem; }
  .sassy-video-section .video-section { aspect-ratio: 16 / 10; }
  
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .ss-reveal { opacity: 1 !important; transform: none !important; }
}

/* Search / pagination */
.sassy-search-form { position: relative; width: 100%; }
.sassy-search-form input {
  width: 100%;
  min-height: 48px;
  padding: .75rem 3rem .75rem 1rem;
  border: 1px solid var(--sassy-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sassy-ink);
  font-size: .95rem;
}
.sassy-search-form button {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--sassy-blue);
  color: #fff;
  font-size: 1.15rem;
}
.sassy-search-large { max-width: 540px; margin-top: 2rem; }
.sassy-search-large .sassy-search-form input { min-height: 58px; padding-left: 1.15rem; }
.sassy-search-large .sassy-search-form button { width: 48px; height: 48px; }
.sassy-pagination { margin-top: 3rem; }
.sassy-pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.sassy-pagination .page-numbers { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; padding: .5rem .8rem; border: 1px solid var(--sassy-line); border-radius: 999px; color: var(--sassy-ink); font-weight: 700; }
.sassy-pagination .page-numbers.current { background: var(--sassy-blue); color: #fff; border-color: var(--sassy-blue); }
.error-404 > div { max-width: 820px; }
.error-404 p { max-width: 650px; margin-inline: auto; color: var(--sassy-muted); }
.sassy-404-actions { justify-content: center; }
.error-404 .sassy-search-large { margin-inline: auto; }

/* Single articles / events */
.sassy-single-content { max-width: 1000px; }
.sassy-single .entry-content { font-size: 1.05rem; }
.sassy-single .entry-content h2,
.sassy-single .entry-content h3 { margin-top: 2.4rem; margin-bottom: 1rem; }
.sassy-single .entry-content p,
.sassy-single .entry-content ul,
.sassy-single .entry-content ol { margin-bottom: 1.35rem; }
.sassy-single .entry-content img { border-radius: 18px; }
.sassy-comments { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid var(--sassy-line); }
.sassy-related-nav { padding-bottom: clamp(4rem, 8vw, 7rem); }
.sassy-related-nav h2 { margin-bottom: 1.5rem; font-size: clamp(1.8rem, 3vw, 2.7rem); }
body.sassy-modern .post-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; justify-content: stretch; }
body.sassy-modern .post-navigation .post-link { flex: initial; padding: 0; }
body.sassy-modern .post-navigation .post-link a { min-height: 130px; display: flex; flex-direction: column; justify-content: center; padding: 1.4rem; color: var(--sassy-ink); text-align: left; }
body.sassy-modern .post-navigation .post-link small { margin-bottom: .5rem; color: var(--sassy-blue); font-weight: 800; }
body.sassy-modern .post-navigation .post-link strong { font-family: "Manrope", sans-serif; font-size: 1.05rem; line-height: 1.35; }
.sassy-event-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.sassy-event-main { min-width: 0; }
.sassy-event-section { max-width: 850px; }
.sassy-event-gallery { margin-top: 3rem; }
.sassy-event-gallery img { border-radius: 18px; }
.sassy-event-booking { position: sticky; top: 150px; padding: 1.6rem; background: #f6f8fb; border: 1px solid var(--sassy-line); border-radius: 22px; }
.sassy-event-booking h2 { margin-bottom: 1.3rem; font-size: 1.75rem; }
.sassy-event-links { display: grid; gap: .8rem; }
.sassy-event-links a { width: 100%; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: .8rem 1rem; border-radius: 999px; background: var(--sassy-blue); color: #fff; font-weight: 800; text-align: center; }
.sassy-event-links a:hover { background: var(--sassy-blue-dark); color: #fff; }
.sassy-print-link { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--sassy-line); }
.sassy-print-link strong { display: block; margin-bottom: .6rem; }

.sassy-display-heading { font-size: clamp(2.8rem, 6vw, 5.8rem) !important; }


@media (max-width: 991px) {
  .sassy-event-layout { grid-template-columns: 1fr; }
  .sassy-event-booking { position: static; }
}
@media (max-width: 767px) {
  body.sassy-modern .post-navigation { grid-template-columns: 1fr; }
}

/* Accessible interpretations of existing text-colour choices. */
body.sassy-modern .theme-text-blue { color: #0756c9 !important; }
body.sassy-modern .theme-text-pink { color: #a92d69 !important; }
body.sassy-modern .theme-text-green { color: #3e741f !important; }
body.sassy-modern .theme-text-yellow { color: #6b5700 !important; }
body.sassy-modern .theme-text-purple { color: #69366f !important; }
body.sassy-modern .theme-text-red { color: #b72f44 !important; }
body.sassy-modern .theme-text-secondary,
body.sassy-modern .theme-text-secondary-contrast,
body.sassy-modern .theme-text-secondary-contrast-dark { color: #0756c9 !important; }
body.sassy-modern .theme-text-primary,
body.sassy-modern .theme-text-primary-contrast,
body.sassy-modern .theme-text-primary-contrast-dark { color: #07506c !important; }
.sassy-richtext a,
.entry-content a { color: var(--sassy-blue-dark); text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .14em; }
.sassy-richtext a:hover,
.entry-content a:hover { color: var(--sassy-blue); }
body.menu-open { overflow: hidden; }

@media (max-width: 767px) {
  body.stwelve.sassy-modern { font-size: 18px; }
}

/* =========================================================
   Sassy 2026 refinement pass — logo palette + softer motion
   ========================================================= */
:root {
  --sassy-ink: #12243a;
  --sassy-muted: #596777;
  --sassy-paper: #fffdf9;
  --sassy-surface: #f8fbff;
  --sassy-blue: #2774c6;
  --sassy-blue-dark: #164f9a;
  --sassy-sky: #429cd4;
  --sassy-pink: #ef72c0;
  --sassy-purple: #c941d9;
  --sassy-magenta: #c941d9;
  --sassy-green: #45b12c;
  --sassy-lime: #44d55d;
  --sassy-yellow: #f5c400;
  --sassy-orange: #f58220;
  --sassy-red: #ef5c56;
  --sassy-rainbow: linear-gradient(90deg,
    var(--sassy-red) 0 12.5%,
    var(--sassy-orange) 12.5% 25%,
    var(--sassy-yellow) 25% 37.5%,
    var(--sassy-green) 37.5% 50%,
    var(--sassy-sky) 50% 62.5%,
    var(--sassy-blue) 62.5% 75%,
    var(--sassy-purple) 75% 87.5%,
    var(--sassy-pink) 87.5% 100%);
}

/* Use the colours from the Sassy identity throughout the calmer surfaces. */
body.sassy-modern .theme-bg-pink { background-color: #fff0f9 !important; }
body.sassy-modern .theme-bg-blue { background-color: #eff8ff !important; }
body.sassy-modern .theme-bg-green { background-color: #f1faee !important; }
body.sassy-modern .theme-bg-yellow { background-color: #fff9dc !important; }
body.sassy-modern .theme-bg-purple { background-color: #fbf0fc !important; }
body.sassy-modern .theme-bg-red { background-color: #fff1ef !important; }
body.sassy-modern .theme-bg-primary,
body.sassy-modern .theme-bg-primary-contrast,
body.sassy-modern .theme-bg-primary-contrast-dark { background-color: #eefaff !important; }
body.sassy-modern .theme-bg-secondary,
body.sassy-modern .theme-bg-secondary-contrast,
body.sassy-modern .theme-bg-secondary-contrast-dark { background-color: #f1f5ff !important; }
body.sassy-modern .theme-bg-accent { background-color: #f7f8fb !important; }

body.sassy-modern .sassy-image-accent.theme-bg-pink,
body.sassy-modern .sassy-orb.theme-bg-pink { background: var(--sassy-pink) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-blue,
body.sassy-modern .sassy-orb.theme-bg-blue { background: var(--sassy-sky) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-green,
body.sassy-modern .sassy-orb.theme-bg-green { background: var(--sassy-green) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-yellow,
body.sassy-modern .sassy-orb.theme-bg-yellow { background: var(--sassy-yellow) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-purple,
body.sassy-modern .sassy-orb.theme-bg-purple { background: var(--sassy-purple) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-red,
body.sassy-modern .sassy-orb.theme-bg-red { background: var(--sassy-red) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-primary-contrast,
body.sassy-modern .sassy-orb.theme-bg-primary-contrast { background: var(--sassy-sky) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-secondary-contrast,
body.sassy-modern .sassy-orb.theme-bg-secondary-contrast { background: var(--sassy-blue) !important; }

/* Eyebrows: remove the dot language and use a small rainbow stroke instead. */
.sassy-eyebrow {
  gap: .7rem;
  color: var(--sassy-blue-dark);
  letter-spacing: .075em;
}
.sassy-eyebrow::before {
  width: 34px;
  height: 4px;
  border-radius: 999px;
  background: var(--sassy-rainbow);
  box-shadow: none;
  flex: 0 0 auto;
}

/* Home hero: keep the playful circles, but let them float gently. */
.sassy-orb { will-change: transform; }
.sassy-orb-one { animation: sassy-orb-float-one 8s ease-in-out infinite; }
.sassy-orb-two { animation: sassy-orb-float-two 10s ease-in-out infinite; }
.sassy-hero::after { animation: sassy-ring-drift 14s ease-in-out infinite; }

@keyframes sassy-orb-float-one {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  45% { transform: translate3d(-18px, 15px, 0) scale(1.06); }
  72% { transform: translate3d(8px, 5px, 0) scale(.98); }
}
@keyframes sassy-orb-float-two {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  40% { transform: translate3d(15px, -18px, 0) scale(.96); }
  75% { transform: translate3d(-8px, -5px, 0) scale(1.05); }
}
@keyframes sassy-ring-drift {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  50% { transform: translate3d(-24px, 18px, 0) rotate(5deg); }
}

/* Secondary page headers now use the same visual language as the home hero,
   rather than the oversized concentric-circle treatment. */
.sassy-page-header {
  min-height: clamp(430px, 56vh, 610px);
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 8% 15%, rgba(239,114,192,.15), transparent 27%),
    radial-gradient(circle at 90% 10%, rgba(66,156,212,.14), transparent 28%),
    radial-gradient(circle at 84% 88%, rgba(69,177,44,.10), transparent 26%),
    var(--sassy-paper) !important;
}
.sassy-page-header::before {
  content: none !important;
  display: none !important;
}
.sassy-page-header::after {
  content: "";
  position: absolute;
  width: clamp(280px, 28vw, 520px);
  aspect-ratio: 1;
  right: -14%;
  top: 28%;
  border: 1px solid rgba(39,116,198,.12);
  border-radius: 50%;
  pointer-events: none;
  animation: sassy-ring-drift 15s ease-in-out infinite reverse;
}
.sassy-page-header-inner { max-width: 1040px; }
.sassy-page-orb {
  position: absolute;
  display: block;
  border-radius: 50%;
  pointer-events: none;
  opacity: .92;
  will-change: transform;
}
.sassy-page-orb-one {
  width: clamp(105px, 11vw, 190px);
  aspect-ratio: 1;
  right: clamp(2rem, 8vw, 10rem);
  top: 14%;
  background: var(--sassy-pink);
  animation: sassy-orb-float-one 9s ease-in-out infinite;
}
.sassy-page-orb-two {
  width: clamp(72px, 7vw, 125px);
  aspect-ratio: 1;
  right: clamp(12rem, 21vw, 25rem);
  bottom: 10%;
  background: var(--sassy-yellow);
  animation: sassy-orb-float-two 11s ease-in-out infinite;
}
.sassy-page-orb-three {
  width: clamp(54px, 5vw, 90px);
  aspect-ratio: 1;
  right: clamp(1.2rem, 3vw, 4rem);
  bottom: 19%;
  background: var(--sassy-green);
  animation: sassy-orb-float-one 12s ease-in-out -3s infinite reverse;
}

/* Feature cards: more alive without becoming visually noisy. */
.sassy-feature-grid { gap: clamp(1rem, 1.8vw, 1.45rem); }
.sassy-feature-card {
  overflow: hidden;
  isolation: isolate;
  transition: transform .38s cubic-bezier(.2,.7,.2,1), box-shadow .38s ease, border-color .25s ease;
}
.sassy-feature-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 170px;
  height: 170px;
  right: -72px;
  bottom: -92px;
  border-radius: 50%;
  opacity: 0;
  transform: scale(.72);
  transition: opacity .35s ease, transform .45s cubic-bezier(.2,.7,.2,1);
}
.sassy-feature-card:nth-child(6n/**/+1)::before { background: rgba(239,114,192,.17); }
.sassy-feature-card:nth-child(6n/**/+2)::before { background: rgba(245,196,0,.18); }
.sassy-feature-card:nth-child(6n/**/+3)::before { background: rgba(69,177,44,.15); }
.sassy-feature-card:nth-child(6n/**/+4)::before { background: rgba(66,156,212,.16); }
.sassy-feature-card:nth-child(6n/**/+5)::before { background: rgba(201,65,217,.13); }
.sassy-feature-card:nth-child(6n/**/+6)::before { background: rgba(239,92,86,.14); }
.sassy-feature-card:hover,
a.sassy-feature-card:hover {
  transform: translateY(-10px) rotate(-.18deg);
  box-shadow: 0 24px 58px rgba(18,36,58,.11);
  color: var(--sassy-ink);
}
.sassy-feature-card:nth-child(even):hover,
a.sassy-feature-card:nth-child(even):hover { transform: translateY(-10px) rotate(.18deg); }
.sassy-feature-card:hover::before { opacity: 1; transform: scale(1); }
.sassy-feature-icon {
  transition: transform .4s cubic-bezier(.2,.7,.2,1);
  animation: sassy-icon-breathe 6.5s ease-in-out infinite;
  animation-delay: calc(var(--sassy-card-index, 0) * -.75s);
}
.sassy-feature-card:hover .sassy-feature-icon { transform: translateY(-7px) rotate(-4deg) scale(1.06); }
.sassy-feature-card:nth-child(even):hover .sassy-feature-icon { transform: translateY(-7px) rotate(4deg) scale(1.06); }
@keyframes sassy-icon-breathe {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Navigation search: a clear labelled control, with a focused popover. */
.sassy-nav-search { position: relative; margin-left: .8rem; }
.sassy-search-toggle {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .65rem .9rem;
  border: 1px solid rgba(39,116,198,.22);
  border-radius: 999px;
  background: #fff;
  color: var(--sassy-blue-dark);
  font-family: "Manrope", sans-serif;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}
.sassy-search-toggle:hover,
.sassy-nav-search.is-open .sassy-search-toggle {
  background: #eff8ff;
  border-color: rgba(39,116,198,.4);
  color: var(--sassy-blue-dark);
  transform: translateY(-1px);
}
.sassy-search-popover {
  position: absolute;
  z-index: 50;
  top: calc(100% + .9rem);
  right: 0;
  width: min(390px, calc(100vw - 2rem));
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--sassy-line);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(18,36,58,.16);
}
.sassy-search-popover::before {
  content: "";
  position: absolute;
  top: -4px;
  right: 28px;
  width: 28px;
  height: 4px;
  border-radius: 99px;
  background: var(--sassy-rainbow);
}
.sassy-search-popover-label {
  display: block;
  margin: 0 0 .65rem .1rem;
  color: var(--sassy-ink);
  font-family: "Manrope", sans-serif;
  font-size: .84rem;
  font-weight: 800;
}
.sassy-search-popover .sassy-search-form input { min-height: 52px; background: #f8fbff; }
.sassy-search-popover .sassy-search-form button {
  top: 6px;
  right: 6px;
  width: 40px;
  height: 40px;
  background: var(--sassy-blue);
}

/* Footer: lighter, welcoming, and visibly part of the Sassy palette. */
.site-footer {
  position: relative;
  background:
    radial-gradient(circle at 8% 12%, rgba(239,114,192,.13), transparent 24%),
    radial-gradient(circle at 92% 4%, rgba(66,156,212,.14), transparent 25%),
    #fff8ef !important;
  color: var(--sassy-ink);
}
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 7px;
  background: var(--sassy-rainbow);
}
.sassy-footer-intro { color: var(--sassy-muted); }
.sassy-footer-email { color: var(--sassy-blue-dark); text-decoration-color: rgba(39,116,198,.25); }
.sassy-footer-label { color: #6a7480; }
.site-footer .theme-social-icons img,
.site-footer .theme-social-icons svg { filter: none !important; }
.sassy-footer-nav h2 { color: var(--sassy-ink) !important; }
.sassy-footer-nav .footer-menu a { color: #5b6672; }
.sassy-footer-nav .footer-menu a:hover { color: var(--sassy-blue-dark); }
.sassy-footer-bottom {
  align-items: center;
  border-top-color: rgba(18,36,58,.12);
}
.sassy-footer-bottom p,
.sassy-footer-bottom a { color: #6a7480; }
.sassy-footer-bottom a:hover { color: var(--sassy-ink); }
.sassy-youthclubhub-credit {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 44px;
  padding: .45rem .7rem .45rem .45rem;
  border: 1px solid rgba(18,36,58,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  color: var(--sassy-ink) !important;
  text-decoration: none;
}
.sassy-youthclubhub-credit img { width: 34px; height: 34px; object-fit: contain; }
.sassy-youthclubhub-credit strong { color: var(--sassy-ink); }
.sassy-credit-arrow { color: var(--sassy-blue); transition: transform .2s ease; }
.sassy-youthclubhub-credit:hover {
  background: #fff;
  border-color: rgba(39,116,198,.26);
  transform: translateY(-2px);
}
.sassy-youthclubhub-credit:hover .sassy-credit-arrow { transform: translate(2px,-2px); }

/* Keep focus states highly visible against the brighter palette. */
body.sassy-modern :focus-visible { outline-color: var(--sassy-yellow) !important; }

@media (max-width: 991px) {
  .sassy-page-header { min-height: auto; padding-top: 5rem; padding-bottom: 5rem; }
  .sassy-page-orb-one { right: -1rem; top: 10%; opacity: .45; }
  .sassy-page-orb-two { right: 16%; bottom: 8%; opacity: .45; }
  .sassy-page-orb-three { right: 2%; bottom: 11%; opacity: .42; }
}

@media (max-width: 767px) {
  .sassy-page-header { padding-top: 4rem; padding-bottom: 4rem; }
  .sassy-page-header::after { right: -45%; width: 360px; opacity: .65; }
  .sassy-page-orb-one { width: 92px; top: 7%; right: -28px; }
  .sassy-page-orb-two { width: 62px; right: 14%; bottom: 5%; }
  .sassy-page-orb-three { width: 48px; right: -8px; bottom: 18%; }
  .sassy-feature-card:hover,
  a.sassy-feature-card:hover,
  .sassy-feature-card:nth-child(even):hover,
  a.sassy-feature-card:nth-child(even):hover { transform: translateY(-5px); }
  .sassy-footer-bottom { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .sassy-orb,
  .sassy-hero::after,
  .sassy-page-header::after,
  .sassy-page-orb,
  .sassy-feature-icon { animation: none !important; }
  .sassy-feature-card,
  .sassy-feature-card:hover,
  a.sassy-feature-card:hover { transform: none !important; }
}

/* Brand-colour text variants, with accessible darker tones where needed. */
body.sassy-modern .theme-text-blue,
body.sassy-modern .theme-text-secondary,
body.sassy-modern .theme-text-secondary-contrast,
body.sassy-modern .theme-text-secondary-contrast-dark { color: var(--sassy-blue) !important; }
body.sassy-modern .theme-text-pink { color: #c63d91 !important; }
body.sassy-modern .theme-text-green { color: #347f28 !important; }
body.sassy-modern .theme-text-yellow { color: #8a7000 !important; }
body.sassy-modern .theme-text-purple { color: #9342a7 !important; }
body.sassy-modern .theme-text-red { color: #c44843 !important; }
body.sassy-modern .theme-text-primary,
body.sassy-modern .theme-text-primary-contrast,
body.sassy-modern .theme-text-primary-contrast-dark { color: var(--sassy-blue-dark) !important; }

body.sassy-modern .header_topbar {
  background: linear-gradient(90deg, var(--sassy-blue-dark), var(--sassy-blue)) !important;
}


/* =========================================================
   Sassy 2026 v4 — lighter type, CSS-only motion, cleaner hero
   ========================================================= */
:root {
  --sassy-blue: #087CFA;
  --sassy-blue-dark: #0A4E9D;
  --sassy-sky: #24B8EE;
  --sassy-rainbow: linear-gradient(90deg,
    var(--sassy-red) 0 12.5%,
    var(--sassy-orange) 12.5% 25%,
    var(--sassy-yellow) 25% 37.5%,
    var(--sassy-green) 37.5% 50%,
    var(--sassy-sky) 50% 62.5%,
    var(--sassy-blue) 62.5% 75%,
    var(--sassy-purple) 75% 87.5%,
    var(--sassy-pink) 87.5% 100%);
}

/* More comfortable editorial scale across the site. */
body.sassy-modern h1 { font-size: clamp(2.65rem, 5.2vw, 5.35rem); }
body.sassy-modern h2 { font-size: clamp(2rem, 3.65vw, 3.8rem); }
body.sassy-modern h3 { font-size: clamp(1.25rem, 1.65vw, 1.7rem); line-height: 1.14; }
.sassy-text-section--statement h2 { font-size: clamp(2.4rem, 4.4vw, 4.6rem); }
.sassy-display-heading { font-size: clamp(2.4rem, 4.6vw, 4.7rem) !important; }

/* Eyebrows exist only in the standard Jumbotron and only when its field is populated. */
.sassy-eyebrow { display: none !important; }
.sassy-hero-eyebrow {
  display: inline-block;
  margin: 0 0 1rem;
  color: var(--sassy-blue-dark);
  font-family: "Manrope", Arial, sans-serif;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .085em;
  line-height: 1.3;
  text-transform: uppercase;
}

/* Standard home Jumbotron: clean canvas + solid animated brand circles only. */
.sassy-hero:not(.sassy-hero--immersive) {
  min-height: min(720px, calc(100vh - 110px));
  background: var(--sassy-paper) !important;
}
.sassy-hero:not(.sassy-hero--immersive)::after { content: none !important; display: none !important; }
body.sassy-modern .sassy-hero .ic-title {
  max-width: 760px;
  margin-bottom: 1.35rem;
  font-size: clamp(2.95rem, 5.15vw, 5.45rem) !important;
  line-height: 1.01;
}
.sassy-hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .82fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
}
.sassy-hero-media {
  width: 100%;
  max-width: 610px;
  justify-self: end;
}
.sassy-hero-image-wrap {
  width: 100%;
  max-height: none;
  aspect-ratio: 1.08 / 1;
  border-radius: 40px 40px 82px 40px;
}
.sassy-orb { opacity: 1; pointer-events: none; }
.sassy-orb-one { width: clamp(105px, 9vw, 150px); height: auto; aspect-ratio: 1; top: -38px; right: -26px; animation: sassy-solid-orb-a 8s ease-in-out infinite; }
.sassy-orb-two { width: clamp(78px, 6.6vw, 112px); height: auto; aspect-ratio: 1; bottom: -25px; left: -32px; animation: sassy-solid-orb-b 10s ease-in-out infinite; }
.sassy-orb-three {
  width: clamp(44px, 4vw, 70px);
  height: auto;
  aspect-ratio: 1;
  right: 13%;
  bottom: -34px;
  background: var(--sassy-blue) !important;
  animation: sassy-solid-orb-c 9s ease-in-out -2s infinite;
}
@keyframes sassy-solid-orb-a {
  0%,100% { transform: translate3d(0,0,0); }
  45% { transform: translate3d(-18px,14px,0); }
  72% { transform: translate3d(7px,-6px,0); }
}
@keyframes sassy-solid-orb-b {
  0%,100% { transform: translate3d(0,0,0); }
  42% { transform: translate3d(14px,-17px,0); }
  76% { transform: translate3d(-7px,4px,0); }
}
@keyframes sassy-solid-orb-c {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(9px,13px,0); }
}

/* Secondary headers: no faded rings/gradients, just small solid moving accents. */
.sassy-page-header {
  min-height: clamp(340px, 46vh, 500px);
  background: #f7faff !important;
}
.sassy-page-header::before,
.sassy-page-header::after { content: none !important; display: none !important; }
body.sassy-modern .sassy-page-header h1 { max-width: 850px; font-size: clamp(2.75rem, 4.9vw, 5rem); }
.sassy-page-orb { opacity: 1; }
.sassy-page-orb-one { width: clamp(78px, 7vw, 118px); right: 7%; top: 15%; background: var(--sassy-pink); }
.sassy-page-orb-two { width: clamp(52px, 4.5vw, 78px); right: 20%; bottom: 14%; background: var(--sassy-yellow); }
.sassy-page-orb-three { width: clamp(42px, 3.8vw, 64px); right: 3%; bottom: 18%; background: var(--sassy-blue); }

/* Real SVG icon system. */
.sassy-icon {
  width: 1.05em;
  height: 1.05em;
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: -.12em;
}
.btn .sassy-icon,
.sassy-card-link .sassy-icon,
.post-navigation small .sassy-icon,
.sassy-youthclubhub-credit .sassy-icon { transition: transform .2s ease; }
.btn:hover .sassy-icon--arrow-up-right,
.sassy-card-link:hover .sassy-icon--arrow-up-right,
a:hover .sassy-card-link .sassy-icon--arrow-up-right,
.sassy-youthclubhub-credit:hover .sassy-icon--arrow-up-right { transform: translate(2px,-2px); }
.post-navigation a:hover .sassy-icon--arrow-left { transform: translateX(-3px); }
.post-navigation a:hover .sassy-icon--arrow-right { transform: translateX(3px); }
.sassy-topbar-email .sassy-icon { width: 1rem; height: 1rem; }
.sassy-check-icon {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  background: #eaf2ff;
  color: var(--sassy-blue);
  border-radius: 50%;
}
.sassy-check-icon .sassy-icon { width: 16px; height: 16px; }
.sassy-credit-arrow { color: var(--sassy-blue); }

/* Accordion icon is an SVG background, not a text glyph. */
body.sassy-modern .accordion-button::after {
  content: "" !important;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23034ea2' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}
body.sassy-modern .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23034ea2' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}

/* Brighter blue throughout interactive elements. */
body.sassy-modern .btn-primary,
.sassy-event-links a,
.sassy-search-form button,
.sassy-search-popover .sassy-search-form button { background: var(--sassy-blue); }
body.sassy-modern .btn-primary:hover,
.sassy-event-links a:hover { background: var(--sassy-blue-dark); }
body.sassy-modern .form-control:focus,
body.sassy-modern select:focus { border-color: var(--sassy-blue); box-shadow: 0 0 0 4px rgba(0,107,255,.13); }

/* Posts: no date, tidier labels and a more controlled title scale. */
.sassy-post-meta { justify-content: flex-start; margin-bottom: .85rem; }
body.sassy-modern .sassy-post-card h3 {
  margin-bottom: .75rem;
  font-size: clamp(1.22rem, 1.35vw, 1.52rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}
body.sassy-modern .single-post-header .post-meta h1 {
  max-width: 920px;
  font-size: clamp(2.6rem, 4.5vw, 4.7rem);
  line-height: 1.04;
}

/* Cards: CSS-only entrance stagger + subtle ongoing icon movement. */
.sassy-feature-card { will-change: transform; }
.sassy-feature-card:nth-child(3n/**/+1) { --card-enter-delay: 0ms; }
.sassy-feature-card:nth-child(3n/**/+2) { --card-enter-delay: 90ms; }
.sassy-feature-card:nth-child(3n/**/+3) { --card-enter-delay: 180ms; }
.sassy-feature-icon { animation: sassy-icon-float 6.8s ease-in-out infinite; }
.sassy-feature-card:nth-child(2n) .sassy-feature-icon { animation-delay: -2.4s; }
.sassy-feature-card:nth-child(3n) .sassy-feature-icon { animation-delay: -4.1s; }
@keyframes sassy-icon-float {
  0%,100% { transform: translate3d(0,0,0) rotate(0); }
  50% { transform: translate3d(0,-6px,0) rotate(1.5deg); }
}

/* Replace JS/IntersectionObserver reveals with CSS scroll-driven reveals.
   Browsers without view timelines simply show the content normally. */
.ss-reveal { opacity: 1; transform: none; }
@supports (animation-timeline: view()) {
  .ss-reveal {
    opacity: 0;
    transform: translateY(18px);
    animation-name: sassy-css-reveal;
    animation-duration: 1ms;
    animation-fill-mode: both;
    animation-timing-function: linear;
    animation-timeline: view();
    animation-range: entry 4% cover 22%;
  }
  .sassy-feature-card {
    opacity: 0;
    transform: translateY(24px);
    animation-name: sassy-card-enter;
    animation-duration: 1ms;
    animation-fill-mode: both;
    animation-timing-function: linear;
    animation-timeline: view();
    animation-range: entry 2% cover 28%;
  }
}
@keyframes sassy-css-reveal {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes sassy-card-enter {
  from { opacity: 0; transform: translateY(24px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.sassy-event-label {
  margin: 0 0 1rem;
  color: var(--sassy-blue-dark) !important;
  font-size: .82rem !important;
  letter-spacing: .07em !important;
  text-transform: uppercase;
}

@media (max-width: 1199px) {
  .sassy-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr); }
  .sassy-hero-media { max-width: 560px; }
}
@media (max-width: 991px) {
  .sassy-hero-media { max-width: 650px; justify-self: start; }
  .sassy-hero-image-wrap { aspect-ratio: 4 / 3; }
}
@media (max-width: 767px) {
  body.sassy-modern h1 { font-size: clamp(2.35rem, 11.5vw, 3.55rem); }
  body.sassy-modern h2 { font-size: clamp(1.9rem, 9vw, 2.8rem); }
  body.sassy-modern .sassy-hero .ic-title { font-size: clamp(2.65rem, 12vw, 4rem) !important; }
  .sassy-hero-image-wrap { aspect-ratio: 4 / 3; border-radius: 28px 28px 58px 28px; }
  .sassy-orb-one { width: 90px; top: -26px; right: -18px; }
  .sassy-orb-two { width: 68px; left: -12px; bottom: -18px; }
  .sassy-orb-three { width: 46px; right: 12%; bottom: -20px; }
  .sassy-page-orb { opacity: .85; }
}

@media (prefers-reduced-motion: reduce) {
  .sassy-orb,
  .sassy-page-orb,
  .sassy-feature-icon,
  .sassy-feature-card,
  .ss-reveal { animation: none !important; transform: none !important; opacity: 1 !important; }
}

/* =========================================================
   Sassy 2026 v5 — playful type, responsive hero, richer blocks
   ========================================================= */
:root {
  --sassy-blue: #087cff;
  --sassy-blue-dark: #0054bd;
  --sassy-heading-font: "Fredoka", "Arial Rounded MT Bold", Arial, sans-serif;
}

/* A bolder, friendlier display face. Body copy stays highly legible. */
body.sassy-modern h1,
body.sassy-modern h2,
body.sassy-modern h3,
body.sassy-modern h4,
body.sassy-modern h5,
body.sassy-modern h6,
body.sassy-modern .h1,
body.sassy-modern .h2,
body.sassy-modern .h3,
body.sassy-modern .h4,
body.sassy-modern .h5,
body.sassy-modern .h6 {
  font-family: var(--sassy-heading-font) !important;
  font-weight: 700 !important;
  letter-spacing: -.035em;
}
body.sassy-modern h1 { font-size: clamp(2.55rem, 4.75vw, 4.95rem); }
body.sassy-modern h2 { font-size: clamp(2rem, 3.25vw, 3.35rem); }
body.sassy-modern h3 { font-size: clamp(1.3rem, 1.65vw, 1.7rem); }

/* ---------------------------------------------------------
   Navigation mobile layout — logo left, menu button right.
   --------------------------------------------------------- */
@media (max-width: 991px) {
  body.sassy-modern .sassy-nav-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem;
  }
  body.sassy-modern .navbar-brand {
    order: 1;
    flex: 0 1 auto;
    margin: 0 !important;
  }
  body.sassy-modern .navbar-toggler {
    order: 2;
    flex: 0 0 48px;
    width: 48px !important;
    height: 48px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
  }
  body.sassy-modern .navbar-collapse {
    order: 3;
    flex-basis: 100%;
    width: 100%;
  }
}

/* ---------------------------------------------------------
   Jumbotron — one robust responsive system.
   --------------------------------------------------------- */
.sassy-hero:not(.sassy-hero--immersive) {
  width: 100%;
  min-height: auto !important;
  overflow: clip;
  padding: clamp(4.75rem, 7vw, 7rem) 0 !important;
}
.sassy-hero .container {
  height: auto !important;
}
.sassy-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr) !important;
  gap: clamp(2.5rem, 5vw, 5.25rem) !important;
  align-items: center !important;
  width: 100%;
}
.sassy-hero-copy {
  min-width: 0;
  max-width: 760px;
}
body.sassy-modern .sassy-hero .ic-title {
  width: auto !important;
  max-width: 720px !important;
  margin: 0 0 1.3rem !important;
  font-family: var(--sassy-heading-font) !important;
  font-size: clamp(3rem, 4.9vw, 5.2rem) !important;
  font-weight: 700 !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.sassy-hero .sassy-lead,
.sassy-hero .ic-subtitle {
  width: 100%;
  max-width: 660px !important;
}
.sassy-hero .sassy-lead p,
.sassy-hero .ic-subtitle p {
  margin-bottom: 0;
  font-size: clamp(1.08rem, 1.45vw, 1.3rem) !important;
  line-height: 1.55;
}
.sassy-hero-media {
  position: relative;
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  min-width: 0 !important;
  justify-self: end !important;
}
.sassy-hero-image-wrap {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden;
  border-radius: 38px 38px 82px 38px !important;
}
.sassy-hero-image-wrap img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
.sassy-hero-caption { display: none !important; }

@media (max-width: 1199px) {
  .sassy-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr) !important;
    gap: 2.5rem !important;
  }
  .sassy-hero-media { max-width: 500px !important; }
  body.sassy-modern .sassy-hero .ic-title { font-size: clamp(2.8rem, 5.2vw, 4.7rem) !important; }
}

@media (max-width: 991px) {
  .sassy-hero:not(.sassy-hero--immersive) { padding: 4rem 0 4.5rem !important; }
  .sassy-hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3rem !important;
  }
  .sassy-hero-copy {
    width: 100% !important;
    max-width: 760px !important;
  }
  .sassy-hero-media {
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    justify-self: start !important;
  }
}

@media (max-width: 767px) {
  .sassy-hero:not(.sassy-hero--immersive) { padding: 3.2rem 0 4rem !important; }
  .sassy-hero-grid { gap: 2.25rem !important; }
  body.sassy-modern .sassy-hero .ic-title {
    max-width: 100% !important;
    font-size: clamp(2.55rem, 10.6vw, 3.55rem) !important;
    line-height: 1 !important;
    letter-spacing: -.038em !important;
  }
  .sassy-hero .sassy-lead p,
  .sassy-hero .ic-subtitle p {
    font-size: 1.05rem !important;
    line-height: 1.55 !important;
  }
  .sassy-hero-media {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
    padding-inline: .15rem;
  }
  .sassy-hero-image-wrap {
    aspect-ratio: 4 / 3 !important;
    border-radius: 26px 26px 58px 26px !important;
  }
  .sassy-orb-one { width: 74px !important; right: -18px !important; top: -22px !important; }
  .sassy-orb-two { width: 58px !important; left: -10px !important; bottom: -18px !important; }
  .sassy-orb-three { width: 42px !important; right: 12% !important; bottom: -22px !important; }
  .sassy-actions { align-items: flex-start !important; }
  .sassy-actions .btn { width: auto !important; max-width: 100%; }
}

@media (max-width: 420px) {
  body.sassy-modern .sassy-hero .ic-title { font-size: clamp(2.35rem, 11vw, 3rem) !important; }
  .sassy-hero-eyebrow { font-size: .72rem; }
}

/* ---------------------------------------------------------
   Image Card — playful, layered and still calm enough for SEND users.
   --------------------------------------------------------- */
.sassy-split {
  isolation: isolate;
  background: var(--sassy-paper) !important;
}
.sassy-split-grid {
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr) !important;
  gap: clamp(2.5rem, 6vw, 6rem) !important;
}
.sassy-split-media {
  padding: clamp(.25rem, .7vw, .6rem);
}
.sassy-split-media::before,
.sassy-split-media::after {
  content: "";
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;
}
.sassy-split-media::before {
  width: clamp(70px, 8vw, 120px);
  aspect-ratio: 1;
  top: -18px;
  right: 7%;
  background: var(--sassy-pink);
  animation: sassy-solid-orb-a 9s ease-in-out infinite;
}
.sassy-split-media::after {
  width: clamp(34px, 4vw, 58px);
  aspect-ratio: 1;
  left: 7%;
  bottom: -14px;
  background: var(--sassy-yellow);
  animation: sassy-solid-orb-c 8s ease-in-out -2s infinite;
}
.sassy-split-media img {
  position: relative;
  z-index: 2;
  width: 100% !important;
  aspect-ratio: 5 / 4 !important;
  object-fit: cover !important;
  border-radius: 42px 22px 68px 26px !important;
  box-shadow: 0 24px 70px rgba(18,36,58,.12) !important;
}
.sassy-image-accent {
  width: 76% !important;
  height: 72% !important;
  right: -16px !important;
  bottom: -16px !important;
  border-radius: 46px 22px 68px 26px !important;
  opacity: .9 !important;
  transform: rotate(1.2deg);
}
.sassy-split--left .sassy-image-accent {
  left: -16px !important;
  right: auto !important;
  transform: rotate(-1.2deg);
}
.sassy-split-copy {
  position: relative;
  max-width: 720px !important;
  padding: clamp(1.6rem, 3vw, 2.6rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgba(8,124,255,.08), transparent 33%),
    #fff;
  border: 1px solid rgba(18,36,58,.10);
  border-radius: 30px;
  box-shadow: 0 18px 55px rgba(18,36,58,.07);
}
.sassy-split-copy::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: var(--sassy-rainbow);
}
.sassy-split-copy h2 {
  margin-bottom: 1.2rem !important;
  font-size: clamp(2rem, 3vw, 3.2rem) !important;
}
body.sassy-modern .sassy-check-list li {
  padding: .65rem .8rem;
  background: #f8fbff;
  border: 1px solid rgba(18,36,58,.07);
  border-radius: 14px;
}
.sassy-split-copy .btn { margin-top: 1.5rem !important; }

@media (max-width: 991px) {
  .sassy-split-grid { grid-template-columns: 1fr !important; gap: 2.7rem !important; }
  .sassy-split--right .sassy-split-media,
  .sassy-split--right .sassy-split-copy { order: initial !important; }
  .sassy-split-media,
  .sassy-split-copy { width: 100%; max-width: 760px !important; }
}
@media (max-width: 767px) {
  .sassy-split-copy { padding: 1.4rem; border-radius: 22px; }
  .sassy-split-media img { border-radius: 28px 18px 48px 20px !important; }
  .sassy-split-media::before { width: 66px; top: -12px; right: 4%; }
  .sassy-split-media::after { width: 38px; bottom: -10px; }
}

/* ---------------------------------------------------------
   Contact block — warmer, clearer and more inviting.
   --------------------------------------------------------- */
.sassy-contact {
  position: relative;
  overflow: clip;
  background:
    radial-gradient(circle at 5% 12%, rgba(239,114,192,.12), transparent 24%),
    radial-gradient(circle at 95% 85%, rgba(8,124,255,.10), transparent 26%),
    #f7fbff !important;
}
.sassy-contact-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .82fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: stretch;
}
.sassy-contact-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(1.7rem, 3.5vw, 3.25rem);
  background: #fff;
  border: 1px solid rgba(18,36,58,.10);
  border-radius: 34px;
  box-shadow: 0 24px 72px rgba(18,36,58,.08);
}
.sassy-contact-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 7px;
  background: var(--sassy-rainbow);
}
.sassy-contact-copy { max-width: 680px; }
.sassy-contact-copy h2 {
  margin-bottom: 1rem !important;
  font-size: clamp(2.1rem, 3.5vw, 3.55rem) !important;
}
body.sassy-modern .sassy-contact .stwelve_form form {
  gap: .8rem;
  margin-top: 1.7rem;
}
body.sassy-modern .sassy-contact .form-control {
  min-height: 58px;
  border: 1px solid rgba(18,36,58,.16);
  border-radius: 16px;
  background: #f9fbfd;
}
body.sassy-modern .sassy-contact textarea.form-control { min-height: 180px; }
body.sassy-modern .sassy-contact .btn-primary {
  width: auto;
  min-width: 180px;
  margin-top: .2rem;
}
.sassy-contact-media {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  padding: clamp(.35rem, 1vw, .8rem);
}
.sassy-contact-media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 520px;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  border-radius: 32px 18px 72px 28px !important;
  box-shadow: 0 24px 70px rgba(18,36,58,.12) !important;
}
.sassy-contact-media .sassy-image-accent {
  width: 84% !important;
  height: 66% !important;
  right: -12px !important;
  bottom: -12px !important;
}
.sassy-contact-orb {
  position: absolute;
  z-index: 3;
  display: block;
  border-radius: 50%;
  pointer-events: none;
}
.sassy-contact-orb--one {
  width: 88px;
  aspect-ratio: 1;
  top: -16px;
  right: 8%;
  background: var(--sassy-pink);
  animation: sassy-solid-orb-a 9s ease-in-out infinite;
}
.sassy-contact-orb--two {
  width: 48px;
  aspect-ratio: 1;
  bottom: 3%;
  left: -8px;
  background: var(--sassy-yellow);
  animation: sassy-solid-orb-c 8s ease-in-out -2s infinite;
}
.sassy-contact-cards {
  gap: 1rem !important;
  margin-top: clamp(2.5rem, 5vw, 4rem) !important;
}
.sassy-contact-card {
  position: relative;
  overflow: hidden;
  min-height: 180px;
  padding: 1.6rem !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 40px rgba(18,36,58,.05);
  transition: transform .25s ease, box-shadow .25s ease;
}
.sassy-contact-card:nth-child(3n/**/+1) { border-top: 5px solid var(--sassy-pink); }
.sassy-contact-card:nth-child(3n/**/+2) { border-top: 5px solid var(--sassy-yellow); }
.sassy-contact-card:nth-child(3n/**/+3) { border-top: 5px solid var(--sassy-blue); }
.sassy-contact-card:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(18,36,58,.09); }

@media (max-width: 991px) {
  .sassy-contact-stage { grid-template-columns: 1fr; gap: 2.7rem; }
  .sassy-contact-media { max-width: 720px; min-height: 0; }
  .sassy-contact-media img { height: auto !important; min-height: 0; aspect-ratio: 4 / 3 !important; }
}
@media (max-width: 767px) {
  .sassy-contact-panel { padding: 1.4rem; border-radius: 24px; }
  body.sassy-modern .sassy-contact .btn-primary { width: 100%; }
  .sassy-contact-media img { border-radius: 26px 16px 50px 20px !important; }
}

/* ---------------------------------------------------------
   Article/event headers — no dark overlay hero; same Sassy language.
   --------------------------------------------------------- */
.sassy-article-hero {
  position: relative;
  overflow: clip;
  padding: clamp(4.5rem, 7vw, 7rem) 0;
  background:
    radial-gradient(circle at 4% 14%, rgba(239,114,192,.10), transparent 24%),
    radial-gradient(circle at 93% 8%, rgba(8,124,255,.09), transparent 25%),
    #fffdf9;
}
.sassy-article-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .82fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}
.sassy-article-hero-copy {
  min-width: 0;
  max-width: 800px;
}
body.sassy-modern .sassy-article-hero h1 {
  margin: 0;
  max-width: 800px;
  color: var(--sassy-ink) !important;
  font-family: var(--sassy-heading-font) !important;
  font-size: clamp(2.75rem, 4.65vw, 4.9rem) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}
.sassy-article-hero-copy p {
  max-width: 680px;
  margin: 1.4rem 0 0;
  color: var(--sassy-muted);
  font-size: clamp(1.05rem, 1.35vw, 1.25rem);
  line-height: 1.55;
}
.sassy-article-hero-media {
  position: relative;
  margin: 0;
}
.sassy-article-hero-media::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: auto -16px -16px 18%;
  height: 64%;
  border-radius: 34px 18px 58px 22px;
  background: var(--sassy-blue);
  opacity: .85;
}
.sassy-article-hero-media img {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border-radius: 34px 20px 64px 24px;
  box-shadow: 0 24px 70px rgba(18,36,58,.12);
}
.sassy-article-orb {
  position: absolute;
  z-index: 1;
  display: block;
  border-radius: 50%;
  pointer-events: none;
}
.sassy-article-orb--pink {
  width: clamp(80px, 7vw, 118px);
  aspect-ratio: 1;
  right: 4%;
  top: 8%;
  background: var(--sassy-pink);
  animation: sassy-solid-orb-a 10s ease-in-out infinite;
}
.sassy-article-orb--yellow {
  width: clamp(48px, 4vw, 70px);
  aspect-ratio: 1;
  left: 48%;
  bottom: 10%;
  background: var(--sassy-yellow);
  animation: sassy-solid-orb-b 11s ease-in-out -3s infinite;
}
.sassy-article-orb--blue {
  width: clamp(42px, 3.5vw, 60px);
  aspect-ratio: 1;
  left: 3%;
  top: 14%;
  background: var(--sassy-blue);
  animation: sassy-solid-orb-c 9s ease-in-out -2s infinite;
}

@media (max-width: 991px) {
  .sassy-article-hero-grid { grid-template-columns: 1fr; gap: 2.7rem; }
  .sassy-article-hero-media { max-width: 760px; }
  .sassy-article-orb--yellow { left: auto; right: 20%; bottom: 3%; }
}
@media (max-width: 767px) {
  .sassy-article-hero { padding: 3.6rem 0 4.25rem; }
  body.sassy-modern .sassy-article-hero h1 { font-size: clamp(2.4rem, 10vw, 3.4rem) !important; }
  .sassy-article-hero-media img { border-radius: 26px 16px 48px 20px; }
  .sassy-article-orb--pink { width: 72px; right: -20px; top: 6%; }
  .sassy-article-orb--blue { width: 38px; left: -10px; }
}

/* Posts stay compact and readable. */
body.sassy-modern .sassy-post-card h3 {
  font-family: var(--sassy-heading-font) !important;
  font-size: clamp(1.3rem, 1.45vw, 1.62rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
}

/* Buttons/icons remain clean SVG-based controls. */
body.sassy-modern .btn,
body.sassy-modern 
body.sassy-modern .wp-element-button {
  font-family: "Manrope", Arial, sans-serif !important;
}

@media (prefers-reduced-motion: reduce) {
  .sassy-split-media::before,
  .sassy-split-media::after,
  .sassy-contact-orb,
  .sassy-article-orb { animation: none !important; }
}

/* Guard against legacy SVG sizing leaking into modern buttons/cards. */
body.sassy-modern .sassy-icon {
  width: 1.05em !important;
  height: 1.05em !important;
  max-width: 1.05em !important;
  max-height: 1.05em !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
body.sassy-modern .btn .sassy-icon,
body.sassy-modern .sassy-card-link .sassy-icon,
body.sassy-modern .post-navigation .sassy-icon,
body.sassy-modern .sassy-youthclubhub-credit .sassy-icon {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
}

/* Native Gutenberg content used outside the full-width Sassy section blocks. */
body.sassy-modern .sassy-entry-content > :where(p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote,pre,.wp-block-image,.wp-block-video,.wp-block-embed,.wp-block-buttons,.wp-block-columns,.wp-block-table,.wp-block-separator):not(.alignfull):not(.alignwide) {
  width: min(calc(100% - (var(--sassy-pad) * 2)), 820px);
  margin-left: auto;
  margin-right: auto;
}
body.sassy-modern .sassy-entry-content > :where(p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote,pre,.wp-block-image,.wp-block-video,.wp-block-embed,.wp-block-buttons,.wp-block-columns,.wp-block-table) {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
body.sassy-modern .sassy-entry-content > :first-child:not(.wrapper-largest):not(.alignfull) { margin-top: clamp(2.5rem,5vw,5rem); }
body.sassy-modern .sassy-entry-content > :last-child:not(.wrapper-largest):not(.alignfull) { margin-bottom: clamp(2.5rem,5vw,5rem); }
body.sassy-modern .sassy-entry-content > .alignwide { width:min(calc(100% - (var(--sassy-pad) * 2)),1100px);margin-left:auto;margin-right:auto; }
body.sassy-modern .sassy-entry-content > .alignfull { width:100%;max-width:none; }

/* Complete Sassy palette utilities used by native block controls. */
body.sassy-modern .theme-bg-sky { background-color:#eef9fd !important; color:var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-lime { background-color:#effcf1 !important; color:var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-orange { background-color:#fff4e9 !important; color:var(--sassy-ink) !important; }
body.sassy-modern .theme-text-sky { color:#237eaa !important; }
body.sassy-modern .theme-text-lime { color:#27803b !important; }
body.sassy-modern .theme-text-orange { color:#b65500 !important; }
body.sassy-modern .sassy-orb.theme-bg-sky { background:var(--sassy-sky) !important; }
body.sassy-modern .sassy-orb.theme-bg-lime { background:var(--sassy-lime) !important; }
body.sassy-modern .sassy-orb.theme-bg-orange { background:var(--sassy-orange) !important; }

/* =========================================================
   Sassy 2026 v8 — native block polish, compact hero, club blocks
   ========================================================= */

/* Standard jumbotron starts promptly after navigation. */
.sassy-entry-content > .sassy-hero:first-child { margin-top: 0 !important; }
.sassy-hero:not(.sassy-hero--immersive) {
  height: auto !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  padding: clamp(2.5rem, 4.5vw, 4.75rem) 0 clamp(3.25rem, 5.5vw, 5.5rem) !important;
}
.sassy-hero-grid { min-height: 0 !important; }
.sassy-hero-copy { align-self: center; }
body.sassy-modern .sassy-hero .ic-title { font-size: clamp(2.8rem, 4.5vw, 4.85rem) !important; }
.sassy-hero-image-wrap { max-height: 520px !important; }
@media (max-width: 991px) {
  .sassy-hero:not(.sassy-hero--immersive) { padding-top: 2.5rem !important; }
  .sassy-hero-image-wrap { max-height: none !important; }
}
@media (max-width: 767px) {
  .sassy-hero:not(.sassy-hero--immersive) { padding: 2rem 0 3.25rem !important; }
}

/* Event featured images are commonly portrait flyers: show the full artwork. */
.sassy-event-article-hero .sassy-article-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  align-items: center;
}
.sassy-event-article-hero .sassy-article-hero-media {
  width: 100%;
  max-width: 430px;
  justify-self: end;
}
.sassy-event-article-hero .sassy-article-hero-media::before {
  inset: 18px -16px -18px 16px;
  height: auto;
  border-radius: 30px 20px 58px 24px;
}
.sassy-event-article-hero .sassy-article-hero-media img {
  width: 100%;
  height: auto;
  max-height: 680px;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  object-position: center;
  background: #fff;
  border-radius: 30px 20px 58px 24px;
}
@media (max-width: 991px) {
  .sassy-event-article-hero .sassy-article-hero-grid { grid-template-columns: 1fr; }
  .sassy-event-article-hero .sassy-article-hero-media { justify-self: start; max-width: 460px; }
}
@media (max-width: 560px) {
  .sassy-event-article-hero .sassy-article-hero-media { max-width: 100%; }
  .sassy-event-article-hero .sassy-article-hero-media img { max-height: none; }
}

/* Mailchimp / newsletter forms: clear, large controls with simple hierarchy. */
.sassy-modern .mc4wp-form,
.sassy-modern form[class*="mc4wp-form"] {
  margin-top: 1.6rem;
}
.sassy-modern .mc4wp-form-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: end;
}
.sassy-modern .mc4wp-form-fields p { margin: 0 !important; }
.sassy-modern .mc4wp-form-fields label {
  display: block;
  margin-bottom: .4rem;
  color: var(--sassy-ink);
  font-weight: 700;
}
.sassy-modern .mc4wp-form input[type="email"],
.sassy-modern .mc4wp-form input[type="text"] {
  width: 100%;
  min-height: 58px;
  padding: .8rem 1rem;
  border: 1px solid rgba(18,36,58,.18);
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  color: var(--sassy-ink);
  box-shadow: 0 8px 24px rgba(18,36,58,.05);
}
.sassy-modern .mc4wp-form input[type="submit"],
.sassy-modern .mc4wp-form button[type="submit"] {
  min-height: 58px;
  padding: .85rem 1.4rem;
  border: 0;
  border-radius: 999px;
  background: var(--sassy-blue);
  color: #fff;
  font-family: "Manrope", Arial, sans-serif;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease;
}
.sassy-modern .mc4wp-form input[type="submit"]:hover,
.sassy-modern .mc4wp-form button[type="submit"]:hover { transform: translateY(-2px); background: var(--sassy-blue-dark); }
.sassy-modern .mc4wp-response { margin-top: .9rem; font-weight: 700; }
@media (max-width: 680px) {
  .sassy-modern .mc4wp-form-fields { grid-template-columns: 1fr; }
  .sassy-modern .mc4wp-form input[type="submit"],
  .sassy-modern .mc4wp-form button[type="submit"] { width: 100%; }
}

/* Shared heading treatment for native activity-club blocks. */
.sassy-section-heading { max-width: 820px; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.sassy-section-heading h2 { margin-bottom: 1rem; }
.sassy-section-heading .sassy-richtext > :last-child { margin-bottom: 0; }

/* CTA banner */
.sassy-club-cta { position: relative; overflow: clip; }
.sassy-club-cta__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  padding: clamp(2rem, 4vw, 3.75rem);
  border: 1px solid rgba(18,36,58,.10);
  border-radius: 34px 22px 58px 24px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 18px 55px rgba(18,36,58,.07);
}
.sassy-club-cta__copy { max-width: 820px; }
.sassy-club-cta__copy h2 { margin-bottom: .9rem; font-size: clamp(2rem, 3.8vw, 3.8rem) !important; }
.sassy-club-cta__copy .sassy-richtext > :last-child { margin-bottom: 0; }
@media (max-width: 780px) { .sassy-club-cta__inner { grid-template-columns: 1fr; } }

/* Club highlights */
.sassy-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.sassy-stat-card {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: .35rem;
  padding: 1.5rem;
  border: 1px solid rgba(18,36,58,.10);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(18,36,58,.06);
}
.sassy-stat-card:nth-child(4n/**/+1) { border-top: 6px solid var(--sassy-pink); }
.sassy-stat-card:nth-child(4n/**/+2) { border-top: 6px solid var(--sassy-blue); }
.sassy-stat-card:nth-child(4n/**/+3) { border-top: 6px solid var(--sassy-yellow); }
.sassy-stat-card:nth-child(4n/**/+4) { border-top: 6px solid var(--sassy-green); }
.sassy-stat-card strong { font-family: var(--sassy-heading-font); font-size: clamp(2.2rem,4vw,4rem); line-height:1; color:var(--sassy-ink); }
.sassy-stat-card span { color: var(--sassy-muted); font-weight: 700; }
@media (max-width: 900px) { .sassy-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .sassy-stats-grid { grid-template-columns: 1fr; } .sassy-stat-card { min-height: 130px; } }

/* Session schedule */
.sassy-schedule-list { display: grid; border-top: 1px solid rgba(18,36,58,.14); }
.sassy-schedule-row {
  display: grid;
  grid-template-columns: minmax(120px,.55fr) minmax(0,1.4fr) minmax(130px,.8fr) 54px;
  gap: 1.25rem;
  align-items: center;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(18,36,58,.14);
}
.sassy-schedule-when { display: flex; flex-direction: column; }
.sassy-schedule-when strong { color: var(--sassy-blue); font-size: 1.05rem; }
.sassy-schedule-when span, .sassy-schedule-location, .sassy-schedule-main p { color: var(--sassy-muted); }
.sassy-schedule-main h3 { margin: 0 0 .25rem; font-size: 1.35rem !important; }
.sassy-schedule-main p { margin:0; font-size:.98rem !important; }
.sassy-schedule-link { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--sassy-blue); color:#fff !important; }
.sassy-schedule-link:hover { transform: translate(2px,-2px); }
@media (max-width: 760px) {
  .sassy-schedule-row { grid-template-columns: 1fr auto; gap:.65rem 1rem; padding:1.25rem; margin-bottom:.8rem; border:1px solid rgba(18,36,58,.12); border-radius:20px; background:#fff; }
  .sassy-schedule-main, .sassy-schedule-location { grid-column:1 / 2; }
  .sassy-schedule-link { grid-column:2; grid-row:1 / span 3; align-self:center; }
  .sassy-schedule-list { border-top:0; }
}

/* Team */
.sassy-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2.5vw,2rem); }
.sassy-team-card { overflow:hidden; border:1px solid rgba(18,36,58,.10); border-radius:28px 20px 48px 22px; background:#fff; box-shadow:0 16px 46px rgba(18,36,58,.07); }
.sassy-team-photo { aspect-ratio:4/3; overflow:hidden; background:#eef4ff; }
.sassy-team-photo img { width:100%; height:100%; object-fit:cover; }
.sassy-team-copy { padding:1.35rem; }
.sassy-team-copy h3 { margin-bottom:.25rem; }
.sassy-team-copy strong { color:var(--sassy-blue); }
.sassy-team-copy p { margin:.8rem 0 0; color:var(--sassy-muted); font-size:.98rem !important; }
@media (max-width:900px){ .sassy-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .sassy-team-grid{grid-template-columns:1fr;} }

/* Gallery */
.sassy-gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-flow:dense; gap:1rem; }
.sassy-gallery-item { grid-column:span 4; margin:0; overflow:hidden; border-radius:24px; background:#eef4ff; }
.sassy-gallery-item.is-featured { grid-column:span 8; }
.sassy-gallery-item img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .4s ease; }
.sassy-gallery-item:hover img { transform:scale(1.025); }
.sassy-gallery-item figcaption { padding:.7rem .9rem; color:var(--sassy-muted); font-size:.9rem; background:#fff; }
@media (max-width:800px){ .sassy-gallery-item,.sassy-gallery-item.is-featured{grid-column:span 6;} }
@media (max-width:520px){ .sassy-gallery-item,.sassy-gallery-item.is-featured{grid-column:1/-1;} }

/* Important notice */
.sassy-notice-block { padding-block: clamp(2.5rem,5vw,4.5rem) !important; }
.sassy-notice-inner { display:grid; grid-template-columns:58px minmax(0,1fr); gap:1.25rem; max-width:980px; padding:1.5rem; border:1px solid rgba(18,36,58,.12); border-radius:24px; background:rgba(255,255,255,.72); }
.sassy-notice-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:var(--sassy-ink); color:#fff; }
.sassy-notice-icon .sassy-icon { width:24px !important; height:24px !important; }
.sassy-notice-inner h2 { margin-bottom:.6rem; font-size:clamp(1.55rem,2.7vw,2.45rem) !important; }
.sassy-notice-inner .sassy-richtext > :last-child { margin-bottom:0; }
@media (max-width:520px){ .sassy-notice-inner{grid-template-columns:1fr;} }

/* Dedicated newsletter block */
.sassy-newsletter { position:relative; overflow:clip; }
.sassy-newsletter-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.75fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.sassy-newsletter-grid.no-image { grid-template-columns:1fr; }
.sassy-newsletter-copy { max-width:760px; }
.sassy-newsletter-copy h2 { margin-bottom:1rem; font-size:clamp(2.2rem,4vw,4.2rem) !important; }
.sassy-newsletter-media { margin:0; overflow:hidden; border-radius:34px 22px 64px 26px; box-shadow:0 20px 60px rgba(18,36,58,.10); }
.sassy-newsletter-media img { width:100%; aspect-ratio:4/3; object-fit:cover; }
@media(max-width:840px){ .sassy-newsletter-grid{grid-template-columns:1fr;} .sassy-newsletter-media{max-width:680px;} }

@media (prefers-reduced-motion: reduce) {
  .sassy-gallery-item img,
  .sassy-schedule-link { transition:none !important; transform:none !important; }
}

/* Mailchimp layouts vary by form; flex keeps extra consent/name fields usable. */
.sassy-modern .mc4wp-form-fields { display:flex; flex-wrap:wrap; gap:.75rem; align-items:flex-end; }
.sassy-modern .mc4wp-form-fields > p { flex:1 1 260px; }
.sassy-modern .mc4wp-form-fields > p:has(input[type="submit"]),
.sassy-modern .mc4wp-form-fields > p:has(button[type="submit"]) { flex:0 0 auto; }
.sassy-modern .mc4wp-form-fields > p:has(input[type="checkbox"]) { flex-basis:100%; }
@media (max-width:680px){
  .sassy-modern .mc4wp-form-fields { display:grid; grid-template-columns:1fr; }
  .sassy-modern .mc4wp-form-fields > p { width:100%; }
}

/* =========================================================
   Sassy 2026 v9 — one palette, stronger hero, tighter rhythm
   ========================================================= */

/* All legacy/native colour class values resolve through the same palette
   variables that are injected from Website Settings into front end + editor. */
body.sassy-modern .theme-bg-pink { background-color: var(--sassy-pink-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-blue { background-color: var(--sassy-blue-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-sky { background-color: var(--sassy-sky-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-green { background-color: var(--sassy-green-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-lime { background-color: var(--sassy-lime-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-yellow { background-color: var(--sassy-yellow-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-orange { background-color: var(--sassy-orange-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-purple { background-color: var(--sassy-purple-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-red { background-color: var(--sassy-red-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-primary,
body.sassy-modern .theme-bg-primary-contrast,
body.sassy-modern .theme-bg-primary-contrast-dark { background-color: var(--sassy-pink-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-secondary,
body.sassy-modern .theme-bg-secondary-contrast,
body.sassy-modern .theme-bg-secondary-contrast-dark { background-color: var(--sassy-blue-soft) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-accent { background-color: var(--sassy-surface) !important; color: var(--sassy-ink) !important; }

body.sassy-modern .theme-text-blue,
body.sassy-modern .theme-text-secondary,
body.sassy-modern .theme-text-secondary-contrast,
body.sassy-modern .theme-text-secondary-contrast-dark { color: var(--sassy-blue) !important; }
body.sassy-modern .theme-text-sky { color: var(--sassy-sky) !important; }
body.sassy-modern .theme-text-pink,
body.sassy-modern .theme-text-primary,
body.sassy-modern .theme-text-primary-contrast,
body.sassy-modern .theme-text-primary-contrast-dark { color: var(--sassy-pink) !important; }
body.sassy-modern .theme-text-green { color: var(--sassy-green) !important; }
body.sassy-modern .theme-text-lime { color: var(--sassy-lime) !important; }
body.sassy-modern .theme-text-yellow { color: var(--sassy-yellow) !important; }
body.sassy-modern .theme-text-orange { color: var(--sassy-orange) !important; }
body.sassy-modern .theme-text-purple { color: var(--sassy-purple) !important; }
body.sassy-modern .theme-text-red { color: var(--sassy-red) !important; }
body.sassy-modern .theme-text-black { color: var(--sassy-ink) !important; }
body.sassy-modern .theme-text-white { color: var(--sassy-white) !important; }

body.sassy-modern .sassy-image-accent.theme-bg-pink,
body.sassy-modern .sassy-orb.theme-bg-pink,
body.sassy-modern .sassy-image-accent.theme-bg-primary-contrast,
body.sassy-modern .sassy-orb.theme-bg-primary-contrast { background: var(--sassy-pink) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-blue,
body.sassy-modern .sassy-orb.theme-bg-blue,
body.sassy-modern .sassy-image-accent.theme-bg-secondary-contrast,
body.sassy-modern .sassy-orb.theme-bg-secondary-contrast { background: var(--sassy-blue) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-sky,
body.sassy-modern .sassy-orb.theme-bg-sky { background: var(--sassy-sky) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-green,
body.sassy-modern .sassy-orb.theme-bg-green { background: var(--sassy-green) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-lime,
body.sassy-modern .sassy-orb.theme-bg-lime { background: var(--sassy-lime) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-yellow,
body.sassy-modern .sassy-orb.theme-bg-yellow { background: var(--sassy-yellow) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-orange,
body.sassy-modern .sassy-orb.theme-bg-orange { background: var(--sassy-orange) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-purple,
body.sassy-modern .sassy-orb.theme-bg-purple { background: var(--sassy-purple) !important; }
body.sassy-modern .sassy-image-accent.theme-bg-red,
body.sassy-modern .sassy-orb.theme-bg-red { background: var(--sassy-red) !important; }

/* The PrintFriendly plugin's WP Template mode injects .pf-content around the
   page. It is a content-selection wrapper, not part of this theme. Keep it
   layout-neutral so it cannot add artificial gaps around native blocks. */
body.sassy-modern .sassy-entry-content > .pf-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.sassy-modern .sassy-entry-content > .pf-content > :first-child { margin-top: 0 !important; }
body.sassy-modern .sassy-entry-content > .pf-content > :last-child { margin-bottom: 0 !important; }

/* Tighter vertical rhythm between complete section blocks. */
body.sassy-modern .wrapper-largest { padding: clamp(3.1rem, 5.2vw, 5.4rem) 0; }
body.sassy-modern .sassy-section-heading { margin-bottom: clamp(1.8rem, 3.4vw, 3rem); }
body.sassy-modern .sassy-entry-content > :first-child:not(.wrapper-largest):not(.alignfull),
body.sassy-modern .sassy-entry-content > .pf-content > :first-child:not(.wrapper-largest):not(.alignfull) { margin-top: clamp(1.75rem, 3vw, 3rem); }
body.sassy-modern .sassy-entry-content > :last-child:not(.wrapper-largest):not(.alignfull),
body.sassy-modern .sassy-entry-content > .pf-content > :last-child:not(.wrapper-largest):not(.alignfull) { margin-bottom: clamp(1.75rem, 3vw, 3rem); }

/* A more immersive home jumbotron without translucent/faded circles. */
.sassy-hero:not(.sassy-hero--immersive) {
  position: relative;
  min-height: clamp(590px, 72vh, 760px) !important;
  padding: clamp(3.25rem, 5vw, 5.25rem) 0 !important;
  background: linear-gradient(112deg, var(--sassy-paper) 0 55%, var(--sassy-blue-soft) 55% 100%) !important;
  isolation: isolate;
}
.sassy-hero:not(.sassy-hero--immersive)::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: linear-gradient(90deg,
    var(--sassy-red) 0 12.5%,
    var(--sassy-orange) 12.5% 25%,
    var(--sassy-yellow) 25% 37.5%,
    var(--sassy-green) 37.5% 50%,
    var(--sassy-sky) 50% 62.5%,
    var(--sassy-blue) 62.5% 75%,
    var(--sassy-purple) 75% 87.5%,
    var(--sassy-pink) 87.5% 100%);
}
.sassy-hero:not(.sassy-hero--immersive)::after { display: none !important; content: none !important; }
.sassy-hero:not(.sassy-hero--immersive) .container { position: relative; z-index: 2; }
.sassy-hero-grid {
  grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr) !important;
  gap: clamp(2rem, 4vw, 4.5rem) !important;
}
.sassy-hero-copy { max-width: 720px !important; }
body.sassy-modern .sassy-hero .ic-title {
  max-width: 720px !important;
  margin-bottom: 1.35rem !important;
  font-family: var(--sassy-heading-font) !important;
  font-size: clamp(3.25rem, 5.4vw, 6rem) !important;
  line-height: .95 !important;
  letter-spacing: -.045em !important;
}
.sassy-hero .sassy-highlight {
  display: inline;
  color: var(--sassy-blue) !important;
  box-shadow: inset 0 -.14em 0 var(--sassy-yellow-soft);
}
.sassy-hero-eyebrow {
  color: var(--sassy-blue) !important;
  font-size: .8rem !important;
  letter-spacing: .11em;
}
.sassy-hero .sassy-lead,
.sassy-hero .sassy-lead p { max-width: 650px; color: var(--sassy-muted) !important; }
.sassy-hero-media {
  position: relative;
  width: 100%;
  max-width: 760px !important;
  justify-self: end;
  padding: clamp(.7rem, 1.4vw, 1.1rem) 0 clamp(.7rem, 1.4vw, 1.1rem) clamp(.5rem, 1vw, 1rem);
}
.sassy-hero-media::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 7% -2.5% -4% 8%;
  border-radius: 34px 80px 34px 80px;
  background: var(--sassy-pink);
  transform: rotate(1.6deg);
}
.sassy-hero-image-wrap {
  aspect-ratio: 5 / 4 !important;
  max-height: 590px !important;
  border-radius: 36px 88px 36px 88px !important;
  box-shadow: 0 30px 80px rgba(17,38,63,.16) !important;
  transform: rotate(-.75deg);
}
.sassy-hero-image-wrap img { transform: scale(1.015); }
.sassy-orb-one { width: clamp(92px, 7vw, 132px) !important; top: -24px !important; right: 6% !important; }
.sassy-orb-two { width: clamp(70px, 5vw, 96px) !important; bottom: -24px !important; left: -14px !important; }
.sassy-orb-three { width: clamp(42px, 3.3vw, 62px) !important; right: 12% !important; bottom: -30px !important; background: var(--sassy-blue) !important; }

/* Make core UI use palette variables too. */
body.sassy-modern .btn-primary,
body.sassy-modern .wp-element-button { background: var(--sassy-blue) !important; color: var(--sassy-white) !important; }
body.sassy-modern .btn-primary:hover,
body.sassy-modern .wp-element-button:hover { background: var(--sassy-blue-dark) !important; }
body.sassy-modern .header_topbar { background: var(--sassy-blue) !important; }
body.sassy-modern .sassy-post-card .post-container { background: var(--sassy-paper) !important; }
body.sassy-modern .sassy-page-header { background: var(--sassy-blue-soft) !important; }

@media (max-width: 1100px) {
  .sassy-hero-grid { grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr) !important; }
  body.sassy-modern .sassy-hero .ic-title { font-size: clamp(3rem, 5.6vw, 5rem) !important; }
}
@media (max-width: 991px) {
  .sassy-hero:not(.sassy-hero--immersive) {
    min-height: 0 !important;
    padding: 3rem 0 3.75rem !important;
    background: linear-gradient(180deg, var(--sassy-paper) 0 60%, var(--sassy-blue-soft) 60% 100%) !important;
  }
  .sassy-hero-grid { grid-template-columns: 1fr !important; gap: 2.6rem !important; }
  .sassy-hero-media { justify-self: stretch; max-width: 760px !important; }
  .sassy-hero-image-wrap { aspect-ratio: 16 / 11 !important; }
}
@media (max-width: 767px) {
  body.sassy-modern .wrapper-largest { padding: 2.75rem 0; }
  .sassy-hero:not(.sassy-hero--immersive) { padding: 2.6rem 0 3.2rem !important; }
  body.sassy-modern .sassy-hero .ic-title { font-size: clamp(2.75rem, 12vw, 4.3rem) !important; }
  .sassy-hero-media { padding-left: 0; }
  .sassy-hero-media::before { inset: 8% -8px -12px 8%; border-radius: 26px 58px 26px 58px; }
  .sassy-hero-image-wrap { border-radius: 28px 62px 28px 62px !important; transform: none; }
}

/* Palette-derived neutral/soft treatments — no separate hard-coded brand hues. */
body.sassy-modern .site-footer {
  background: linear-gradient(135deg, var(--sassy-pink-soft) 0%, var(--sassy-paper) 42%, var(--sassy-blue-soft) 100%) !important;
  color: var(--sassy-ink) !important;
}
body.sassy-modern .sassy-contact { background: var(--sassy-blue-soft) !important; }
body.sassy-modern .sassy-contact-panel,
body.sassy-modern .sassy-contact-card,
body.sassy-modern .sassy-search-popover,
body.sassy-modern .sassy-post-card .post-container { background: var(--sassy-white) !important; }
body.sassy-modern .sassy-search-popover .sassy-search-form input { background: var(--sassy-surface) !important; }
body.sassy-modern .sassy-footer-label,
body.sassy-modern .sassy-footer-nav .footer-menu a,
body.sassy-modern .sassy-footer-bottom p,
body.sassy-modern .sassy-footer-bottom a { color: var(--sassy-muted) !important; }

/* =========================================================
   Sassy 2026 v10 — consistent hero geometry + richer headers
   ========================================================= */

/* Page headers are first-class hero blocks: never inherit the generic first
   block margin that is used for ordinary content sections. */
body.sassy-modern .sassy-entry-content > .sassy-page-header:first-child,
body.sassy-modern .sassy-entry-content > .pf-content > .sassy-page-header:first-child,
body.sassy-modern .sassy-page-header {
  margin-top: 0 !important;
}

.sassy-page-header {
  position: relative;
  overflow: hidden;
  padding: clamp(3.5rem, 6vw, 5.75rem) 0;
  min-height: clamp(300px, 34vw, 470px);
  background: var(--sassy-blue-soft) !important;
  isolation: isolate;
}
.sassy-page-header-layout {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 4.5rem);
}
.sassy-page-header--has-media .sassy-page-header-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
}
.sassy-page-header-inner {
  max-width: 900px;
}
body.sassy-modern .sassy-page-header h1 {
  margin: 0 0 1rem !important;
  font-size: clamp(2.9rem, 5vw, 5.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}
.sassy-page-header .heading-p {
  max-width: 720px;
  margin: 0;
}
.sassy-page-header-media {
  position: relative;
  width: 100%;
  max-width: 560px;
  justify-self: end;
  padding: .6rem 0 .8rem .6rem;
}
.sassy-page-header-media::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 8% -3% -5% 8%;
  border-radius: 28px 62px 28px 62px;
  background: var(--sassy-pink);
  transform: rotate(1.5deg);
}
.sassy-page-header-media-wrap {
  position: relative;
  z-index: 2;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 30px 68px 30px 68px;
  background: var(--sassy-white);
  box-shadow: 0 24px 60px rgba(17,38,63,.14);
  transform: rotate(-.55deg);
}
.sassy-page-header-media-wrap img,
.sassy-page-header-media-wrap video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sassy-page-header-media-wrap video {
  background: var(--sassy-ink);
}
.sassy-page-media-orb {
  position: absolute;
  z-index: 4;
  display: block;
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  animation: sassy-orb-float 8s ease-in-out infinite;
}
.sassy-page-media-orb-one {
  width: clamp(58px, 5vw, 88px);
  top: -16px;
  right: 8%;
  background: var(--sassy-pink);
}
.sassy-page-media-orb-two {
  width: clamp(42px, 3.8vw, 68px);
  left: -10px;
  bottom: -18px;
  background: var(--sassy-yellow);
  animation-delay: -2.6s;
}
body.sassy-modern .sassy-page-media-orb.theme-bg-pink,
body.sassy-modern .sassy-page-media-orb.theme-bg-primary-contrast { background: var(--sassy-pink) !important; }
body.sassy-modern .sassy-page-media-orb.theme-bg-blue,
body.sassy-modern .sassy-page-media-orb.theme-bg-secondary-contrast { background: var(--sassy-blue) !important; }
body.sassy-modern .sassy-page-media-orb.theme-bg-sky { background: var(--sassy-sky) !important; }
body.sassy-modern .sassy-page-media-orb.theme-bg-green { background: var(--sassy-green) !important; }
body.sassy-modern .sassy-page-media-orb.theme-bg-lime { background: var(--sassy-lime) !important; }
body.sassy-modern .sassy-page-media-orb.theme-bg-yellow { background: var(--sassy-yellow) !important; }
body.sassy-modern .sassy-page-media-orb.theme-bg-orange { background: var(--sassy-orange) !important; }
body.sassy-modern .sassy-page-media-orb.theme-bg-purple { background: var(--sassy-purple) !important; }
body.sassy-modern .sassy-page-media-orb.theme-bg-red { background: var(--sassy-red) !important; }

/* Posts blocks now take their section surface directly from the shared palette.
   Cards remain white so text and imagery keep a stable accessible contrast. */
body.sassy-modern .sassy-posts.theme-bg-pink,
body.sassy-modern .sassy-posts.theme-bg-blue,
body.sassy-modern .sassy-posts.theme-bg-sky,
body.sassy-modern .sassy-posts.theme-bg-green,
body.sassy-modern .sassy-posts.theme-bg-lime,
body.sassy-modern .sassy-posts.theme-bg-yellow,
body.sassy-modern .sassy-posts.theme-bg-orange,
body.sassy-modern .sassy-posts.theme-bg-purple,
body.sassy-modern .sassy-posts.theme-bg-red,
body.sassy-modern .sassy-posts.theme-bg-accent {
  width: 100%;
}
body.sassy-modern .sassy-posts .sassy-post-card .post-container {
  background: var(--sassy-white) !important;
}

/* Keep the diagonal Sassy split on every viewport. The layout can stack, but
   the brand geometry should not turn into a horizontal rectangular band. */
.sassy-hero:not(.sassy-hero--immersive) {
  background: linear-gradient(112deg, var(--sassy-paper) 0 55%, var(--sassy-blue-soft) 55% 100%) !important;
}
@media (max-width: 991px) {
  .sassy-hero:not(.sassy-hero--immersive) {
    padding: 2.55rem 0 3.2rem !important;
    background: linear-gradient(112deg, var(--sassy-paper) 0 55%, var(--sassy-blue-soft) 55% 100%) !important;
  }
  .sassy-hero-grid { gap: 2.15rem !important; }
  .sassy-page-header--has-media .sassy-page-header-layout {
    grid-template-columns: 1fr;
  }
  .sassy-page-header-media {
    justify-self: start;
    max-width: 660px;
  }
}
@media (max-width: 767px) {
  .sassy-hero:not(.sassy-hero--immersive) {
    padding: 2.15rem 0 2.7rem !important;
    background: linear-gradient(112deg, var(--sassy-paper) 0 55%, var(--sassy-blue-soft) 55% 100%) !important;
  }
  .sassy-hero-grid { gap: 1.75rem !important; }
  .sassy-page-header {
    min-height: 0;
    padding: 2.8rem 0 3.1rem;
  }
  body.sassy-modern .sassy-page-header h1 {
    font-size: clamp(2.6rem, 12vw, 4rem) !important;
  }
  .sassy-page-header-layout { gap: 2rem; }
  .sassy-page-header-media {
    max-width: none;
    padding-left: 0;
  }
  .sassy-page-header-media::before {
    inset: 9% -8px -10px 8%;
    border-radius: 24px 50px 24px 50px;
  }
  .sassy-page-header-media-wrap {
    border-radius: 26px 54px 26px 54px;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sassy-page-media-orb { animation: none !important; }
}

/* ============================================================
   v11 — editable block design system
   All values come from Website Settings > Brand Palette.
   ============================================================ */
.sassy-design-scope { display: contents; }

body.sassy-modern .theme-bg-paper { background-color: var(--sassy-paper) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-white { background-color: var(--sassy-white) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-bg-surface,
body.sassy-modern .theme-bg-accent { background-color: var(--sassy-surface) !important; color: var(--sassy-ink) !important; }
body.sassy-modern .theme-text-ink { color: var(--sassy-ink) !important; }
body.sassy-modern .theme-text-muted { color: var(--sassy-muted) !important; }

/* Universal section-level controls. A missing variable simply falls back to the block's design. */
body.sassy-modern .sassy-design-scope > section {
  background-color: var(--sassy-block-bg) !important;
}
body.sassy-modern .sassy-design-scope > section {
  --sassy-line: var(--sassy-block-line, var(--sassy-paper));
}
body.sassy-modern .sassy-design-scope > section :is(
  .sassy-hero-copy > h1,
  .sassy-page-header-copy h1,
  .sassy-section-heading h2,
  .sassy-split-copy > h2,
  .sassy-newsletter-copy > h2,
  .sassy-contact-copy > h2,
  .sassy-contact-form-panel > h2,
  .title
) { color: var(--sassy-block-title) !important; }
body.sassy-modern .sassy-design-scope > section :is(
  .sassy-lead,
  .sassy-lead p,
  .ic-subtitle,
  .ic-subtitle p,
  .subtitle,
  .subtitle p,
  .sassy-split-copy > .sassy-richtext,
  .sassy-newsletter-copy > .sassy-richtext,
  .sassy-section-heading > .subtitle,
  .sassy-contact-copy > .sassy-richtext
) { color: var(--sassy-block-text) !important; }
body.sassy-modern .sassy-design-scope > section .sassy-section-eyebrow,
body.sassy-modern .sassy-design-scope > section .sassy-hero-eyebrow {
  color: var(--sassy-eyebrow-colour, var(--sassy-block-accent, var(--sassy-blue))) !important;
}
body.sassy-modern .sassy-design-scope--pageheader > section .sassy-page-header-subtitle {
  color: var(--sassy-subtitle-colour, var(--sassy-block-text, var(--sassy-muted))) !important;
}
body.sassy-modern .sassy-design-scope > section .sassy-image-accent,
body.sassy-modern .sassy-design-scope > section .sassy-card-number,
body.sassy-modern .sassy-design-scope > section .sassy-check-icon {
  color: var(--sassy-block-accent) !important;
}
body.sassy-modern .sassy-design-scope > section .sassy-image-accent {
  background: var(--sassy-block-accent) !important;
}
body.sassy-modern .sassy-design-scope > section .sassy-feature-card,
body.sassy-modern .sassy-design-scope > section .sassy-post-card .post-container,
body.sassy-modern .sassy-design-scope > section .sassy-stat-card,
body.sassy-modern .sassy-design-scope > section .sassy-session-card,
body.sassy-modern .sassy-design-scope > section .sassy-team-card {
  background: var(--sassy-card-bg) !important;
}
body.sassy-modern .sassy-design-scope > section :is(.sassy-feature-card h3,.sassy-post-card h2,.sassy-post-card h3,.sassy-stat-card h3,.sassy-session-card h3,.sassy-team-card h3) {
  color: var(--sassy-card-title) !important;
}
body.sassy-modern .sassy-design-scope > section :is(.sassy-feature-card .sassy-richtext,.sassy-post-card p,.sassy-stat-card p,.sassy-session-card p,.sassy-team-card p) {
  color: var(--sassy-card-text) !important;
}
body.sassy-modern .sassy-design-scope > section :is(.sassy-card-link,.sassy-post-card a:not(.btn),.sassy-section-link) {
  color: var(--sassy-card-link) !important;
}

body.sassy-modern .sassy-design-scope > section .btn-primary,
body.sassy-modern .sassy-design-scope > section .sassy-newsletter-form :is(button,input[type="submit"],.button) {
  background: var(--sassy-button-bg, var(--sassy-blue)) !important;
  color: var(--sassy-button-text, var(--sassy-white)) !important;
  border-color: var(--sassy-button-bg, var(--sassy-blue)) !important;
}
body.sassy-modern .sassy-design-scope > section .btn-secondary {
  background: var(--sassy-button2-bg, transparent) !important;
  color: var(--sassy-button2-text, var(--sassy-ink)) !important;
  border-color: var(--sassy-button2-bg, rgba(17,38,63,.32)) !important;
}

/* Jumbotron desktop/tablet uses the selected two-colour composition. */
body.sassy-modern .sassy-design-scope--jumbotron > .sassy-hero:not(.sassy-hero--immersive) {
  background: linear-gradient(112deg,
    var(--sassy-block-bg, var(--sassy-paper)) 0 55%,
    var(--sassy-hero-panel, var(--sassy-blue-soft)) 55% 100%) !important;
}
body.sassy-modern .sassy-design-scope--jumbotron .sassy-hero-media::before {
  background: var(--sassy-block-accent, var(--sassy-pink)) !important;
}

/* Mobile deliberately becomes a single square colour field. The diagonal is a desktop device. */
@media (max-width: 767px) {
  body.sassy-modern .sassy-design-scope--jumbotron > .sassy-hero:not(.sassy-hero--immersive) {
    background: var(--sassy-block-bg, var(--sassy-paper)) !important;
  }
  body.sassy-modern .sassy-design-scope--jumbotron .sassy-hero-grid { gap: 2rem !important; }
  body.sassy-modern .sassy-design-scope--jumbotron .sassy-actions { gap: .75rem !important; }
}

/* Compact the lower half of long landing pages without crushing the content. */
body.sassy-modern .wrapper-largest { padding-top: clamp(2.35rem, 4vw, 4.2rem); padding-bottom: clamp(2.35rem, 4vw, 4.2rem); }
body.sassy-modern .sassy-section-heading { margin-bottom: clamp(1.45rem, 2.8vw, 2.5rem); }
body.sassy-modern .sassy-section-actions { margin-top: clamp(1.5rem, 2.5vw, 2.25rem); }

.sassy-section-eyebrow {
  display: inline-block;
  margin-bottom: .8rem;
  font-size: .78rem;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Partner/funder strip now carries editable copy while retaining the scrolling logos. */
.sassy-partners .scroller { margin-top: clamp(1.5rem, 2.5vw, 2.5rem); }
.sassy-partners .scrollChild img { width: auto; max-width: 190px; max-height: 74px; object-fit: contain; }
body.sassy-modern .sassy-design-scope > section :is(.sassy-contact-card,.accordion-item,.sassy-fee-row,.icon-card) {
  background: var(--sassy-card-bg) !important;
}
body.sassy-modern .sassy-design-scope > section :is(.sassy-contact-card h3,.accordion-button,.sassy-fee-row h3,.icon-card .h5) {
  color: var(--sassy-card-title) !important;
}
body.sassy-modern .sassy-design-scope > section :is(.sassy-contact-card .sassy-richtext,.accordion-body,.sassy-fee-row .sassy-richtext,.icon-card .text) {
  color: var(--sassy-card-text) !important;
}
body.sassy-modern .sassy-design-scope--pageheader > section .sassy-page-header-inner .heading-p {
  color: var(--sassy-subtitle-colour, var(--sassy-block-text, var(--sassy-muted))) !important;
}
body.sassy-modern .sassy-design-scope:not(.sassy-design-scope--jumbotron):not(.sassy-design-scope--pageheader) > section {
  box-shadow: inset 0 4px 0 var(--sassy-block-line, var(--sassy-paper)) !important;
}
body.sassy-modern .sassy-design-scope--iconcards .sassy-feature-card,
body.sassy-modern .sassy-design-scope--posts .sassy-post-card .post-container {
  border-top-color: var(--sassy-block-line, var(--sassy-paper)) !important;
}
body.sassy-modern .sassy-design-scope--iconcards .sassy-feature-card,
body.sassy-modern .sassy-design-scope--iconcta .sassy-feature-card {
  border-top-color: var(--sassy-card-line, var(--sassy-block-line, var(--sassy-paper))) !important;
}
body.sassy-modern .sassy-design-scope--stats .sassy-stat-card strong { color: var(--sassy-card-title) !important; }
body.sassy-modern .sassy-design-scope--stats .sassy-stat-card span { color: var(--sassy-card-text) !important; }
body.sassy-modern .sassy-design-scope--schedule .sassy-schedule-row { background: var(--sassy-card-bg) !important; }
body.sassy-modern .sassy-design-scope--schedule .sassy-schedule-row h3,
body.sassy-modern .sassy-design-scope--schedule .sassy-schedule-when strong { color: var(--sassy-card-title) !important; }
body.sassy-modern .sassy-design-scope--schedule .sassy-schedule-row :is(p,span,.sassy-schedule-location) { color: var(--sassy-card-text) !important; }
body.sassy-modern .sassy-design-scope--team .sassy-team-card strong { color: var(--sassy-card-text) !important; }

.sassy-partners-v2 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--sassy-block-bg, var(--sassy-paper, #fff9f3));
    color: var(--sassy-block-text, var(--sassy-muted, #5d6b7a));
    padding: clamp(3.25rem, 6vw, 6rem) 0;
}

.sassy-partners-v2__accent {
    position: absolute;
    inset: 0 0 auto;
    height: 7px;
    background: var(--sassy-rainbow, linear-gradient(90deg,
        var(--sassy-red, #f25555) 0 12.5%,
        var(--sassy-orange, #ff7a1a) 12.5% 25%,
        var(--sassy-yellow, #ffc400) 25% 37.5%,
        var(--sassy-green, #35b536) 37.5% 50%,
        var(--sassy-sky, #24b8ee) 50% 62.5%,
        var(--sassy-blue, #087cfa) 62.5% 75%,
        var(--sassy-purple, #b845d5) 75% 87.5%,
        var(--sassy-pink, #eb5cb5) 87.5% 100%
    ));
}

.sassy-partners-v2__accent-btm {
    position: absolute;
    inset: auto 0 0;
    height: 7px;
    background: var(--sassy-rainbow, linear-gradient(90deg,
        var(--sassy-red, #f25555) 0 12.5%,
        var(--sassy-orange, #ff7a1a) 12.5% 25%,
        var(--sassy-yellow, #ffc400) 25% 37.5%,
        var(--sassy-green, #35b536) 37.5% 50%,
        var(--sassy-sky, #24b8ee) 50% 62.5%,
        var(--sassy-blue, #087cfa) 62.5% 75%,
        var(--sassy-purple, #b845d5) 75% 87.5%,
        var(--sassy-pink, #eb5cb5) 87.5% 100%
    ));
}

.sassy-partners-v2__inner {
    position: relative;
    z-index: 2;
}

.sassy-partners-v2__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    gap: clamp(2rem, 7vw, 7rem);
    align-items: end;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.sassy-partners-v2__title {
    max-width: 820px;
    margin: 0;
    color: var(--sassy-block-title, var(--sassy-ink, #11263f));
    font-family: var(--sassy-heading-font, inherit);
    font-size: clamp(2.15rem, 4.3vw, 4.6rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.sassy-partners-v2__body {
    max-width: 570px;
    justify-self: end;
    color: var(--sassy-block-text, var(--sassy-muted, #5d6b7a));
}

.sassy-partners-v2__body > :last-child {
    margin-bottom: 0;
}

.sassy-partners-v2__body p {
    color: inherit;
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.65;
}

.sassy-partners-v2__logos {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(.85rem, 1.4vw, 1.35rem);
    align-items: stretch;
}

.sassy-partners-v2__logo {
    min-width: 0;
    transition: transform .3s ease;
    animation-delay: calc(var(--partner-index, 0) * 70ms);
}

.sassy-partners-v2__logo-link {
    position: relative;
    display: flex;
    min-height: 176px;
    height: 100%;
    padding: clamp(1.15rem, 2vw, 1.65rem);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--sassy-ink, #11263f) 12%, transparent);
    border-radius: clamp(1.2rem, 2vw, 1.8rem);
    background: color-mix(in srgb, var(--sassy-white, #fff) 94%, var(--sassy-block-accent, var(--sassy-blue, #087cfa)) 6%);
    box-shadow: 0 16px 40px rgba(17, 38, 63, .07);
    color: var(--sassy-ink, #11263f);
    text-decoration: none;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.sassy-partners-v2__logo-link::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -48px;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: var(--sassy-block-accent, var(--sassy-blue, #087cfa));
    opacity: .08;
    transform: translateX(-50%);
    transition: transform .35s ease, opacity .35s ease;
}

.sassy-partners-v2__logo-media {
    position: relative;
    z-index: 1;
    display: flex;
    width: 100%;
    min-height: 88px;
    align-items: center;
    justify-content: center;
}

.sassy-partners-v2__logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(100%, 220px);
    max-height: 86px;
    object-fit: contain;
    filter: none;
    opacity: 1;
    transition: transform .3s ease;
}

.sassy-partners-v2__logo-name {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 100%;
    color: var(--sassy-muted, #5d6b7a);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .075em;
}

.sassy-partners-v2__logo-link[href]:hover,
.sassy-partners-v2__logo-link[href]:focus-visible {
    transform: translateY(-7px);
    border-color: color-mix(in srgb, var(--sassy-block-accent, var(--sassy-blue, #087cfa)) 42%, transparent);
    box-shadow: 0 24px 55px rgba(17, 38, 63, .12);
}

.sassy-partners-v2__logo-link[href]:hover::before,
.sassy-partners-v2__logo-link[href]:focus-visible::before {
    opacity: .13;
    transform: translateX(-50%) scale(1.5);
}

.sassy-partners-v2__logo-link[href]:hover img,
.sassy-partners-v2__logo-link[href]:focus-visible img {
    transform: scale(1.035);
}

.sassy-partners-v2__logo-link[href]:focus-visible {
    outline: 3px solid var(--sassy-block-accent, var(--sassy-blue, #087cfa));
    outline-offset: 4px;
}

.sassy-partners-v2__orb {
    position: absolute;
    z-index: 1;
    display: block;
    border-radius: 999px;
    pointer-events: none;
    opacity: .95;
}

.sassy-partners-v2__orb--one {
    width: clamp(66px, 7vw, 118px);
    height: clamp(66px, 7vw, 118px);
    right: clamp(-30px, 2vw, 34px);
    top: clamp(30px, 8vw, 105px);
    background: var(--sassy-pink, #eb5cb5);
    animation: sassyPartnerFloatOne 7s ease-in-out infinite;
}

.sassy-partners-v2__orb--two {
    width: clamp(42px, 4.3vw, 72px);
    height: clamp(42px, 4.3vw, 72px);
    left: clamp(-16px, 2vw, 30px);
    bottom: clamp(18px, 5vw, 70px);
    background: var(--sassy-yellow, #ffc400);
    animation: sassyPartnerFloatTwo 6s ease-in-out infinite;
}

@keyframes sassyPartnerFloatOne {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(-10px, 13px, 0); }
}

@keyframes sassyPartnerFloatTwo {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(9px, -10px, 0); }
}

@media (max-width: 1100px) {
    .sassy-partners-v2__logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .sassy-partners-v2 {
        padding: 3.5rem 0;
    }

    .sassy-partners-v2__intro {
        grid-template-columns: 1fr;
        gap: 1rem;
        align-items: start;
        margin-bottom: 2rem;
    }

    .sassy-partners-v2__body {
        justify-self: start;
        max-width: 100%;
    }

    .sassy-partners-v2__title {
        font-size: clamp(2.25rem, 11vw, 3.25rem);
        line-height: 1;
    }

    .sassy-partners-v2__logos {
        display: flex;
        width: calc(100% + var(--sassy-pad, 1.25rem));
        margin-right: calc(var(--sassy-pad, 1.25rem) * -1);
        gap: .85rem;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scrollbar-width: none;
        padding: .25rem var(--sassy-pad, 1.25rem) .9rem 0;
    }

    .sassy-partners-v2__logos::-webkit-scrollbar {
        display: none;
    }

    .sassy-partners-v2__logo {
        flex: 0 0 min(76vw, 280px);
        scroll-snap-align: start;
    }

    .sassy-partners-v2__logo-link {
        min-height: 150px;
        border-radius: 1.25rem;
    }

    .sassy-partners-v2__logo img {
        max-width: 190px;
        max-height: 74px;
    }

    .sassy-partners-v2__orb--one {
        right: -34px;
        top: 32px;
    }

    .sassy-partners-v2__orb--two {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sassy-partners-v2__orb,
    .sassy-partners-v2__logo,
    .sassy-partners-v2__logo-link,
    .sassy-partners-v2__logo img,
    .sassy-partners-v2__logo-link::before {
        animation: none !important;
        transition: none !important;
    }
}

/* Per-block spacing controls. */
body.sassy-modern .sassy-design-scope{display:block;width:100%;max-width:none;margin-left:0;margin-right:0}
body.sassy-modern .sassy-design-scope.has-top-margin{margin-top:clamp(1.5rem,3vw,3rem)}
body.sassy-modern .sassy-design-scope.has-bottom-margin{margin-bottom:clamp(1.5rem,3vw,3rem)}
body.sassy-modern .sassy-design-scope.no-top-margin{margin-top:0!important}
body.sassy-modern .sassy-design-scope.no-bottom-margin{margin-bottom:0!important}
body.sassy-modern .pf-content>.sassy-design-scope:first-child{margin-top:0}
body.sassy-modern .pf-content>.sassy-design-scope:last-child{margin-bottom:0}
@media(max-width:767px){body.sassy-modern .sassy-design-scope.has-top-margin{margin-top:1.25rem}body.sassy-modern .sassy-design-scope.has-bottom-margin{margin-bottom:1.25rem}}

/* v13 — canonical block defaults and independent CTA colours. */
.sassy-design-scope {
  --sassy-block-bg: var(--sassy-paper);
  --sassy-block-title: var(--sassy-ink);
  --sassy-block-text: var(--sassy-muted);
  --sassy-block-accent: var(--sassy-pink);
  --sassy-block-line: var(--sassy-paper);
  --sassy-card-bg: var(--sassy-white);
  --sassy-card-title: var(--sassy-ink);
  --sassy-card-text: var(--sassy-muted);
  --sassy-card-link: var(--sassy-orange);
  --sassy-button-bg: var(--sassy-blue);
  --sassy-button-text: var(--sassy-white);
  --sassy-button2-bg: var(--sassy-white);
  --sassy-button2-text: var(--sassy-ink);
}
body.sassy-modern .sassy-card-link--cta {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  width: max-content;
  margin-top: .9rem;
  padding: .7rem 1rem;
  border-radius: 999px;
  background: var(--sassy-button-bg, var(--sassy-blue));
  color: var(--sassy-button-text, var(--sassy-white)) !important;
  font-weight: 800;
  text-decoration: none;
}
body.sassy-modern .sassy-card-link--cta:hover { transform: translateY(-2px); }

/* =========================================================
   v14 — navigation, events and contact refinement
   This pass is presentation-only: no saved block/content data is migrated.
   ========================================================= */

/* ---------- Navigation ---------- */
body.sassy-modern .sassy-navbar {
  padding: .7rem 0;
  background: var(--sassy-paper);
}
body.sassy-modern .sassy-nav-inner {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: clamp(1rem, 2.5vw, 2.5rem);
  min-height: 78px;
}
body.sassy-modern .sassy-nav-panel {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(.8rem, 1.6vw, 1.5rem);
  min-width: 0;
}
body.sassy-modern .sassy-nav-panel > .navbar-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(.15rem, .55vw, .65rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
body.sassy-modern .sassy-nav-link-row {
  display: inline-flex;
  align-items: center;
  gap: .1rem;
}
body.sassy-modern .menu-navigation,
body.sassy-modern .sassy-nav-panel { overflow: visible; }
body.sassy-modern .sassy-nav-panel .nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .65rem .55rem !important;
  color: var(--sassy-ink);
  font-family: "Manrope", sans-serif;
  font-size: .88rem;
  font-weight: 800 !important;
  line-height: 1.15;
  text-decoration: none;
}
body.sassy-modern .sassy-submenu-toggle {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  padding: 0;
  color: var(--sassy-ink);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
}
body.sassy-modern .sassy-submenu-toggle svg {
  width: 17px;
  height: 17px;
  transition: transform .2s ease;
}
body.sassy-modern .sassy-submenu-toggle:hover,
body.sassy-modern .sassy-submenu-toggle:focus-visible {
  color: var(--sassy-blue);
  background: var(--sassy-blue-soft);
  border-color: color-mix(in srgb, var(--sassy-blue) 20%, transparent);
}
body.sassy-modern .menu-item-has-children.is-submenu-open > .sassy-nav-link-row .sassy-submenu-toggle svg {
  transform: rotate(180deg);
}
body.sassy-modern .sassy-nav-panel .menu-item-has-children { position: relative !important; }
body.sassy-modern .sassy-nav-panel .sassy-submenu {
  display: block !important;
  position: absolute;
  z-index: 1000;
  top: calc(100% + .65rem);
  left: 0;
  min-width: 270px;
  margin: 0;
  padding: .65rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  background: var(--sassy-white);
  border: 1px solid color-mix(in srgb, var(--sassy-ink) 12%, transparent);
  border-radius: 20px;
  box-shadow: 0 22px 60px rgba(17,38,63,.13);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  list-style: none;
}
body.sassy-modern .sassy-nav-panel .menu-item-has-children.is-submenu-open > .sassy-submenu,
body.sassy-modern .sassy-nav-panel .menu-item-has-children:focus-within > .sassy-submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
@media (hover: hover) and (min-width: 992px) {
  body.sassy-modern .sassy-nav-panel .menu-item-has-children:hover > .sassy-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}
body.sassy-modern .sassy-nav-panel .sassy-submenu .dropdown-item {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: .7rem .8rem !important;
  border-radius: 12px;
  color: var(--sassy-ink);
  font-size: .9rem;
  font-weight: 700 !important;
  text-decoration: none;
}
body.sassy-modern .sassy-nav-panel .sassy-submenu .dropdown-item:hover,
body.sassy-modern .sassy-nav-panel .sassy-submenu .dropdown-item:focus-visible {
  color: var(--sassy-blue);
  background: var(--sassy-blue-soft);
}
body.sassy-modern .sassy-menu-label { display: none; }
body.sassy-modern .sassy-mobile-search { display: none; }
body.sassy-modern .sassy-nav-search { flex: 0 0 auto; }
body.sassy-modern .sassy-search-toggle {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 46px;
  padding: .7rem 1rem;
  color: var(--sassy-blue-dark);
  background: var(--sassy-white);
  border: 1px solid color-mix(in srgb, var(--sassy-blue) 22%, transparent);
  border-radius: 999px;
  font-weight: 800;
  cursor: pointer;
}
body.sassy-modern .sassy-search-toggle:hover { background: var(--sassy-blue-soft); }

@media (max-width: 991px) {
  body.sassy-modern.menu-open { overflow: hidden; }
  body.sassy-modern .sassy-nav-inner {
    flex-wrap: wrap !important;
    gap: .65rem;
    min-height: 68px;
  }
  body.sassy-modern .navbar-brand { order: 1; }
  body.sassy-modern .navbar-toggler {
    order: 2;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    width: auto !important;
    min-width: 92px;
    height: 48px !important;
    margin-left: auto !important;
    padding: 0 .95rem !important;
    color: var(--sassy-ink);
    background: var(--sassy-white);
    border: 1px solid color-mix(in srgb, var(--sassy-ink) 14%, transparent);
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
  }
  body.sassy-modern .sassy-menu-label { display: inline; }
  body.sassy-modern .navbar-toggler.is-open .menu-toggle-lines i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  body.sassy-modern .navbar-toggler.is-open .menu-toggle-lines i:nth-child(2) { opacity: 0; }
  body.sassy-modern .navbar-toggler.is-open .menu-toggle-lines i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  body.sassy-modern .menu-toggle-lines i { transition: transform .2s ease, opacity .2s ease; }
  body.sassy-modern .sassy-nav-panel {
    order: 3;
    display: none;
    position: absolute;
    z-index: 999;
    top: 100%;
    left: calc(var(--sassy-pad) * -1);
    right: calc(var(--sassy-pad) * -1);
    width: auto;
    max-height: calc(100vh - 78px);
    overflow-y: auto;
    flex: none;
    padding: 1rem var(--sassy-pad) 1.35rem;
    background: var(--sassy-paper);
    border-top: 1px solid var(--sassy-line);
    border-bottom: 1px solid var(--sassy-line);
    box-shadow: 0 24px 50px rgba(17,38,63,.12);
  }
  body.sassy-modern .sassy-nav-panel.is-open { display: block; }
  body.sassy-modern .sassy-nav-panel > .navbar-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }
  body.sassy-modern .sassy-nav-panel .nav-item { width: 100%; }
  body.sassy-modern .sassy-nav-link-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid var(--sassy-line);
  }
  body.sassy-modern .sassy-nav-panel .nav-item:not(.menu-item-has-children) > .nav-link {
    border-bottom: 1px solid var(--sassy-line) !important;
  }
  body.sassy-modern .sassy-nav-panel .nav-link {
    min-height: 56px;
    padding: .85rem .1rem !important;
    font-size: 1.05rem;
  }
  body.sassy-modern .sassy-submenu-toggle {
    width: 44px;
    height: 44px;
    justify-self: end;
    border-color: color-mix(in srgb, var(--sassy-ink) 12%, transparent);
    background: var(--sassy-white);
  }
  body.sassy-modern .sassy-nav-panel .sassy-submenu {
    display: none !important;
    position: static;
    min-width: 0;
    padding: .45rem 0 .65rem .7rem;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  body.sassy-modern .sassy-nav-panel .menu-item-has-children.is-submenu-open > .sassy-submenu { display: block !important; }
  body.sassy-modern .sassy-nav-panel .sassy-submenu .dropdown-item {
    min-height: 46px;
    padding: .7rem .85rem !important;
    background: color-mix(in srgb, var(--sassy-white) 72%, transparent);
    border-radius: 12px;
  }
  body.sassy-modern .sassy-nav-search { margin-top: 1rem; }
  body.sassy-modern .sassy-nav-search .sassy-search-toggle,
  body.sassy-modern .sassy-nav-search .sassy-search-popover { display: none !important; }
  body.sassy-modern .sassy-mobile-search { display: block; }
  body.sassy-modern .sassy-mobile-search-label {
    display: block;
    margin-bottom: .45rem;
    color: var(--sassy-muted);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  body.sassy-modern .sassy-mobile-search .sassy-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
  }
}

/* ---------- Event archive ---------- */
.sassy-archive-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(4.5rem, 7vw, 7.25rem) 0;
  background: var(--sassy-blue-soft);
}
.sassy-events-archive-hero {
  background: var(--sassy-paper);
}
.sassy-events-archive-hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0 0 0 auto;
  width: 35%;
  background: var(--sassy-blue-soft);
  clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
}
.sassy-archive-hero-inner { position: relative; z-index: 2; max-width: 980px; }
.sassy-archive-kicker,
.sassy-event-kicker,
.sassy-event-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  color: var(--sassy-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.sassy-archive-kicker::before,
.sassy-event-kicker::before,
.sassy-event-section-kicker::before {
  content: "";
  width: 34px;
  height: 5px;
  border-radius: 99px;
  background: var(--sassy-rainbow);
}
body.sassy-modern .sassy-archive-hero h1 {
  max-width: 900px;
  margin: 0 0 1rem;
  font-size: clamp(3rem, 5vw, 5.25rem) !important;
  line-height: .98;
}
.sassy-archive-intro { max-width: 720px; color: var(--sassy-muted); }
.sassy-archive-intro p { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.55; }
.sassy-archive-orb { position: absolute; z-index: -1; display: block; border-radius: 50%; pointer-events: none; }
.sassy-archive-orb--pink { width: 120px; height: 120px; right: 7%; top: 17%; background: var(--sassy-pink); }
.sassy-archive-orb--yellow { width: 72px; height: 72px; right: 18%; bottom: 14%; background: var(--sassy-yellow); }
.sassy-archive-orb--blue { width: 54px; height: 54px; right: 4%; bottom: 19%; background: var(--sassy-blue); }
.sassy-events-list-heading { padding-top: clamp(2.5rem, 4vw, 4rem); }
.sassy-events-list-heading p { max-width: 720px; margin: 0; color: var(--sassy-muted); font-size: 1.1rem; }
body.post-type-archive-events .sassy-posts {
  padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(4.5rem, 7vw, 7rem);
  background: var(--sassy-paper);
}
body.post-type-archive-events .sassy-post-grid { gap: clamp(1.2rem, 2vw, 1.7rem); }
body.sassy-modern .sassy-event-card .post-container {
  position: relative;
  overflow: hidden;
  background: var(--sassy-white) !important;
  border: 1px solid color-mix(in srgb, var(--sassy-ink) 11%, transparent);
  border-radius: 26px;
  box-shadow: 0 14px 40px rgba(17,38,63,.06) !important;
}
body.sassy-modern .sassy-event-card .post-container::before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0 0 auto;
  height: 6px;
  background: var(--sassy-rainbow);
}
body.sassy-modern .sassy-event-card .post-media {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  background: linear-gradient(145deg, var(--sassy-blue-soft), var(--sassy-paper));
}
body.sassy-modern .sassy-event-card .post-media img { width: 100%; height: 100%; }
body.sassy-modern .sassy-event-card.is-portrait .post-media img { object-fit: contain; padding: 1rem; }
body.sassy-modern .sassy-event-card.is-landscape .post-media img { object-fit: cover; padding: 0; }
body.sassy-modern .sassy-event-card .post-content { padding: 1.4rem 1.45rem 1.55rem; }
body.sassy-modern .sassy-event-card h3 { margin-bottom: .7rem; font-size: clamp(1.35rem, 1.8vw, 1.75rem) !important; }
body.sassy-modern .sassy-event-card .post-content > p { margin: 0 0 1rem; color: var(--sassy-muted); font-size: .98rem; line-height: 1.55; }
body.sassy-modern .sassy-event-card .sassy-post-meta { margin-bottom: .7rem; }
body.sassy-modern .sassy-event-card .sassy-post-meta span {
  display: inline-flex;
  padding: .35rem .6rem;
  color: var(--sassy-blue);
  background: var(--sassy-blue-soft);
  border-radius: 999px;
  letter-spacing: .05em;
}
body.sassy-modern .sassy-event-card .sassy-card-link {
  margin-top: auto;
  color: var(--sassy-blue);
  font-weight: 800;
}

/* ---------- Single event ---------- */
.sassy-event-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(118deg, var(--sassy-paper) 0 64%, var(--sassy-blue-soft) 64% 100%);
}
.sassy-event-hero::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0 0 auto;
  height: 6px;
  background: var(--sassy-rainbow);
}
.sassy-event-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
  min-height: min(640px, 68vh);
  padding-top: clamp(4rem, 6vw, 6rem);
  padding-bottom: clamp(4rem, 6vw, 6rem);
}
.sassy-event-hero-copy { max-width: 800px; }
body.sassy-modern .sassy-event-hero h1 {
  margin: 0;
  max-width: 820px;
  font-size: clamp(3rem, 5.4vw, 5.7rem) !important;
  line-height: .96 !important;
}
.sassy-event-hero-excerpt { max-width: 650px; margin: 1.25rem 0 0; color: var(--sassy-muted); font-size: 1.16rem; line-height: 1.55; }
.sassy-event-hero-media {
  position: relative;
  justify-self: end;
  width: min(100%, 470px);
  margin: 0;
  padding: .5rem .8rem .8rem .5rem;
}
.sassy-event-poster-back {
  position: absolute;
  z-index: -1;
  inset: 7% -2% -2% 8%;
  background: var(--sassy-blue);
  border-radius: 32px 24px 60px 28px;
}
.sassy-event-hero-media img {
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  background: var(--sassy-white);
  border-radius: 30px 20px 58px 24px;
  box-shadow: 0 24px 64px rgba(17,38,63,.13);
}
.sassy-event-hero-orb { position: absolute; z-index: 1; border-radius: 50%; pointer-events: none; }
.sassy-event-hero-orb--pink { width: 112px; height: 112px; right: 4%; top: 9%; background: var(--sassy-pink); }
.sassy-event-hero-orb--yellow { width: 64px; height: 64px; left: 44%; bottom: 8%; background: var(--sassy-yellow); }
.sassy-event-hero-orb--blue { width: 48px; height: 48px; left: 3%; top: 18%; background: var(--sassy-blue); }
.sassy-event-content-shell { padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(4rem, 7vw, 7rem); }
.sassy-event-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .36fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}
.sassy-event-main { display: grid; gap: 1.4rem; }
.sassy-event-details-card,
.sassy-event-media-card,
.sassy-event-booking {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.6rem);
  background: var(--sassy-white);
  border: 1px solid color-mix(in srgb, var(--sassy-ink) 11%, transparent);
  border-radius: 28px;
  box-shadow: 0 18px 50px rgba(17,38,63,.06);
}
.sassy-event-details-card::before,
.sassy-event-media-card::before,
.sassy-event-booking::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--sassy-rainbow);
}
.sassy-event-richtext { max-width: 850px; color: var(--sassy-ink); }
.sassy-event-richtext p,
.sassy-event-richtext li { color: var(--sassy-muted); }
.sassy-event-richtext h2,
.sassy-event-richtext h3,
.sassy-event-richtext h4 { margin-top: 1.5em; margin-bottom: .55em; font-size: clamp(1.3rem, 2vw, 1.75rem) !important; }
.sassy-event-richtext ul,
.sassy-event-richtext ol { padding-left: 1.35rem; }
.sassy-event-richtext a { color: var(--sassy-blue); font-weight: 700; text-decoration-thickness: .08em; text-underline-offset: .16em; }
.sassy-event-gallery { margin: 0; }
.sassy-event-gallery img { width: auto; max-width: 100%; height: auto; border-radius: 20px; }
.sassy-event-booking { position: sticky; top: 130px; }
.sassy-event-booking h2 { margin: 0 0 .7rem; font-size: clamp(1.65rem, 2.5vw, 2.35rem) !important; }
.sassy-event-booking > p { margin: 0 0 1rem; color: var(--sassy-muted); font-size: .95rem; }
.sassy-event-links { display: grid; gap: .8rem; }
.sassy-event-links a {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .85rem 1rem;
  border-radius: 999px;
  background: var(--sassy-blue);
  color: var(--sassy-white) !important;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}
.sassy-related-events { padding: clamp(3rem, 5vw, 5rem) 0 clamp(4rem, 7vw, 7rem); background: var(--sassy-blue-soft); }
.sassy-related-events-heading { margin-bottom: 1.5rem; }
.sassy-related-events-heading > span { color: var(--sassy-blue); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sassy-related-events-heading h2 { margin: .35rem 0 0; font-size: clamp(2rem, 3vw, 3rem) !important; }
.sassy-related-event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sassy-related-event {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  min-height: 120px;
  overflow: hidden;
  color: var(--sassy-ink);
  background: var(--sassy-white);
  border: 1px solid color-mix(in srgb, var(--sassy-ink) 10%, transparent);
  border-radius: 20px;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.sassy-related-event:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(17,38,63,.08); color: var(--sassy-ink); }
.sassy-related-event-media { overflow: hidden; background: var(--sassy-paper); }
.sassy-related-event-media img { width: 100%; height: 100%; object-fit: cover; }
.sassy-related-event-copy { display: flex; flex-direction: column; justify-content: center; gap: .35rem; padding: 1rem 1.15rem; }
.sassy-related-event-copy small { color: var(--sassy-blue); font-weight: 800; }
.sassy-related-event-copy strong { font-family: var(--sassy-heading-font); font-size: 1.15rem; line-height: 1.15; }

/* ---------- Contact form ---------- */
body.sassy-modern .sassy-contact .stwelve_form form { display: grid; gap: 1rem; margin-top: 1.5rem; }
body.sassy-modern .sassy-contact .sassy-form-field { display: grid; gap: .4rem; }
body.sassy-modern .sassy-contact .sassy-form-field label {
  color: var(--sassy-ink);
  font-size: .92rem;
  font-weight: 800;
}
body.sassy-modern .sassy-contact .sassy-form-field .form-control {
  min-height: 58px;
  padding: .9rem 1rem;
  color: var(--sassy-ink);
  background: var(--sassy-surface);
  border: 1px solid color-mix(in srgb, var(--sassy-ink) 16%, transparent);
  border-radius: 16px;
}
body.sassy-modern .sassy-contact .sassy-form-field .form-control::placeholder { color: color-mix(in srgb, var(--sassy-muted) 72%, transparent); }
body.sassy-modern .sassy-contact .sassy-form-field textarea.form-control { min-height: 180px; resize: vertical; }
body.sassy-modern .sassy-contact .alert { padding: .8rem 1rem; border-radius: 14px; font-weight: 700; }
body.sassy-modern .sassy-contact .alert-success { background: color-mix(in srgb, var(--sassy-green) 14%, white); color: var(--sassy-ink); }
body.sassy-modern .sassy-contact .alert-danger { background: color-mix(in srgb, var(--sassy-red) 14%, white); color: var(--sassy-ink); }

@media (max-width: 991px) {
  .sassy-events-archive-hero::before { width: 44%; }
  .sassy-event-hero { background: var(--sassy-paper); }
  .sassy-event-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .sassy-event-hero-media { justify-self: start; width: min(100%, 520px); }
  .sassy-event-layout { grid-template-columns: 1fr; }
  .sassy-event-booking { position: static; }
}
@media (max-width: 767px) {
  .sassy-events-archive-hero::before { content: none; }
  .sassy-archive-hero { padding: 3.5rem 0 4rem; }
  .sassy-archive-orb--pink { width: 78px; height: 78px; right: -20px; top: 14%; }
  .sassy-archive-orb--yellow { width: 48px; height: 48px; right: 14%; bottom: 10%; }
  .sassy-archive-orb--blue { width: 38px; height: 38px; right: 4%; bottom: 24%; }
  .sassy-event-hero-grid { gap: 2.2rem; padding-top: 3.5rem; padding-bottom: 3.5rem; }
  body.sassy-modern .sassy-event-hero h1 { font-size: clamp(2.6rem, 12vw, 4rem) !important; }
  .sassy-event-hero-media { width: min(100%, 390px); padding: .35rem .6rem .6rem .35rem; }
  .sassy-event-hero-media img { max-height: none; }
  .sassy-event-hero-orb--pink { width: 76px; height: 76px; right: -22px; top: 6%; }
  .sassy-event-hero-orb--yellow { width: 44px; height: 44px; left: auto; right: 18%; bottom: 3%; }
  .sassy-event-hero-orb--blue { width: 36px; height: 36px; left: -10px; top: 24%; }
  .sassy-event-content-shell { padding-top: 2.5rem; padding-bottom: 4rem; }
  .sassy-event-details-card,
  .sassy-event-media-card,
  .sassy-event-booking { padding: 1.3rem; border-radius: 22px; }
  .sassy-related-event-grid { grid-template-columns: 1fr; }
  .sassy-related-event { grid-template-columns: 96px minmax(0, 1fr); }
  body.sassy-modern .sassy-event-card.is-portrait .post-media img { padding: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
  body.sassy-modern .sassy-submenu-toggle svg,
  body.sassy-modern .sassy-nav-panel .sassy-submenu,
  body.sassy-modern .sassy-event-card .post-container,
  .sassy-related-event { transition: none !important; }
}

/* Event lists can also live inside the native Posts block on the /events page. */
body.sassy-modern .sassy-posts--events .sassy-post-grid { gap: clamp(1.2rem, 2vw, 1.7rem); }
body.sassy-modern .sassy-posts--events .sassy-section-heading { margin-bottom: clamp(1.8rem, 3vw, 2.8rem); }
body.sassy-modern .sassy-posts--events .sassy-section-heading h2 { max-width: 760px; }

/* =========================================================
   v15 refinements — navigation, archive motion, article body,
   event flyer presentation
   ========================================================= */

/* Desktop dropdowns: remove the hover dead-zone and keep a short grace period in JS. */
@media (min-width: 992px) {
  body.sassy-modern .sassy-nav-panel .sassy-submenu {
    top: calc(100% - 1px);
  }
}

/* Archive headers use the same living solid-circle language as the rest of Sassy. */
.sassy-archive-orb--pink { animation: sassy-solid-orb-a 9s ease-in-out infinite; }
.sassy-archive-orb--yellow { animation: sassy-solid-orb-b 11s ease-in-out -2.5s infinite; }
.sassy-archive-orb--blue { animation: sassy-solid-orb-c 8s ease-in-out -1.25s infinite; }
.sassy-posts-archive-hero { background: var(--sassy-blue-soft); }

/* Single article body: editorial content remains calm and completely uniform. */
body.sassy-modern .single-post .entry-content,
body.sassy-modern .single-post .entry-content :where(p,li,h1,h2,h3,h4,h5,h6,blockquote,figcaption,td,th) {
  color: var(--sassy-ink) !important;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif !important;
  font-size: 1.075rem !important;
  line-height: 1.72 !important;
}
body.sassy-modern .single-post .entry-content :where(h1,h2,h3,h4,h5,h6) {
  margin-top: 1.6rem !important;
  margin-bottom: .7rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.sassy-modern .single-post .entry-content :where(p,ul,ol,blockquote) {
  margin-bottom: 1.15rem;
}
body.sassy-modern .single-post .entry-content :where(ul,ol) {
  padding-left: 1.4rem;
}
body.sassy-modern .single-post .entry-content a {
  color: var(--sassy-ink) !important;
  text-decoration-color: var(--sassy-blue) !important;
  text-decoration-thickness: .1em;
  text-underline-offset: .16em;
}

/* Event flyers: preserve the actual artwork ratio instead of forcing it into a box. */
body.sassy-modern .sassy-event-hero-media {
  display: grid;
  place-items: center;
}
body.sassy-modern .sassy-event-hero-media img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
}
body.sassy-modern .sassy-event-hero-media.is-portrait {
  width: min(100%, 430px);
}
body.sassy-modern .sassy-event-hero-media.is-portrait img {
  width: 100%;
}
body.sassy-modern .sassy-event-hero-media.is-landscape {
  width: min(100%, 560px);
}
body.sassy-modern .sassy-event-hero-media.is-landscape img {
  width: 100%;
}

@media (max-width: 991px) {
  body.sassy-modern .sassy-event-hero-media,
  body.sassy-modern .sassy-event-hero-media.is-portrait,
  body.sassy-modern .sassy-event-hero-media.is-landscape {
    justify-self: center;
    width: min(100%, 440px);
  }
}

@media (max-width: 767px) {
  body.sassy-modern .single-post .entry-content,
  body.sassy-modern .single-post .entry-content :where(p,li,h1,h2,h3,h4,h5,h6,blockquote,figcaption,td,th) {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
  body.sassy-modern .sassy-event-hero-media,
  body.sassy-modern .sassy-event-hero-media.is-portrait,
  body.sassy-modern .sassy-event-hero-media.is-landscape {
    width: min(100%, 360px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sassy-archive-orb { animation: none !important; }
}
