/* Consultation form follows the landing page's navy and purple palette. */
#contact { padding: 7rem 0; background: #12152d; color: #fff; scroll-margin-top: 7rem; }
#contact *, #contact *::before, #contact *::after { box-sizing: border-box; }
#contact .omo-contact-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(2.5rem,5vw,6rem); align-items: center; max-width: 78rem; margin: 0 auto; }
#contact .omo-contact-intro, #contact .omo-contact-panel, #contact .omo-contact-field { min-width: 0; }
#contact .omo-contact-eyebrow { margin: 0 0 1.5rem; color: #c1acff; font-size: 1.125rem; font-weight: 600; line-height: 1.6; }
#contact h2 { margin: 0 0 2rem; font-size: clamp(2rem,3vw,3.125rem); font-weight: 700; line-height: 1.42; letter-spacing: -.04em; word-break: keep-all; overflow-wrap: anywhere; }
#contact .omo-contact-description { margin: 0; color: #d4d9eb; font-size: 1.125rem; line-height: 1.9; word-break: keep-all; overflow-wrap: anywhere; }
#contact .omo-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; margin-top: 3.5rem; }
#contact .omo-contact-links a { display: inline-flex; align-items: center; gap: 1.5rem; max-width: 100%; font-size: 1.125rem; line-height: 1.5; color: #fff; text-decoration: none; overflow-wrap: anywhere; transition: color .2s; }
#contact .omo-contact-links a:hover { color: #c1acff; }
#contact .omo-contact-panel { padding: clamp(1.5rem,3vw,2.75rem); border: 1px solid #e9e6f2; border-radius: 1.5rem; background: #fff; color: #151932; box-shadow: 0 1.5rem 5rem #00000014; }
#contact h3 { margin: 0 0 .65rem; font-size: clamp(1.5rem,2vw,1.875rem); font-weight: 700; line-height: 1.4; letter-spacing: -.03em; overflow-wrap: anywhere; }
#contact .omo-contact-hint { margin: 0 0 2rem; color: #58647d; line-height: 1.6; font-size: 1rem; }
#contact .omo-contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.4rem 1rem; }
#contact .omo-contact-wide { grid-column: 1 / -1; }
#contact .omo-contact-field label { display: block; margin-bottom: .55rem; font-size: 1rem; line-height: 1.5; font-weight: 600; color: #303d59; overflow-wrap: anywhere; }
#contact .omo-contact-field label > span { color: #6b42e9; }
#contact small { font-size: .8em; font-weight: 400; color: #68748a; }
#contact .omo-contact-field input, #contact select, #contact textarea { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 3.5rem; border: 1px solid #b9bfd3; border-radius: .6rem; padding: .85rem 1rem; background: #fff; color: #151932; font: inherit; font-size: 1rem; line-height: 1.5; transition: border-color .2s,box-shadow .2s; }
#contact select { padding-right: 2.5rem; cursor: pointer; }
#contact .omo-solution-select { position: relative; min-width: 0; }
#contact .omo-solution-select > select[hidden], #contact .omo-solution-list[hidden] { display: none; }
#contact .omo-solution-select.is-open { z-index: 20; }
#contact .omo-solution-trigger { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 3.5rem; padding: .85rem 1rem; border: 1px solid #b9bfd3; border-radius: .6rem; background: #fff; color: #303d59; font: inherit; font-size: 1rem; line-height: 1.5; text-align: left; cursor: pointer; transition: border-color .2s,box-shadow .2s,background .2s; }
#contact .omo-solution-trigger:hover { border-color: #a594d6; background: #fdfcff; }
#contact .omo-solution-trigger:focus-visible, #contact .is-open .omo-solution-trigger { outline: 0; border-color: #825ce9; box-shadow: 0 0 0 3px #825ce91a; }
#contact .omo-solution-value { min-width: 0; overflow-wrap: anywhere; }
#contact .omo-solution-chevron { flex: 0 0 auto; width: .55rem; height: .55rem; margin-right: .25rem; border-right: 1.5px solid #7552cb; border-bottom: 1.5px solid #7552cb; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
#contact .is-open .omo-solution-chevron { transform: translateY(2px) rotate(225deg); }
#contact .omo-solution-list { position: absolute; top: calc(100% + .5rem); left: 0; right: 0; z-index: 21; padding: .45rem; border: 1px solid #e7e1f2; border-radius: .85rem; background: #fff; box-shadow: 0 .75rem 2.5rem #2010401f,0 .15rem .5rem #2010400a; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d7cbea transparent; }
#contact .opens-up .omo-solution-list { top: auto; bottom: calc(100% + .5rem); }
#contact .omo-solution-option { position: relative; display: flex; align-items: center; min-height: 2.75rem; padding: .65rem 2.4rem .65rem .85rem; border-radius: .5rem; color: #46516a; font-size: .95rem; line-height: 1.45; cursor: pointer; overflow-wrap: anywhere; transition: background .15s,color .15s; }
#contact .omo-solution-option.is-active { background: #f5f1fc; color: #4c2b93; }
#contact .omo-solution-option[aria-selected="true"] { background: #eee7ff; color: #6034d5; font-weight: 600; }
#contact .omo-solution-option[aria-selected="true"]::after { content: ''; position: absolute; right: 1rem; width: .4rem; height: .7rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-1px) rotate(45deg); }
@media (max-width: 600px) { #contact .omo-solution-option { min-height: 44px; } }
#contact textarea { min-height: 9rem; resize: vertical; }
#contact input::placeholder, #contact textarea::placeholder { color: #6b7690; opacity: 1; }
#contact input:focus-visible, #contact select:focus-visible, #contact textarea:focus-visible { outline: 0; border-color: #6842f5; box-shadow: 0 0 0 3px #6842f526; }
#contact a:focus-visible, #contact button:focus-visible { outline: 3px solid #aa8bff; outline-offset: 4px; }
#contact .omo-contact-consent { display: flex; align-items: flex-start; gap: .7rem; margin-top: 1.5rem; font-size: .875rem; line-height: 1.65; color: #46556d; }
#contact .omo-contact-consent input { flex: 0 0 auto; width: 1.125rem; height: 1.125rem; margin: .15rem 0 0; accent-color: #6034fa; cursor: pointer; }
#contact .omo-contact-consent label { cursor: pointer; overflow-wrap: anywhere; }
#contact .omo-contact-privacy { display: inline-block; margin: .45rem 0 0 1.825rem; color: #6034e6; font-size: .875rem; line-height: 1.6; text-underline-offset: 3px; }
#contact .omo-contact-submit { display: flex; justify-content: center; align-items: center; gap: 1.5rem; width: 100%; min-height: 3.75rem; margin-top: 1.5rem; padding: 1rem 1.25rem; border: 0; border-radius: .7rem; background: #5e2dff; color: #fff; font: inherit; font-size: 1.125rem; font-weight: 700; line-height: 1.5; cursor: pointer; transition: background .2s,box-shadow .2s; }
#contact .omo-contact-submit svg { flex: 0 0 auto; transition: transform .2s; }
#contact .omo-contact-submit:hover { background: #4820ce; box-shadow: 0 .5rem 1.5rem #5e2dff25; }
#contact .omo-contact-submit:hover svg { transform: translateX(4px); }
#contact .omo-contact-submit:disabled { cursor: wait; opacity: .65; }
#contact .omo-contact-status:empty { display: none; }
#contact .omo-contact-status { margin: 1.25rem 0 0; padding: 1rem; border: 1px solid #e7b5b5; border-radius: .6rem; background: #fff6f6; color: #923333; font-size: .95rem; line-height: 1.6; overflow-wrap: anywhere; }
#contact .omo-contact-status.is-success { color: #246044; background: #f0faf5; border-color: #b8ddc8; }
#contact .omo-contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1024px) { #contact { padding: 5rem 0; } #contact .omo-contact-grid { grid-template-columns: 1fr; max-width: 45rem; gap: 2.75rem; } #contact .omo-contact-links { margin-top: 2rem; gap: .8rem; } }
@media (max-width: 600px) { #contact { padding: 3.5rem 0; scroll-margin-top: 6rem; } #contact .omo-contact-panel { padding: 1.5rem 1.125rem; border-radius: 1.25rem; } #contact .omo-contact-fields { grid-template-columns: 1fr; gap: 1.1rem; } #contact .omo-contact-hint { margin-bottom: 1.5rem; } #contact .omo-contact-description { font-size: 1rem; } #contact .omo-contact-links a { font-size: 1rem; } #contact .omo-contact-submit { font-size: 1rem; gap: 1rem; } }
@media (prefers-reduced-motion: reduce) { #contact * { transition: none !important; } }
