/* CAQA family components */
html{overflow-x:clip}
.cqbar{background:#071228;position:relative;z-index:160;font-family:'Inter','Segoe UI',Arial,sans-serif}
.cqbar-in{max-width:1280px;margin:0 auto;padding:0 18px;display:flex;align-items:center;gap:16px;min-height:44px}
.cq-launch{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:10px;padding:7px 14px;font-size:0.8125rem;font-weight:800;letter-spacing:.18em;cursor:pointer;transition:.25s}
.cq-launch:hover{background:rgba(95,227,194,.14);border-color:#5FE3C2;transform:translateY(-1px)}
.cq-launch .grid9{display:grid;grid-template-columns:repeat(3,4px);gap:2.5px}
.cq-launch .grid9 i{width:4px;height:4px;background:#5FE3C2;border-radius:1.5px;transition:.3s}
.cqbar.open .cq-launch .grid9 i{background:#fff}
.cq-here{font-size:0.8125rem;color:#9FB0D6;letter-spacing:.04em}
.cq-here b{color:#fff;font-weight:700}
.cq-right{margin-left:auto;background:none;border:0;font-size:0.8125rem;color:#5FE3C2;font-weight:800;letter-spacing:.14em;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 2px;font-family:inherit}
.cq-right:hover{color:#fff}
.cq-car{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:.3s}
.cqbar.open .cq-car{transform:rotate(225deg) translateY(-2px)}
.cqpanel{position:absolute;top:100%;left:0;right:0;background:linear-gradient(180deg,#0A1733,#071228 70%);border-top:1px solid rgba(95,227,194,.3);box-shadow:0 50px 90px rgba(2,8,20,.65);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility .3s;max-height:calc(100vh - 44px);overflow:auto}
.cqbar.open .cqpanel{opacity:1;visibility:visible;transform:none}
.cqpanel-in{max-width:1280px;margin:0 auto;padding:20px 18px 30px}
.cqpanel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}
.cqpanel-head span{font-size:0.8125rem;color:#9FB0D6;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.cq-x{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;font-size:0.8125rem;transition:.25s}
.cq-x:hover{background:#5FE3C2;color:#071228;border-color:transparent}
.cqpanel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 26px}
.cqgroup h5{font-size:0.8125rem;letter-spacing:.24em;color:#5FE3C2;text-transform:uppercase;margin:0 0 10px;font-weight:800}
.cqgroup a{display:flex;align-items:center;gap:11px;padding:7px 9px;border-radius:11px;text-decoration:none;transition:.2s;margin:0 -9px}
.cqgroup a:hover{background:rgba(255,255,255,.08);transform:translateX(3px)}
.cqgroup .mg{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:0.8125rem;font-weight:800;color:#fff;flex:none;letter-spacing:.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.cqgroup .nm{color:#EAF0FA;font-size:0.8125rem;font-weight:700;line-height:1.15;display:block}
.cqgroup .ds{color:#8FA0C4;font-size:0.8125rem;display:block;margin-top:2px}
.cqgroup a.cq-cur{background:rgba(95,227,194,.12);outline:1px solid rgba(95,227,194,.45)}
.cqgroup a.cq-cur .ds{color:#5FE3C2}
@media(max-width:1020px){.cqpanel-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cqpanel-grid{grid-template-columns:1fr}.cq-here{display:none}.cq-right{font-size:0.8125rem}}
.cqslider{position:relative;overflow:hidden;background:#071228;width:100vw;margin-left:calc(50% - 50vw)}
.cqslides{display:grid}
.cqslide{grid-area:1/1;position:relative;min-height:clamp(420px,54vh,560px);display:flex;align-items:center;color:#fff;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s;pointer-events:none}
.cqslide.cq-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.cqslide .cqbg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 6s linear}
.cqslide.cq-active .cqbg{transform:scale(1)}
.cqslide::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,18,40,.92) 22%,rgba(7,18,40,.55) 55%,rgba(7,18,40,.18))}
.cqslide-in{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:64px 26px;width:100%}
.cqslide .cq-eyebrow{display:inline-block;font-size:0.8125rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:#5FE3C2;border:1px solid rgba(95,227,194,.4);border-radius:99px;padding:7px 16px;margin-bottom:18px;backdrop-filter:blur(4px)}
.cqslide h2{font-size:clamp(1.9rem,4.4vw,3.3rem);line-height:1.08;color:#fff;margin:0 0 14px;max-width:13ch;font-weight:800;letter-spacing:-.01em}
.cqslide p{max-width:520px;color:#C9D6F2;font-size:1.02rem;line-height:1.65;margin:0 0 26px}
.cqslide .cq-btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(100deg,#2E7CF6,#18C29C);color:#fff;font-weight:800;font-size:.9rem;padding:14px 30px;border-radius:12px;text-decoration:none;box-shadow:0 14px 32px rgba(24,194,156,.35);transition:.25s}
.cqslide .cq-btn:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(46,124,246,.45)}
.cqslide .cq-btn svg{width:16px;height:16px}
.cqslide .cq-kicker{display:block;margin-top:26px;font-size:0.8125rem;letter-spacing:.2em;text-transform:uppercase;color:#7E90BC;font-weight:700}
.cq-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:5}
.cq-dots button{width:30px;height:5px;border-radius:99px;border:0;background:rgba(255,255,255,.28);cursor:pointer;transition:.3s;padding:0}
.cq-dots button.cq-on{background:#5FE3C2;width:46px}
.cq-arr{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:rgba(7,18,40,.35);backdrop-filter:blur(6px);color:#fff;font-size:1.15rem;cursor:pointer;transition:.25s;display:grid;place-items:center}
.cq-arr:hover{background:#18C29C;border-color:transparent}
.cq-prev{left:18px}.cq-next{right:18px}
.cqsvc{background:#071228;padding:54px 0 130px;position:relative;margin-top:96px}
.cqsvc::after{content:"";position:absolute;top:-62px;left:50%;transform:translateX(-50%);width:130%;height:130px;background:#071228;border-radius:50% 50% 0 0;z-index:0}
.cqsvc-vp{overflow:hidden}
.cqsvc+.f-news{margin-top:-86px}
.cqsvc+.footer,.cqsvc+footer{margin-top:0!important}
.cqsvc::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(46,124,246,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(46,124,246,.07) 1px,transparent 1px);background-size:36px 36px}
.cqsvc-head{max-width:1280px;margin:0 auto 28px;padding:0 26px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;position:relative;z-index:2}
.cqsvc-head .t{font-size:0.8125rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:#5FE3C2}
.cqsvc-head h2{color:#fff;font-size:clamp(1.5rem,3vw,2.2rem);margin:8px 0 0;font-weight:800;letter-spacing:-.01em}
.cqsvc-head p{color:#9FB0D6;font-size:.85rem;max-width:380px;margin:0;text-align:right}
.cqsvc-vp{position:relative;z-index:2}
.cqsvc-track{display:flex;gap:16px;width:max-content;animation:cqmq 240s linear infinite;padding:4px 0}
.cqsvc-vp:hover .cqsvc-track{animation-play-state:paused}
@keyframes cqmq{to{transform:translateX(-50%)}}
.cqsvc-card{display:block;width:300px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px 22px;text-decoration:none;transition:.3s;position:relative;overflow:hidden}
.cqsvc-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(100deg,#2E7CF6,#18C29C);transform:scaleX(0);transform-origin:left;transition:.35s}
.cqsvc-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:rgba(95,227,194,.5)}
.cqsvc-card:hover::before{transform:scaleX(1)}
.cqsvc-card .b{font-size:0.8125rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#5FE3C2;display:block;margin-bottom:9px}
.cqsvc-card .s{color:#fff;font-weight:700;font-size:1.02rem;line-height:1.35;display:block}
.cqsvc-card .g{color:#7E90BC;font-size:0.8125rem;font-weight:700;margin-top:14px;display:inline-flex;align-items:center;gap:7px}
.cqsvc-card:hover .g{color:#5FE3C2}
.cqscroll{position:fixed;right:18px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:140}
.cqscroll a{width:44px;height:44px;border-radius:50%;background:#0B1B3A;color:#fff;box-shadow:0 10px 26px rgba(7,18,40,.4);display:grid;place-items:center;transition:.25s;opacity:.85;cursor:pointer}
.cqscroll a:hover{background:linear-gradient(135deg,#2E7CF6,#18C29C);transform:translateY(-3px);opacity:1}
.cqscroll svg{width:17px;height:17px}
@media(max-width:760px){.cqscroll{right:12px;bottom:16px}.cqscroll a{width:40px;height:40px}}
@media(max-width:760px){.cqsvc-head{flex-direction:column;align-items:flex-start}.cqsvc-head p{text-align:left}.cq-arr{display:none}.cqslide h2{max-width:none}}

/* footer colour match */
.cqsvc,.cqsvc::after{background:#0A102B}
/* slider theme */
.cqslide::after{background:linear-gradient(100deg,rgba(10,16,43,.93) 22%,rgba(10,16,43,.55) 55%,rgba(10,16,43,.16))}.cqslide .cq-btn{background:linear-gradient(100deg,#B3132B,#E4212E)}.cqslide .cq-eyebrow{color:#C9A14E;border-color:#C9A14E66}.cq-dots button.cq-on{background:#C9A14E}.cq-arr:hover{background:#E4212E;border-color:transparent}.cqslider{background:#0A102B}.cqslide .cq-kicker{color:rgba(255,255,255,.55)}

/*a11y*/
a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){.cqsvc-track{animation:none!important}.cqslide{transition:none!important}.reveal{transition:none!important}}
/*a11y-end*/

/*cq3*/
.cq3-bar{display:flex;align-items:center;gap:16px;height:44px;padding:0 18px;background:linear-gradient(90deg,#070D1A,#0C1830 55%,#070D1A);border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:150}
.cq3-launch{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:10px;padding:6px 13px;cursor:pointer;font:700 .7rem/1 Inter,Arial,sans-serif;letter-spacing:.15em}
.cq3-launch:hover{background:rgba(255,255,255,.11)}
.cq3-here{color:#8FA0BC;font-size:0.8125rem}.cq3-here b{color:#fff;font-weight:600}
.cq3-explore{margin-left:auto;display:inline-flex;align-items:center;gap:9px;background:linear-gradient(120deg,#2E63E7,#7A3BE0);color:#fff;border:0;border-radius:999px;padding:8px 18px;font:700 .72rem/1 Inter,Arial,sans-serif;letter-spacing:.07em;cursor:pointer;box-shadow:0 8px 22px rgba(46,99,231,.35);transition:.2s}
.cq3-explore:hover{filter:brightness(1.12)}
.cq3-explore svg{transition:.25s}
#cqbar.open .cq3-explore svg{transform:rotate(180deg)}
.cq3{position:fixed;inset:0;z-index:1600;display:none;background:rgba(4,8,18,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:4vh 4vw;overflow:auto}
#cqbar.open{z-index:1600}
#cqbar.open .cq3{display:flex;animation:cq3fade .22s ease}
@keyframes cq3fade{from{opacity:0}to{opacity:1}}
.cq3-shell{margin:auto;width:min(1180px,100%);max-height:92vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#0C1526,#0A1120);border:1px solid rgba(255,255,255,.1);border-radius:22px;box-shadow:0 60px 140px rgba(0,0,0,.6);overflow:hidden;animation:cq3pop .3s cubic-bezier(.2,1.2,.3,1)}
@keyframes cq3pop{from{transform:translateY(16px) scale(.985);opacity:0}to{transform:none;opacity:1}}
.cq3-head{display:flex;align-items:center;gap:18px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.cq3-title{display:flex;align-items:center;gap:12px;color:#fff}
.cq3-title b{font-size:.88rem;letter-spacing:.12em}
.cq3-title i{display:block;font-style:normal;color:#7E8CA6;font-size:0.8125rem;margin-top:2px}
.cq3-search{flex:1;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;height:46px;padding:0 16px;max-width:520px;margin:0 auto}
.cq3-search:focus-within{border-color:#5B8CFF;box-shadow:0 0 0 3px rgba(91,140,255,.22)}
.cq3-search svg{color:#7E8CA6;flex:0 0 16px}
.cq3-search input{flex:1;background:transparent;border:0;outline:0;color:#fff;font-size:.9rem}
.cq3-search input::placeholder{color:#6E7E9C}
.cq3-x{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#C9D6EE;font-size:1.05rem;cursor:pointer}
.cq3-x:hover{background:rgba(255,255,255,.12);color:#fff}
.cq3-body{display:flex;flex:1;min-height:0}
.cq3-tabs{flex:0 0 250px;display:flex;flex-direction:column;gap:6px;padding:14px;border-right:1px solid rgba(255,255,255,.08);overflow:auto}
/* cq3-scroll: tabs never shrink; rail + panes scroll with a visible slim bar */
.cq3-tabs>*{flex-shrink:0}
.cq3-tabs{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.cq3-tabs::-webkit-scrollbar{width:8px}
.cq3-tabs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:8px}
.cq3-tabs::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}
.cq3-panes{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.cq3-panes::-webkit-scrollbar{width:8px}
.cq3-panes::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:8px}

.cq3-tab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:11px;background:transparent;border:1px solid transparent;color:#B9C5DA;font:600 .8rem/1.2 Inter,Arial,sans-serif;text-align:left;cursor:pointer;transition:.15s}
.cq3-tab span{font-size:0.8125rem;background:rgba(255,255,255,.08);padding:2px 9px;border-radius:999px;color:#9FB0CB}
.cq3-tab:hover{background:rgba(255,255,255,.05);color:#fff}
.cq3-tab.on{background:linear-gradient(120deg,rgba(91,140,255,.18),rgba(91,140,255,.05));border-color:rgba(91,140,255,.4);color:#fff}
.cq3-tab.on span{background:rgba(91,140,255,.3);color:#fff}
.cq3-tabs.dim .cq3-tab{opacity:.35;pointer-events:none}
.cq3-panes{flex:1;overflow:auto;padding:18px 22px}
.cq3-pane{display:none}
.cq3-pane.on{display:block}
.cq3-panes.f .cq3-pane{display:block}
.cq3-panes.f .cq3-pane.e{display:none}
.cq3-pane h6{display:none;margin:16px 0 10px;color:#7E8CA6;font-size:0.8125rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.cq3-panes.f .cq3-pane h6{display:block}
.cq3-pane:first-child h6{margin-top:0}
.cq3-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cq3-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);text-decoration:none;position:relative;transition:.18s}
.cq3-card:hover{transform:translateY(-2px);border-color:var(--bc);background:rgba(255,255,255,.075);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.cq3-card.h{display:none}
.cq3-mono{width:40px;height:40px;flex:0 0 40px;border-radius:11px;background:var(--bc);color:#fff;display:flex;align-items:center;justify-content:center;font:800 .8rem/1 Inter,Arial,sans-serif;box-shadow:inset 0 -10px 18px rgba(0,0,0,.28)}
.cq3-cardtx{min-width:0}
.cq3-cardtx b{display:block;color:#fff;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cq3-cardtx i{display:block;font-style:normal;color:#93A1BA;font-size:0.8125rem;margin-top:2px;line-height:1.35}
.cq3-arrow{margin-left:auto;flex:0 0 16px;color:#5F6F8D;transition:.18s}
.cq3-card:hover .cq3-arrow{color:var(--bc);transform:translateX(3px)}
.cq3-card.cq3-onbrand{border-color:var(--bc);background:linear-gradient(120deg,rgba(255,255,255,.1),rgba(255,255,255,.05))}
.cq3-card.cq3-onbrand::after{content:"You are here";position:absolute;top:-9px;right:10px;background:var(--bc);color:#fff;font-size:0.8125rem;letter-spacing:.12em;padding:3px 8px;border-radius:999px;text-transform:uppercase;font-weight:700}
.cq3-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 22px;border-top:1px solid rgba(255,255,255,.08);color:#7E8CA6;font-size:0.8125rem}
.cq3-foot a{color:#C9D6EE;text-decoration:none}
.cq3-foot a:hover{color:#fff}
.cq3-empty{display:none;color:#7E8CA6;font-size:.85rem;padding:30px 6px;text-align:center}
.cq3-panes.f.allempty .cq3-empty{display:block}
@media(max-width:980px){.cq3-cards{grid-template-columns:repeat(2,1fr)}.cq3{padding:0}.cq3-shell{max-height:100vh;border-radius:0;width:100%}}
@media(max-width:920px){.cq3-body{flex-direction:column}.cq3-tabs{flex:0 0 auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:10px 14px}.cq3-tab{white-space:nowrap}}
@media(max-width:760px){.cq3-here{display:none}.cq3-cards{grid-template-columns:1fr}.cq3-search{max-width:none}.cq3-title i{display:none}}
@media(prefers-reduced-motion:reduce){.cq3,.cq3-shell,.cq3-explore svg,.cq3-card{animation:none!important;transition:none!important}}
/*cq3-end*/

/*cq3-readability*/
.cqslide .cqbg{position:absolute;inset:0}
.cqslide .cqbg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,22,.9) 0%,rgba(5,10,22,.74) 36%,rgba(5,10,22,.4) 62%,rgba(5,10,22,.18) 100%),linear-gradient(0deg,rgba(5,10,22,.42),rgba(5,10,22,.06) 45%)}
.cqslide h2{color:#fff!important;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.cqslide p{color:#ECF1FA!important;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.cqslide .cq-kicker{color:rgba(255,255,255,.85)!important;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.cqslide{transition:opacity .45s ease,visibility .45s ease!important}
/*cq3-readability-end*/

/* UX-FIX universal: readability, tap targets, focus, mobile */
html{-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:2px}
nav a,header a,.menu a,footer a{min-height:44px;display:inline-flex;align-items:center}
button,.btn,input[type=submit]{min-height:44px}
input,select,textarea{font-size:16px;min-height:44px}
@media (max-width:480px){body{font-size:16px}h1{font-size:clamp(26px,7vw,34px)}h2{font-size:clamp(22px,6vw,28px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

/* UX-FIX accent text on light bg (WCAG AA, cascade-safe) */

/* UX-FIX rendered-contrast (light-bg text to AA; dark contexts restored) */
.cq-here{color:#5d677e}
.mast .cq-here,[class*="hero"] .cq-here,.page-hero .cq-here,.banner .cq-here,footer .cq-here,.foot .cq-here,.dark .cq-here,.invert .cq-here,.topbar .cq-here,.drawer .cq-here,.overlay .cq-here{color:#9fb0d6}
.cqgroup h5{color:#2e7462}
.mast .cqgroup h5,[class*="hero"] .cqgroup h5,.page-hero .cqgroup h5,.banner .cqgroup h5,footer .cqgroup h5,.foot .cqgroup h5,.dark .cqgroup h5,.invert .cqgroup h5,.topbar .cqgroup h5,.drawer .cqgroup h5,.overlay .cqgroup h5{color:#5fe3c2}
.cqgroup .ds{color:#616d87}
.mast .cqgroup .ds,[class*="hero"] .cqgroup .ds,.page-hero .cqgroup .ds,.banner .cqgroup .ds,footer .cqgroup .ds,.foot .cqgroup .ds,.dark .cqgroup .ds,.invert .cqgroup .ds,.topbar .cqgroup .ds,.drawer .cqgroup .ds,.overlay .cqgroup .ds{color:#8fa0c4}
.cqgroup a.cq-cur .ds{color:#2e7462}
.mast .cqgroup a.cq-cur .ds,[class*="hero"] .cqgroup a.cq-cur .ds,.page-hero .cqgroup a.cq-cur .ds,.banner .cqgroup a.cq-cur .ds,footer .cqgroup a.cq-cur .ds,.foot .cqgroup a.cq-cur .ds,.dark .cqgroup a.cq-cur .ds,.invert .cqgroup a.cq-cur .ds,.topbar .cqgroup a.cq-cur .ds,.drawer .cqgroup a.cq-cur .ds,.overlay .cqgroup a.cq-cur .ds{color:#5fe3c2}
.cqslide .cq-eyebrow{color:#5fe3c2}
.mast .cqslide .cq-eyebrow,[class*="hero"] .cqslide .cq-eyebrow,.page-hero .cqslide .cq-eyebrow,.banner .cqslide .cq-eyebrow,footer .cqslide .cq-eyebrow,.foot .cqslide .cq-eyebrow,.dark .cqslide .cq-eyebrow,.invert .cqslide .cq-eyebrow,.topbar .cqslide .cq-eyebrow,.drawer .cqslide .cq-eyebrow,.overlay .cqslide .cq-eyebrow{color:#5fe3c2}
.cqslide p{color:#c9d6f2}
.mast .cqslide p,[class*="hero"] .cqslide p,.page-hero .cqslide p,.banner .cqslide p,footer .cqslide p,.foot .cqslide p,.dark .cqslide p,.invert .cqslide p,.topbar .cqslide p,.drawer .cqslide p,.overlay .cqslide p{color:#c9d6f2}
.cqslide .cq-kicker{color:#7e90bc}
.mast .cqslide .cq-kicker,[class*="hero"] .cqslide .cq-kicker,.page-hero .cqslide .cq-kicker,.banner .cqslide .cq-kicker,footer .cqslide .cq-kicker,.foot .cqslide .cq-kicker,.dark .cqslide .cq-kicker,.invert .cqslide .cq-kicker,.topbar .cqslide .cq-kicker,.drawer .cqslide .cq-kicker,.overlay .cqslide .cq-kicker{color:#7e90bc}
.cqslide .cq-eyebrow{color:#c9a14e}
.mast .cqslide .cq-eyebrow,[class*="hero"] .cqslide .cq-eyebrow,.page-hero .cqslide .cq-eyebrow,.banner .cqslide .cq-eyebrow,footer .cqslide .cq-eyebrow,.foot .cqslide .cq-eyebrow,.dark .cqslide .cq-eyebrow,.invert .cqslide .cq-eyebrow,.topbar .cqslide .cq-eyebrow,.drawer .cqslide .cq-eyebrow,.overlay .cqslide .cq-eyebrow{color:#c9a14e}
.cq3-here{color:#616d80}
.mast .cq3-here,[class*="hero"] .cq3-here,.page-hero .cq3-here,.banner .cq3-here,footer .cq3-here,.foot .cq3-here,.dark .cq3-here,.invert .cq3-here,.topbar .cq3-here,.drawer .cq3-here,.overlay .cq3-here{color:#8fa0bc}
.cq3-title i{color:#5d677a}
.mast .cq3-title i,[class*="hero"] .cq3-title i,.page-hero .cq3-title i,.banner .cq3-title i,footer .cq3-title i,.foot .cq3-title i,.dark .cq3-title i,.invert .cq3-title i,.topbar .cq3-title i,.drawer .cq3-title i,.overlay .cq3-title i{color:#7e8ca6}
.cq3-search svg{color:#5d677a}
.mast .cq3-search svg,[class*="hero"] .cq3-search svg,.page-hero .cq3-search svg,.banner .cq3-search svg,footer .cq3-search svg,.foot .cq3-search svg,.dark .cq3-search svg,.invert .cq3-search svg,.topbar .cq3-search svg,.drawer .cq3-search svg,.overlay .cq3-search svg{color:#7e8ca6}
.cq3-search input::placeholder{color:#5e6c86}
.mast .cq3-search input::placeholder,[class*="hero"] .cq3-search input::placeholder,.page-hero .cq3-search input::placeholder,.banner .cq3-search input::placeholder,footer .cq3-search input::placeholder,.foot .cq3-search input::placeholder,.dark .cq3-search input::placeholder,.invert .cq3-search input::placeholder,.topbar .cq3-search input::placeholder,.drawer .cq3-search input::placeholder,.overlay .cq3-search input::placeholder{color:#6e7e9c}
.cq3-pane h6{color:#5d677a}
.mast .cq3-pane h6,[class*="hero"] .cq3-pane h6,.page-hero .cq3-pane h6,.banner .cq3-pane h6,footer .cq3-pane h6,.foot .cq3-pane h6,.dark .cq3-pane h6,.invert .cq3-pane h6,.topbar .cq3-pane h6,.drawer .cq3-pane h6,.overlay .cq3-pane h6{color:#7e8ca6}
.cq3-cardtx i{color:#5d6675}
.mast .cq3-cardtx i,[class*="hero"] .cq3-cardtx i,.page-hero .cq3-cardtx i,.banner .cq3-cardtx i,footer .cq3-cardtx i,.foot .cq3-cardtx i,.dark .cq3-cardtx i,.invert .cq3-cardtx i,.topbar .cq3-cardtx i,.drawer .cq3-cardtx i,.overlay .cq3-cardtx i{color:#93a1ba}
.cq3-empty{color:#5d677a}
.mast .cq3-empty,[class*="hero"] .cq3-empty,.page-hero .cq3-empty,.banner .cq3-empty,footer .cq3-empty,.foot .cq3-empty,.dark .cq3-empty,.invert .cq3-empty,.topbar .cq3-empty,.drawer .cq3-empty,.overlay .cq3-empty{color:#7e8ca6}

/* FAMILY FEEDBACK 2026-07: brighter slider secondary text */
.cqslide p{color:#EFF3FE!important}
.cqslide .cq-eyebrow{filter:brightness(1.25)}
.cqslide .cq-kicker{color:rgba(255,255,255,.82)!important}
/* FTR4B 2026-07 - footer link rows at WCAG AA target size */
.f-grid li a, .foot2 li a, footer .f-links li a{min-height:24px}

/* cq3-remfix: launcher sizes pinned in px (Shopify-theme sites set a 62.5% rem root that shrank rem text to ~8px) */
#cqbar, #cqbar .cq3{font-size:16px}
.cq3-here,.cq3-title i,.cq3-tab span,.cq3-foot{font-size:13px}
.cq3-title b{font-size:14px}
.cq3-tab b{font-size:14px}
.cq3-card b{font-size:14.5px}
.cq3-card i,.cq3-card span{font-size:13px}
.cq3-search input{font-size:14.5px}
.cq3-launch,.cq3-explore{font-size:13px}
.cq3-ht{font-size:12px}

/* cq3-heightcap: compact launcher — cap body height so BOTH the tab rail and the panes scroll (owner 13 July: left list looked too long) */
@media(min-width:900px){
  .cq3-shell{max-height:min(88vh,720px)}
  .cq3-body{max-height:clamp(340px,54vh,480px)}
  .cq3-tabs{overflow-y:auto}
  .cq3-panes{overflow-y:auto}
}
/* cq-audit-13jul: launcher here-label + policy legal line readability */
#cqbar .cq3-here{color:#A9B6CC}
.cq-policy-legal{color:#333D48}

/* cq-audit-13jul-2: launcher monogram chips — darken chip fill so the white letters stay readable on bright brand hues */
.cq3-mono{background-image:linear-gradient(rgba(7,16,34,.34),rgba(7,16,34,.34));text-shadow:0 1px 1px rgba(7,16,34,.35)}

/* cq-ctrlfix-17jul: "You are on <name>" must stay visible on phones too
   (owner 17 Jul: "controls of which website I am on is lost").
   The launcher button still opens the family overlay, so the Explore pill
   can yield its space to the here-label below 760px. */
@media(max-width:760px){
  #cqbar .cq3-here{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
  #cqbar .cq3-explore{display:none}
  #cqbar .cq3-launch{white-space:nowrap;flex:0 0 auto}
}

/* cq-ctrlfix-17jul-b: the UX-FIX light-bg overrides recolour launcher secondary
   text to dark slate, but the dark-context restore list never matches the
   launcher's own containers (#cqbar/.cq3) - card subtitles and panel taglines
   rendered ~3.2:1 on the dark panel. Restore launcher-scoped colours. */
#cqbar .cq3-title i,#cqbar .cq3-pane h6,#cqbar .cq3-pane .cq3-ht,#cqbar .cq3-empty{color:#8FA0BC}
#cqbar .cq3-search svg{color:#8FA0BC}
#cqbar .cq3-search input::placeholder{color:#8FA0BC}
#cqbar .cq3-cardtx i{color:#A3B1C9}

/* cq-ctrlfix-17jul-c: dot-mark the launcher tab that holds this site's
   "You are here" card (the launcher also auto-opens on that pane). */
.cq3-tab.cq3-tab-here b{position:relative;padding-right:14px}
.cq3-tab.cq3-tab-here b::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:#E8C15A;box-shadow:0 0 6px rgba(232,193,90,.8)}

/* --- newsletter block fix, rebuilt 1 Sep 2026 --------------------------
   The 31 Aug pass moved the injected consent and Turnstile off the input row
   by dissolving the pill itself: the form went transparent with square
   corners, so the block stopped matching the approved design.

   The pill is now its own wrapper holding only the email field and the
   button. The injected elements sit on rows below it, so Turnstile still
   renders and the form still posts to form-handler.php, while the pill looks
   the way it does on the reference build.

   The theme prefixed selectors are needed because register-theme.css loads
   after this file and would otherwise square the pill off again. */
.cqft-card form{flex-wrap:wrap; background:transparent; padding:0; border-radius:0; gap:10px 0}
.cqft-card form > .cqft-pill,
body[data-rg-theme] .cqft-card form > .cqft-pill{
  flex:1 1 100%; display:flex; align-items:center; gap:0; min-width:0;
  background:#fff; border-radius:999px; padding:5px}
.cqft-card form > .cqft-pill > input[type=email],
body[data-rg-theme] .cqft-card form > .cqft-pill > input[type=email]{
  flex:1 1 auto; min-width:0; background:transparent; border:0;
  border-radius:0; padding:14px 24px}
.cqft-card form > .cqft-pill > button,
body[data-rg-theme] .cqft-card form > .cqft-pill > button{flex:none}
.cqft-card form > .cq-consent{flex:0 0 100%; order:9; margin:2px 0 0; opacity:1;
  text-align:left; color:rgba(255,255,255,.92)}
.cqft-card form > .cq-consent a{color:#fff; text-decoration:underline}
.cqft-card form > .cf-turnstile{flex:0 0 100%; order:10; margin:0}
.cqft-card:has(> .cqft-consent) form > .cq-consent{display:none}
/* --- end newsletter block fix --- */
