:root{--header-height:110px;--border-radius-3xl:28px;--border-radius-2xl:24px;--border-radius-xl:20px;--border-radius-lg:16px;--border-radius-md:12px;--border-radius-sm:8px;--border-radius-xs:4px;--shadow-xl:rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;--shadow-lg:rgba(65, 155, 249, 0.1) 0 0 0 1px, rgba(65, 155, 249, 0) 0 0 0 0, rgba(65, 155, 249, 0.08) 0 12px 50px 0, rgba(159, 159, 164, 0.25) 0 2px 10px 0;--shadow-md:rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;--shadow-sm:0 2px 2px -2px rgba(0, 0, 0, .2);--layout-gap-xl:128px;--layout-gap-lg:96px;--layout-gap-md:64px;--layout-gap-sm:48px;--layout-gap-xs:24px;--space-3xl:64px;--space-2xl:48px;--space-xl:40px;--space-lg:32px;--space-md:24px;--space-sm:16px;--space-xs:8px;--space-2xs:4px;--space-3xl-fluid:clamp(4rem, 8vw, 5rem);--space-2xl-fluid:clamp(3rem, 6vw, 4rem);--space-xl-fluid:clamp(2.5rem, 5vw, 3rem);--space-lg-fluid:clamp(2rem, 4vw, 2.5rem);--space-md-fluid:clamp(1.5rem, 3vw, 2rem);--space-sm-fluid:clamp(1rem, 2vw, 1.5rem);--space-xs-fluid:clamp(0.5rem, 1vw, 1rem);--content-width-xl:1024px;--content-width-lg:860px;--content-width-md:820px;--content-width-sm:780px;--content-width-xs:420px;--content-width-2xs:320px}body{--height-100vh:100vh}body.admin-bar{--height-100vh:calc(100vh - 32px)}@media screen and (max-width:782px){body.admin-bar{--height-100vh:calc(100vh - 46px)}}:root{--color-brand-primary:var(--brand-primary);--color-brand-secondary:var(--brand-secondary);--color-text-primary:var(--text-primary);--color-text-inverse:var(--text-inverse);--color-text-muted:var(--text-muted);--color-text-muted-inverse:var(--text-muted-inverse);--color-btn-primary-text:var(--btn-primary-text);--color-btn-primary-bg:var(--btn-primary-bg);--color-btn-primary-border:var(--btn-primary-border);--color-btn-inverse-text:var(--btn-inverse-text);--color-btn-inverse-bg:var(--btn-inverse-bg);--color-btn-inverse-border:var(--btn-inverse-border);--color-bg-primary:var(--bg-primary);--color-bg-inverse:var(--bg-inverse);--color-border-default:var(--border-default);--color-border-on-primary:var(--border-on-primary);--color-border-on-inverse:var(--border-on-inverse);--color-divider-primary:var(--divider-primary);--color-divider-inverse:var(--divider-inverse);--color-panel-bg-1:var(--panel-bg-1);--color-panel-bg-2:var(--panel-bg-2);--color-panel-bg-3:var(--panel-bg-3);--color-panel-bg-4:var(--panel-bg-4);--color-panel-bg-5:var(--panel-bg-5);--color-panel-bg-6:var(--panel-bg-6)}:root{--font-heading:'Circular Std';--font-body:'Circular Std';--fs-heading-xl-fluid:clamp(2.5rem, -0.9709rem + 7.2165vw, 4rem);--fs-heading-lg-wide-fluid:clamp(2.5rem, 1.0137rem + 3.1008vw, 3rem);--fs-heading-lg-fluid:clamp(2rem, 0.6108rem + 2.9062vw, 2.5rem);--fs-heading-md-wide-fluid:clamp(1.625rem, -2.5188rem + 8.7184vw, 3rem);--fs-heading-md-fluid:clamp(1.625rem, -0.4673rem + 4.3592vw, 2.5rem);--fs-heading-sm-fluid:clamp(1.5rem, 0.3054rem + 2.4531vw, 2rem);--fs-heading-xs-fluid:clamp(1.125rem, 0.8369rem + 0.6133vw, 1.25rem);--fs-heading-3xl:4rem;--fs-heading-2xl:3rem;--fs-heading-xl:2.5rem;--fs-heading-lg:2rem;--fs-heading-md:1.625rem;--fs-heading-sm:1.5rem;--fs-heading-xs:1.125rem;--fs-body-3xl:1.75rem;--fs-body-2xl:1.625rem;--fs-body-xl:1.5rem;--fs-body-lg:1.375rem;--fs-body-md:1.25rem;--fs-body-sm:1rem;--fs-body-xs:0.9375rem;--fs-body-2xs:0.875rem;--fw-bold:700;--fw-medium:500;--fw-normal:400;--fw-light:300}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading),sans-serif;text-wrap:balance}p,blockquote,li{text-wrap:pretty}strong{font-weight:var(--fw-bold)}.display-inline{display:inline!important}.display-inline-block{display:inline-block!important}.display-block{display:block!important}.no-underline,.no-underline *{text-decoration:none!important}.no-wrap{flex-wrap:nowrap!important}.text-wrap-balance{text-wrap:balance!important}.text-wrap-pretty{text-wrap:pretty!important}body:not(.wp-admin) .visually-hidden:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}body.block-editor-page .visually-hidden,body.block-editor-iframe__body .visually-hidden,body.wp-admin .visually-hidden{opacity:.2;pointer-events:none}body.block-editor-page .visually-hidden *,body.block-editor-iframe__body .visually-hidden *,body.wp-admin .visually-hidden *{pointer-events:none}.margin-auto{margin-left:auto!important;margin-right:auto!important}.no-margin{margin:0!important}.no-margin-left{margin-left:0!important}.no-margin-right{margin-right:0!important}.no-margin-top{margin-top:0!important}.no-margin-bottom{margin-bottom:0!important}.ar-16-9,.ar-9-16,.ar-4-3,.ar-3-4,.ar-3-2,.ar-2-3,.ar-1-1{object-fit:cover}.ar-16-9{aspect-ratio:16/9}.ar-9-16{aspect-ratio:9/16}.ar-4-3{aspect-ratio:4/3}.ar-3-4{aspect-ratio:3/4}.ar-3-2{aspect-ratio:3/2}.ar-2-3{aspect-ratio:2/3}.ar-1-1{aspect-ratio:1/1}.line-limit-1,.line-limit-2,.line-limit-3,.line-limit-4,.line-limit-5{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-limit-1{-webkit-line-clamp:2}.line-limit-2{-webkit-line-clamp:2}.line-limit-3{-webkit-line-clamp:3}.line-limit-4{-webkit-line-clamp:4}.line-limit-5{-webkit-line-clamp:5}.stretch-link{position:relative}.stretch-link a::after{content:'';position:absolute;inset:0}.stretch-link a:is(:focus-visible)::after{outline:2px solid}.stretch-link a:is(:hover,:focus){outline:none}.full-width{margin-left:calc(-100vw / 2 + 100% / 2);margin-right:calc(-100vw / 2 + 100% / 2);max-width:100vw;width:auto}.full-width-right{margin-right:calc(-100vw / 2 + 100% / 2);max-width:100vw;width:auto}.max-width-2xs{max-width:var(--content-width-2xs,320px)}.max-width-xs{max-width:var(--content-width-xs,480px)}.max-width-sm{max-width:var(--content-width-sm,768px)}.max-width-md{max-width:var(--content-width-md,1024px)}.max-width-lg{max-width:var(--content-width-lg,1280px)}.max-width-xl{max-width:var(--content-width-xl,1920px)}:root{--icon-svg-ui-globe:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjU2IDQ4MGMxNi43IDAgNDAuNC0xNC40IDYxLjktNTcuM2M5LjktMTkuOCAxOC4yLTQzLjcgMjQuMS03MC43bC0xNzIgMGM1LjkgMjcgMTQuMiA1MC45IDI0LjEgNzAuN0MyMTUuNiA0NjUuNiAyMzkuMyA0ODAgMjU2IDQ4MHpNMTY0LjMgMzIwbDE4My40IDBjMi44LTIwLjIgNC4zLTQxLjcgNC4zLTY0cy0xLjUtNDMuOC00LjMtNjRsLTE4My40IDBjLTIuOCAyMC4yLTQuMyA0MS43LTQuMyA2NHMxLjUgNDMuOCA0LjMgNjR6TTE3MCAxNjBsMTcyIDBjLTUuOS0yNy0xNC4yLTUwLjktMjQuMS03MC43QzI5Ni40IDQ2LjQgMjcyLjcgMzIgMjU2IDMycy00MC40IDE0LjQtNjEuOSA1Ny4zQzE4NC4yIDEwOS4xIDE3NS45IDEzMyAxNzAgMTYwem0yMTAgMzJjMi42IDIwLjUgNCA0MS45IDQgNjRzLTEuNCA0My41LTQgNjRsOTAuOCAwYzYtMjAuMyA5LjMtNDEuOCA5LjMtNjRzLTMuMi00My43LTkuMy02NEwzODAgMTkyem03OC41LTMyYy0yNS45LTU0LjUtNzMuMS05Ni45LTEzMC45LTExNi4zYzIxIDI4LjMgMzcuNiA2OC44IDQ3LjIgMTE2LjNsODMuOCAwem0tMzIxLjEgMGM5LjYtNDcuNiAyNi4yLTg4IDQ3LjItMTE2LjNDMTI2LjcgNjMuMSA3OS40IDEwNS41IDUzLjYgMTYwbDgzLjcgMHptLTk2IDMyYy02IDIwLjMtOS4zIDQxLjgtOS4zIDY0czMuMiA0My43IDkuMyA2NGw5MC44IDBjLTIuNi0yMC41LTQtNDEuOS00LTY0czEuNC00My41IDQtNjRsLTkwLjggMHpNMzI3LjUgNDY4LjNjNTcuOC0xOS41IDEwNS02MS44IDEzMC45LTExNi4zbC04My44IDBjLTkuNiA0Ny42LTI2LjIgODgtNDcuMiAxMTYuM3ptLTE0MyAwYy0yMS0yOC4zLTM3LjUtNjguOC00Ny4yLTExNi4zbC04My43IDBjMjUuOSA1NC41IDczLjEgOTYuOSAxMzAuOSAxMTYuM3pNMjU2IDUxMkEyNTYgMjU2IDAgMSAxIDI1NiAwYTI1NiAyNTYgMCAxIDEgMCA1MTJ6Ii8+PC9zdmc+);
    --icon-svg-nav-arrow-left-light: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA3OCA3OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNzggNzg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7fQ0KCS5zdDF7ZmlsbDojRkZGRkZGO30NCjwvc3R5bGU+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIzOSIgY3k9IjM5IiByPSIzOCIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTIwLjcsNDguMWMwLjQsMC40LDEsMC40LDEuNCwwYzAuNC0wLjQsMC40LTEsMC0xLjRMMTYuNCw0MWw1LjctNS43YzAuNC0wLjQsMC40LTEsMC0xLjRjLTAuNC0wLjQtMS0wLjQtMS40LDANCglsLTYuNCw2LjRjLTAuNCwwLjQtMC40LDEsMCwxLjRMMjAuNyw0OC4xeiBNNjEsNDBIMTV2Mmg0NlY0MHoiLz4NCjwvc3ZnPg0K);
    --icon-svg-nav-arrow-right-light: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA3OCA3OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNzggNzg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7fQ0KCS5zdDF7ZmlsbDojRkZGRkZGO30NCjwvc3R5bGU+DQo8Y2lyY2xlIGlkPSJjaXJjbGUiIGNsYXNzPSJzdDAiIGN4PSIzOSIgY3k9IjM5IiByPSIzOCIvPg0KPHBhdGggaWQ9ImFycm93X3JpZ2h0IiBjbGFzcz0ic3QxIiBkPSJNNjMuNyw0MS43YzAuNC0wLjQsMC40LTEsMC0xLjRsLTYuNC02LjRjLTAuNC0wLjQtMS0wLjQtMS40LDBjLTAuNCwwLjQtMC40LDEsMCwxLjRsNS43LDUuNw0KCWwtNS43LDUuN2MtMC40LDAuNC0wLjQsMSwwLDEuNGMwLjQsMC40LDEsMC40LDEuNCwwTDYzLjcsNDEuN3ogTTE3LDQyaDQ2di0ySDE3VjQyeiIvPg0KPC9zdmc+DQo=);
    --icon-svg-nav-arrow-left-blackwhite: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNzggNzgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDc4IDc4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0ZGRkZGRjtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6Mjt9Cjwvc3R5bGU+CjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjM5IiBjeT0iMzkiIHI9IjM4Ii8+CjxwYXRoIGQ9Ik0yMC43LDQ4LjFjMC40LDAuNCwxLDAuNCwxLjQsMHMwLjQtMSwwLTEuNEwxNi40LDQxbDUuNy01LjdjMC40LTAuNCwwLjQtMSwwLTEuNHMtMS0wLjQtMS40LDBsLTYuNCw2LjQKCWMtMC40LDAuNC0wLjQsMSwwLDEuNEwyMC43LDQ4LjF6IE02MSw0MEgxNXYyaDQ2VjQweiIvPgo8L3N2Zz4=);
    --icon-svg-nav-arrow-right-blackwhite: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNzggNzgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDc4IDc4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0ZGRkZGRjtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6Mjt9Cjwvc3R5bGU+CjxjaXJjbGUgaWQ9ImNpcmNsZSIgY2xhc3M9InN0MCIgY3g9IjM5IiBjeT0iMzkiIHI9IjM4Ii8+CjxwYXRoIGlkPSJhcnJvd19yaWdodCIgZD0iTTYzLjcsNDEuN2MwLjQtMC40LDAuNC0xLDAtMS40bC02LjQtNi40Yy0wLjQtMC40LTEtMC40LTEuNCwwcy0wLjQsMSwwLDEuNGw1LjcsNS43bC01LjcsNS43CgljLTAuNCwwLjQtMC40LDEsMCwxLjRzMSwwLjQsMS40LDBMNjMuNyw0MS43eiBNMTcsNDJoNDZ2LTJIMTdWNDJ6Ii8+Cjwvc3ZnPg==);
    --icon-svg-ext-link-dark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiMyRTdCQjQiIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48cGF0aCBkPSJNMzg0IDY0QzM2Ni4zIDY0IDM1MiA3OC4zIDM1MiA5NkMzNTIgMTEzLjcgMzY2LjMgMTI4IDM4NCAxMjhMNDY2LjcgMTI4TDI2NS4zIDMyOS40QzI1Mi44IDM0MS45IDI1Mi44IDM2Mi4yIDI2NS4zIDM3NC43QzI3Ny44IDM4Ny4yIDI5OC4xIDM4Ny4yIDMxMC42IDM3NC43TDUxMiAxNzMuM0w1MTIgMjU2QzUxMiAyNzMuNyA1MjYuMyAyODggNTQ0IDI4OEM1NjEuNyAyODggNTc2IDI3My43IDU3NiAyNTZMNTc2IDk2QzU3NiA3OC4zIDU2MS43IDY0IDU0NCA2NEwzODQgNjR6TTE0NCAxNjBDOTkuOCAxNjAgNjQgMTk1LjggNjQgMjQwTDY0IDQ5NkM2NCA1NDAuMiA5OS44IDU3NiAxNDQgNTc2TDQwMCA1NzZDNDQ0LjIgNTc2IDQ4MCA1NDAuMiA0ODAgNDk2TDQ4MCA0MTZDNDgwIDM5OC4zIDQ2NS43IDM4NCA0NDggMzg0QzQzMC4zIDM4NCA0MTYgMzk4LjMgNDE2IDQxNkw0MTYgNDk2QzQxNiA1MDQuOCA0MDguOCA1MTIgNDAwIDUxMkwxNDQgNTEyQzEzNS4yIDUxMiAxMjggNTA0LjggMTI4IDQ5NkwxMjggMjQwQzEyOCAyMzEuMiAxMzUuMiAyMjQgMTQ0IDIyNEwyMjQgMjI0QzI0MS43IDIyNCAyNTYgMjA5LjcgMjU2IDE5MkMyNTYgMTc0LjMgMjQxLjcgMTYwIDIyNCAxNjBMMTQ0IDE2MHoiLz48L3N2Zz4=);
    --icon-svg-ext-link-white: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48cGF0aCBkPSJNMzg0IDY0QzM2Ni4zIDY0IDM1MiA3OC4zIDM1MiA5NkMzNTIgMTEzLjcgMzY2LjMgMTI4IDM4NCAxMjhMNDY2LjcgMTI4TDI2NS4zIDMyOS40QzI1Mi44IDM0MS45IDI1Mi44IDM2Mi4yIDI2NS4zIDM3NC43QzI3Ny44IDM4Ny4yIDI5OC4xIDM4Ny4yIDMxMC42IDM3NC43TDUxMiAxNzMuM0w1MTIgMjU2QzUxMiAyNzMuNyA1MjYuMyAyODggNTQ0IDI4OEM1NjEuNyAyODggNTc2IDI3My43IDU3NiAyNTZMNTc2IDk2QzU3NiA3OC4zIDU2MS43IDY0IDU0NCA2NEwzODQgNjR6TTE0NCAxNjBDOTkuOCAxNjAgNjQgMTk1LjggNjQgMjQwTDY0IDQ5NkM2NCA1NDAuMiA5OS44IDU3NiAxNDQgNTc2TDQwMCA1NzZDNDQ0LjIgNTc2IDQ4MCA1NDAuMiA0ODAgNDk2TDQ4MCA0MTZDNDgwIDM5OC4zIDQ2NS43IDM4NCA0NDggMzg0QzQzMC4zIDM4NCA0MTYgMzk4LjMgNDE2IDQxNkw0MTYgNDk2QzQxNiA1MDQuOCA0MDguOCA1MTIgNDAwIDUxMkwxNDQgNTEyQzEzNS4yIDUxMiAxMjggNTA0LjggMTI4IDQ5NkwxMjggMjQwQzEyOCAyMzEuMiAxMzUuMiAyMjQgMTQ0IDIyNEwyMjQgMjI0QzI0MS43IDIyNCAyNTYgMjA5LjcgMjU2IDE5MkMyNTYgMTc0LjMgMjQxLjcgMTYwIDIyNCAxNjBMMTQ0IDE2MHoiLz48L3N2Zz4=);
}

/*************************************************************************
 *  ##  3.2  VISUAL ELEMENTS -> ANIMATIONS
 ************************************************************************/
@keyframes anim-bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(10px);
    }
}

@keyframes anim-fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes anim-fade-in-bottom {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes anim-fade-in-fwd {
    0% {
        -webkit-transform: translateZ(-80px);
        transform: translateZ(-80px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes anim-marquee-ltr { /* content travels left-to-right */
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes anim-marquee-rtl { /* content travels right-to-left */
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@keyframes anim-pulse {
    0% {
        transform: scale(1);
        opacity: 0.5;
    }
    50% {
        transform: scale(1.2);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.5;
    }
}

@keyframes anim-slide-down {
    0% {
        transform: translateY(-10px);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateY(10px);
        opacity: 0;
    }
}

@keyframes anim-slide-fwd {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    100% {
        -webkit-transform: translateZ(160px);
        transform: translateZ(160px);
    }
}

@keyframes slide-in-bottom {
    0% {
        transform: translateY(1000px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes anim-slide-in-fwd {
    0% {
        transform: translateZ(-1400px);
        opacity: 0;
    }
    100% {
        transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes anim-text-focus-in {
    0% {
        filter: blur(14px);
        opacity: 0;
    }
    100% {
        filter: blur(0px);
        opacity: 1;
    }
}


/*************************************************************************
 *  ##  3.3  VISUAL ELEMENTS -> EFFECTS
 ************************************************************************/
@media (prefers-reduced-motion: no-preference) {
    /* Defaults — override per-element via inline style or data-anim-* attributes */
    :root {
        --reveal-duration: 1s;
        --reveal-delay: 0.1s;
        --reveal-easing: ease-in-out;
    }

    /* base state — hidden until .is-visible is added */
    body:not(.editor-styles-wrapper) [class^="reveal--"],
    body:not(.editor-styles-wrapper) [class*=" reveal--"] {
        opacity: 0;
    }

    .animation--bounce {
        animation: anim-bounce 2s infinite ease-in-out;
    }

    .animation--pulse {
        animation: anim-pulse 1.5s infinite;
    }

    .animation--pulse-once {
        animation: anim-pulse 1.5s once;
    }

    .animation--slide-down {
        animation: anim-slide-down 2s infinite;
    }

    .reveal--fade-in.is-visible {
        animation: anim-fade-in var(--reveal-duration, 0.8s) var(--reveal-easing, linear) var(--reveal-delay, 0s) forwards;
    }

    .reveal--fade-in-bottom.is-visible {
        animation: anim-fade-in-bottom var(--reveal-duration, 0.8s) var(--reveal-easing, linear) var(--reveal-delay, 0s) forwards;
    }

    .reveal--text-focus-in.is-visible {
        animation: anim-text-focus-in var(--reveal-duration, 0.8s) var(--reveal-easing, linear) var(--reveal-delay, 0s) forwards;
    }

    body:not(.editor-styles-wrapper) .hero__heading,
    body:not(.editor-styles-wrapper) .hero__scroll-indicator,
    body:not(.editor-styles-wrapper) .section__heading,
    body:not(.editor-styles-wrapper) .section__text,
    body:not(.editor-styles-wrapper) .section__figure,
    body:not(.editor-styles-wrapper) .info__heading,
    body:not(.editor-styles-wrapper) .info__text,
    body:not(.editor-styles-wrapper) .panel__eyebrow,
    body:not(.editor-styles-wrapper) .panel__heading,
    body:not(.editor-styles-wrapper) .panel__text,
    body:not(.editor-styles-wrapper) .panel__figure,
    body:not(.editor-styles-wrapper) .product__heading,
    body:not(.editor-styles-wrapper) .product__text,
    body:not(.editor-styles-wrapper) .product__figure,
    body:not(.editor-styles-wrapper) .button--primary,
    body:not(.editor-styles-wrapper) .button--cta,
    body:not(.editor-styles-wrapper) .is-card,
    body:not(.editor-styles-wrapper) #newsletter-form {
        opacity: 0;
    }

    .header-wrap { /* NOTE: workaround to avoid breaking frosted glass effect by using animation */
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.5s ease 50ms, visibility 0.5s ease 50ms;
    }

    .header-wrap.is-visible {
        visibility: visible;
        opacity: 1;
    }

    .hero__heading.is-visible {
        animation: anim-text-focus-in 1s ease-out 100ms forwards;
        /*animation: anim-text-focus-in 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 50ms forwards;*/
    }

    .hero__scroll-indicator.is-visible {
        animation: anim-slide-down 2s linear 2s infinite;
    }

    .section__heading.is-visible,
    .info__heading.is-visible,
    .panel__eyebrow.is-visible,
    .panel__heading.is-visible,
    .product__heading.is-visible,
    .button--primary.is-visible,
    .button--cta.is-visible {
        animation: anim-fade-in-bottom 1s linear 50ms forwards;
    }

    .section__text.is-visible,
    .info__text.is-visible,
    .panel__text.is-visible,
    .product__text.is-visible {
        animation: anim-fade-in-bottom 1s linear 100ms forwards;
    }

    .section__figure.is-visible,
    .panel__figure.is-visible,
    .product__figure.is-visible,
    #newsletter-form.is-visible {
        animation: anim-slide-in-fwd 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) 300ms forwards;
    }

    .is-card.is-visible {
        animation: anim-fade-in-bottom 1s ease-in 100ms forwards;
    }

    .marquee__track--ltr {
        animation: anim-marquee-ltr 110s linear infinite;
    }

    .marquee__track--rtl {
        animation: anim-marquee-rtl 110s linear infinite;
    }

    .marquee:hover .marquee__track--ltr,
    .marquee:hover .marquee__track--rtl { /* pausa on hover */
        /* animation-play-state: paused; */
    }
}

/*** --- (EXPERIMENTAL) highlight animation effect in block editor --- ***/
body.editor-styles-wrapper .hero__heading:hover::before,
body.editor-styles-wrapper .hero__scroll-indicator:hover::before,
body.editor-styles-wrapper .section__heading:hover::before,
body.editor-styles-wrapper .info__heading:hover::before,
body.editor-styles-wrapper .info__text:hover::before,
body.editor-styles-wrapper .panel__eyebrow:hover::before,
body.editor-styles-wrapper .panel__heading:hover::before,
body.editor-styles-wrapper .panel__figure:hover::before,
body.editor-styles-wrapper .panel__text:hover::before {
    display: none !important;
    position: absolute;
    top: 0;
    left: 0;
    color: white;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
    padding: 2px 8px;
}

body.editor-styles-wrapper .hero__heading:hover::before {
    content: "text-focus-in";
}

body.editor-styles-wrapper .hero__scroll-indicator:hover::before {
    content: "slide-down";
}

body.editor-styles-wrapper .section__heading:hover::before,
body.editor-styles-wrapper .info__heading:hover::before,
body.editor-styles-wrapper .text__heading:hover::before {
    content: "fade-in-bottom";
}

body.editor-styles-wrapper .panel_eyebrow:hover::before {
    content: "fade-in";
}

body.editor-styles-wrapper .panel_heading:hover::before {
    content: "fade-in-bottom";
}

body.editor-styles-wrapper .panel_figure:hover::before {
    content: "slide-in-fwd";
}

body.editor-styles-wrapper .panel_text:hover::before {
    content: "fade-in";
}


/**************************************************************************************************
 *  #   4.   HEADER
 *************************************************************************************************/

/*************************************************************************
 *  ##  4.1  HEADER -> PAGE HEADER
 ************************************************************************/

/*************************************************************************
 *  ##  4.2  HEADER -> MAIN NAVIGATION
 ************************************************************************/

/*************************************************************************
 *  ##  4.3  HEADER -> MOBILE NAVIGATION
 ************************************************************************/
@media (max-width: 1024px) {
    .gb-site-header__inner:has(.gb-navigation--open) {
        border: 0 none;
    }
}


/**************************************************************************************************
 *  #   5.   FOOTER
 *************************************************************************************************/

/*************************************************************************
 *  ##  5.1  FOOTER -> FOOTER MENU
 ************************************************************************/

/*************************************************************************
 *  ##  5.2  FOOTER -> BACK TO TOP
 ************************************************************************/

/*************************************************************************
 *  ##  5.3  FOOTER -> WHATSAPP CHAT
 ************************************************************************/
.whatsapp-chat {
    animation: slide-in-bottom 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s both;
}


/**************************************************************************************************
 *  #   6.   COMPONENTS
 *************************************************************************************************/

/*************************************************************************
 *  ##  6.1  COMPONENTS -> BUTTONS
 ************************************************************************/
.wp-element-button,
.wp-element-button:visited,
.button:not(.button--primary):not(.button--alternate):not(.button--icon-before):not(.button--icon-after),
.button:not(.button--primary):not(.button--alternate):not(.button--icon-before):not(.button--icon-after):visited {
}

.wp-element-button:is(:hover,:focus),
.button:not(.button--primary):not(.button--alternate):not(.button--icon-before):not(.button--icon-after):is(:hover,:focus) {
}

/*** --- accordion button --- ***/
[id^="gb-accordion-toggle-"].hide-on-activation {
    opacity: 1;
    flex-basis: auto;
    visibility: visible;
    transform: scale(1);
    transition: flex-basis 0.3s ease,
    font-size 0.3s ease,
    margin 0.3s ease,
    padding 0.3s ease,
    transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 0.2s ease;
}

[id^="gb-accordion-toggle-"].hide-on-activation.gb-block-is-current {
    opacity: 0;
    font-size: 1px;
    flex-basis: 0 !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden;
    transform: scale(0);
    max-height: 0;
    pointer-events: none;
}

.gb-accordion__item:has(.gb-accordion__toggle.hide-on-activation) {
    padding-top: 0;
}

.gb-accordion__item:has(.gb-accordion__toggle.hide-on-activation) .gb-accordion__content {
    opacity: 0;
    transform: scale(0.96) translateY(-8px);
    filter: blur(4px);
    transform-origin: top center;
    transition: opacity 0.35s ease,
    transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
    filter 0.35s ease;
}

.gb-accordion__item:has(.gb-accordion__toggle.hide-on-activation.gb-block-is-current) .gb-accordion__content {
    opacity: 1;
    transform: scale(1) translateY(0);
    filter: blur(0);
    margin-top: -24px; /* compensate for the button that gets hidden */
}

/*************************************************************************
 *  ##  6.2  COMPONENTS -> CARDS
 ************************************************************************/

/*************************************************************************
 *  ##  6.3  COMPONENTS -> MODALS
 ************************************************************************/
.gb-overlay:has(.whatsapp-overlay) {
    /* shrink the overlay to only fit the button and pin it to bottom right */
    width: auto !important;
    height: auto !important;
    top: auto !important;
    left: auto !important;
    bottom: 0 !important;
    right: 0 !important;
}


/**************************************************************************************************
 *  #   7.   CONTENT
 *************************************************************************************************/
.entry-content :not(.wp-block-image) a:not(.gb-text):not(.button):not(.gb-button),
.entry-content :not(.wp-block-image) a:not(.gb-text):not(.button):not(.gb-button):link,
.entry-content :not(.wp-block-image) a:not(.gb-text):not(.button):not(.gb-button):visited,
.entry-content :not(.wp-block-image) a:not(.gb-text):not(.button):not(.gb-button):active {
    /*background-color: transparent;*/
    /*text-decoration: none;*/
    /*transition: background 0.3s ease-in-out, border 0.3s ease-in-out;*/
}

.entry-content :not(.wp-block-image) a:not(.gb-text):not(.button):not(.gb-button):hover,
.entry-content :not(.wp-block-image) a:not(.gb-text):not(.button):not(.gb-button):focus {
    /*background-color: var(--color-base-800);*/
    /*color: var(--color-white);*/
    /*text-decoration: none;*/
}

.entry-content :not(.wp-block-image) a:not(.gb-text):not(.button):not(.gb-button):active { /* click effect */
    /*position: relative;*/
    /*top: 1px;*/
    /*left: 1px;*/
}

.wp-block-list > li::marker {
    /*color: var(--color-brand-primary);*/
}

.wp-block-list .wp-block-list { /* nested block list */
    /*list-style-type: disc;*/
}

/*************************************************************************
 *  ##  7.1  CONTENT -> PAGES
 ************************************************************************/

/*************************************************************************
 *  ##  7.2  CONTENT -> POSTS
 ************************************************************************/

/*************************************************************************
 *  ##  7.3  CONTENT -> COMMENTS
 ************************************************************************/

/*************************************************************************
 *  ##  7.4  CONTENT -> SIDEBARS
 ************************************************************************/

/*************************************************************************
 *  ##  7.5  CONTENT -> BLOCKS
 ************************************************************************/

/*** --- Section --- ***/
@media (min-width: 768px) {
    .section__paragraph--2-columns {
        column-count: 2;
        column-gap: var(--space-lg)
    }
}


/*** --- Panel --- ***/
.panel__heading { /* hard fix for classes specificity */
    line-height: 1.2 !important;
}

/*** --- Parallax background --- ***/
.parallax-background::before {
    content: "";
    position: absolute;
    top: -50px;
    left: 0;
    width: 100%;
    height: calc(100% + 100px);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate3d(0, var(--parallax-y, 0px), 0);
    will-change: transform;
    pointer-events: none;
}


/*** --- Card Grids --- ***/
@media (min-width: 768px) {
    body:not(.editor-styles-wrapper) .is-case-history-archive .is-loop-template-item:nth-child(3n) {
        grid-column: 1 / -1;
    }

    body:not(.editor-styles-wrapper) .is-case-history-archive .is-loop-template-item:nth-child(3n) .is-card {
        aspect-ratio: 5 / 2;
    }
}

@media (min-width: 768px) {
    body:not(.editor-styles-wrapper) .is-homepage-case-history .wp-block-post:nth-child(3n+1) {
        grid-column: 1 / -1;
    }

    body:not(.editor-styles-wrapper) .is-homepage-case-history .wp-block-post:nth-child(3n+1) .is-card {
        aspect-ratio: 5 / 2;
    }
}

.is-related-case-history {
}

.is-cards-grid {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.is-cards-grid .wp-block-post-template {
    column-gap: var(--space-md);
    row-gap: var(--space-md);
}

/*** --- Cards --- ***/
.is-card {
    position: relative !important;
    aspect-ratio: 11 / 9;
    overflow: hidden;
    border-radius: var(--border-radius-md);
}

.is-card::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 1) 100%);
    opacity: 0.18;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.is-card:hover::before {
    opacity: 0.5;
}

.is-card .wp-block-group__inner-container {
    position: static;
}

.is-card .wp-block-post-featured-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0 !important;
}

.is-card .wp-block-post-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.is-card:hover .wp-block-post-featured-image img {
    transform: scale(1.05);
}

.is-card .wp-block-post-terms,
.is-card .wp-block-post-title {
    position: relative;
    z-index: 1;
    color: #FFFFFF;
}

.is-card .wp-block-post-terms a,
.is-card .wp-block-post-title a {
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 1rem;
    justify-content: flex-end;
    text-decoration: none !important;
}

.is-card .wp-block-post-terms {
    position: absolute;
    top: var(--space-md);
    left: var(--space-md);
    z-index: 3;
    font-size: var(--fs-body-sm);
}

.is-card .wp-block-post-terms a {
    padding: 0;
    pointer-events: none;
}

.is-card .wp-block-post-title {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    z-index: 3;
}

.is-card .wp-block-post-title a {
    display: flex;
    flex-direction: column;
    font-size: var(--fs-heading-md-fluid);
    width: 100%;
    height: 100%;
    padding: var(--space-md);
    justify-content: flex-end;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 8px;
    text-decoration-thickness: 2px;
    transition: text-decoration-color 0.3s ease;
}

.is-card:hover .wp-block-post-title a {
    /*text-decoration-color: #FFFFFF;*/
}

.is-card .wp-block-post-title a::after {
    /*content: '';*/
    /*display: block;*/
    /*height: 2px;*/
    /*background: #ffffff;*/
    /*width: 0;*/
    /*margin: 0 auto;*/
    /*transition: width 0.3s ease;*/
}

body.editor-styles-wrapper .is-cards-grid .block-editor-block-list__block,
body.editor-styles-wrapper .is-card.block-editor-block-list__block,
body.editor-styles-wrapper .is-card .block-editor-block-list__block {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    .is-cards-grid .wp-block-post-template {
        grid-template-columns: 1fr;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .is-card .wp-block-post-terms {
        top: var(--space-sm);
        left: var(--space-sm);
    }

    .is-card .wp-block-post-title a {
        padding: var(--space-sm);
    }
}


/**************************************************************************************************
 *  #   8.   WOOCOMMERCE
 *************************************************************************************************/

/*************************************************************************
 *  ##  8.1  WOOCOMMERCE -> SHOP
 ************************************************************************/

/*************************************************************************
 *  ##  8.2  WOOCOMMERCE -> PRODUCT PAGES
 ************************************************************************/

/*************************************************************************
 *  ##  8.3  WOOCOMMERCE -> CART & CHECKOUT
 ************************************************************************/

/*************************************************************************
 *  ##  8.4  WOOCOMMERCE -> MY ACCOUNT
 ************************************************************************/

/**************************************************************************************************
 *  #   9.   VENDORS
 *************************************************************************************************/

/**************************************************************************************************
 *  #   9.1  VENDORS -> SWIPER-JS
 *************************************************************************************************/
:root {
    --swiper-wrapper-transition-timing-function: linear;
}

@media (max-width: 767px) {
    @supports (height: -webkit-fill-available) {
        .showcase__item--wide { /* WebKit-specific fill (Safari mobile fix) */
            height: -webkit-fill-available;
        }
    }

    @supports (height: stretch) {
        .showcase__item--wide { /* W3C Standard */
            height: stretch;
        }
    }
}


/**************************************************************************************************
 *  #   10.  PLUGINS
 *************************************************************************************************/

/*************************************************************************
 *  ##  10.1 PLUGINS -> SEOPRESS
 ************************************************************************/
/**
 * FAQ module
 */
.wp-block-wpseopress-faq-block-v2 {
}

.wp-block-wpseopress-faq-block-v2 .wp-block-details {
    padding: var(--space-xl) var(--space-xl) var(--space-xl) var(--space-xl);
    border: 1px solid #707070;
    border-radius: 32px;
    background-color: #FFFFFF;
    margin-bottom: var(--space-md)
}

@supports selector(:has(*)) {
    .wp-block-wpseopress-faq-block-v2:has(.wp-block-details[open]) {
    }
}

.wp-block-wpseopress-faq-block-v2 .wp-block-paragraph {
    padding: var(--space-sm) var(--space-xl);
    margin-bottom: var(--space-xs);
}

.wp-block-wpseopress-faq-block-v2 p:first-child,
.wp-block-wpseopress-faq-block-v2 .wp-block-paragraph:first-child {
    padding-top: 0;
}

.wp-block-wpseopress-faq-block-v2 p:last-child,
.wp-block-wpseopress-faq-block-v2 .wp-block-paragraph:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

.wp-block-wpseopress-faq-block-v2 .wp-block-details summary { /* Hide default marker on modern browsers */
    font-size: var(--fs-heading-sm-fluid);
    font-weight: var(--fw-medium);
    list-style: none;
    position: relative;
    padding-right: 2rem;
    cursor: pointer;
}

.wp-block-wpseopress-faq-block-v2 .wp-block-details summary::-webkit-details-marker { /* WebKit/Chromium engines */
    display: none;
}

.wp-block-wpseopress-faq-block-v2 .wp-block-details summary::marker { /* defensive fallback for hiding marker */
    content: "";
}

.wp-block-wpseopress-faq-block-v2 .wp-block-details summary::after { /* Custom marker on the right */
    content: "+";
    position: absolute;
    right: 0;
    top: 0;
    /*top: 50%;*/
    /*transform: translateY(-50%);*/
    font-weight: var(--fw-bold);
}

.wp-block-wpseopress-faq-block-v2 .wp-block-details[open] summary::after { /* Open state */
    content: "−";
}

@media (max-width: 1024px) {
    .wp-block-wpseopress-faq-block-v2 .wp-block-paragraph {
        padding: var(--space-sm) var(--space-md);
    }
}


/*************************************************************************
 *  ##  10.2 PLUGINS -> CONTACT FORM 7
 ************************************************************************/
/* Container */
.wpcf7 {
    padding: 0;
}

/* Input fields and text areas */
.wpcf7 .wpcf7-form-control-wrap {
    display: block;
}

.wpcf7 label {
    font-size: var(--fs-body-xs);
    display: block;
    padding: 1rem 0 0 1rem;
}

.wpcf7 .label-text {
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    width: 100%;
    padding: 12px 1rem var(--space-xs) 1rem;
    margin-top: var(--space-2xs);
    margin-bottom: var(--space-2xs);
    background-color: #FFFFFF;
    border: 1px solid #F5F5F5;
    border-radius: var(--border-radius-3xl);
    color: #333333;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
    border-color: #0066cc;
    outline: none;
}

.wpcf7 .wpcf7-list-item {
    margin-left: 0;
}

/* Acceptance */
.wpcf7 .wpcf7-acceptance {
    font-size: var(--fs-body-xs);
    display: block;
    padding-bottom: var(--space-2xs);
}

.wpcf7 .wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding-top: 0.5rem;
}

.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 0.14em;
}

/* Submit button */
.wpcf7 input[type="submit"] {
    background-color: var(--color-brand-primary);
    color: var(--color-text-inverse);
    margin: 12px auto 0;
    padding: var(--space-md) var(--space-3xl);
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: flex;
}

.wpcf7 input[type="submit"]:hover {
    background-color: #3597D3;
}

/* Error and success response messages */
.wpcf7 .wpcf7-not-valid-tip {
    font-size: var(--fs-body-xs);
    margin-top: 2px;
    margin-bottom: 4px;
    padding: 0 1rem;
}

.wpcf7 .wpcf7-response-output {
    margin-top: 15px;
    padding: 10px;
    border-radius: 4px;
}

.wpcf7 .wpcf7-mail-sent-ok {
    color: #e6ffe6;
}

.wpcf7 .wpcf7-validation-errors {
    color: #ffe6e6;
    border: 1px solid #ffb3b3;
}

.wpcf7 form .wpcf7-response-output {
    border-color: transparent;
    font-size: var(--fs-body-3xl);
    font-weight: var(--fw-medium);
    text-align: center;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #46b450; /* Green */
    border-color: transparent;
    font-weight: var(--fw-medium);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900; /* Yellow */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
    border-color: #f56e28; /* Orange */
}

/**
 * floating labels effect (need to wrap inside a .floating-label container
 */
.wpcf7 .floating-label.has-js {
    position: relative;
}

.wpcf7 .floating-label.has-js .wpcf7-form-control-wrap {
    display: contents;
}

.wpcf7 .floating-label.has-js input {
    width: 100%;
    padding: 16px 1rem 6px 1rem; /* Extra top padding to make room for the floated label */
    font-size: 1rem;
    outline: none;
    height: 3rem;
}

.wpcf7 .floating-label.has-js label {
    position: absolute; /* Position the label inside the input field */
    left: 1rem;
    top: 1.3rem;
    padding: 0;
    line-height: 1;
    color: #999;
    transition: all 0.2s ease;
    pointer-events: none; /* Allows clicking "through" the label to focus the input */
}

.wpcf7 .floating-label.has-js.is-active label {
    top: 11px; /* Move the label up when the input is focused or filled */
    font-size: 11px;
    color: #999;
}

/**
 * Newsletter form overrides
 */
.wpcf7-form#newsletter-form input[type="text"],
.wpcf7-form#newsletter-form input[type="email"] {

}

.wpcf7-form#newsletter-form .wpcf7-list-item {
    margin-left: 2px;
    margin-right: 2px;
}

.wpcf7-form#newsletter-form .wpcf7-acceptance {
    padding-bottom: var(--space-xs);
}

.wpcf7-form#newsletter-form .wpcf7-acceptance,
.wpcf7-form#newsletter-form .wpcf7-acceptance a {
    color: #FFF;
}

.wpcf7-form#newsletter-form .wpcf7-acceptance label {
    padding: 0;
}

.wpcf7-form#newsletter-form input[type="submit"] {
    width: 100%;
    border-radius: 999px;
    font-size: var(--fs-body-xl);
    font-weight: var(--fw-medium);
    padding: 8px 1rem;
}

.wpcf7-form#newsletter-form .wpcf7-not-valid-tip {
    margin-bottom: 4px;
    margin-top: 4px;
    padding: 0;
}

.wpcf7-form#newsletter-form .wpcf7-response-output {
    margin-top: 1rem;
}

form#newsletter-form.invalid .wpcf7-response-output,
form#newsletter-form.unaccepted .wpcf7-response-output {
    display: none !important;
    visibility: hidden !important;
}

@media (max-width: 767px) {
    form#newsletter-form .cf7-row.cf7-gap-sm {
        gap: 0;
    }
}

/*************************************************************************
 *  ##  10.3 PLUGINS -> WPML
 ************************************************************************/
/*** --- WPML Language Switcher Block --- ***/
.gb-site-header .wpml-dropdown .wpml-language-switcher-block > .wp-block-navigation-item {
    border: 3px solid #FFFFFF;
    border-radius: var(--border-radius-sm);
    color: var(--color-text-inverse);
}

.gb-site-header .wpml-dropdown .wpml-language-switcher-block .wp-block-navigation-item .wp-block-navigation-submenu__toggle .current-language-item::after {
    content: "";
    display: inline-block;
    width: 24px; /* dimensione icona */
    height: 24px;
    background-color: currentColor; /* colore */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M367.2 477c-21.5 43.7-41.4 51-47.2 51s-25.7-7.3-47.2-51c-17-34.5-29.2-81.6-32.1-133h158.6c-3 51.5-15.2 98.6-32.1 133m32.1-181H240.7c3-51.5 15.2-98.6 32.1-133 21.5-43.7 41.4-51 47.2-51s25.7 7.3 47.2 51c17 34.5 29.2 81.6 32.1 133m48.1 48h79.2c-8.6 74.6-56.7 137.3-122.8 166.4 24-42.8 40.3-102.4 43.6-166.4m79.2-48h-79.2c-3.3-64-19.6-123.6-43.6-166.4C469.9 158.8 518 221.4 526.6 296m-334 0h-79.2c8.6-74.6 56.7-137.3 122.8-166.4-24 42.8-40.3 102.4-43.6 166.4m-79.2 48h79.2c3.3 64 19.6 123.6 43.6 166.4C170.1 481.2 122 418.6 113.4 344M320 576c141.4 0 256-114.6 256-256S461.4 64 320 64 64 178.6 64 320s114.6 256 256 256'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M367.2 477c-21.5 43.7-41.4 51-47.2 51s-25.7-7.3-47.2-51c-17-34.5-29.2-81.6-32.1-133h158.6c-3 51.5-15.2 98.6-32.1 133m32.1-181H240.7c3-51.5 15.2-98.6 32.1-133 21.5-43.7 41.4-51 47.2-51s25.7 7.3 47.2 51c17 34.5 29.2 81.6 32.1 133m48.1 48h79.2c-8.6 74.6-56.7 137.3-122.8 166.4 24-42.8 40.3-102.4 43.6-166.4m79.2-48h-79.2c-3.3-64-19.6-123.6-43.6-166.4C469.9 158.8 518 221.4 526.6 296m-334 0h-79.2c8.6-74.6 56.7-137.3 122.8-166.4-24 42.8-40.3 102.4-43.6 166.4m-79.2 48h79.2c3.3 64 19.6 123.6 43.6 166.4C170.1 481.2 122 418.6 113.4 344M320 576c141.4 0 256-114.6 256-256S461.4 64 320 64 64 178.6 64 320s114.6 256 256 256'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.gb-site-header .wpml-dropdown .wpml-language-switcher-block .wp-block-navigation-item .wp-block-navigation-submenu__toggle {
    /*display: flex; */ /* Layout children (icon space, text, arrow) in a row */
    /*align-items: center; */ /* Vertically align children */
    /*white-space: nowrap; */ /* Prevent content from wrapping */
    /*margin: 0;*/
    padding: 0.2rem 0.8rem;
}

.gb-site-header .wpml-dropdown .wpml-language-switcher-block .wp-block-navigation-item .wp-block-navigation-submenu__toggle .current-language-item {
}


.gb-site-header .wpml-dropdown .wpml-language-switcher-block .wp-block-navigation__submenu-icon {
}

/* 4. Keep the consistent width for the language labels themselves */
.gb-site-header .wpml-dropdown .wpml-language-switcher-block .wp-block-navigation-item__label {
    /*display: inline-block; !* Necessary to set width properties *!*/
    /*min-width: 3ch; !* Set a minimum width based on the '0' character of current font *!*/}.gb-site-header .wpml-dropdown .wpml-language-switcher-block .wp-block-navigation__submenu-container{border:3px solid var(--color-bg-inverse)!important;background-color:var(--color-bg-inverse)!important;border-radius:var(--border-radius-sm);left:-3px!important;box-shadow:none!important;padding-left:0.8em!important;padding-right:0.8em!important;padding-top:0.8em!important;padding-bottom:0.8em!important;margin-top:3px!important;pointer-events:all!important}@media (max-width:1024px){.gb-site-header .wpml-language-switcher-block{display:inline-flex;width:max-content!important;margin:0 auto}.gb-site-header .wpml-language-switcher-block>.wp-block-navigation-item>div{padding:var(--space-sm) var(--space-md)}}.cky-revisit-bottom-left{bottom:var(--space-sm)!important;left:var(--space-sm)!important}