/* Quant Leaf Labs contact page */
.qll-c-hero, .qll-c-methods, .qll-c-faq, .qll-c-cta, .qll-c-panel, .page-id-108 .qll-form-sec { font-family: 'Jost', sans-serif; }
.qll-k { font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #36708F; }
.qll-c-btn { display: inline-block; font-family: 'Jost', sans-serif; font-size: 16px; font-weight: 600; padding: 14px 28px; border-radius: 28px; text-decoration: none;
  background: #2F4659; color: #FFFFFF !important; border: 1.5px solid #2F4659; transition: background 0.2s, color 0.2s; }
.qll-c-btn.ghost { background: transparent; color: #2F4659 !important; }
.qll-c-btn:focus-visible, .qll-m:focus-visible { outline: 3px solid #77F2F2; outline-offset: 3px; }
/* hero */
.qll-c-hero { position: relative; overflow: hidden; background: #2F4659; min-height: 440px; display: flex; align-items: center; }
.qll-c-hero svg.qll-c-dots { position: absolute; inset: 0; width: 100%; height: 100%; }
.qll-c-in { position: relative; z-index: 1; width: 100%; max-width: 1320px; margin: 0 auto; padding: 64px 60px; }
.qll-c-hero .qll-k { color: #77F2F2; }
.qll-c-hero h1 { margin: 14px 0 14px; padding: 0; font-family: 'Jost', sans-serif; font-size: 60px; line-height: 1.05; font-weight: 600; color: #E6FBFB; }
.qll-c-hero p { margin: 0 0 24px; padding: 0; font-size: 19px; line-height: 1.55; color: #B8C7D3; max-width: 480px; }
.qll-c-hero .qll-c-btn { background: #77F2F2; border-color: #77F2F2; color: #1B2838 !important; }
@media (max-width: 1099px) { .qll-c-hero { display: block; min-height: 0; } .qll-c-in { padding: 52px 40px 170px; } }
@media (max-width: 767px) { .qll-c-in { padding: 40px 20px 150px; } .qll-c-methods { padding-top: 40px; } .qll-c-hero h1 { font-size: 42px; } .qll-c-hero p { font-size: 16px; } }
/* contact methods */
.qll-c-methods { background: #F6F8FA; padding: 56px 24px 64px; }
.qll-c-wrap { max-width: 1180px; margin: 0 auto; position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.qll-m { display: flex; flex-direction: column; gap: 4px; background: #FFFFFF; border: 1px solid #D9DDE3; border-radius: 18px; padding: 24px 22px 26px; text-decoration: none;
  box-shadow: 0 10px 30px rgba(27,40,56,0.08); transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
.qll-m:hover { transform: translateY(-3px); border-color: #77F2F2; box-shadow: 0 14px 34px rgba(27,40,56,0.14); }
.qll-m-ic { width: 56px; height: 56px; border-radius: 16px; background: #E6FBFB; color: #2F4659; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.qll-m-ic svg { width: 32px; height: 32px; }
.qll-m .qll-draw { stroke-dasharray: 1; stroke-dashoffset: 0; }
.qll-m .qll-typing circle { fill: #3F7FA0; opacity: 0.35; transition: opacity 0.2s; } .qll-m .qll-typing circle.on { opacity: 1; }
.qll-m-t { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #36708F; font-weight: 500; }
.qll-m-v { font-size: 19px; font-weight: 600; color: #2F4659; word-break: break-word; }
.qll-m-d { font-size: 14px; color: #5B6664; line-height: 1.5; }
@media (max-width: 1000px) { .qll-c-wrap { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .qll-c-wrap { grid-template-columns: 1fr; } }
/* form section: the Divi form, restyled */
.page-id-108 .qll-form-sec { background: #FFFFFF !important; padding: 72px 0 80px !important; }
.page-id-108 .qll-form-sec .et_pb_row { width: 90% !important; max-width: 1180px !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
.page-id-108 .qll-form-sec .et_pb_column { background: transparent !important; box-shadow: none !important; }
.qll-c-panel { padding-right: 12px; }
.qll-c-panel h2 { font-family: 'Jost', sans-serif; margin: 10px 0 12px; padding: 0; font-size: 32px; line-height: 1.2; font-weight: 600; color: #2F4659; }
.qll-c-panel p { margin: 0 0 8px; padding: 0; font-size: 15.5px; color: #5B6664; }
.qll-c-panel ul { list-style: none; margin: 0; padding: 0; }
.qll-c-panel li { position: relative; padding: 7px 0 7px 26px; font-size: 15.5px; color: #14211F; border-bottom: 1px solid #EEF0F2; line-height: 1.45; }
.qll-c-panel li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid #3F7FA0; }
.qll-c-panel .qll-rc { margin-top: 16px; font-size: 12.5px; line-height: 1.5; color: #5B6664; } .qll-c-panel .qll-rc a { color: inherit; text-decoration: underline; }
.page-id-108 .grecaptcha-badge { visibility: hidden !important; }
.qll-c-plate { width: 120px; margin-bottom: 18px; } .qll-c-plate svg { width: 120px; height: auto; display: block; }
.qll-c-plate rect { fill: none; stroke: #2F4659; stroke-width: 2; } .qll-c-plate .qll-cw { fill: #FFFFFF; stroke: #3F7FA0; stroke-width: 1.4; transition: fill 0.25s; }
.qll-c-plate .qll-cw.on { fill: #2F4659; stroke: #2F4659; }
.page-id-108 .qll-form .et_pb_contact_main_title { display: none; }
.page-id-108 .qll-form { background: #F6F8FA !important; border: 1px solid #D9DDE3; border-radius: 20px; padding: 32px 30px 30px !important; box-shadow: none !important; }
.page-id-108 .qll-form .et_pb_contact_field input, .page-id-108 .qll-form .et_pb_contact_field textarea, .page-id-108 .qll-form .et_pb_contact_field select {
  font-family: 'Jost', sans-serif !important; font-size: 16px !important; color: #14211F !important; background: #FFFFFF !important; border: 1px solid #D9DDE3 !important;
  border-radius: 12px !important; padding: 14px 16px !important; line-height: 1.4 !important; transition: border-color 0.2s, box-shadow 0.2s; }
.page-id-108 .qll-form .et_pb_contact_field input:focus, .page-id-108 .qll-form .et_pb_contact_field textarea:focus {
  border-color: #3F7FA0 !important; box-shadow: 0 0 0 3px rgba(119,242,242,0.45) !important; outline: none; }
.page-id-108 .qll-form ::placeholder { color: #5B6664 !important; opacity: 1; font-family: 'Jost', sans-serif !important; }
.page-id-108 .qll-form .et_pb_contact_submit, .page-id-108 .qll-form .et_pb_button { font-family: 'Jost', sans-serif !important; font-size: 16px !important; font-weight: 600 !important;
  letter-spacing: 0 !important; color: #FFFFFF !important; background: #2F4659 !important; border: 0 !important; border-radius: 28px !important; padding: 14px 32px !important; }
.page-id-108 .qll-form .et_pb_contact_submit:hover { background: #1B2838 !important; }
/* after sending: a clear confirmation in place of the form */
.page-id-108 .qll-form .et-pb-contact-message { display: flex; gap: 14px; align-items: center; font-family: 'Jost', sans-serif; color: #2F4659; font-size: 19px; font-weight: 500; line-height: 1.5; margin: 0; padding: 8px 4px; }
.page-id-108 .qll-form .et-pb-contact-message p { margin: 0; padding: 0; }
.page-id-108 .qll-form .et-pb-contact-message::before { content: ""; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: #77F2F2
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2838' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 24px no-repeat; }
html[data-theme="dark"] .page-id-108 .qll-form .et-pb-contact-message { color: #E6FBFB; }
/* FAQ */
.qll-c-faq { background: #F6F8FA; padding: 76px 24px 80px; }
.qll-c-wrap2 { max-width: 1060px; margin: 0 auto; text-align: center; }
.qll-c-faq h2, .qll-c-cta h2 { font-family: 'Jost', sans-serif; margin: 10px 0 30px; padding: 0; font-size: 32px; font-weight: 600; color: #2F4659; }
.qll-qs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; text-align: left; margin-bottom: 30px; align-items: start; }
.qll-q { background: #FFFFFF; border: 1px solid #D9DDE3; border-radius: 14px; padding: 0 20px; }
.qll-q summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 18px 0; font-size: 16.5px; font-weight: 600; color: #2F4659; }
.qll-q summary::-webkit-details-marker { display: none; }
.qll-q summary i { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; background: #E6FBFB; position: relative; }
.qll-q summary i::before, .qll-q summary i::after { content: ""; position: absolute; left: 6px; right: 6px; top: 10px; height: 2px; background: #2F4659; transition: transform 0.2s; }
.qll-q summary i::after { transform: rotate(90deg); } .qll-q[open] summary i::after { transform: rotate(0); }
.qll-q p { margin: 0; padding: 0 0 18px; font-size: 15px; line-height: 1.65; color: #5B6664; }
@media (max-width: 860px) { .qll-qs { grid-template-columns: 1fr; } }
/* closing band */
.qll-c-cta { background: #FFFFFF; padding: 76px 24px 84px; }
.qll-c-cta h2 { margin-bottom: 12px; } .qll-c-cta p { margin: 0 auto 26px; padding: 0; max-width: 620px; font-size: 16.5px; line-height: 1.6; color: #5B6664; }
.qll-c-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
/* dark mode */
html[data-theme="light"] .qll-c-hero { background: #F6F8FA; } html[data-theme="light"] .qll-c-hero h1 { color: #2F4659; }
html[data-theme="light"] .qll-c-hero p { color: #5B6664; } html[data-theme="light"] .qll-c-hero .qll-k { color: #36708F; }
html[data-theme="light"] .qll-c-hero .qll-c-btn { background: #2F4659; border-color: #2F4659; color: #FFFFFF !important; }
html[data-theme="dark"] .qll-c-methods, html[data-theme="dark"] .qll-c-faq { background: #1B2838; }
html[data-theme="dark"] .qll-m, html[data-theme="dark"] .qll-q { background: #2F4659; border-color: #3A5568; }
html[data-theme="dark"] .qll-m-v, html[data-theme="dark"] .qll-q summary, html[data-theme="dark"] .qll-c-panel h2, html[data-theme="dark"] .qll-c-faq h2, html[data-theme="dark"] .qll-c-cta h2 { color: #E6FBFB; }
html[data-theme="dark"] .qll-m-d, html[data-theme="dark"] .qll-q p, html[data-theme="dark"] .qll-c-panel p, html[data-theme="dark"] .qll-c-cta p { color: #B8C7D3; }
html[data-theme="dark"] .qll-m-t, html[data-theme="dark"] .qll-k { color: #77F2F2; }
html[data-theme="dark"] .page-id-108 .qll-form-sec, html[data-theme="dark"] .qll-c-cta { background: #1B2838 !important; }
html[data-theme="dark"] .qll-c-panel li { color: #E6FBFB; border-color: #3A5568; } html[data-theme="dark"] .qll-c-panel .qll-rc { color: #B8C7D3; }
html[data-theme="dark"] .page-id-108 .qll-form { background: #2F4659 !important; border-color: #3A5568; }
html[data-theme="dark"] .qll-c-btn { background: #77F2F2; border-color: #77F2F2; color: #1B2838 !important; }
html[data-theme="dark"] .qll-c-btn.ghost { background: transparent; color: #77F2F2 !important; }
html[data-theme="dark"] .qll-c-plate rect { stroke: #E6FBFB; }
html[data-theme="dark"] .qll-c-plate .qll-cw { fill: #1B2838; stroke: #6FA9C4; } html[data-theme="dark"] .qll-c-plate .qll-cw.on { fill: #77F2F2; stroke: #77F2F2; }
html[data-theme="dark"] .page-id-108 .qll-form .et_pb_contact_submit, html[data-theme="dark"] .page-id-108 .qll-form .et_pb_button { background: #77F2F2 !important; color: #1B2838 !important; }
html[data-theme="dark"] .page-id-108 .qll-form .et_pb_contact_submit:hover { background: #E6FBFB !important; }
