/* Public website only. Admin, login, and page builder rules live in their own bundles. */

:root { --navy: #102A43; --deep: #071f2c; --orange: #f58220; --red: #cb1b1b; --bg: #f5fafa; --line: #e2ebed; --text: #102a43; --muted: #78909c; }
* { box-sizing: border-box; }
body { margin: 0px; background: var(--bg); color: var(--text); font: 14px Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: rgba(6, 182, 212, 0.4) solid 3px; outline-offset: 2px; }
h1 { font-size: 29px; letter-spacing: -1.1px; line-height: 1.2; margin: 7px 0px; }
h2 { font-size: 16px; letter-spacing: -0.3px; margin: 0px; }
.muted { font-size: 12px; color: var(--muted); }
.hidden { display: none !important; }
:root { --deep-teal: #01474F; --aqua: #18C2C2; --steel-blue: #17426C; }
:root { --teal: #18C2C2; --cyan: #18C2C2; --q-aqua: #18C2C2; --q-deep: #01474F; --q-steel: #17426C; }
body { max-width: 100%; overflow-x: clip; }
body { height: 100%; overflow: hidden !important; }
#q-public-site { position: fixed; inset: 0px; z-index: 300; background: rgb(247, 251, 252); color: rgb(16, 42, 67); overscroll-behavior: contain; font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; scroll-behavior: smooth; }
#q-public-site * { box-sizing: border-box; }
#q-public-site button, #q-public-site a { cursor: pointer; }
#q-public-site .site-nav { position: sticky; top: 0px; z-index: 30; background: rgba(255, 255, 255, 0.925); backdrop-filter: blur(20px); display: flex; align-items: center; justify-content: space-between; padding: 0px clamp(22px, 5vw, 86px); gap: 20px; }
#q-public-site .site-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: rgb(16, 42, 67); flex-shrink: 0; }
#q-public-site .site-logo-mark { width: 43px; height: 43px; border-radius: 13px; color: white; font-size: 28px; font-weight: 900; display: grid; place-items: center; }
#q-public-site .site-logo strong { font-size: 21px; letter-spacing: -0.8px; line-height: 1; display: block; }
#q-public-site .site-logo small { font-size: 9px; letter-spacing: 2.6px; font-weight: 800; }
#q-public-site .site-links { display: flex; align-items: center; gap: 5px; }
#q-public-site .site-links a { padding: 11px 13px; text-decoration: none; color: rgb(74, 100, 117); font-size: 12px; font-weight: 750; border-radius: 9px; white-space: nowrap; transition: 0.2s; }
#q-public-site .site-links a:hover, #q-public-site .site-links a.on { background: rgb(233, 250, 250); color: rgb(0, 126, 136); }
#q-public-site .site-cta, #q-public-site .site-button { border: 0px; border-radius: 10px; padding: 13px 19px; background: rgb(16, 42, 67); color: white; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 10px; text-decoration: none; transition: transform 0.25s, background 0.25s, box-shadow 0.25s; }
#q-public-site .site-cta:hover, #q-public-site .site-button:hover { background: rgb(1, 71, 79); transform: translateY(-2px); box-shadow: rgba(1, 71, 79, 0.14) 0px 12px 25px; }
#q-public-site .site-button.outline { background: transparent; color: rgb(16, 42, 67); border: 1px solid rgb(200, 220, 223); }
#q-public-site .site-button.outline:hover { background: rgb(239, 250, 250); }
#q-public-site .site-hamburger { display: none; border: 1px solid rgb(215, 231, 233); background: white; border-radius: 9px; padding: 10px; font-size: 20px; }
#q-public-site .site-page { animation: 0.45s ease 0s 1 normal both running qSiteEnter; }
@keyframes qSiteEnter {
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0px); }
}
#q-public-site .site-container { width: min(1180px, 100% - 48px); margin: auto; }
#q-public-site .site-hero { position: relative; overflow: hidden; padding: 95px 0px 90px; color: white; }
#q-public-site .site-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; position: relative; z-index: 1; }
#q-public-site .site-eyebrow { display: inline-flex; align-items: center; gap: 9px; text-transform: uppercase; font-size: 10px; font-weight: 850; letter-spacing: 2px; color: rgb(13, 137, 149); margin-bottom: 18px; }
#q-public-site .site-eyebrow::before { content: ""; width: 20px; height: 2px; }
#q-public-site h1 { font-size: clamp(42px, 5vw, 70px); letter-spacing: -3px; line-height: 1.09; margin: 0px 0px 23px; font-weight: 850; }
#q-public-site h1 em { font-style: normal; color: rgb(24, 194, 194); }
#q-public-site .site-lead { color: rgb(186, 208, 216); max-width: 590px; margin: 0px 0px 29px; }
#q-public-site .site-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
#q-public-site .site-hero .site-button.outline { color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.27); }
#q-public-site .site-hero .site-button.outline:hover { background: rgba(255, 255, 255, 0.09); }
#q-public-site .site-trust { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 35px; color: rgb(185, 214, 217); font-size: 11px; font-weight: 700; }
#q-public-site .site-trust span::before { content: "✓"; margin-right: 8px; }
#q-public-site .site-visual { position: relative; min-height: 420px; perspective: 1200px; }
#q-public-site .site-glow { position: absolute; width: 330px; height: 330px; top: 40px; left: 18%; border-radius: 50%; filter: blur(75px); }
#q-public-site .site-console { position: absolute; inset: 25px 5px 32px 12px; background: rgb(249, 252, 253); border: 1px solid rgba(255, 255, 255, 0.48); border-radius: 17px; box-shadow: rgba(0, 0, 0, 0.4) 0px 32px 90px; transform: rotateY(-8deg) rotateX(4deg); overflow: hidden; animation: 7s ease-in-out 0s infinite normal none running qFloat; }
@keyframes qFloat {
  50% { transform: rotateY(-5deg) rotateX(2deg) translateY(-10px); }
}
#q-public-site .console-top { height: 42px; display: flex; align-items: center; padding: 0px 16px; gap: 5px; }
#q-public-site .console-top i { width: 7px; height: 7px; border-radius: 50%; background: rgb(24, 194, 194); opacity: 0.8; }
#q-public-site .console-inner { display: grid; grid-template-columns: 84px 1fr; height: calc(100% - 42px); }
#q-public-site .console-side { padding: 17px 11px; display: grid; align-content: start; gap: 16px; }
#q-public-site .console-side b { display: block; height: 8px; border-radius: 5px; background: rgb(88, 125, 142); width: 80%; }
#q-public-site .console-side b:first-child { width: 100%; }
#q-public-site .console-body { padding: 20px; color: rgb(16, 42, 67); }
#q-public-site .console-body h3 { font-size: 18px; margin: 0px 0px 5px; letter-spacing: -0.6px; }
#q-public-site .console-body p { font-size: 10px; color: rgb(124, 145, 156); margin: 0px 0px 20px; }
#q-public-site .console-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
#q-public-site .console-stats div { border: 1px solid rgb(226, 237, 240); border-radius: 10px; padding: 13px 10px; font-size: 9px; color: rgb(120, 144, 156); background: white; }
#q-public-site .console-stats strong { display: block; color: rgb(16, 42, 67); font-size: 23px; margin-top: 5px; }
#q-public-site .console-graph { height: 125px; margin-top: 15px; border: 1px solid rgb(226, 237, 240); background: linear-gradient(rgb(255, 255, 255), rgb(243, 251, 251)); border-radius: 10px; padding: 13px; }
#q-public-site .console-graph svg { width: 100%; height: 100%; }
#q-public-site .site-float-card { position: absolute; z-index: 2; right: -20px; bottom: 2px; padding: 14px 18px; background: white; color: rgb(16, 42, 67); border-radius: 13px; box-shadow: rgba(0, 27, 45, 0.208) 0px 15px 40px; display: flex; align-items: center; gap: 11px; font-size: 11px; font-weight: 800; animation: 5s ease-in-out 0s infinite normal none running qFloatBadge; }
@keyframes qFloatBadge {
  50% { transform: translateY(-9px); }
}
#q-public-site .site-float-card i { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-style: normal; font-size: 17px; }
#q-public-site .site-section.dark { background: rgb(16, 42, 67); color: white; }
#q-public-site h2 { font-size: clamp(30px, 3.3vw, 45px); line-height: 1.2; letter-spacing: -1.8px; margin: 0px 0px 17px; color: inherit; }
#q-public-site .site-sub { color: rgb(112, 136, 152); margin: 0px; }
#q-public-site .dark .site-sub { color: rgb(179, 206, 213); }
#q-public-site .site-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px; }
#q-public-site .site-card { background: white; border: 1px solid rgb(225, 236, 239); border-radius: 16px; position: relative; overflow: hidden; transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s; }
#q-public-site .site-card:hover { transform: translateY(-6px); }
#q-public-site .site-card-icon { width: 49px; height: 49px; border-radius: 13px; background: rgb(230, 250, 250); color: rgb(7, 143, 152); display: grid; place-items: center; font-size: 23px; margin-bottom: 20px; }
#q-public-site .site-card h3 { letter-spacing: -0.4px; margin: 0px 0px 11px; }
#q-public-site .site-card p { color: rgb(114, 135, 149); margin: 0px 0px 18px; }
#q-public-site .site-card a { font-size: 12px; font-weight: 800; text-decoration: none; }
#q-public-site .site-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
#q-public-site .site-feature-list { display: grid; gap: 15px; margin-top: 26px; }
#q-public-site .site-feature-list div { display: flex; align-items: flex-start; gap: 13px; color: rgb(66, 95, 112); line-height: 1.7; }
#q-public-site .site-feature-list b { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; background: rgb(220, 248, 247); color: rgb(1, 141, 146); flex: 0 0 25px; }
#q-public-site .site-art { min-height: 345px; border-radius: 23px; padding: 30px; position: relative; overflow: hidden; }
#q-public-site .site-art::before { content: ""; position: absolute; width: 230px; height: 230px; border-radius: 50%; filter: blur(30px); right: -50px; top: -50px; }
#q-public-site .site-art .art-display { position: relative; background: white; border-radius: 14px; padding: 18px; box-shadow: rgba(0, 0, 0, 0.2) 0px 20px 45px; transform: rotate(-3deg); }
#q-public-site .art-bars { display: flex; gap: 7px; align-items: end; height: 140px; margin-top: 14px; }
#q-public-site .art-bars i { display: block; flex: 1 1 0%; background: linear-gradient(rgb(24, 194, 194), rgb(12, 100, 122)); border-radius: 5px 5px 0px 0px; }
#q-public-site .site-banner { color: white; padding: 55px; border-radius: 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; overflow: hidden; position: relative; }
#q-public-site .site-banner::after { content: ""; position: absolute; width: 270px; height: 270px; border: 50px solid rgba(24, 194, 194, 0.12); border-radius: 50%; right: -50px; top: -140px; }
#q-public-site .site-banner h2 { font-size: 32px; margin-bottom: 9px; }
#q-public-site .site-banner p { color: rgb(185, 214, 220); font-size: 13px; line-height: 1.7; max-width: 500px; margin: 0px; }
#q-public-site .site-banner > * { position: relative; z-index: 1; }
#q-public-site .site-inner-hero { color: white; padding: 85px 0px 72px; position: relative; overflow: hidden; }
#q-public-site .site-inner-hero::after { content: ""; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(24, 194, 194, 0.2); border-radius: 50%; right: -80px; top: -200px; }
#q-public-site .site-inner-hero .site-container { position: relative; z-index: 1; }
#q-public-site .site-inner-hero h1 { font-size: clamp(38px, 4.5vw, 57px); max-width: 850px; }
#q-public-site .site-inner-hero p { max-width: 700px; color: rgb(183, 209, 215); font-size: 15px; line-height: 1.9; }
#q-public-site .site-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
#q-public-site .site-step { border-top: 2px solid rgb(24, 194, 194); padding: 21px 0px; }
#q-public-site .site-step small { font-size: 11px; color: rgb(11, 144, 154); font-weight: 900; }
#q-public-site .site-step h3 { margin: 12px 0px 8px; font-size: 17px; }
#q-public-site .site-step p { font-size: 12px; color: rgb(113, 137, 151); line-height: 1.8; }
#q-public-site .site-faq { max-width: 850px; margin: auto; }
#q-public-site .site-faq details { border-bottom: 1px solid rgb(220, 232, 235); padding: 21px 5px; }
#q-public-site .site-faq summary { font-size: 14px; font-weight: 800; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 15px; }
#q-public-site .site-faq summary::after { content: "+"; color: rgb(9, 152, 161); font-size: 21px; }
#q-public-site .site-faq details[open] summary::after { content: "−"; }
#q-public-site .site-faq p { font-size: 13px; color: rgb(108, 132, 147); line-height: 1.9; }
#q-public-site .site-contact-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 35px; align-items: start; }
#q-public-site .site-contact-form { background: white; border: 1px solid rgb(224, 237, 239); border-radius: 19px; padding: 35px; box-shadow: rgba(11, 53, 73, 0.043) 0px 18px 50px; }
#q-public-site .site-contact-form label { font-size: 11px; font-weight: 800; display: block; margin: 0px 0px 7px; color: rgb(66, 97, 116); }
#q-public-site .site-contact-form input, #q-public-site .site-contact-form select, #q-public-site .site-contact-form textarea { width: 100%; border: 1px solid rgb(214, 229, 233); background: rgb(250, 253, 254); border-radius: 9px; padding: 13px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 12px; margin-bottom: 17px; outline: none; }
#q-public-site .site-contact-form input:focus, #q-public-site .site-contact-form textarea:focus { border-color: rgb(24, 194, 194); box-shadow: rgba(24, 194, 194, 0.11) 0px 0px 0px 3px; }
#q-public-site .site-contact-form textarea { resize: vertical; min-height: 115px; }
#q-public-site .site-footer { color: rgb(182, 208, 214); padding: 70px 0px 25px; }
#q-public-site .site-footer-grid { display: grid; }
#q-public-site .site-footer h4 { color: white; font-size: 13px; margin: 0px 0px 19px; }
#q-public-site .site-footer a { display: block; color: rgb(170, 195, 203); text-decoration: none; font-size: 12px; margin: 0px 0px 14px; }
#q-public-site .site-footer-bottom { margin-top: 50px; padding-top: 22px; display: flex; justify-content: space-between; gap: 15px; font-size: 11px; }
#q-public-site .site-reveal { opacity: 0; transform: translateY(25px); transition: opacity 0.7s, transform 0.7s; }
#q-public-site .site-reveal.visible { opacity: 1; transform: translateY(0px); }
#q-public-site .site-mobile-close { display: none; }
@media (max-width: 1100px) {
  #q-public-site .site-links a { padding: 10px 8px; font-size: 11px; }
  #q-public-site .site-nav { padding: 0px 24px; }
  #q-public-site .site-hero-grid { gap: 25px; }
}
@media (max-width: 850px) {
  #q-public-site .site-hamburger { display: block; }
  #q-public-site .site-links { display: none; position: absolute; top: 78px; left: 0px; right: 0px; background: white; box-shadow: rgba(16, 42, 67, 0.125) 0px 15px 35px; padding: 15px 24px; flex-direction: column; align-items: stretch; }
  #q-public-site .site-links.mobile-open { display: flex; }
  #q-public-site .site-links a { padding: 13px; }
  #q-public-site .site-nav > .site-cta { margin-left: auto; }
  #q-public-site .site-hero-grid, #q-public-site .site-feature, #q-public-site .site-contact-grid { grid-template-columns: 1fr; }
  #q-public-site .site-visual { max-width: 570px; width: 100%; margin: auto; }
  #q-public-site .site-grid { grid-template-columns: repeat(2, 1fr); }
  #q-public-site .site-process { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  #q-public-site .site-nav { padding: 0px 16px; height: 69px; }
  #q-public-site .site-links { top: 69px; }
  #q-public-site .site-nav > .site-cta { font-size: 10px; padding: 11px 12px; }
  #q-public-site .site-logo strong { font-size: 17px; }
  #q-public-site .site-logo small { font-size: 7px; }
  #q-public-site .site-logo-mark { width: 36px; height: 36px; font-size: 23px; }
  #q-public-site .site-hero { padding: 65px 0px 60px; }
  #q-public-site h1 { letter-spacing: -2px; }
  #q-public-site .site-visual { min-height: 340px; }
  #q-public-site .site-console { inset: 12px 4px 25px 0px; }
  #q-public-site .site-grid, #q-public-site .site-process, #q-public-site .site-footer-grid { grid-template-columns: 1fr; }
  #q-public-site .site-banner { padding: 30px; flex-direction: column; align-items: flex-start; }
  #q-public-site .site-contact-form { padding: 22px; }
  #q-public-site .site-footer-bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  #q-public-site *, #q-public-site ::before, #q-public-site ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
  #q-public-site { scroll-behavior: auto; }
}
#q-public-site { --q-navy: #102A43; --q-teal: #01474F; --q-steel: #17426C; --q-orange: #F58220; --q-red: #CB1B1B; --q-cyan: #18C2C2; }
#q-public-site .site-logo-mark { background: linear-gradient(135deg, rgb(23, 66, 108) 0%, rgb(1, 71, 79) 56%, rgb(24, 194, 194) 100%); box-shadow: rgba(23, 66, 108, 0.19) 0px 8px 22px; }
#q-public-site .site-logo small { color: rgb(23, 66, 108); }
#q-public-site .site-nav { border-bottom: 2px solid transparent; border-image: linear-gradient(90deg, rgb(23, 66, 108) 0%, rgb(24, 194, 194) 42%, rgb(245, 130, 32) 78%, rgb(203, 27, 27) 100%) 1 / 1 / 0 stretch; }
#q-public-site .site-links a.on { color: rgb(23, 66, 108); background: rgb(233, 242, 249); box-shadow: rgb(245, 130, 32) 0px -2px 0px inset; }
#q-public-site .site-links a:hover { color: rgb(23, 66, 108); background: rgb(240, 245, 250); }
#q-public-site .site-nav > .site-cta { background: rgb(245, 130, 32); color: rgb(255, 255, 255); }
#q-public-site .site-nav > .site-cta:hover { background: rgb(219, 105, 17); box-shadow: rgba(245, 130, 32, 0.22) 0px 10px 24px; }
#q-public-site .site-hero { background: radial-gradient(circle at 82% 22%, rgba(245, 130, 32, 0.15), transparent 30%), radial-gradient(circle at 14% 95%, rgba(24, 194, 194, 0.15), transparent 40%), linear-gradient(125deg, rgb(7, 30, 50) 0%, rgb(16, 42, 67) 43%, rgb(23, 66, 108) 72%, rgb(1, 71, 79) 100%); }
#q-public-site .site-hero::after { content: ""; position: absolute; right: -110px; top: -180px; width: 480px; height: 480px; border: 1px solid rgba(245, 130, 32, 0.25); border-radius: 50%; box-shadow: rgba(245, 130, 32, 0.035) 0px 0px 0px 60px, rgba(203, 27, 27, 0.027) 0px 0px 0px 135px; pointer-events: none; }
#q-public-site .site-hero h1 em { color: rgb(245, 130, 32); }
#q-public-site .site-eyebrow::before { background: linear-gradient(90deg, rgb(245, 130, 32), rgb(203, 27, 27)); }
#q-public-site .site-hero .site-eyebrow { color: rgb(141, 229, 235); }
#q-public-site .site-button.aqua { background: rgb(245, 130, 32); color: rgb(255, 255, 255); }
#q-public-site .site-button.aqua:hover { background: rgb(229, 110, 16); box-shadow: rgba(245, 130, 32, 0.208) 0px 12px 25px; }
#q-public-site .site-trust span::before { color: rgb(245, 130, 32); }
#q-public-site .site-glow { background: linear-gradient(135deg, rgba(24, 194, 194, 0.333), rgba(245, 130, 32, 0.227)); }
#q-public-site .console-top { background: linear-gradient(90deg, rgb(16, 42, 67), rgb(23, 66, 108)); }
#q-public-site .console-top i:nth-child(1) { background: rgb(203, 27, 27); }
#q-public-site .console-top i:nth-child(2) { background: rgb(245, 130, 32); }
#q-public-site .console-top i:nth-child(3) { background: rgb(24, 194, 194); }
#q-public-site .console-side { background: linear-gradient(rgb(23, 66, 108), rgb(16, 42, 67)); }
#q-public-site .console-side b:first-child { background: rgb(245, 130, 32); }
#q-public-site .console-stats div:nth-child(1) { border-top: 3px solid rgb(24, 194, 194); }
#q-public-site .console-stats div:nth-child(2) { border-top: 3px solid rgb(245, 130, 32); }
#q-public-site .console-stats div:nth-child(3) { border-top: 3px solid rgb(23, 66, 108); }
#q-public-site .site-float-card i { background: rgb(255, 241, 228); color: rgb(229, 117, 22); }
#q-public-site .site-card { border-top: 3px solid rgb(23, 66, 108); }
#q-public-site .site-card:nth-child(4n+2) { border-top-color: rgb(245, 130, 32); }
#q-public-site .site-card:nth-child(4n+3) { border-top-color: rgb(24, 194, 194); }
#q-public-site .site-card:nth-child(4n+4) { border-top-color: rgb(203, 27, 27); }
#q-public-site .site-card:nth-child(4n+1) .site-card-icon { background: rgb(232, 240, 250); color: rgb(23, 66, 108); }
#q-public-site .site-card:nth-child(4n+2) .site-card-icon { background: rgb(255, 241, 227); color: rgb(230, 120, 29); }
#q-public-site .site-card:nth-child(4n+3) .site-card-icon { background: rgb(230, 250, 250); color: rgb(7, 143, 152); }
#q-public-site .site-card:nth-child(4n+4) .site-card-icon { background: rgb(255, 240, 239); color: rgb(203, 27, 27); }
#q-public-site .site-card a { color: rgb(23, 66, 108); }
#q-public-site .site-card:hover { border-color: rgb(245, 130, 32); box-shadow: rgba(23, 66, 108, 0.098) 0px 20px 50px; }
#q-public-site .site-section.soft { background: linear-gradient(140deg, rgb(240, 246, 251), rgb(246, 251, 250) 60%, rgb(255, 249, 243)); }
#q-public-site .site-feature-list div:nth-child(3n+2) b { background: rgb(255, 240, 225); color: rgb(245, 130, 32); }
#q-public-site .site-feature-list div:nth-child(3n+3) b { background: rgb(234, 240, 249); color: rgb(23, 66, 108); }
#q-public-site .site-art { background: linear-gradient(140deg, rgb(23, 66, 108), rgb(16, 42, 67) 50%, rgb(1, 71, 79)); }
#q-public-site .site-art::before { background: rgba(245, 130, 32, 0.26); }
#q-public-site .art-bars i:nth-child(3n+2) { background: linear-gradient(rgb(245, 130, 32), rgb(211, 106, 23)); }
#q-public-site .art-bars i:nth-child(3n+3) { background: linear-gradient(rgb(23, 66, 108), rgb(16, 42, 67)); }
#q-public-site .site-banner { background: radial-gradient(circle at 93% 22%, rgba(203, 27, 27, 0.165), transparent 35%), linear-gradient(115deg, rgb(16, 42, 67), rgb(23, 66, 108) 58%, rgb(1, 71, 79)); }
#q-public-site .site-banner::after { border-color: rgba(245, 130, 32, 0.18); }
#q-public-site .site-inner-hero { background: radial-gradient(circle at 80% 50%, rgba(245, 130, 32, 0.114), transparent 32%), linear-gradient(120deg, rgb(7, 30, 50), rgb(23, 66, 108) 58%, rgb(1, 71, 79)); }
#q-public-site .site-inner-hero::after { border-color: rgba(245, 130, 32, 0.25); box-shadow: rgba(24, 194, 194, 0.03) 0px 0px 0px 70px, rgba(203, 27, 27, 0.03) 0px 0px 0px 145px; }
#q-public-site .site-inner-hero h1 em { color: rgb(245, 130, 32); }
#q-public-site .site-step:nth-child(4n+1) { border-color: rgb(23, 66, 108); }
#q-public-site .site-step:nth-child(4n+2) { border-color: rgb(245, 130, 32); }
#q-public-site .site-step:nth-child(4n+3) { border-color: rgb(24, 194, 194); }
#q-public-site .site-step:nth-child(4n+4) { border-color: rgb(203, 27, 27); }
#q-public-site .site-step:nth-child(4n+2) small { color: rgb(217, 111, 25); }
#q-public-site .site-step:nth-child(4n+4) small { color: rgb(203, 27, 27); }
#q-public-site .site-contact-form { border-top: 4px solid rgb(245, 130, 32); }
#q-public-site .site-contact-form input:focus, #q-public-site .site-contact-form textarea:focus, #q-public-site .site-contact-form select:focus { border-color: rgb(23, 66, 108); box-shadow: rgba(23, 66, 108, 0.086) 0px 0px 0px 3px; }
#q-public-site .site-footer { background: linear-gradient(115deg, rgb(7, 31, 49), rgb(16, 42, 67) 70%, rgb(18, 59, 75)); }
#q-public-site .site-footer .site-logo small { color: rgb(245, 130, 32); }
#q-public-site .site-footer a:hover { color: rgb(245, 130, 32); }
#q-public-site .site-footer-bottom { border-top: 1px solid rgb(49, 80, 106); }
:root { --brand-navy: #102A43; --brand-teal: #01474F; --brand-blue: #17426C; --brand-orange: #F58220; --brand-red: #CB1B1B; --brand-aqua: #18C2C2; }
#q-public-site .site-lead { font-size: 18px; line-height: 1.85; }
#q-public-site .site-sub { font-size: 15px; line-height: 1.85; }
#q-public-site .site-card p { font-size: 14px; line-height: 1.8; }
#q-public-site .site-card h3 { font-size: 20px; }
#q-public-site .site-card { padding: 33px; }
#q-public-site .site-section { padding: 108px 0px; }
#q-public-site .site-section-head { max-width: 760px; margin-bottom: 43px; }
#q-public-site .site-feature-list div { font-size: 14px; }
#q-public-site .site-proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 16px; }
#q-public-site .site-proof-card { border: 1px solid rgb(226, 235, 237); background: white; padding: 27px; border-radius: 17px; position: relative; overflow: hidden; }
#q-public-site .site-proof-card::before { content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 4px; background: var(--proof-color,#18c2c2); }
#q-public-site .site-proof-card strong { font-size: 37px; display: block; letter-spacing: -1.5px; color: rgb(16, 42, 67); }
#q-public-site .site-proof-card p { font-size: 13px; color: rgb(103, 129, 143); line-height: 1.7; margin: 8px 0px 0px; }
#q-public-site .site-proof-card small { font-size: 11px; font-weight: 800; color: var(--proof-color,#18c2c2); }
#q-public-site .site-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
#q-public-site .site-quote { background: rgb(255, 255, 255); border: 1px solid rgb(220, 232, 236); border-radius: 18px; padding: 30px; min-height: 220px; display: flex; flex-direction: column; gap: 16px; transition: transform 0.3s, box-shadow 0.3s; }
#q-public-site .site-quote:hover { transform: translateY(-5px); box-shadow: rgba(16, 42, 67, 0.063) 0px 18px 40px; }
#q-public-site .site-quote .mark { font-size: 48px; line-height: 0.7; font-family: Georgia, serif; color: var(--quote-color,#18c2c2); }
#q-public-site .site-quote p { font-size: 15px; line-height: 1.8; margin: 0px; flex: 1 1 0%; }
#q-public-site .site-quote small { font-size: 11px; color: rgb(124, 146, 157); }
#q-public-site .site-report { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
#q-public-site .site-report-visual { border: 1px solid rgb(220, 233, 237); background: white; padding: 28px; border-radius: 18px; box-shadow: rgba(16, 42, 67, 0.05) 0px 16px 40px; }
#q-public-site .site-report-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 22px; }
#q-public-site .site-report-head strong { font-size: 16px; }
#q-public-site .site-report-head span { font-size: 10px; color: rgb(116, 141, 153); background: rgb(238, 245, 246); padding: 6px 10px; border-radius: 20px; }
#q-public-site .site-report-bars { height: 185px; display: flex; align-items: end; gap: 12px; border-bottom: 1px solid rgb(220, 232, 235); padding: 0px 6px; }
#q-public-site .site-report-bars div { flex: 1 1 0%; display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 7px; height: 100%; }
#q-public-site .site-report-bars i { width: 100%; max-width: 34px; height: var(--bar-h); background: var(--bar-c); border-radius: 7px 7px 0px 0px; transition: height 0.5s; }
#q-public-site .site-report-bars small { font-size: 10px; color: rgb(126, 148, 159); position: absolute; transform: translateY(21px); }
#q-public-site .site-report-legend { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 36px; font-size: 11px; color: rgb(105, 129, 141); }
#q-public-site .site-report-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin-right: 6px; }
#q-public-site .site-client-list { display: flex; flex-wrap: wrap; gap: 12px; }
#q-public-site .site-client-list span { border: 1px solid rgb(220, 232, 237); background: white; border-radius: 12px; padding: 16px 22px; font-size: 12px; font-weight: 800; color: rgb(70, 101, 119); }
@media (max-width: 850px) {
  #q-public-site .site-proof-grid { grid-template-columns: repeat(2, 1fr); }
  #q-public-site .site-testimonial-grid { grid-template-columns: 1fr 1fr; }
  #q-public-site .site-report { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  #q-public-site .site-proof-grid, #q-public-site .site-testimonial-grid { grid-template-columns: 1fr; }
  #q-public-site .site-section { padding: 70px 0px; }
}
#q-public-site .q-showcase-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 23px; }
#q-public-site .q-showcase-card { background: rgb(255, 255, 255); border: 1px solid rgb(224, 234, 238); border-radius: 19px; overflow: hidden; box-shadow: rgba(18, 59, 73, 0.063) 0px 8px 28px; transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s; }
#q-public-site .q-showcase-card:hover { transform: translateY(-8px); box-shadow: rgba(18, 59, 73, 0.14) 0px 24px 54px; border-color: var(--q-accent); }
#q-public-site .q-showcase-media { height: 225px; position: relative; background: linear-gradient(140deg,#102a43,#17426c 55%,var(--q-accent)); overflow: hidden; }
#q-public-site .q-showcase-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.65s; filter: saturate(0.88); }
#q-public-site .q-showcase-card:hover img { transform: scale(1.07); }
#q-public-site .q-showcase-media::after { content: ""; position: absolute; inset: 55% 0px 0px; background: linear-gradient(transparent, rgba(7, 31, 49, 0.48)); pointer-events: none; }
#q-public-site .q-showcase-count { position: absolute; z-index: 2; bottom: 16px; left: 19px; background: rgba(255, 255, 255, 0.92); color: rgb(16, 42, 67); border-radius: 7px; padding: 7px 10px; font-size: 10px; font-weight: 850; letter-spacing: 1px; }
#q-public-site .q-showcase-body { padding: 26px 25px 25px; border-top: 4px solid var(--q-accent); }
#q-public-site .q-showcase-overline { font-size: 9px; font-weight: 900; letter-spacing: 2px; color: var(--q-accent); margin-bottom: 12px; }
#q-public-site .q-showcase-body h3 { font-size: 21px; letter-spacing: -0.6px; margin: 0px 0px 11px; color: rgb(16, 42, 67); }
#q-public-site .q-showcase-body p { font-size: 13px; line-height: 1.85; color: rgb(98, 123, 137); min-height: 73px; margin: 0px 0px 15px; }
#q-public-site .q-showcase-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 21px; }
#q-public-site .q-showcase-tags span { border: 1px solid rgb(224, 233, 237); background: rgb(245, 249, 250); padding: 6px 8px; border-radius: 6px; font-size: 10px; color: rgb(80, 107, 122); font-weight: 700; }
#q-public-site .q-showcase-body > a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; border-top: 1px solid rgb(232, 239, 241); padding-top: 17px; color: rgb(16, 42, 67); font-size: 12px; font-weight: 850; }
#q-public-site .q-showcase-body > a span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--q-accent); color: white; }
#q-public-site .q-reference-note { font-size: 11px; color: rgb(130, 149, 160); margin: 16px 0px 0px; }
#q-public-site .q-visual-story { background: rgb(243, 248, 250); }
#q-public-site .q-visual-story-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 65px; align-items: center; }
#q-public-site .q-story-image { position: relative; height: 440px; overflow: hidden; border-radius: 22px; box-shadow: rgba(12, 43, 60, 0.145) 0px 25px 55px; }
#q-public-site .q-story-image img { width: 100%; height: 100%; object-fit: cover; }
#q-public-site .q-story-image::after { content: ""; position: absolute; inset: 50% 0px 0px; background: linear-gradient(transparent, rgba(16, 42, 67, 0.733)); }
#q-public-site .q-story-image span { position: absolute; bottom: 24px; left: 28px; color: white; font-weight: 850; letter-spacing: 2px; font-size: 12px; z-index: 2; }
#q-public-site .q-story-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 30px 0px; }
#q-public-site .q-story-stat-grid div { padding: 16px 12px; border: 1px solid rgb(219, 232, 237); background: white; border-radius: 12px; }
#q-public-site .q-story-stat-grid strong { display: block; color: rgb(245, 130, 32); font-size: 26px; }
#q-public-site .q-story-stat-grid span { font-size: 11px; color: rgb(98, 123, 137); font-weight: 700; }
#q-public-site .q-location-section { background: rgb(244, 248, 250); }
#q-public-site .q-map-grid { display: grid; grid-template-columns: 1.4fr 0.85fr; gap: 24px; }
#q-public-site .q-map-frame { height: 410px; overflow: hidden; border-radius: 19px; border: 1px solid rgb(217, 231, 236); background: rgb(230, 238, 241); box-shadow: rgba(16, 42, 67, 0.07) 0px 12px 35px; }
#q-public-site .q-map-frame iframe { border: 0px; width: 100%; height: 100%; }
#q-public-site .q-map-info { padding: 37px; background: linear-gradient(135deg, rgb(16, 42, 67), rgb(23, 66, 108) 55%, rgb(1, 71, 79)); color: white; border-radius: 19px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
#q-public-site .q-map-badge { font-size: 10px; letter-spacing: 2px; font-weight: 850; color: rgb(247, 164, 83); }
#q-public-site .q-map-info h3 { font-size: 27px; line-height: 1.3; letter-spacing: -0.8px; margin: 18px 0px; }
#q-public-site .q-map-info p { font-size: 13px; line-height: 1.85; color: rgb(197, 215, 224); margin: 0px 0px 25px; }
#q-public-site .q-map-open { color: rgb(255, 255, 255); margin-top: 18px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
#q-public-site .site-footer { border-top: 5px solid transparent; border-image: linear-gradient(90deg, rgb(24, 194, 194), rgb(23, 66, 108), rgb(245, 130, 32), rgb(203, 27, 27)) 1 / 1 / 0 stretch; }
#q-public-site .q-social-links { display: flex; gap: 9px; margin-top: 21px; }
#q-public-site .q-social-links a { display: grid; place-items: center; width: 36px; height: 36px; margin: 0px; border: 1px solid rgb(69, 96, 117); border-radius: 9px; background: rgb(23, 54, 75); color: white; font-size: 16px; font-weight: 900; transition: 0.25s; }
#q-public-site .q-social-links a:hover { background: rgb(245, 130, 32); border-color: rgb(245, 130, 32); transform: translateY(-3px); }
#q-public-site .q-social-note { font-size: 10px; line-height: 1.6; color: rgb(140, 169, 184); margin-top: 14px; max-width: 300px; }
@media (max-width: 980px) {
  #q-public-site .q-showcase-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  #q-public-site .q-visual-story-grid, #q-public-site .q-map-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  #q-public-site .q-showcase-grid { grid-template-columns: 1fr; }
  #q-public-site .q-showcase-media { height: 220px; }
  #q-public-site .q-showcase-body p { min-height: 0px; }
  #q-public-site .q-story-image { height: 300px; }
  #q-public-site .q-story-stat-grid { grid-template-columns: 1fr 1fr; }
  #q-public-site .q-map-frame { height: 320px; }
  #q-public-site .q-map-info { padding: 28px; }
}
#q-public-site .q-premium-nav { height: 84px; background: rgba(255, 255, 255, 0.96); border-bottom: 1px solid rgb(220, 233, 236); box-shadow: rgba(8, 40, 60, 0.04) 0px 7px 35px; }
#q-public-site .q-premium-nav .site-links { height: 100%; gap: 3px; }
#q-public-site .q-nav-group { height: 100%; display: flex; align-items: center; position: relative; }
#q-public-site .q-nav-trigger { background: none; border: 0px; border-radius: 9px; padding: 12px 13px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 12px; font-weight: 750; color: rgb(73, 102, 120); display: flex; align-items: center; gap: 7px; transition: 0.2s; }
#q-public-site .q-nav-trigger:hover, #q-public-site .q-nav-group.open .q-nav-trigger { color: rgb(1, 71, 79); background: rgb(234, 249, 248); }
#q-public-site .q-nav-trigger span { transition: transform 0.2s; }
#q-public-site .q-nav-group.open .q-nav-trigger span { transform: rotate(180deg); }
#q-public-site .q-mega { position: absolute; top: calc(100% - 3px); left: 50%; transform: translate(-50%, 10px); width: min(810px, -48px + 100vw); display: grid; grid-template-columns: 240px 1fr; background: rgb(255, 255, 255); border: 1px solid rgb(219, 233, 237); border-radius: 17px; box-shadow: rgba(11, 45, 67, 0.376) 0px 26px 70px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.23s, transform 0.23s, visibility 0.23s; overflow: hidden; z-index: 100; }
#q-public-site .q-nav-group.open .q-mega, #q-public-site .q-nav-group:hover .q-mega, #q-public-site .q-nav-group:focus-within .q-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0px); }
#q-public-site .q-mega-intro { background: linear-gradient(155deg, rgb(16, 42, 67), rgb(1, 71, 79)); color: white; padding: 27px 22px; }
#q-public-site .q-mega-intro small { font-size: 9px; letter-spacing: 1.7px; color: rgb(126, 226, 224); font-weight: 850; }
#q-public-site .q-mega-intro strong { display: block; font-size: 21px; line-height: 1.3; margin: 20px 0px 11px; letter-spacing: -0.7px; }
#q-public-site .q-mega-intro p { font-size: 11px; line-height: 1.8; color: rgb(183, 211, 216); }
#q-public-site .q-mega-intro a { color: rgb(255, 189, 130); background: rgba(255, 255, 255, 0.075); border: 1px solid rgba(255, 255, 255, 0.145); padding: 10px 12px; margin-top: 18px; display: inline-block; }
#q-public-site .q-mega-items { padding: 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; align-content: start; }
#q-public-site .q-mega-items > a { display: flex; gap: 12px; align-items: flex-start; border-radius: 11px; text-decoration: none; padding: 15px 12px !important; }
#q-public-site .q-mega-items > a:hover { background: rgb(240, 249, 249); }
#q-public-site .q-mega-items i { width: 37px; height: 37px; border-radius: 10px; background: rgb(227, 248, 248); display: grid; place-items: center; color: rgb(0, 139, 148); font-size: 19px; font-style: normal; flex-shrink: 0; }
#q-public-site .q-mega-items > a:nth-child(4n+2) i { background: rgb(255, 240, 228); color: rgb(236, 121, 26); }
#q-public-site .q-mega-items > a:nth-child(4n+3) i { background: rgb(233, 240, 252); color: rgb(23, 66, 108); }
#q-public-site .q-mega-items > a:nth-child(4n) i { background: rgb(255, 237, 237); color: rgb(203, 27, 27); }
#q-public-site .q-mega-items b { display: block; font-size: 12px; color: rgb(16, 42, 67); }
#q-public-site .q-mega-items small { display: block; color: rgb(120, 144, 155); font-size: 10px; margin-top: 6px; line-height: 1.5; }
#q-public-site .q-mega-platform { width: min(720px, -48px + 100vw); }
#q-public-site .q-premium-nav > .site-cta { background: linear-gradient(115deg, rgb(245, 130, 32), rgb(203, 27, 27)); box-shadow: rgba(245, 130, 32, 0.2) 0px 8px 20px; }
#q-public-site .q-premium-nav > .site-cta:hover { background: linear-gradient(115deg, rgb(231, 116, 17), rgb(173, 20, 20)); }
#q-public-site .q-showcase { position: relative; height: clamp(570px, 74vh, 790px); background: rgb(11, 38, 59); overflow: hidden; }
#q-public-site .q-showcase-track, #q-public-site .q-slide { position: absolute; inset: 0px; }
#q-public-site .q-slide { opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity 0.85s, transform 6s, visibility 0.85s; }
#q-public-site .q-slide.active { opacity: 1; visibility: visible; transform: scale(1); }
#q-public-site .q-slide > img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
#q-public-site .q-slide-shade { position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(5, 26, 44, 0.95) 0%, rgba(8, 39, 59, 0.86) 42%, rgba(6, 40, 58, 0.333) 75%, rgba(9, 45, 64, 0.2)), linear-gradient(0deg, rgba(8, 30, 45, 0.533), transparent 45%); }
#q-public-site .q-slide-copy { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(1180px, 100% - 48px); color: white; z-index: 2; }
#q-public-site .q-slide-copy h1 { max-width: 800px; font-size: clamp(48px, 6.2vw, 88px); line-height: 1.04; letter-spacing: -3.6px; }
#q-public-site .q-slide-copy h1 em { color: var(--slide-accent); }
#q-public-site .q-slide-copy p { font-size: clamp(15px, 1.5vw, 18px); color: rgb(208, 224, 230); max-width: 620px; line-height: 1.8; margin: 0px 0px 29px; }
#q-public-site .q-slide-kicker { font-size: 11px; font-weight: 900; letter-spacing: 2.4px; color: rgb(216, 239, 240); display: block; margin-bottom: 23px; }
#q-public-site .q-slide-kicker::before { content: ""; display: inline-block; background: var(--slide-accent); width: 25px; height: 3px; vertical-align: middle; margin-right: 11px; }
#q-public-site .q-slide-copy .site-button.outline { color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.44); }
#q-public-site .q-showcase-controls { position: absolute; bottom: 39px; left: 50%; transform: translateX(-50%); width: min(1180px, 100% - 48px); z-index: 3; display: flex; justify-content: space-between; align-items: center; }
#q-public-site .q-slide-dots { display: flex; gap: 9px; }
#q-public-site .q-slide-dots button { width: 31px; height: 4px; border: 0px; border-radius: 3px; background: rgba(255, 255, 255, 0.376); transition: 0.3s; }
#q-public-site .q-slide-dots button.on { width: 65px; background: rgb(245, 130, 32); }
#q-public-site .q-slide-arrows { display: flex; gap: 9px; }
#q-public-site .q-slide-arrows button { width: 42px; height: 42px; border: 1px solid rgba(255, 255, 255, 0.357); background: rgba(255, 255, 255, 0.09); color: white; border-radius: 50%; transition: 0.2s; }
#q-public-site .q-slide-arrows button:hover { background: rgb(245, 130, 32); border-color: rgb(245, 130, 32); }
#q-public-site .q-slide-progress { position: absolute; bottom: 0px; left: 0px; right: 0px; height: 3px; background: rgba(255, 255, 255, 0.19); z-index: 3; }
#q-public-site .q-slide-progress span { display: block; height: 100%; background: linear-gradient(90deg, rgb(24, 194, 194), rgb(245, 130, 32)); width: 0px; }
#q-public-site .q-hero-strip { background: rgb(16, 42, 67); color: rgb(184, 213, 221); border-top: 1px solid rgba(255, 255, 255, 0.145); }
#q-public-site .q-hero-strip .site-container { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0px; flex-wrap: wrap; }
#q-public-site .q-hero-strip span { font-size: 11px; font-weight: 750; }
#q-public-site .q-hero-strip b { color: rgb(245, 130, 32); margin-right: 10px; }
#q-public-site .q-client-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
#q-public-site .q-client-tile { min-height: 145px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; background: white; border: 1px solid rgb(220, 235, 237); border-radius: 16px; transition: 0.25s; }
#q-public-site .q-client-tile:hover { transform: translateY(-5px); box-shadow: rgba(11, 48, 68, 0.063) 0px 17px 40px; }
#q-public-site .q-client-symbol { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: rgb(227, 249, 249); color: rgb(0, 152, 161); font-weight: 900; font-size: 23px; }
#q-public-site .q-client-symbol.orange { background: rgb(255, 240, 228); color: rgb(245, 130, 32); }
#q-public-site .q-client-symbol.blue { background: rgb(234, 240, 251); color: rgb(23, 66, 108); }
#q-public-site .q-client-tile strong { font-size: 15px; color: rgb(16, 42, 67); }
#q-public-site .q-client-tile small { font-size: 10px; color: rgb(120, 144, 155); }
#q-public-site .q-client-invite { background: linear-gradient(135deg, rgb(16, 42, 67), rgb(23, 66, 108)); }
#q-public-site .q-client-invite span { color: rgb(245, 130, 32); font-size: 30px; }
#q-public-site .q-client-invite strong { color: white; }
#q-public-site .q-client-invite a { font-size: 11px; color: rgb(114, 229, 228); text-decoration: none; }
#q-public-site .q-chat-arrow { border: 1px solid rgb(213, 231, 233); background: white; color: rgb(23, 66, 108); font-size: 20px; }
#q-public-site .q-chat-arrow:hover { background: rgb(23, 66, 108); color: white; }
#q-public-site .q-chat-head { display: flex; align-items: center; }
#q-public-site .q-chat-avatar { display: grid; place-items: center; }
#q-public-site .q-chat-head strong { display: block; }
#q-public-site .q-chat-head small { display: block; }
#q-public-site .q-chat-live { margin-left: auto; letter-spacing: 1px; font-weight: 900; }
#q-public-site .q-chat-body { display: flex; flex-direction: column; }
#q-public-site .q-chat-bubble { animation: 0.45s ease 0s 1 normal both running qBubbleIn; }
#q-public-site .q-chat-bubble.incoming { align-self: flex-start; border-bottom-left-radius: 3px; }
#q-public-site .q-chat-bubble.outgoing { align-self: flex-end; border-bottom-right-radius: 3px; animation-delay: 0.13s; }
#q-public-site .q-chat-foot { display: flex; align-items: center; gap: 12px; font-size: 11px; }
#q-public-site .q-chat-foot span:last-child { margin-left: auto; color: rgb(23, 66, 108); }
#q-public-site .q-chat-pips { display: flex; gap: 7px; justify-content: center; }
#q-public-site .q-chat-pips button { width: 8px; height: 8px; background: rgb(184, 212, 216); border: 0px; border-radius: 5px; }
#q-public-site .q-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 23px; }
#q-public-site .q-feature-panel { border: 1px solid rgb(220, 233, 236); background: rgb(255, 255, 255); border-radius: 19px; padding: 23px; box-shadow: rgba(16, 53, 76, 0.043) 0px 17px 40px; }
#q-public-site .q-feature-panel-title { display: flex; gap: 12px; align-items: center; margin-bottom: 21px; }
#q-public-site .q-feature-icon { width: 45px; height: 45px; border-radius: 12px; background: rgb(226, 248, 248); color: rgb(4, 141, 148); display: grid; place-items: center; font-size: 20px; }
#q-public-site .q-feature-icon.orange { background: rgb(255, 240, 227); color: rgb(245, 130, 32); }
#q-public-site .q-feature-panel-title strong { display: block; font-size: 16px; }
#q-public-site .q-feature-panel-title small { display: block; font-size: 11px; color: rgb(123, 145, 155); margin-top: 5px; }
#q-public-site .q-video-shell { position: relative; background: rgb(16, 42, 67); border-radius: 12px; aspect-ratio: 16 / 9; overflow: hidden; }
#q-public-site .q-video-shell video { width: 100%; height: 100%; object-fit: contain; }
#q-public-site .q-video-empty { position: absolute; inset: 0px; background: linear-gradient(rgba(9, 37, 58, 0.533), rgba(9, 37, 58, 0.8)), url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?w=900&q=80") center center / cover; display: flex; flex-direction: column; justify-content: center; align-items: center; color: white; gap: 11px; text-align: center; padding: 20px; }
#q-public-site .q-video-empty > span { width: 55px; height: 55px; border-radius: 50%; background: rgb(245, 130, 32); display: grid; place-items: center; font-size: 22px; }
#q-public-site .q-video-empty strong { font-size: 15px; }
#q-public-site .q-video-empty small { font-size: 11px; color: rgb(208, 225, 230); }
#q-public-site .q-mode-switch { display: flex; background: rgb(240, 245, 247); padding: 5px; border-radius: 10px; margin-top: 15px; }
#q-public-site .q-mode-switch button { flex: 1 1 0%; border: 0px; border-radius: 8px; background: transparent; padding: 10px; color: rgb(87, 113, 129); font-size: 11px; font-weight: 800; }
#q-public-site .q-mode-switch button.active { background: white; color: rgb(1, 71, 79); box-shadow: rgba(16, 42, 67, 0.07) 0px 3px 12px; }
#q-public-site .q-video-source { display: flex; gap: 7px; margin-top: 12px; }
#q-public-site .q-video-source[hidden] { display: none; }
#q-public-site .q-video-source input { min-width: 0px; flex: 1 1 0%; border: 1px solid rgb(214, 230, 233); border-radius: 9px; padding: 12px; font-size: 11px; }
#q-public-site .q-video-source button { border: 0px; border-radius: 9px; padding: 0px 16px; background: rgb(23, 66, 108); color: white; font-size: 11px; font-weight: 800; }
#q-public-site .q-play-controls { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
#q-public-site .q-play-controls button { border: 1px solid rgb(215, 231, 233); background: white; border-radius: 8px; padding: 9px 12px; font-size: 11px; font-weight: 800; color: rgb(23, 66, 108); }
#q-public-site .q-play-controls button:hover { background: rgb(232, 248, 248); }
#q-public-site .q-play-controls span { font-size: 10px; color: rgb(120, 145, 157); margin-left: auto; }
#q-public-site .q-token-preview { border: 1px solid rgb(225, 233, 238); border-radius: 12px; overflow: hidden; }
#q-public-site .q-token-heading { background: rgb(16, 42, 67); color: white; padding: 18px; display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 850; letter-spacing: 1px; }
#q-public-site .q-token-heading i { width: 8px; height: 8px; display: inline-block; border-radius: 50%; background: rgb(24, 194, 194); margin-right: 8px; }
#q-public-site .q-token-tag { font-size: 9px; color: rgb(249, 181, 123); background: rgba(255, 255, 255, 0.094); border-radius: 6px; padding: 7px; letter-spacing: 0px; }
#q-public-site .q-token-row { display: flex; gap: 11px; align-items: center; padding: 17px; border-bottom: 1px solid rgb(232, 238, 241); }
#q-public-site .q-token-row > span:nth-child(2) { flex: 1 1 0%; min-width: 0px; }
#q-public-site .q-token-row strong { display: block; font-size: 12px; }
#q-public-site .q-token-row small { display: block; font-size: 10px; color: rgb(138, 155, 164); margin-top: 5px; }
#q-public-site .q-token-badge { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; background: rgb(226, 248, 248); color: rgb(0, 155, 161); font-size: 18px; }
#q-public-site .q-token-badge.blue { background: rgb(234, 240, 252); color: rgb(23, 66, 108); }
#q-public-site .q-token-badge.orange { background: rgb(255, 240, 228); color: rgb(245, 130, 32); }
#q-public-site .q-token-active, #q-public-site .q-token-pending { background: rgb(229, 248, 239); color: rgb(12, 133, 82); padding: 6px 8px; border-radius: 6px; font-size: 9px; }
#q-public-site .q-token-pending { background: rgb(255, 240, 228); color: rgb(220, 123, 28); }
#q-public-site .q-token-foot { padding: 17px; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
#q-public-site .q-token-foot span { font-size: 12px; letter-spacing: 2px; color: rgb(109, 135, 149); }
#q-public-site .q-token-foot button { border: 0px; background: rgb(234, 247, 248); color: rgb(0, 139, 148); border-radius: 8px; padding: 9px; font-size: 10px; font-weight: 800; }
#q-public-site .q-feature-note { font-size: 11px; color: rgb(130, 152, 163); line-height: 1.7; margin: 13px 0px 0px; }
@media (max-width: 1100px) {
  #q-public-site .q-premium-nav .site-links { gap: 0px; }
  #q-public-site .q-nav-trigger { padding: 10px 8px; font-size: 11px; }
  #q-public-site .q-mega { left: auto; right: -160px; transform: translateY(10px); }
  #q-public-site .q-nav-group.open .q-mega, #q-public-site .q-nav-group:hover .q-mega, #q-public-site .q-nav-group:focus-within .q-mega { transform: translateY(0px); }
}
@media (max-width: 850px) {
  #q-public-site .q-premium-nav { height: 78px; }
  #q-public-site .q-premium-nav .site-links { height: auto; overflow: auto; }
  #q-public-site .q-nav-group { height: auto; display: block; width: 100%; }
  #q-public-site .q-nav-trigger { width: 100%; justify-content: space-between; padding: 14px; font-size: 12px; }
  #q-public-site .q-mega { position: static; visibility: hidden; display: none; opacity: 1; width: 100%; box-shadow: none; border-radius: 12px; grid-template-columns: 1fr; pointer-events: auto; transform: none !important; }
  #q-public-site .q-nav-group.open .q-mega { display: grid; visibility: visible; }
  #q-public-site .q-mega-intro { padding: 18px; }
  #q-public-site .q-mega-intro strong { font-size: 17px; margin: 8px 0px; }
  #q-public-site .q-mega-items { grid-template-columns: 1fr 1fr; }
  #q-public-site .q-feature-grid { grid-template-columns: 1fr; }
  #q-public-site .q-client-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  #q-public-site .q-showcase { height: 650px; }
  #q-public-site .q-slide-copy h1 { font-size: 47px; letter-spacing: -2px; }
  #q-public-site .q-slide-shade { background: linear-gradient(90deg, rgba(7, 30, 48, 0.925), rgba(9, 43, 63, 0.76)), linear-gradient(0deg, rgba(7, 30, 48, 0.627), transparent); }
  #q-public-site .q-mega-items { grid-template-columns: 1fr; }
  #q-public-site .q-client-grid { grid-template-columns: 1fr 1fr; }
  #q-public-site .q-client-tile { min-height: 130px; padding: 10px; text-align: center; }
  #q-public-site .q-client-tile strong { font-size: 12px; }
  #q-public-site .q-chat-arrow { font-size: 16px; }
  #q-public-site .q-chat-bubble { max-width: 94%; }
  #q-public-site .q-hero-strip .site-container { display: grid; grid-template-columns: 1fr 1fr; }
}
#q-public-site .q-slide-arrows button, #q-public-site .q-chat-arrow { flex-shrink: 0; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0px !important; line-height: 1 !important; text-align: center !important; }
#q-public-site .q-chat-stage { gap: 22px; }
#q-public-site .q-chat-popup { min-width: 0px; animation: 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal both running qChatPopup; transform-origin: left bottom; box-shadow: rgba(13, 49, 71, 0.11) 0px 18px 45px; border-radius: 22px 22px 22px 5px; }
#q-public-site .q-chat-popup:nth-child(2) { animation-delay: 0.12s; transform-origin: right bottom; }
#q-public-site .q-chat-popup .q-chat-head { padding: 15px 18px; background: linear-gradient(110deg, rgb(16, 42, 67), rgb(23, 66, 108)); border-top: 4px solid var(--chat-accent); }
#q-public-site .q-chat-popup .q-chat-avatar { display: flex; align-items: center; justify-content: center; flex: 0 0 40px; height: 40px; background: var(--chat-accent); border-radius: 50%; }
#q-public-site .q-chat-popup .q-chat-body { padding: 22px 18px; min-height: 265px; gap: 17px; background: radial-gradient(circle at 15% 15%, rgb(231, 248, 248), transparent 65%), rgb(244, 248, 250); }
#q-public-site .q-chat-popup .q-chat-bubble { max-width: 92%; font-size: 13px; line-height: 1.65; padding: 13px 16px; }
#q-public-site .q-chat-popup .q-chat-bubble.outgoing { background: linear-gradient(125deg, rgb(16, 42, 67), rgb(1, 71, 79)); }
#q-public-site .q-chat-popup .q-chat-foot { padding: 13px 18px; border-top: 1px solid rgb(229, 239, 240); }
@keyframes qChatPopup {
  0% { opacity: 0; transform: translateY(22px) scale(0.96); }
  100% { opacity: 1; transform: translateY(0px) scale(1); }
}
@media (max-width: 700px) {
  #q-public-site .q-chat-stage { grid-template-columns: 1fr; }
  #q-public-site .q-chat-carousel { gap: 7px; }
  #q-public-site .q-chat-arrow { flex: 0 0 30px; }
}
#q-public-site { display: block; overflow: hidden auto !important; height: 100dvh !important; }
#q-public-site main { display: block !important; min-height: 0px !important; overflow: visible !important; }
#q-public-site .site-page { display: none !important; }
#q-public-site .site-page.active { display: block !important; }
#q-public-site > .site-footer { display: block !important; position: relative !important; visibility: visible !important; }
#q-public-site .site-links .q-mega a.on { background: transparent !important; color: rgb(66, 95, 112) !important; box-shadow: none !important; border-color: transparent !important; }
#q-public-site .site-links .q-mega a:hover { background: rgb(237, 248, 249) !important; color: rgb(1, 71, 79) !important; }
#q-public-site .q-nav-group.current-section > .q-nav-trigger { box-shadow: rgb(24, 194, 194) 0px -2px inset; color: rgb(1, 71, 79) !important; background: rgb(232, 246, 247) !important; }
#q-public-site .site-links > a.on { background: rgb(233, 250, 250) !important; color: rgb(0, 126, 136) !important; }
#q-public-site .q-slide-arrows button { display: grid !important; place-items: center !important; padding: 0px !important; line-height: 1 !important; text-indent: 0px !important; vertical-align: middle !important; font-family: inherit !important; font-size: 21px !important; box-sizing: border-box !important; }
#q-public-site .q-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px; }
#q-public-site .q-service-card { background: white; border-width: 4px 1px 1px; border-style: solid; border-color: rgb(24, 194, 194) rgb(220, 232, 236) rgb(220, 232, 236); border-image: none; border-radius: 18px; padding: 30px; box-shadow: rgba(18, 52, 75, 0.047) 0px 14px 40px; transition: transform 0.25s, box-shadow 0.25s; scroll-margin-top: 115px; }
#q-public-site .q-service-card:nth-child(2) { border-top-color: rgb(245, 130, 32); }
#q-public-site .q-service-card:nth-child(3) { border-top-color: rgb(23, 66, 108); }
#q-public-site .q-service-card:hover { transform: translateY(-5px); box-shadow: rgba(18, 52, 75, 0.1) 0px 20px 45px; }
#q-public-site .q-service-icon { width: 55px; height: 55px; border-radius: 14px; display: grid; place-items: center; background: rgb(224, 247, 247); color: rgb(8, 127, 139); font-size: 27px; margin-bottom: 24px; }
#q-public-site .q-service-icon.orange { background: rgb(255, 240, 223); color: rgb(222, 115, 16); }
#q-public-site .q-service-icon.blue { background: rgb(230, 238, 249); color: rgb(23, 66, 108); }
#q-public-site .q-service-meta { font-size: 10px; letter-spacing: 1.5px; font-weight: 850; color: rgb(12, 137, 146); margin-bottom: 9px; }
#q-public-site .q-service-card h3 { font-size: 22px; line-height: 1.25; letter-spacing: -0.5px; margin: 0px 0px 13px; }
#q-public-site .q-service-card p { font-size: 13px; color: rgb(99, 126, 142); line-height: 1.85; }
#q-public-site .q-service-card ul { padding-left: 19px; color: rgb(71, 105, 123); font-size: 12px; line-height: 2; margin: 17px 0px 22px; }
#q-public-site .q-service-card a { font-size: 12px; font-weight: 850; color: rgb(5, 140, 151); text-decoration: none; }
@media (max-width: 1000px) {
  #q-public-site .q-services-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 650px) {
  #q-public-site .q-services-grid { grid-template-columns: 1fr; }
}
#q-public-site .q-chat-carousel { display: flex !important; justify-content: center !important; }
#q-public-site .q-chat-stage { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; flex: 1 1 auto !important; min-width: 0px !important; overflow: visible !important; }
#q-public-site .q-chat-card { position: relative !important; overflow: visible !important; isolation: isolate !important; border-radius: 32px 32px 32px 13px !important; border: 1px solid rgb(215, 232, 236) !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(16, 42, 67, 0.106) 0px 24px 65px, rgba(16, 42, 67, 0.03) 0px 6px 16px !important; max-width: 700px !important; width: 100% !important; animation: 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal both running qV46In !important; }
#q-public-site .q-chat-card::after { content: ""; position: absolute; z-index: -1; right: 48px; bottom: -22px; width: 55px; height: 55px; background: white; transform: rotate(35deg) skew(-10deg, -10deg); border-radius: 0px 0px 13px; border-right: 1px solid rgb(215, 232, 236); border-bottom: 1px solid rgb(215, 232, 236); box-shadow: rgba(16, 42, 67, 0.027) 12px 12px 19px; }
#q-public-site .q-chat-head { padding: 26px 30px 18px !important; background: transparent !important; color: rgb(16, 42, 67) !important; border-radius: 32px 32px 0px 0px !important; gap: 17px !important; }
#q-public-site .q-chat-avatar { width: 62px !important; height: 62px !important; border-radius: 50% !important; border: 3px solid rgb(255, 255, 255) !important; outline: 2px solid var(--chat-accent,#18c2c2) !important; background: linear-gradient(135deg,var(--chat-accent,#18c2c2),#102a43) !important; box-shadow: rgba(16, 42, 67, 0.145) 0px 5px 15px !important; color: white !important; font-size: 27px !important; flex-shrink: 0 !important; }
#q-public-site .q-chat-head strong { font-size: 19px !important; letter-spacing: -0.5px !important; color: rgb(16, 42, 67) !important; }
#q-public-site .q-chat-head small { font-size: 11px !important; color: rgb(111, 135, 148) !important; margin-top: 5px !important; }
#q-public-site .q-chat-live { background: rgb(255, 244, 232) !important; color: rgb(182, 107, 22) !important; border: 1px solid rgb(247, 216, 177) !important; border-radius: 20px !important; padding: 7px 10px !important; font-size: 9px !important; white-space: nowrap !important; }
#q-public-site .q-chat-body { padding: 8px 30px 19px !important; min-height: 0px !important; background: white !important; gap: 12px !important; border-radius: 0px !important; }
#q-public-site .q-chat-bubble { max-width: 100% !important; align-self: stretch !important; border-radius: 14px !important; box-shadow: none !important; font-size: 15px !important; line-height: 1.85 !important; padding: 13px 17px !important; }
#q-public-site .q-chat-bubble.incoming { background: rgb(241, 247, 249) !important; color: rgb(70, 98, 115) !important; border-left: 3px solid var(--chat-accent,#18c2c2) !important; }
#q-public-site .q-chat-bubble.outgoing { background: rgb(249, 251, 252) !important; color: rgb(16, 42, 67) !important; border-top: 1px solid rgb(230, 238, 240) !important; border-right: 1px solid rgb(230, 238, 240) !important; border-left: 1px solid rgb(230, 238, 240) !important; border-image: none !important; border-bottom: 3px solid var(--chat-accent,#18c2c2) !important; font-weight: 550 !important; }
#q-public-site .q-chat-time { font-size: 10px !important; color: rgb(130, 153, 165) !important; text-align: left !important; margin-top: 6px !important; }
#q-public-site .q-chat-foot { padding: 14px 30px 23px !important; border-top: 1px solid rgb(237, 242, 244) !important; background: transparent !important; border-radius: 0px 0px 30px 12px !important; color: rgb(115, 141, 153) !important; }
#q-public-site .q-chat-foot span:first-child { color: var(--chat-accent,#18c2c2) !important; }
#q-public-site .q-chat-pips button.on { background: rgb(245, 130, 32) !important; width: 25px !important; border-radius: 12px !important; }
@keyframes qV46In {
  0% { opacity: 0; transform: translateY(16px) scale(0.975); }
  100% { opacity: 1; transform: translateY(0px) scale(1); }
}
@media (max-width: 560px) {
  #q-public-site .q-chat-carousel { gap: 6px !important; }
  #q-public-site .q-chat-arrow { flex-basis: 31px !important; width: 31px !important; height: 31px !important; }
  #q-public-site .q-chat-head { padding: 18px 16px 12px !important; gap: 10px !important; }
  #q-public-site .q-chat-avatar { width: 45px !important; height: 45px !important; }
  #q-public-site .q-chat-head strong { font-size: 15px !important; }
  #q-public-site .q-chat-live { font-size: 8px !important; padding: 5px !important; }
  #q-public-site .q-chat-body { padding: 6px 15px 15px !important; }
  #q-public-site .q-chat-bubble { font-size: 12px !important; padding: 10px 12px !important; }
  #q-public-site .q-chat-foot { padding: 12px 15px 17px !important; font-size: 9px !important; }
  #q-public-site .q-chat-card::after { right: 32px !important; }
}
#q-public-site .q47-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 23px; }
#q-public-site .q47-project { min-width: 0px; border: 1px solid rgb(223, 233, 237); border-radius: 19px; background: white; overflow: hidden; box-shadow: rgba(16, 42, 67, 0.03) 0px 9px 28px; transition: transform 0.3s, box-shadow 0.3s; }
#q-public-site .q47-project:hover { transform: translateY(-7px); box-shadow: rgba(16, 42, 67, 0.1) 0px 24px 50px; }
#q-public-site .q47-project-image { position: relative; }
#q-public-site .q47-project-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
#q-public-site .q47-project:hover img { transform: scale(1.06); }
#q-public-site .q47-image-fallback { position: absolute; inset: 0px; display: grid; place-items: center; color: rgba(255, 255, 255, 0.15); font-size: 84px; font-weight: 900; letter-spacing: -8px; z-index: 0; }
#q-public-site .q47-project-image img { position: relative; z-index: 1; }
#q-public-site .q47-project-image img[hidden] { display: none; }
#q-public-site .q47-project-index { position: absolute; top: 14px; right: 14px; z-index: 2; background: rgba(11, 41, 56, 0.74); color: white; font-size: 10px; font-weight: 800; padding: 7px 10px; border-radius: 8px; }
#q-public-site .q47-project-content { padding: 25px 24px 24px; border-top: 4px solid var(--project-accent); }
#q-public-site .q47-project-type { color: var(--project-accent); font-size: 10px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; }
#q-public-site .q47-project-content h3 { font-size: 20px; line-height: 1.35; letter-spacing: -0.5px; margin: 10px 0px; }
#q-public-site .q47-project-content p { font-size: 13px; line-height: 1.85; color: rgb(109, 131, 146); min-height: 95px; }
#q-public-site .q47-project-content a { display: inline-flex; justify-content: space-between; align-items: center; width: 100%; text-decoration: none; color: rgb(23, 66, 108); font-size: 12px; font-weight: 850; padding-top: 14px; border-top: 1px solid rgb(229, 238, 240); }
#q-public-site .q47-team-grid article { background: white; border: 1px solid rgb(224, 234, 238); border-radius: 18px; padding: 28px; }
#q-public-site .q47-team-icon { width: 50px; height: 50px; border-radius: 14px; background: rgb(230, 248, 248); color: rgb(1, 71, 79); display: grid; place-items: center; font-size: 25px; }
#q-public-site .q47-team-grid h3 { font-size: 18px; margin: 20px 0px 10px; }
#q-public-site .q47-team-grid p { font-size: 13px; line-height: 1.8; color: rgb(114, 135, 150); }
#q-public-site .q47-note { font-size: 11px; color: rgb(129, 151, 164); margin-top: 18px; }
#q-public-site .q47-quote-avatar { border-radius: 50%; display: grid; place-items: center; color: white; font-weight: 850; background: linear-gradient(135deg,var(--chat-accent),#102a43); }
#q-public-site .q47-quote-identity strong { display: block; color: rgb(16, 42, 67); }
#q-public-site .q47-quote-stars { line-height: 1; }
#q-public-site .q47-quote-foot { padding-top: 18px; }
@media (max-width: 900px) {
  #q-public-site .q47-project-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 620px) {
  #q-public-site .q47-project-grid, #q-public-site .q47-team-grid { grid-template-columns: 1fr; }
}
#q-public-site .q47-project-image { height: 185px !important; min-height: 185px !important; overflow: hidden !important; background: rgb(237, 247, 250) !important; display: block !important; }
#q-public-site .q47-project-image > img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important; transition: transform 0.55s !important; }
#q-public-site .q47-project:hover .q47-project-image > img { transform: scale(1.06); }
#q-public-site .q47-project-image .q47-image-fallback { display: none !important; }
#q-public-site .q47-team-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 20px !important; }
#q-public-site .q48-team-member { padding: 0px !important; background: white !important; border: 1px solid rgb(222, 235, 239) !important; border-radius: 17px !important; overflow: hidden !important; box-shadow: rgba(16, 42, 67, 0.043) 0px 12px 30px !important; transition: transform 0.25s, box-shadow 0.25s !important; }
#q-public-site .q48-team-member:hover { transform: translateY(-5px); box-shadow: rgba(16, 42, 67, 0.11) 0px 20px 45px !important; }
#q-public-site .q48-team-member img { display: block; width: 100%; height: 200px; object-position: center 36%; background: rgb(220, 236, 241); }
#q-public-site .q48-team-info { padding: 19px 20px 21px; border-top: 4px solid rgb(24, 194, 194); }
#q-public-site .q48-team-member:nth-child(3n+2) .q48-team-info { border-color: rgb(245, 130, 32); }
#q-public-site .q48-team-member:nth-child(3n+3) .q48-team-info { border-color: rgb(23, 66, 108); }
#q-public-site .q48-team-info h3 { margin: 0px 0px 5px; font-size: 16px; color: rgb(16, 42, 67); }
#q-public-site .q48-team-info p { margin: 0px; font-size: 12px; color: rgb(115, 139, 154); line-height: 1.6; }
@media (max-width: 750px) {
  #q-public-site .q47-team-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
}
@media (max-width: 470px) {
  #q-public-site .q47-team-grid { grid-template-columns: 1fr !important; }
}
.q47-project-image { background: rgb(234, 244, 248) !important; overflow: hidden !important; }
.q47-project-image img { object-fit: contain !important; object-position: center center !important; width: 100% !important; height: 100% !important; transform: none !important; image-rendering: auto !important; }
.q47-project:hover .q47-project-image img { transform: scale(1.025) !important; }
#q-public-site img[alt^="Original vector illustration"] { object-fit: contain !important; object-position: center center !important; background: rgb(234, 244, 248) !important; image-rendering: auto !important; }
#q-public-site .q-showcase .q-slide { background: linear-gradient(115deg, rgb(7, 30, 50), rgb(16, 42, 67) 45%, rgb(23, 66, 108)); }
#q-public-site .q-showcase .q-slide > img { position: absolute; left: 34%; right: 0px; top: 0px; filter: saturate(1.08) contrast(1.02); }
#q-public-site .q47-project-index, #q-public-site .q-showcase-count { display: none !important; }
@media (max-width: 720px) {
  #q-public-site .q-showcase .q-slide > img { left: 0px; width: 100%; opacity: 0.5; }
  #q-public-site .q-showcase .q-slide-shade { background: linear-gradient(90deg, rgba(6, 30, 50, 0.91), rgba(8, 38, 59, 0.816)) !important; }
}
#q-public-site .q-showcase .q-slide > img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important; }
#q-public-site .q-showcase .q-slide-shade { background: linear-gradient(90deg, rgba(4, 25, 43, 0.93) 0%, rgba(5, 31, 49, 0.82) 29%, rgba(5, 31, 49, 0.25) 66%, transparent 100%) !important; }
@media (max-width: 700px) {
  #q-public-site .q-showcase .q-slide > img { object-position: 60% center !important; }
  #q-public-site .q-showcase .q-slide-shade { background: linear-gradient(90deg, rgba(4, 25, 43, 0.94), rgba(5, 31, 49, 0.6)) !important; }
}
#q-public-site .q-chat-carousel { max-width: 960px !important; gap: 20px !important; margin: 30px auto 0px !important; align-items: center !important; }
#q-public-site .q-chat-stage { max-width: 780px !important; }
#q-public-site .q47-quote-card { width: 100% !important; max-width: 780px !important; min-height: 200px !important; padding: 30px 38px 25px !important; background: linear-gradient(125deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 70%, rgb(243, 251, 252) 100%) !important; border: 1px solid rgb(219, 233, 238) !important; border-radius: 27px !important; box-shadow: rgba(16, 42, 67, 0.082) 0px 16px 40px, rgba(16, 42, 67, 0.035) 0px 2px 7px !important; isolation: isolate !important; position: relative !important; animation: 0.45s ease 0s 1 normal both running qV46In !important; }
#q-public-site .q47-quote-card::after { content: "" !important; position: absolute !important; z-index: -1 !important; left: 55px !important; right: auto !important; bottom: -17px !important; width: 34px !important; height: 34px !important; background: rgb(255, 255, 255) !important; transform: rotate(45deg) !important; border-right: 1px solid rgb(219, 233, 238) !important; border-bottom: 1px solid rgb(219, 233, 238) !important; border-radius: 0px 0px 7px !important; box-shadow: rgba(16, 42, 67, 0.03) 6px 6px 13px !important; }
#q-public-site .q47-quote-card::before { content: "“" !important; position: absolute !important; right: 26px !important; top: 4px !important; font: 900 100px / 1 Georgia, serif !important; color: rgb(220, 239, 245) !important; z-index: -1 !important; pointer-events: none !important; }
#q-public-site .q47-quote-head { display: flex !important; align-items: center !important; gap: 19px !important; margin-bottom: 12px !important; }
#q-public-site .q47-quote-avatar { width: 74px !important; height: 74px !important; flex: 0 0 74px !important; border: 3px solid white !important; outline: 2px solid var(--chat-accent,#18c2c2) !important; box-shadow: rgba(16, 42, 67, 0.11) 0px 4px 16px !important; font-size: 28px !important; }
#q-public-site .q47-quote-identity { min-width: 0px !important; }
#q-public-site .q47-quote-identity strong { font-size: 18px !important; letter-spacing: -0.35px !important; margin-bottom: 8px !important; }
#q-public-site .q47-quote-stars { font-size: 20px !important; letter-spacing: 3px !important; color: rgb(245, 130, 32) !important; }
#q-public-site .q47-quote-copy { font-size: 15px !important; line-height: 1.8 !important; letter-spacing: 0px !important; color: rgb(64, 91, 108) !important; margin: 2px 0px 13px 93px !important; max-width: 590px !important; }
#q-public-site .q47-quote-foot { font-size: 9px !important; font-weight: 750 !important; letter-spacing: 0.9px !important; color: rgb(132, 155, 167) !important; border-top: 0px !important; padding: 0px !important; margin-left: 93px !important; }
#q-public-site .q-chat-arrow { width: 46px !important; height: 46px !important; flex: 0 0 46px !important; display: grid !important; place-items: center !important; padding: 0px !important; line-height: 1 !important; border-radius: 50% !important; }
#q-public-site .q-chat-pips { margin-top: 33px !important; }
@media (max-width: 620px) {
  #q-public-site .q-chat-carousel { gap: 7px !important; }
  #q-public-site .q47-quote-card { padding: 23px 17px 20px !important; min-height: 0px !important; border-radius: 20px !important; }
  #q-public-site .q47-quote-head { gap: 12px !important; }
  #q-public-site .q47-quote-avatar { width: 54px !important; height: 54px !important; flex-basis: 54px !important; font-size: 21px !important; }
  #q-public-site .q47-quote-identity strong { font-size: 15px !important; }
  #q-public-site .q47-quote-stars { font-size: 15px !important; letter-spacing: 1px !important; }
  #q-public-site .q47-quote-copy { margin-left: 0px !important; font-size: 13px !important; line-height: 1.7 !important; }
  #q-public-site .q47-quote-foot { margin-left: 0px !important; font-size: 8px !important; }
  #q-public-site .q47-quote-card::before { font-size: 65px !important; right: 12px !important; }
  #q-public-site .q47-quote-card::after { left: 30px !important; }
  #q-public-site .q-chat-arrow { width: 30px !important; height: 30px !important; flex-basis: 30px !important; }
}
@media (min-width: 851px) {
  #q-public-site .q-premium-nav { justify-content: flex-start !important; gap: clamp(12px, 1.4vw, 24px) !important; }
  #q-public-site .q-premium-nav .site-logo { margin-right: auto !important; }
  #q-public-site .q-premium-nav .site-links { margin-left: auto !important; margin-right: 0px !important; justify-content: flex-end !important; flex: 0 1 auto !important; }
  #q-public-site .q-premium-nav > .site-cta { flex-shrink: 0 !important; margin-left: clamp(8px, 1.3vw, 20px) !important; }
  #q-public-site .q-premium-nav .site-hamburger { margin-left: 0px !important; }
}
#q-public-site .site-page > .site-section { position: relative; }
#q-public-site .site-page > .site-section:nth-of-type(4n+1) { background: linear-gradient(125deg, rgb(255, 255, 255) 15%, rgb(240, 249, 251) 100%) !important; }
#q-public-site .site-page > .site-section:nth-of-type(4n+2) { background: linear-gradient(120deg, rgb(234, 242, 250) 0%, rgb(243, 248, 255) 48%, rgb(255, 255, 255) 100%) !important; }
#q-public-site .site-page > .site-section:nth-of-type(4n+3) { background: linear-gradient(115deg, rgb(255, 246, 236) 0%, rgb(255, 253, 249) 58%, rgb(254, 243, 231) 100%) !important; }
#q-public-site .site-page > .site-section:nth-of-type(4n) { background: linear-gradient(125deg, rgb(233, 248, 245) 0%, rgb(245, 251, 250) 56%, rgb(234, 244, 248) 100%) !important; }
#q-public-site .q-client-section { background: linear-gradient(125deg, rgb(255, 249, 240), rgb(255, 255, 255) 55%, rgb(247, 250, 255)) !important; }
#q-public-site .q-platform-showcase { background: linear-gradient(120deg, rgb(232, 244, 251), rgb(243, 249, 255) 55%, rgb(234, 247, 245)) !important; }
#q-public-site .site-page > .site-section .site-card, #q-public-site .site-page > .site-section .q-showcase-card { box-shadow: rgba(16, 42, 67, 0.04) 0px 8px 28px; }
#q-public-site .site-page > .site-section .site-card:hover { box-shadow: rgba(16, 42, 67, 0.125) 0px 20px 48px; }
#q-public-site .site-page > .site-section + .site-section { border-top: 1px solid rgba(23, 66, 108, 0.07); }
@media (max-width: 850px) {
  #q-public-site .q-premium-nav .site-links { margin-left: 0px !important; margin-right: 0px !important; }
}
.q55-solutions { padding: 58px 0px 76px; background: linear-gradient(150deg, rgb(244, 249, 252) 0%, rgb(255, 255, 255) 42%, rgb(234, 248, 248) 100%); }
.q55-heading { max-width: 750px; margin: 0px auto 34px; text-align: center; }
.q55-heading > span { font-size: 11px; font-weight: 800; letter-spacing: 2.3px; color: rgb(0, 143, 154); }
.q55-heading h2 { font-size: clamp(29px, 3.2vw, 47px); line-height: 1.14; color: rgb(16, 42, 67); margin: 10px 0px 14px; }
.q55-heading p { font-size: 15px; color: rgb(100, 124, 138); line-height: 1.7; }
.q55-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 20px; }
.q55-card { background: white; border: 1px solid rgb(220, 232, 238); border-radius: 19px; overflow: hidden; box-shadow: rgba(16, 42, 67, 0.047) 0px 9px 27px; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s; scroll-margin-top: 105px; }
.q55-card:hover { transform: translateY(-6px); box-shadow: rgba(16, 42, 67, 0.14) 0px 22px 44px; border-color: rgb(181, 215, 221); }
.q55-photo { height: 190px; overflow: hidden; background: rgb(234, 242, 245); }
.q55-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; transition: transform 0.55s; }
.q55-card:hover .q55-photo img { transform: scale(1.045); }
.q55-body { padding: 21px 21px 23px; position: relative; }
.q55-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-top: -43px; margin-bottom: 14px; position: relative; border: 3px solid white; border-radius: 12px; color: white; background: rgb(23, 66, 108); font-size: 20px; box-shadow: rgba(16, 42, 67, 0.17) 0px 5px 14px; }
.q55-blue { background: rgb(22, 118, 212); }
.q55-orange { background: rgb(245, 130, 32); }
.q55-purple { background: rgb(121, 80, 184); }
.q55-green { background: rgb(0, 158, 120); }
.q55-pink { background: rgb(239, 70, 123); }
.q55-navy { background: rgb(16, 42, 67); }
.q55-body h3 { font-size: 17px; line-height: 1.3; margin: 0px 0px 9px; color: rgb(16, 42, 67); }
.q55-body p { font-size: 13px; line-height: 1.6; color: rgb(96, 123, 137); min-height: 84px; margin: 0px 0px 15px; }
.q55-body a { font-size: 13px; font-weight: 750; text-decoration: none; color: rgb(8, 122, 168); }
.q55-body a:hover { color: rgb(245, 130, 32); }
.q-mega-items { display: grid !important; grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 6px !important; }
.q-mega-items a { min-width: 0px; }
.q-mega-items small { display: block; white-space: normal; }
@media (max-width: 1100px) {
  .q55-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .q55-body p { min-height: 0px; }
}
@media (max-width: 650px) {
  .q55-grid { grid-template-columns: 1fr; }
  .q55-photo { height: 220px; }
  .q55-solutions { padding: 35px 0px 50px; }
  .q-mega-items { grid-template-columns: 1fr !important; }
}
#q-public-site .q55-home-grid { margin-top: 28px; }
#q-public-site .q55-home-grid .q55-photo { height: 175px; }
#q-public-site .q55-card .q55-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; }
#q-public-site .q55-card .q55-body { min-height: 175px; }
@media (max-width: 1100px) {
  #q-public-site .q55-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 600px) {
  #q-public-site .q55-grid { grid-template-columns: 1fr; }
}
#q-public-site .q55-heading { max-width: 760px !important; margin: 0px 0px 38px !important; text-align: left !important; }
#q-public-site .q55-heading h2 { max-width: 760px; }
#q-public-site .q55-heading p { max-width: 710px; }
#q-public-site .q58-builder-section { padding: 92px 0px 100px; background: linear-gradient(135deg, rgb(225, 239, 246) 0%, rgb(238, 247, 248) 52%, rgb(220, 241, 237) 100%); border-top: 1px solid rgb(207, 226, 232); border-bottom: 1px solid rgb(207, 226, 232); }
#q-public-site .q58-builder-heading { max-width: 850px; margin: 0px 0px 35px; }
#q-public-site .q58-builder-visual { border-radius: 24px; overflow: hidden; box-shadow: rgba(16, 42, 67, 0.15) 0px 22px 55px; border: 1px solid rgb(213, 233, 233); }
#q-public-site .q58-builder-visual img { display: block; width: 100%; height: auto; aspect-ratio: 1440 / 780; object-fit: contain; }
#q-public-site .q58-builder-steps { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px; margin-top: 24px; }
#q-public-site .q58-builder-steps > div { background: rgb(255, 255, 255); border: 1px solid rgb(223, 234, 236); border-radius: 17px; padding: 25px; box-shadow: rgba(16, 42, 67, 0.035) 0px 10px 25px; }
#q-public-site .q58-builder-steps b { color: rgb(0, 143, 154); font-size: 12px; letter-spacing: 1.3px; }
#q-public-site .q58-builder-steps h3 { font-size: 19px; margin: 12px 0px; color: rgb(16, 42, 67); }
#q-public-site .q58-builder-steps p { font-size: 14px; line-height: 1.8; color: rgb(100, 124, 138); margin: 0px; }
#q-public-site .q58-builder-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
#q-public-site .q58-solution-bridge { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 30px; padding-bottom: 75px; }
#q-public-site .q58-solution-bridge h2 { font-size: 30px; color: rgb(16, 42, 67); margin: 10px 0px; }
#q-public-site .q58-solution-bridge p { font-size: 14px; line-height: 1.7; color: rgb(100, 124, 138); max-width: 620px; }
@media (max-width: 750px) {
  #q-public-site .q58-builder-steps { grid-template-columns: 1fr; }
  #q-public-site .q58-builder-section { padding: 56px 0px; }
  #q-public-site .q58-solution-bridge { flex-direction: column; align-items: flex-start; }
  #q-public-site .q58-builder-visual { border-radius: 12px; }
}
#q-public-site .q-header-image-logo, #q-public-site .q-footer-image-logo { align-items: center; line-height: 0; flex-shrink: 0; display: inline-flex !important; }
#q-public-site .q-header-image-logo { gap: 0; }
#q-public-site .q-header-image-logo img { display: block !important; height: auto !important; max-width: none !important; object-fit: contain !important; }
#q-public-site .q-header-image-logo .q-header-symbol { width: 58px !important; height: 58px !important; }
#q-public-site .q-header-image-logo .q-header-wordmark { width: 120px !important; }
#q-public-site .q-footer-image-logo img { display: block !important; object-fit: contain !important; background: transparent !important; border-radius: 0px !important; padding: 0px !important; }
#q-public-site .q-footer-image-logo, #q-public-site .q-footer-image-logo img { background: transparent !important; padding: 0px !important; border-radius: 0px !important; box-shadow: none !important; }
#q-public-site { --site-header-height: 84px; scroll-padding-top: 72px; }
#q-public-site .site-nav { height: var(--site-header-height); transition: height 0.2s, box-shadow 0.2s; }
#q-public-site .q-header-image-logo img { transition: height 0.2s, width 0.2s; }
#q-public-site.is-scrolled { --site-header-height: 60px; }
#q-public-site.is-scrolled .site-nav { box-shadow: rgba(8, 40, 60, 0.086) 0px 4px 18px; }
#q-public-site.is-scrolled .q-header-image-logo .q-header-symbol { width: 58px !important; height: 58px !important; }
#q-public-site.is-scrolled .q-header-image-logo .q-header-wordmark { width: 104px !important; }
@media (max-width: 850px) {
  #q-public-site { --site-header-height: 72px; }
  #q-public-site.is-scrolled { --site-header-height: 58px; }
  #q-public-site .q-premium-nav .site-links { top: 100%; max-height: calc(100dvh - var(--site-header-height)); }
  #q-public-site .site-section, #q-public-site .q58-builder-section, #q-public-site .q55-solutions { padding-top: 44px !important; padding-bottom: 44px !important; }
  #q-public-site .site-section-head, #q-public-site .q58-builder-heading { margin-bottom: 24px; }
  #q-public-site .q55-heading { margin-bottom: 24px !important; }
  #q-public-site .q58-solution-bridge { padding-top: 24px; padding-bottom: 32px; gap: 18px; }
}
@media (max-width: 560px) {
  #q-public-site { --site-header-height: 68px; }
  #q-public-site .site-section, #q-public-site .q58-builder-section, #q-public-site .q55-solutions { padding-top: 32px !important; padding-bottom: 32px !important; }
  #q-public-site .site-inner-hero { padding: 38px 0px 30px; }
  #q-public-site .site-section-head, #q-public-site .q58-builder-heading { margin-bottom: 20px; }
  #q-public-site .q55-heading { margin-bottom: 20px !important; }
  #q-public-site .q58-solution-bridge { padding-top: 20px; padding-bottom: 24px; }
  #q-public-site .q58-builder-steps { gap: 14px; margin-top: 18px; }
  #q-public-site .q58-builder-actions { gap: 10px; margin-top: 20px; }
}
@media (max-width: 560px) {
  #q-public-site .site-report-bars { gap: 5px; padding-inline: 0px; }
  #q-public-site .site-report-bars small { font-size: 8px; }
}
@media (min-width: 851px) {
  #q-public-site .site-section { padding-top: 88px; padding-bottom: 88px; }
  #q-public-site .q58-builder-section { padding-top: 78px; padding-bottom: 84px; }
  #q-public-site .q55-solutions { padding-top: 50px; padding-bottom: 64px; }
  #q-public-site .q58-solution-bridge { padding-bottom: 60px; }
}
#q-public-site .q-footer-image-logo img { width: 60px !important; height: 60px !important; }
#q-public-site .q48-team-member img { object-fit: contain; }
@media (min-width: 901px) {
  #q-public-site .q47-team-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)) !important; }
  #q-public-site .q47-team-grid > .q48-team-member:nth-child(5) { grid-column: 2; }
  #q-public-site .q47-team-grid > .q48-team-member:nth-child(6) { grid-column: 3; }
}
#q-public-site .site-contact-details { margin: 18px 0px; font-size: 12px; line-height: 1.8; }
#q-public-site .site-contact-details h4 { margin-bottom: 10px; }
#q-public-site .site-contact-details p { max-width: 250px; color: rgb(185, 208, 220); margin: 0px 0px 10px; }
#q-public-site [id] { scroll-margin-top: 80px; }
#q-public-site .site-footer-grid { grid-template-columns: minmax(210px, 1.6fr) repeat(5, minmax(0px, 1fr)); gap: 24px; }
#q-public-site .site-footer-grid > div { min-width: 0px; }
#q-public-site .site-footer-grid a { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  #q-public-site .site-footer-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 30px; }
}
@media (max-width: 850px) {
  #q-public-site .site-footer-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 560px) {
  #q-public-site .site-footer-grid { grid-template-columns: 1fr; gap: 28px; }
}
#q-public-site .site-footer-bottom { align-items: center; }
#q-public-site .site-footer-bottom .q-social-links { margin: 0px 0px 0px auto; align-items: center; }
#q-public-site .site-footer-bottom .q-social-links svg { display: block; width: 18px; height: 18px; fill: currentcolor; }
#q-public-site .q-social-links a:focus-visible { outline: rgb(24, 194, 194) solid 2px; outline-offset: 3px; }
@media (max-width: 560px) {
  #q-public-site .site-footer-bottom .q-social-links { align-self: flex-end; }
}
#q-public-site .site-policy-copy { max-width: 900px; color: rgb(66, 95, 112); line-height: 1.85; font-size: 14px; }
#q-public-site .site-policy-copy h2 { font-size: 20px; color: rgb(16, 42, 67); margin: 30px 0px 12px; }
#q-public-site .site-policy-copy h2:first-child { margin-top: 0px; }
#q-public-site .site-policy-copy p { margin: 0px 0px 16px; }
#q-public-site .site-policy-copy ul { padding-left: 22px; margin: 0px 0px 20px; }
#q-public-site .site-policy-copy li { margin-bottom: 6px; }
#q-public-site .contact-phones { display: inline-block; white-space: nowrap; }
#q-public-site .contact-phones a { display: inline; margin: 0px; white-space: nowrap; }
#q-public-site .q-social-links .social-linkedin:hover, #q-public-site .q-social-links .social-linkedin:focus-visible { background: rgb(10, 102, 194); border-color: rgb(10, 102, 194); }
#q-public-site .q-social-links .social-facebook:hover, #q-public-site .q-social-links .social-facebook:focus-visible { background: rgb(24, 119, 242); border-color: rgb(24, 119, 242); }
#q-public-site .q-social-links .social-youtube:hover, #q-public-site .q-social-links .social-youtube:focus-visible { background: rgb(255, 0, 0); border-color: rgb(255, 0, 0); }
#q-public-site .q-social-links .social-instagram:hover, #q-public-site .q-social-links .social-instagram:focus-visible { background: linear-gradient(135deg, rgb(131, 58, 180), rgb(225, 48, 108), rgb(247, 119, 55)); border-color: rgb(225, 48, 108); }
#q-public-site .site-service-section { background: radial-gradient(at 0px 10%, rgba(24, 194, 194, 0.08), transparent 45%), linear-gradient(145deg, rgb(237, 245, 249), rgb(249, 252, 252) 55%, rgb(238, 248, 246)) !important; }
#q-public-site .service-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 36px; }
#q-public-site .service-section-heading .site-section-head { margin: 0px; max-width: 690px; }
#q-public-site .service-section-heading h2 { font-size: clamp(28px, 3.2vw, 42px); line-height: 1.15; letter-spacing: -1.3px; }
#q-public-site .service-section-heading h2 em { font-style: normal; color: rgb(1, 142, 148); }
#q-public-site .service-section-heading > .site-button { flex-shrink: 0; margin-bottom: 5px; }
#q-public-site .site-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 28px; }
#q-public-site .service-reveal { min-width: 0px; transition-delay: var(--reveal-delay,0ms); }
#q-public-site .site-service-card { height: 100%; display: flex; flex-direction: column; background: white; border: 1px solid rgb(220, 232, 237); border-radius: 22px; overflow: hidden; box-shadow: rgba(16, 42, 67, 0.027) 0px 8px 22px; scroll-margin-top: 80px; transition: transform 0.38s cubic-bezier(0.2, 0.75, 0.3, 1), box-shadow 0.38s, border-color 0.38s; }
#q-public-site .site-service-media { height: 205px; position: relative; overflow: hidden; background: rgb(16, 42, 67); }
#q-public-site .site-service-photo { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.85s cubic-bezier(0.2, 0.75, 0.3, 1), filter 0.7s; filter: saturate(0.8); }
#q-public-site .site-service-shade { position: absolute; inset: 0px; background: linear-gradient(rgba(7, 31, 44, 0.082) 25%, rgba(7, 31, 44, 0.66)); transition: opacity 0.4s; }
#q-public-site .site-service-number { position: absolute; top: 16px; right: 18px; font-size: 12px; letter-spacing: 1px; font-weight: 750; color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.082); border: 1px solid rgba(255, 255, 255, 0.333); border-radius: 50%; width: 34px; height: 34px; display: grid; place-items: center; backdrop-filter: blur(6px); }
#q-public-site .site-service-caption { position: absolute; bottom: 19px; right: 22px; color: rgba(255, 255, 255, 0.85); font-size: 9px; font-weight: 750; letter-spacing: 2px; }
#q-public-site .site-service-body { padding: 0px 26px 24px; display: flex; flex-direction: column; flex: 1 1 0%; position: relative; }
#q-public-site .site-service-icon { width: 58px; height: 58px; display: grid; place-items: center; margin: -29px 0px 21px; border: 5px solid white; border-radius: 17px; background: var(--service-accent); color: white; box-shadow: rgba(16, 42, 67, 0.125) 0px 7px 18px; transition: transform 0.4s, box-shadow 0.4s; }
#q-public-site .site-service-icon svg { width: 25px; height: 25px; }
#q-public-site .site-service-card h3 { color: rgb(16, 42, 67); font-size: 21px; line-height: 1.3; letter-spacing: -0.5px; margin: 0px 0px 13px; max-width: 290px; transition: color 0.3s; }
#q-public-site .site-service-card p { color: rgb(108, 129, 144); font-size: 13px; line-height: 1.85; margin: 0px 0px 20px; flex: 1 1 0%; }
#q-public-site .site-service-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0px 0px 23px; }
#q-public-site .site-service-tags span { color: rgb(75, 109, 126); background: rgb(241, 246, 248); border: 1px solid rgb(229, 237, 240); border-radius: 6px; padding: 6px 8px; font-size: 9px; font-weight: 650; transition: background 0.3s, color 0.3s; }
#q-public-site .site-service-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid rgb(231, 238, 241); padding-top: 17px; color: rgb(23, 66, 108); text-decoration: none; font-size: 12px; font-weight: 800; transition: color 0.3s; }
#q-public-site .site-service-link > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: rgb(237, 246, 247); color: rgb(1, 71, 79); font-size: 18px; transition: transform 0.35s, background 0.35s, color 0.35s; }
#q-public-site .site-service-card:focus-within { border-color: var(--service-accent); box-shadow: rgba(16, 42, 67, 0.094) 0px 18px 40px; }
#q-public-site .site-service-link:focus-visible { outline: rgb(24, 194, 194) solid 2px; outline-offset: 4px; border-radius: 3px; }
@media (hover: hover) {
  #q-public-site .site-service-card:hover { transform: translateY(-9px); border-color: var(--service-accent); box-shadow: rgba(16, 42, 67, 0.11) 0px 24px 45px; }
  #q-public-site .site-service-card:hover .site-service-photo { transform: scale(1.085); filter: saturate(1.12); }
  #q-public-site .site-service-card:hover .site-service-icon { transform: translateY(-4px) rotate(-5deg); box-shadow: rgba(16, 42, 67, 0.173) 0px 10px 22px; }
  #q-public-site .site-service-card:hover .site-service-link { color: rgb(1, 142, 148); }
  #q-public-site .site-service-card:hover .site-service-link > span { background: var(--service-accent); color: white; transform: rotate(45deg); }
  #q-public-site .site-service-card:hover .site-service-tags span { background: rgb(234, 247, 246); color: rgb(1, 71, 79); }
}
@media (max-width: 1000px) {
  #q-public-site .service-section-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
}
@media (max-width: 900px) {
  #q-public-site .site-services-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 22px; }
}
@media (max-width: 600px) {
  #q-public-site .site-services-grid { grid-template-columns: 1fr; gap: 24px; }
  #q-public-site .site-service-media { height: 210px; }
  #q-public-site .site-service-body { padding: 0px 22px 22px; }
  #q-public-site .service-reveal { transition-delay: 0ms; }
  #q-public-site .service-section-heading { margin-bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  #q-public-site .service-reveal { opacity: 1; transform: none; transition: none; }
  #q-public-site .site-service-card, #q-public-site .site-service-card * { transition: none !important; }
  #q-public-site .site-service-card:hover, #q-public-site .site-service-card:hover .site-service-icon, #q-public-site .site-service-card:hover .site-service-photo, #q-public-site .site-service-card:hover .site-service-link > span { transform: none; }
}
body, #q-public-site, #q-public-site .site-footer { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
#q-public-site button, #q-public-site input, #q-public-site select, #q-public-site textarea { font-family: inherit; }
#q-public-site .q47-quote-copy { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important; }
@media (min-width: 851px) {
  #q-public-site .q-slide-copy h1 { max-width: 1000px; font-size: clamp(48px, 6.2vw, 86px); letter-spacing: -4px; line-height: 1.04; }
  #q-public-site .q-slide-copy h1 em { white-space: nowrap; }
}
#q-public-site .site-footer .q-social-links a:hover, #q-public-site .site-footer .q-social-links a:focus-visible { color: rgb(255, 255, 255); }
#q-public-site .contact-info-list { display: grid; gap: 0px; margin: 28px 0px 0px; padding: 8px 20px; background: rgb(255, 255, 255); border: 1px solid rgb(220, 233, 237); border-radius: 14px; box-shadow: rgba(16, 42, 67, 0.02) 0px 6px 20px; }
#q-public-site .contact-info-item { display: flex; align-items: flex-start; gap: 14px; padding: 17px 0px; border-bottom: 1px solid rgb(237, 242, 244); }
#q-public-site .contact-info-item:last-child { border-bottom: 0px; }
#q-public-site .contact-info-item > div { min-width: 0px; }
#q-public-site .contact-info-icon { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 10px; background: rgb(233, 248, 247); color: rgb(1, 71, 79); font-size: 20px; }
#q-public-site .contact-info-item dt { color: rgb(106, 130, 144); font-size: 10px; letter-spacing: 0.8px; text-transform: uppercase; font-weight: 750; margin: 0px 0px 5px; }
#q-public-site .contact-info-item dd { margin: 0px; color: rgb(36, 70, 90); font-size: 13px; line-height: 1.8; }
#q-public-site .contact-info-item a { color: rgb(1, 71, 79); font-weight: 600; text-decoration: none; text-underline-offset: 3px; }
#q-public-site .contact-info-item a:hover { color: rgb(8, 127, 134); text-decoration: underline; }
#q-public-site .contact-info-item .contact-phones { font-size: 12px; }
#q-public-site .q-map-info p a { color: rgb(211, 255, 252); text-decoration: underline; text-underline-offset: 3px; }
#q-public-site .q-map-info p a:hover { color: rgb(255, 255, 255); }
#q-public-site .contact-info-item a:focus-visible, #q-public-site .q-map-info p a:focus-visible { outline: rgb(24, 194, 194) solid 2px; outline-offset: 3px; }
@media (max-width: 560px) {
  #q-public-site .contact-info-list { padding: 6px 14px; }
  #q-public-site .contact-info-item { gap: 10px; }
}
@media (min-width: 851px) {
  #q-public-site .site-contact-grid { align-items: stretch; }
  #q-public-site .site-contact-grid > div:first-child { display: flex; flex-direction: column; }
  #q-public-site .site-contact-grid > div:first-child > .site-feature-list { margin-bottom: 28px; }
  #q-public-site .site-contact-grid .contact-info-list { margin-top: auto; margin-bottom: 0px; }
  #q-public-site .site-contact-grid > .site-contact-form { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; }
  #q-public-site .site-contact-grid > .site-contact-form textarea { flex: 1 1 0%; }
}
#q-public-site .q-map-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; width: 100%; }
#q-public-site .q-map-actions .q-map-open { margin-top: 0px; white-space: nowrap; }
@media (min-width: 981px) {
  #q-public-site .q-map-grid { grid-template-columns: 3fr 2fr; align-items: stretch; }
  #q-public-site .q-map-frame { position: relative; height: auto; min-height: 410px; }
  #q-public-site .q-map-frame iframe { position: absolute; inset: 0px; }
  #q-public-site .q-map-info { min-height: 410px; }
  #q-public-site .q-map-actions { flex-wrap: nowrap; }
}
#q-public-site #q-site-contact-status { color: rgb(7, 139, 147); }
#q-public-site #q-site-contact-status[data-state="error"] { color: rgb(181, 34, 45); }
#q-public-site #q-site-contact button:disabled { opacity: 0.65; cursor: wait; }
#q-public-site .site-footer .q-footer-compact-brand { align-items: center; gap: 11px; margin-bottom: 16px; text-decoration: none; display: inline-flex !important; }
#q-public-site .site-footer .q-footer-compact-brand .q-footer-logo-box { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; background: rgb(255, 255, 255); border-radius: 10px; overflow: hidden; }
#q-public-site .site-footer .q-footer-compact-brand .q-footer-logo-box img { display: block !important; width: 40px !important; height: 40px !important; object-fit: contain !important; }
#q-public-site .site-footer .q-footer-compact-brand .q-footer-brand-name { color: rgb(255, 255, 255); font-size: 22px; font-weight: 800; line-height: 1; letter-spacing: -0.8px; }
