/* ===== Clean My Speaker: Site header, footer, contact form ===== */
.cms-hdr,.cms-ftr,.cms-contact{--c-bg:var(--e-global-color-cmsbg,#F4F7FA);--c-bg2:var(--e-global-color-cmsbg2,#E6EDF4);--c-surface:var(--e-global-color-cmssurface,#FFFFFF);--c-ink:var(--e-global-color-cmsink,#0B1B2E);--c-muted:var(--e-global-color-cmsmuted,#4B5B70);--c-line:var(--e-global-color-cmsline,#D9E2EC);--c-cobalt:var(--e-global-color-cmscobalt,#12345A);--c-aqua:var(--e-global-color-cmsaqua,#3CC6E0);--c-volt:var(--e-global-color-cmsvolt,#F4B940);--c-coral:var(--e-global-color-cmscoral,#E5484D);--f-head:var(--e-global-typography-cmsh1-font-family,"Bricolage Grotesque"),system-ui,sans-serif;--f-body:var(--e-global-typography-cmsbody-font-family,"Onest"),system-ui,sans-serif;font-family:var(--f-body)}
.cms-hdr *,.cms-ftr *,.cms-contact *{box-sizing:border-box}

/* Brand */
.cms-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--c-ink);font-family:var(--f-head);font-weight:800;font-size:19px;letter-spacing:-.02em;line-height:1.1;white-space:nowrap;flex:none}
.cms-brand:hover,.cms-brand:focus{color:var(--c-ink)}
.cms-brand-mark{width:36px;height:36px;border-radius:11px;background:var(--c-cobalt);color:#fff;display:grid;place-items:center;flex:none}

/* Header */
.cms-hdr{position:relative;background:color-mix(in srgb,var(--c-bg) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .22s,box-shadow .22s}
.cms-hdr.is-scrolled{border-bottom-color:var(--c-line)}
.cms-hdr-in{max-width:1180px;margin:0 auto;padding:12px 20px;min-height:70px;display:flex;align-items:center;gap:20px}
.cms-hdr .cms-sitenav{flex:1 1 auto;display:flex;justify-content:center;min-width:0}
.cms-hdr-actions{display:flex;align-items:center;gap:10px;flex:none}
.cms-hdr-cta{display:inline-flex;align-items:center;padding:11px 20px;border-radius:999px;background:var(--c-volt);color:#0B1B2E;font-weight:700;font-size:15px;line-height:1.2;text-decoration:none;white-space:nowrap;transition:box-shadow .13s,transform .13s}
.cms-hdr-cta:hover,.cms-hdr-cta:focus{color:#0B1B2E;box-shadow:0 0 0 5px rgba(244,185,64,.32)}
.cms-hdr-cta:active{transform:scale(.96)}

/* Header nav: desktop */
.cms-hdr .cms-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.cms-hdr .cms-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.cms-hdr .cms-menu > li{position:relative;margin:0}
.cms-hdr .cms-top-link,.cms-hdr .cms-sub-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:10px;border:0;background:transparent;color:var(--c-muted);font-family:var(--f-body);font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .13s,color .13s;white-space:nowrap}
.cms-hdr .cms-top-link:hover,.cms-hdr .cms-sub-btn:hover,.cms-hdr .cms-sub-btn[aria-expanded="true"]{background:var(--c-bg2);color:var(--c-ink)}
.cms-hdr .cms-top-link[aria-current="page"],.cms-hdr .has-sub.is-active > .cms-sub-btn{color:var(--c-ink);box-shadow:inset 0 -2px 0 var(--c-cobalt)}
.cms-hdr .cms-sub-btn svg{transition:transform .22s}
.cms-hdr .cms-sub-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.cms-hdr .cms-sub{list-style:none;margin:0;padding:8px;position:absolute;top:calc(100% + 10px);left:50%;width:300px;transform:translate(-50%,-6px);background:var(--c-surface);border:1px solid var(--c-line);border-radius:16px;box-shadow:0 24px 44px -24px rgba(11,27,46,.38);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility 0s linear .2s;z-index:80;display:block}
.cms-hdr .cms-sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.cms-hdr .has-sub.open > .cms-sub{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .2s}
.cms-hdr .cms-sub li{margin:0}
.cms-hdr .cms-sub a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--c-ink);transition:background-color .13s}
.cms-hdr .cms-sub a span{display:block;font-weight:600;font-size:15px;line-height:1.3}
.cms-hdr .cms-sub a small{display:block;font-weight:400;font-size:13px;line-height:1.35;color:var(--c-muted);margin-top:2px}
.cms-hdr .cms-sub a:hover,.cms-hdr .cms-sub a:focus{background:var(--c-bg)}
.cms-hdr .cms-sub a[aria-current="page"]{background:var(--c-bg2)}
.cms-hdr .cms-menu-cta{display:none}
.cms-hdr .cms-burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-ink);align-items:center;justify-content:center;padding:0;cursor:pointer}
.cms-hdr .cms-burger:hover,.cms-hdr .cms-burger:focus{background:var(--c-surface);color:var(--c-ink)}
.cms-hdr .cms-burger path{transition:transform .22s,opacity .13s;transform-origin:12px 12px}
.cms-hdr .cms-burger[aria-expanded="true"] .l1{transform:translateY(5px) rotate(45deg)}
.cms-hdr .cms-burger[aria-expanded="true"] .l2{opacity:0}
.cms-hdr .cms-burger[aria-expanded="true"] .l3{transform:translateY(-5px) rotate(-45deg)}
.cms-hdr .cms-theme-btn{width:44px;height:44px}

@media (max-width:1080px){ .cms-hdr-cta{display:none} }

/* Header nav: tablet and phone drawer */
@media (max-width:880px){
  .cms-hdr-in{min-height:64px;padding:10px 16px;gap:10px}
  .cms-hdr .cms-sitenav{order:3;flex:0 0 auto;position:static}
  .cms-hdr-actions{order:2;margin-left:auto}
  .cms-hdr .cms-burger{display:inline-flex}
  .cms-hdr .cms-menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;padding:10px 16px 20px;background:var(--c-bg);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);box-shadow:0 30px 40px -30px rgba(11,27,46,.45);max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain}
  .cms-hdr .cms-sitenav.is-open .cms-menu{display:flex}
  .cms-hdr .cms-menu > li{border-bottom:1px solid var(--c-line)}
  .cms-hdr .cms-menu > li.cms-menu-cta{border-bottom:0}
  .cms-hdr .cms-top-link,.cms-hdr .cms-sub-btn{width:100%;justify-content:space-between;padding:15px 6px;font-size:17px;border-radius:0;color:var(--c-ink)}
  .cms-hdr .cms-top-link:hover,.cms-hdr .cms-sub-btn:hover,.cms-hdr .cms-sub-btn[aria-expanded="true"]{background:transparent}
  .cms-hdr .cms-top-link[aria-current="page"],.cms-hdr .has-sub.is-active > .cms-sub-btn{box-shadow:none;color:var(--c-cobalt)}
  .cms-hdr .cms-sub,.cms-hdr .has-sub.open > .cms-sub{position:static;width:auto;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;border-radius:12px;background:var(--c-surface);margin:0 0 12px;padding:6px;transition:none;display:none}
  .cms-hdr .has-sub.open > .cms-sub{display:block}
  .cms-hdr .cms-sub::before{display:none}
  .cms-hdr .cms-menu-cta{display:block;margin-top:16px}
  .cms-hdr .cms-menu-cta a{display:flex;justify-content:center;padding:15px 20px;border-radius:999px;background:var(--c-volt);color:#0B1B2E;font-weight:700;font-size:16px;text-decoration:none}
  html.cms-menu-open{overflow:hidden}
}
@media (max-width:400px){
  .cms-hdr-in{padding:10px 12px}
  .cms-brand{font-size:17px;gap:8px}
  .cms-brand-mark{width:32px;height:32px;border-radius:10px}
  .cms-hdr .cms-theme-btn,.cms-hdr .cms-burger{width:40px;height:40px}
}

/* Footer */
.cms-ftr{background:var(--c-bg2);border-top:1px solid var(--c-line);color:var(--c-muted)}
.cms-ftr-in{max-width:1180px;margin:0 auto;padding:60px 20px 28px}
.cms-ftr-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,2fr);gap:56px;align-items:start}
.cms-ftr-brand p{font-size:15px;line-height:1.6;max-width:38ch;margin:16px 0 20px;color:var(--c-muted)}
.cms-ftr-cta{display:inline-flex;padding:12px 22px;border-radius:999px;background:var(--c-cobalt);color:#fff;font-weight:700;font-size:15px;text-decoration:none;transition:box-shadow .13s}
.cms-ftr-cta:hover,.cms-ftr-cta:focus{color:#fff;box-shadow:0 0 0 5px rgba(18,52,90,.22)}
.cms-ftr-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.cms-ftr-h{font-family:var(--f-body);font-weight:700;font-size:15px;color:var(--c-ink);margin:0 0 14px}
.cms-ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cms-ftr li{margin:0}
.cms-ftr-col a,.cms-ftr-legal a{color:var(--c-muted);text-decoration:none;font-size:15px;line-height:1.4}
.cms-ftr-col a:hover,.cms-ftr-col a:focus,.cms-ftr-legal a:hover,.cms-ftr-legal a:focus{color:var(--c-ink);text-decoration:underline;text-underline-offset:3px}
.cms-ftr a[aria-current="page"]{color:var(--c-ink);font-weight:600}
.cms-ftr-bottom{margin-top:48px;padding-top:22px;border-top:1px solid var(--c-line);display:flex;justify-content:space-between;align-items:center;gap:12px 28px;flex-wrap:wrap;font-size:14px}
.cms-ftr-bottom p{margin:0;color:var(--c-muted)}
.cms-ftr .cms-ftr-legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.cms-ftr .cms-ftr-legal a{font-size:14px}
@media (max-width:1024px){ .cms-ftr-top{grid-template-columns:1fr;gap:40px} }
@media (max-width:640px){
  .cms-ftr-in{padding:44px 20px 24px}
  .cms-ftr-cols{grid-template-columns:1fr 1fr;gap:32px 20px}
  .cms-ftr-col:last-child{grid-column:1 / -1}
  .cms-ftr-bottom{flex-direction:column;align-items:flex-start;margin-top:36px}
}

/* Contact form */
.cms-contact{max-width:640px}
.cms-form{display:grid;gap:18px}
.cms-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:600px){ .cms-form-row{grid-template-columns:1fr} }
.cms-field label{display:block;font-weight:600;font-size:15px;color:var(--c-ink);margin:0 0 7px}
.cms-field input,.cms-field textarea{width:100%;padding:13px 14px;border:1.5px solid var(--c-line);border-radius:12px;background:var(--c-surface);color:var(--c-ink);font-family:var(--f-body);font-size:16px;line-height:1.4;transition:border-color .13s,box-shadow .13s}
.cms-field textarea{resize:vertical;min-height:150px}
.cms-field input:focus,.cms-field textarea:focus{outline:none;border-color:var(--c-cobalt);box-shadow:0 0 0 4px rgba(18,52,90,.16)}
.cms-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.cms-form button[type="submit"]{justify-self:start;padding:15px 28px;border-radius:999px;border:0;background:var(--c-cobalt);color:#fff;font-family:var(--f-body);font-weight:700;font-size:16px;cursor:pointer;transition:box-shadow .13s,transform .13s}
.cms-form button[type="submit"]:hover,.cms-form button[type="submit"]:focus{background:var(--c-cobalt);color:#fff;box-shadow:0 0 0 5px rgba(18,52,90,.22)}
.cms-form button[type="submit"]:active{transform:scale(.97)}
@media (max-width:600px){ .cms-form button[type="submit"]{justify-self:stretch} }
.cms-alert{margin:0 0 18px;padding:14px 16px;border-radius:12px;font-weight:500;font-size:15px}
.cms-alert.ok{background:rgba(60,198,224,.18);color:var(--c-ink);border:1px solid rgba(60,198,224,.5)}
.cms-alert.err{background:rgba(229,72,77,.14);color:var(--c-ink);border:1px solid rgba(229,72,77,.5)}

/* Template wrappers: no extra spacing from the containers that hold the header/footer widgets */
.cms-site-header-wrap .e-con,.cms-site-footer-wrap .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--margin-top:0px;--margin-bottom:0px}
.cms-site-footer-wrap{margin-top:40px}

@media (prefers-reduced-motion:reduce){ .cms-hdr *,.cms-ftr *,.cms-contact *{transition:none!important} }

/* ===== Transparent header: clear at the top, floating glass bar on scroll ===== */
.cms-hdr{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:0!important;box-shadow:none!important}
.cms-hdr-in{position:relative;border:1px solid transparent;border-radius:0;transition:margin .35s cubic-bezier(.2,.7,.2,1),padding .35s cubic-bezier(.2,.7,.2,1),max-width .35s cubic-bezier(.2,.7,.2,1),min-height .35s cubic-bezier(.2,.7,.2,1),background-color .3s,border-color .3s,box-shadow .3s,border-radius .35s}
.cms-hdr.is-scrolled .cms-hdr-in{max-width:1160px;margin:8px auto 0;min-height:62px;padding:6px 10px 6px 18px;border-radius:18px;background:color-mix(in srgb,var(--c-surface) 74%,transparent);border-color:color-mix(in srgb,var(--c-line) 85%,transparent);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);box-shadow:0 18px 40px -22px rgba(11,27,46,.38),inset 0 1px 0 rgba(255,255,255,.55)}
:root[data-theme="dark"] .cms-hdr.is-scrolled .cms-hdr-in{box-shadow:0 18px 40px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cms-hdr.is-scrolled .cms-hdr-in{box-shadow:0 18px 40px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06)}}
.cms-brand-mark{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cms-hdr.is-scrolled .cms-brand-mark{transform:scale(.92)}
.cms-hdr .cms-theme-btn{background:color-mix(in srgb,var(--c-surface) 70%,transparent);border-color:color-mix(in srgb,var(--c-line) 90%,transparent)}
.cms-hdr .cms-burger{background:color-mix(in srgb,var(--c-surface) 70%,transparent)}
@media (max-width:880px){
  .cms-hdr.is-scrolled .cms-hdr-in{margin:6px 8px 0;min-height:58px;padding:6px 8px 6px 14px;border-radius:16px}
  .cms-hdr .cms-menu{border-radius:0 0 18px 18px}
  .cms-hdr.is-scrolled .cms-menu{top:calc(100% + 6px);border:1px solid var(--c-line);border-radius:16px}
  .cms-hdr:has(.cms-sitenav.is-open) .cms-hdr-in{background:var(--c-bg);border-color:var(--c-line)}
}
/* Home: let the animated hero run up behind the header */
body.cms-has-hero .cms-site-header-wrap{margin-bottom:-71px}
body.cms-has-hero .elementor .e-con.cms-hero{--padding-top:71px}
@media (max-width:880px){
  body.cms-has-hero .cms-site-header-wrap{margin-bottom:-65px}
  body.cms-has-hero .elementor .e-con.cms-hero{--padding-top:65px}
}
@media (prefers-reduced-motion:reduce){.cms-hdr-in,.cms-brand-mark{transition:none}}
/* ===== Contrast fixes: neutralise Hello Elementor's pink button states, dark-mode icon contrast ===== */
:root{--cms-focus-ring:0 0 0 2px var(--e-global-color-cmssurface,#fff),0 0 0 5px var(--e-global-color-cmsaqua,#3CC6E0)}
.cms-theme-btn,.cms-theme-btn:hover,.cms-theme-btn:focus,.cms-theme-btn:active,.cms-theme-btn:focus-visible{color:var(--e-global-color-cmsink,#0B1B2E)!important;background-color:color-mix(in srgb,var(--e-global-color-cmssurface,#fff) 80%,transparent)!important;border:1px solid var(--e-global-color-cmsline,#D9E2EC)!important}
.cms-theme-btn:hover{background-color:var(--e-global-color-cmssurface,#fff)!important}
.cms-hdr button:hover,.cms-hdr button:focus,.cms-ftr button:hover,.cms-ftr button:focus,.cms-hero-intro button:focus,.cms-contact button:focus{text-decoration:none}
.cms-hdr .cms-burger:hover,.cms-hdr .cms-burger:focus,.cms-hdr .cms-burger:active{background:var(--e-global-color-cmssurface,#fff)!important;color:var(--e-global-color-cmsink,#0B1B2E)!important}
.cms-hdr .cms-sub-btn:focus:not([aria-expanded="true"]):not(:hover){background:transparent!important;color:var(--e-global-color-cmsmuted,#4B5B70)!important}
.cms-hero-pause:hover,.cms-hero-pause:focus,.cms-hero-pause:active{background:var(--e-global-color-cmssurface,#fff)!important;color:var(--e-global-color-cmsink,#0B1B2E)!important}
.cms-tool .tab:focus:not([aria-selected="true"]){background:transparent;color:#B9C9DC}
.cms-hdr :is(a,button):focus-visible,.cms-ftr :is(a,button):focus-visible,.cms-tool :is(a,button,input):focus-visible,.cms-hero-intro button:focus-visible,.cms-contact :is(input,textarea,button):focus-visible,.elementor :is(.elementor-button,.elementor-icon-box-title a,.elementor-tab-title):focus-visible{outline:2px solid var(--e-global-color-cmsink,#0B1B2E)!important;outline-offset:2px!important;box-shadow:var(--cms-focus-ring)!important}
.cms-tool :is(.start,.tab,.pill-btn,.switch):focus-visible,.cms-tool input:focus-visible + label{outline:2px solid #fff!important;outline-offset:2px!important;box-shadow:0 0 0 6px var(--e-global-color-cmsaqua,#3CC6E0)!important}
/* Dark mode: icons and links that were navy-on-navy */
:root[data-theme="dark"] .cms-hdr .cms-top-link[aria-current="page"],:root[data-theme="dark"] .cms-hdr .has-sub.is-active > .cms-sub-btn{box-shadow:inset 0 -2px 0 var(--e-global-color-cmsaqua,#3CC6E0)}
:root[data-theme="dark"] .cms-faq .elementor-tab-title.elementor-active,:root[data-theme="dark"] .cms-faq .elementor-tab-title.elementor-active a,:root[data-theme="dark"] .cms-faq .elementor-accordion-icon,:root[data-theme="dark"] .cms-faq .elementor-accordion-icon i{color:var(--e-global-color-cmsaqua,#3CC6E0)!important}
:root[data-theme="dark"] .cms-faq .elementor-accordion-icon svg{fill:var(--e-global-color-cmsaqua,#3CC6E0)!important}
:root[data-theme="dark"] .cms-card .elementor-view-stacked .elementor-icon{color:var(--e-global-color-cmsaqua,#3CC6E0)!important;fill:var(--e-global-color-cmsaqua,#3CC6E0)!important}
:root[data-theme="dark"] .cms-card .elementor-view-stacked .elementor-icon svg{fill:var(--e-global-color-cmsaqua,#3CC6E0)!important}
:root[data-theme="dark"] .cms-prose a{color:var(--e-global-color-cmsaqua,#3CC6E0)}
:root[data-theme="dark"] .cms-hdr .cms-sub a[aria-current="page"] span{color:var(--e-global-color-cmsaqua,#3CC6E0)}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) .cms-hdr .cms-top-link[aria-current="page"],:root:not([data-theme="light"]) .cms-hdr .has-sub.is-active > .cms-sub-btn{box-shadow:inset 0 -2px 0 var(--e-global-color-cmsaqua,#3CC6E0)}
:root:not([data-theme="light"]) .cms-faq .elementor-tab-title.elementor-active,:root:not([data-theme="light"]) .cms-faq .elementor-tab-title.elementor-active a,:root:not([data-theme="light"]) .cms-faq .elementor-accordion-icon,:root:not([data-theme="light"]) .cms-faq .elementor-accordion-icon i{color:var(--e-global-color-cmsaqua,#3CC6E0)!important}
:root:not([data-theme="light"]) .cms-faq .elementor-accordion-icon svg{fill:var(--e-global-color-cmsaqua,#3CC6E0)!important}
:root:not([data-theme="light"]) .cms-card .elementor-view-stacked .elementor-icon{color:var(--e-global-color-cmsaqua,#3CC6E0)!important;fill:var(--e-global-color-cmsaqua,#3CC6E0)!important}
:root:not([data-theme="light"]) .cms-card .elementor-view-stacked .elementor-icon svg{fill:var(--e-global-color-cmsaqua,#3CC6E0)!important}
:root:not([data-theme="light"]) .cms-prose a{color:var(--e-global-color-cmsaqua,#3CC6E0)}
:root:not([data-theme="light"]) .cms-hdr .cms-sub a[aria-current="page"] span{color:var(--e-global-color-cmsaqua,#3CC6E0)}
}
@media (max-width:880px){
:root[data-theme="dark"] .cms-hdr .cms-top-link[aria-current="page"],:root[data-theme="dark"] .cms-hdr .has-sub.is-active > .cms-sub-btn{color:var(--e-global-color-cmsaqua,#3CC6E0);box-shadow:none}
}
@media (max-width:880px) and (prefers-color-scheme:dark){
:root:not([data-theme="light"]) .cms-hdr .cms-top-link[aria-current="page"],:root:not([data-theme="light"]) .cms-hdr .has-sub.is-active > .cms-sub-btn{color:var(--e-global-color-cmsaqua,#3CC6E0);box-shadow:none}
}
