:root{--cf-scroll-margin-top:100px;--cf-section-bg-colour:var(--background-0);--cf-section-shadow:var(--shadow-0-15);--cf-section-border-top:4px solid var(--accent);--cf-section-heading-colour:var(--foreground-0);--cf-section-text-colour:var(--foreground-3);--cf-thankyou-text-colour:var(--foreground-2);--cf-another-link-colour:var(--accent);--cf-error-msg-colour:var(--color-red-text);--cf-placeholder-colour:var(--color-grey-medium);--cf-placeholder-opacity:.35;--cf-placeholder-font-size:14px;--cf-select-empty-opacity-offset:.3;--cf-control-padding:.75rem 1rem;--cf-control-border:1px solid var(--background-2);--cf-control-border-radius:20px;--cf-control-background:var(--background-1);--cf-control-colour:var(--foreground-2);--cf-control-font-size:1rem;--cf-control-caret-colour:var(--primary-hover);--cf-control-focus-border-colour:var(--primary);--cf-control-focus-background:var(--background-0);--cf-control-focus-shadow:0 0 0 2px hsla(from var(--primary) h s l / .2);--cf-label-colour:var(--foreground-1);--cf-label-icon-colour:var(--primary-dark);--cf-required-marker-colour:var(--accent);--cf-required-tooltip-bg:var(--primary);--cf-required-tooltip-colour:var(--white);--cf-field-error-colour:var(--color-red-text);--cf-submit-bg:var(--primary);--cf-submit-colour:var(--white);--cf-submit-bg-hover:var(--primary-hover);--cf-submit-border-radius:var(--cf-control-border-radius);--cf-submit-disabled-opacity:.7;--cf-hint-colour:var(--foreground-3);--cf-success-bg:var(--color-green-bg);--cf-success-colour:var(--color-green-text);--cf-form-error-bg:var(--color-red-bg);--cf-form-error-colour:var(--color-red-text)}#contact-form{scroll-margin-top:var(--cf-scroll-margin-top)}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-form-section{background:var(--cf-section-bg-colour);box-shadow:0 20px 40px var(--cf-section-shadow);border-top:var(--cf-section-border-top);border-radius:.75rem;width:100%;max-width:650px;height:max-content;padding:2rem}.contact-form-section h2,.contact-form-section h3{color:var(--cf-section-heading-colour);margin-bottom:.25rem;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700}.contact-form-section>p{color:var(--cf-section-text-colour);margin-bottom:1.5rem;font-size:.875rem}.contact-form-thankyou{text-align:center}.contact-form-thankyou h3{margin-top:1rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.contact-form-thankyou p{color:var(--cf-thankyou-text-colour)}.contact-form-another{cursor:pointer;color:var(--cf-another-link-colour);background:0 0;border:none;margin-top:1.5rem;font-size:.875rem;font-weight:600;text-decoration:underline}.contact-form-error-msg{color:var(--cf-error-msg-colour);margin:0 0 .25rem;font-size:.875rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-form .form-group{flex-direction:column;display:flex}.contact-form .form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--cf-label-colour);margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.contact-form .form-group.required label{position:relative}.contact-form .form-group.required label:after{content:" *";color:var(--cf-required-marker-colour);font-weight:900}.contact-form .form-group.required label:before{content:"Required field";background:var(--cf-required-tooltip-bg);color:var(--cf-required-tooltip-colour);white-space:nowrap;visibility:hidden;opacity:0;transition:opacity var(--transition-0-3s-ease), visibility var(--transition-0-3s-ease);z-index:1000;pointer-events:none;border-radius:.5rem;margin-bottom:.35rem;padding:.5rem .75rem;font-size:.6rem;font-weight:600;position:absolute;bottom:100%;left:0}.contact-form .form-group.required label:hover:before{opacity:.9;visibility:visible}.contact-form .form-group label svg{color:var(--cf-label-icon-colour)}.contact-form .form-group input,.contact-form .form-group select,.contact-form .form-group textarea{width:100%;padding:var(--cf-control-padding);border:var(--cf-control-border);border-radius:var(--cf-control-border-radius);background:var(--cf-control-background);color:var(--cf-control-colour);font:inherit;font-size:var(--cf-control-font-size);transition:border-color var(--transition-0-3s-ease), box-shadow var(--transition-0-3s-ease);caret-color:var(--cf-control-caret-colour)}.contact-form .form-group input:focus,.contact-form .form-group select:focus,.contact-form .form-group textarea:focus{border-color:var(--cf-control-focus-border-colour);box-shadow:var(--cf-control-focus-shadow);background:var(--cf-control-focus-background);outline:none}.contact-form .form-group input::placeholder,.contact-form .form-group select::placeholder,.contact-form .form-group textarea::placeholder{color:var(--cf-placeholder-colour);opacity:var(--cf-placeholder-opacity);font-size:var(--cf-placeholder-font-size)}.contact-form .form-group select:has(option:checked[value=""]){color:var(--cf-placeholder-colour);opacity:calc(var(--cf-placeholder-opacity) + var(--cf-select-empty-opacity-offset));font-size:var(--cf-placeholder-font-size)}.contact-form .form-group select option{color:var(--cf-control-colour);opacity:1;font-size:var(--cf-control-font-size)}.contact-form .form-group textarea{resize:vertical;min-height:5rem}.message-div{flex:1;min-height:200px}.contact-form .form-group.message-div textarea{min-height:12rem}.contact-form .form-group .error-message{color:var(--cf-field-error-colour);margin-top:.25rem;margin-left:.15rem;font-size:.85rem}form.contact-form>.message-alert{font-size:.9rem}.contact-form .submit-btn{background:var(--cf-submit-bg);width:100%;color:var(--cf-submit-colour);border-radius:var(--cf-submit-border-radius);cursor:pointer;transition:background var(--transition-0-3s-ease);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:1rem;font-size:1rem;font-weight:700;display:flex}@media (max-width:768px){.contact-form .submit-btn{font-size:12px}}.contact-form .submit-btn svg{flex-shrink:0;width:1rem;max-width:1rem;height:1rem;max-height:1rem}.contact-form .submit-btn:hover:not(:disabled){background:var(--cf-submit-bg-hover)}.contact-form .submit-btn:disabled{opacity:var(--cf-submit-disabled-opacity);cursor:not-allowed}.contact-form .form-hint{color:var(--cf-hint-colour);text-align:center;margin-top:1rem;margin-bottom:0;font-size:.75rem}.message-alert{opacity:1;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;max-height:100px;margin-top:1rem;padding:1rem;transition:all 1s;display:flex;overflow:hidden}.success-message{background:var(--cf-success-bg);color:var(--cf-success-colour)}.form-error{background:var(--cf-form-error-bg);color:var(--cf-form-error-colour)}.message-alert-animate{animation:1s messageGrow}.message-alert:not(.message-alert-animate){opacity:0;gap:0;max-height:0;margin:0;padding:0}@keyframes messageGrow{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:100px;padding-top:1rem;padding-bottom:1rem}}
:root{--mf-offset-right:1.5rem;--mf-z-index:40;--mf-size:3.5rem;--mf-border-radius:9999px;--mf-colour:var(--white);--mf-box-shadow:0 8px 24px var(--shadow-0-3);--mf-border:2px solid var(--white);--mf-svg-size:22px;--mf-bounce-duration:2s;--mf-bounce-ease:ease-in-out;--mf-bounce-translate:-6px;--mf-bounce-shadow-rest:0 8px 24px var(--shadow-0-3);--mf-bounce-shadow-peak:0 12px 28px var(--shadow-0-3);--mf-call-glow-rest:0 0 14px hsla(from var(--accent) h s l / .16);--mf-call-glow-peak:0 0 30px hsla(from var(--accent) h s l / .4);--mf-wa-glow-rest:0 0 14px #25d36629;--mf-wa-glow-peak:0 0 30px #47eb8366}.mobile-fab{right:var(--mf-offset-right);z-index:var(--mf-z-index);width:var(--mf-size);height:var(--mf-size);border-radius:var(--mf-border-radius);color:var(--mf-colour);box-shadow:var(--mf-box-shadow);border:var(--mf-border);animation:site-bounce var(--mf-bounce-duration) var(--mf-bounce-ease) infinite;justify-content:center;align-items:center;display:none;position:fixed}.mobile-fab svg.svg-inline--fa{width:var(--mf-svg-size)!important;height:var(--mf-svg-size)!important}@media (max-width:768px){.mobile-fab{display:flex}}@keyframes site-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(var(--mf-bounce-translate))}}@keyframes site-bounce-call{0%,to{box-shadow:var(--mf-bounce-shadow-rest), var(--mf-call-glow-rest);transform:translateY(0)}50%{transform:translateY(var(--mf-bounce-translate));box-shadow:var(--mf-bounce-shadow-peak), var(--mf-call-glow-peak)}}@keyframes site-bounce-whatsapp{0%,to{box-shadow:var(--mf-bounce-shadow-rest), var(--mf-wa-glow-rest);transform:translateY(0)}50%{transform:translateY(var(--mf-bounce-translate));box-shadow:var(--mf-bounce-shadow-peak), var(--mf-wa-glow-peak)}}
.mobile-call-fab{background:var(--primary);box-shadow:0 8px 24px var(--shadow-0-3), 0 0 18px hsla(from var(--accent) h s l / .22);animation-name:site-bounce-call;bottom:1.5rem}
.mobile-whatsapp-fab{box-shadow:0 8px 24px var(--shadow-0-3), 0 0 18px #25d36638;background:#25d366;animation-name:site-bounce-whatsapp;animation-delay:-.2s;bottom:6.25rem}
:root{--bdd-button-bg-opacity:.5;--bdd-radius:.375rem;--bdd-transition:var(--transition-0-5s-ease);--bdd-button-color:var(--background-3);--bdd-button-bg:transparent;--bdd-button-border-color:transparent;--bdd-button-color-hover:var(--primary);--bdd-button-bg-hover:hsla(from var(--primary) h s l / 0);--bdd-button-border-color-hover:transparent;--bdd-button-focus-ring:0 0 0 1px hsla(from var(--primary) h s l / .2);--bdd-menu-bg:var(--background-0);--bdd-menu-border:1px solid var(--background-1);--bdd-menu-shadow:0 8px 24px var(--shadow-0-15);--bdd-menu-max-height:12rem;--bdd-menu-transition:var(--bdd-transition);--bdd-menu-gap:.25rem;--bdd-hover-bridge:.5rem;--bdd-option-color:var(--primary);--bdd-option-bg:transparent;--bdd-option-color-hover:var(--white);--bdd-option-bg-hover:hsla(from var(--primary) h s l / var(--bdd-button-bg-opacity));--bdd-option-color-active:var(--white);--bdd-option-bg-active:var(--primary)}@media (max-width:768px){.dropdown-widget{--bdd-transition:var(--transition-0-3s-ease)}}[data-theme=dark]{--bdd-button-color-hover:var(--white);--bdd-button-bg-hover:hsla(from var(--primary) h s l / 1);--bdd-option-color:var(--white);--bdd-option-color-hover:var(--white);--bdd-option-color-active:var(--white);--bdd-option-bg-active:var(--primary)}.dropdown-widget{display:inline-flex;position:relative}.dropdown-toggle-button{border-style:solid;border-width:1px;border-color:var(--bdd-button-border-color);border-radius:var(--bdd-radius);width:auto;min-width:0;max-width:none;height:2.5rem;color:var(--bdd-button-color);background:var(--bdd-button-bg);cursor:pointer;transition:background var(--bdd-transition), color var(--bdd-transition), border-color var(--bdd-transition), box-shadow var(--bdd-transition);justify-content:space-between;align-items:center;gap:.25rem;padding:0 .5rem;font-size:.875rem;display:flex;position:relative}.dropdown-toggle-button:not(:has(.chevron)){justify-content:center}.dropdown-toggle-button svg.svg-inline--fa{width:var(--dropdown-toggle-btn-svg-size);height:var(--dropdown-toggle-btn-svg-size);--dropdown-toggle-btn-svg-size:1rem!important}.dropdown-toggle-button:hover{color:var(--bdd-button-color-hover);background:var(--bdd-button-bg-hover);border-color:var(--bdd-button-border-color-hover)}.dropdown-toggle-button .chevron{transition:transform var(--bdd-transition);margin-left:.25rem;font-size:.6875rem}.dropdown-toggle-button[aria-expanded=true] .chevron{transform:rotate(180deg)}.dropdown-menu{background:var(--bdd-menu-bg);border:var(--bdd-menu-border);border-radius:var(--bdd-radius);box-shadow:var(--bdd-menu-shadow);z-index:1002;opacity:0;pointer-events:none;visibility:hidden;min-width:8rem;max-height:0;transition:max-height var(--bdd-menu-transition), opacity var(--bdd-menu-transition), margin-top var(--bdd-menu-transition), margin-bottom var(--bdd-menu-transition), visibility 0s linear .5s;margin-top:0;position:absolute;top:100%;left:0;right:0;overflow:hidden}.dropdown-menu.is-open{max-height:var(--bdd-menu-max-height);margin-top:var(--bdd-menu-gap);opacity:1;pointer-events:auto;visibility:visible;transition:max-height var(--bdd-menu-transition), opacity var(--bdd-menu-transition), margin-top var(--bdd-menu-transition), margin-bottom var(--bdd-menu-transition), top var(--bdd-menu-transition), bottom var(--bdd-menu-transition), visibility 0s linear 0s}@media (min-width:769px){.dropdown-widget[data-open-on=hover]{padding-top:var(--bdd-hover-bridge);padding-bottom:var(--bdd-hover-bridge);margin-top:calc(-1 * var(--bdd-hover-bridge));margin-bottom:calc(-1 * var(--bdd-hover-bridge))}.dropdown-widget[data-open-on=hover]:hover:not([data-dismissed=true]) .dropdown-menu,.dropdown-widget[data-open-on=hover]:focus-within:not([data-dismissed=true]) .dropdown-menu{max-height:var(--bdd-menu-max-height);opacity:1;pointer-events:auto;visibility:visible;transition:max-height var(--bdd-menu-transition), opacity var(--bdd-menu-transition), top var(--bdd-menu-transition), bottom var(--bdd-menu-transition), visibility 0s linear 0s;margin-top:0;margin-bottom:0;top:100%}.dropdown-widget[data-open-on=hover][data-dismissed=true] .dropdown-menu{opacity:0;pointer-events:none;visibility:hidden;max-height:0;margin-top:0;margin-bottom:0;top:100%;bottom:auto}.dropdown-widget[data-open-on=hover]:hover:not([data-dismissed=true]) .dropdown-toggle-button .chevron,.dropdown-widget[data-open-on=hover]:focus-within:not([data-dismissed=true]) .dropdown-toggle-button .chevron{transform:rotate(180deg)}.footer .dropdown-widget[data-open-on=hover]:hover:not([data-dismissed=true]) .dropdown-menu,.footer .dropdown-widget[data-open-on=hover]:focus-within:not([data-dismissed=true]) .dropdown-menu{margin-top:0;margin-bottom:0;top:auto;bottom:100%}.footer .dropdown-widget[data-open-on=hover][data-dismissed=true] .dropdown-menu{top:auto;bottom:100%}}.dropdown-option{width:100%;height:2.25rem;color:var(--bdd-option-color);background:var(--bdd-option-bg);cursor:pointer;transition:color var(--bdd-transition), background var(--bdd-transition);border:none;justify-content:center;align-items:center;padding:0 .75rem;font-size:.875rem;display:flex}.dropdown-option:hover{color:var(--bdd-option-color-hover);background:var(--bdd-option-bg-hover)}.dropdown-option.active{color:var(--bdd-option-color-active);background:var(--bdd-option-bg-active)}.footer .dropdown-menu{margin-top:0;margin-bottom:0;top:auto;bottom:100%}.footer .dropdown-menu.is-open{margin-bottom:var(--bdd-menu-gap)}.footer{--bdd-button-color:var(--footer-fg-col);--bdd-button-color-hover:var(--footer-fg-col);--bdd-button-bg-hover:hsla(from var(--accent) h s l / .3);--bdd-button-focus-ring:0 0 0 1px hsla(from var(--footer-fg-col) h s l / .2);--bdd-menu-bg:var(--footer-bg-col);--bdd-menu-border:1px solid var(--footer-fg-col);--bdd-option-color:var(--footer-fg-col);--bdd-option-color-hover:var(--footer-fg-col);--bdd-option-bg-hover:hsla(from var(--accent) h s l / .4);--bdd-option-color-active:var(--white);--bdd-option-bg-active:var(--accent-dark)}
.theme-toggle .dropdown-toggle-button{width:3.5rem;min-width:3.5rem;max-width:3.5rem;font-size:1.25rem}.theme-toggle:not([data-trigger=icon]) .dropdown-toggle-button{gap:.375rem;width:auto;min-width:0;max-width:none;padding:0 .75rem;font-size:.875rem}.theme-toggle[data-trigger=label] .dropdown-toggle-button{padding:0 .625rem;font-size:.8125rem}.theme-toggle-label{font-size:.8125rem;font-weight:500}.theme-toggle .dropdown-menu{--bdd-menu-max-height:7rem;width:max-content;min-width:3rem;left:50%;right:auto;transform:translate(-50%)}
.language-switcher .dropdown-toggle-button{width:3.5rem;min-width:3.5rem;max-width:3.5rem;font-size:1.25rem}.language-switcher:not([data-trigger=flag]):not([data-trigger=globe]) .dropdown-toggle-button{gap:.375rem;width:auto;min-width:0;max-width:none;padding:0 .75rem;font-size:.875rem}.language-switcher[data-trigger=name] .dropdown-toggle-button{padding:0 .625rem;font-size:.8125rem}.language-switcher .language-code{letter-spacing:.04em;font-size:.8125rem;font-weight:600}.language-switcher .language-globe{font-size:.9375rem}.language-switcher .dropdown-menu{--bdd-menu-max-height:6rem;width:max-content;min-width:6.5rem;left:50%;right:auto;transform:translate(-50%)}.language-switcher .dropdown-option{gap:.5rem;padding:0 1rem;font-size:1rem}.language-flag{-webkit-user-select:none;user-select:none;font-size:1.25rem;transform:translateY(-1px)scale(.9)}.language-name{font-size:1rem;font-weight:500}.language-switcher .dropdown-option .language-flag{display:none}
