/* The contact page inherits the existing Stellora visual system. */
.stellora-contact { padding-top: 122px; padding-bottom: 58px; }
.stellora-contact .contact-shell { width: min(900px, calc(100% - 48px)); max-width: 100%; margin-inline: auto; }
.stellora-contact .contact-header { max-width: 700px; margin: 0 auto 36px; text-align: center; overflow-wrap: anywhere; }
.stellora-contact .contact-header__eyebrow { margin-bottom: 10px; color: #9bd9f0; font-size: .625rem; letter-spacing: .24em; }
.stellora-contact .contact-header h1 { margin: 0; color: var(--text, #f7fbff); font-size: clamp(2rem, 1.75rem + 1vw, 2.75rem); line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.stellora-contact .contact-header__intro { max-width: 640px; margin: 16px auto 0; color: #b6c8dc; font-size: 1rem; line-height: 1.6; }
.stellora-contact .contact-header__intro > :first-child { margin-top: 0; }
.stellora-contact .contact-header__intro > :last-child { margin-bottom: 0; }
.stellora-contact .contact-extra-content { margin-bottom: 30px; }
.stellora-contact .contact-panel { padding: 30px 32px 32px; border: 1px solid var(--line, rgba(147, 190, 255, .2)); border-radius: 22px; background: linear-gradient(155deg, rgba(11, 31, 57, .92), rgba(4, 17, 34, .94)); box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 16px 54px rgba(0,0,0,.14); scroll-margin-top: 110px; }
.stellora-contact .contact-form { margin: 0; }
.stellora-contact .contact-required-note { margin: 0 0 22px; color: #b6c8dc; font-size: .8125rem; }
.stellora-contact .contact-required-note > span, .stellora-contact .contact-required { color: var(--cyan, #69e6ff); }
.stellora-contact .contact-required { margin-left: 3px; }
.stellora-contact .contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; }
.stellora-contact .contact-field { min-width: 0; }
.stellora-contact .contact-field--full { grid-column: 1 / -1; }
.stellora-contact .contact-field > label, .stellora-contact .contact-group > legend { display: block; padding: 0; margin: 0 0 9px; color: #ecf5ff; font-size: .9375rem; font-weight: 650; line-height: 1.5; }
.stellora-contact .contact-field input:not([type="radio"]):not([type="checkbox"]), .stellora-contact .contact-field textarea, .stellora-contact .contact-field select { display: block; width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 11px 14px; color: #f7fbff; background: rgba(2, 12, 26, .74); border: 1px solid rgba(147, 190, 255, .32); border-radius: 10px; font-family: inherit; font-size: 1rem; line-height: 1.5; transition: border-color .15s ease, box-shadow .15s ease; }
.stellora-contact .contact-field select { padding-right: 34px; }
.stellora-contact .contact-field option { background: #07182f; color: #f7fbff; }
.stellora-contact .contact-field textarea { min-height: 150px; resize: vertical; }
.stellora-contact .contact-field input::placeholder, .stellora-contact .contact-field textarea::placeholder { color: #8fa7c0; opacity: 1; }
.stellora-contact .contact-field input:hover, .stellora-contact .contact-field textarea:hover, .stellora-contact .contact-field select:hover { border-color: rgba(147, 190, 255, .55); }
.stellora-contact input:focus-visible, .stellora-contact textarea:focus-visible, .stellora-contact select:focus-visible { outline: 2px solid var(--cyan, #69e6ff); outline-offset: 3px; border-color: var(--cyan, #69e6ff); box-shadow: 0 0 0 3px rgba(105,230,255,.1); }
.stellora-contact a:focus-visible, .stellora-contact button:focus-visible, .stellora-contact [tabindex="-1"]:focus-visible { outline: 2px solid var(--cyan, #69e6ff); outline-offset: 4px; }
.stellora-contact .contact-description { margin: 8px 0 0; color: #aebfd3; font-size: .8125rem; line-height: 1.6; overflow-wrap: anywhere; }
.stellora-contact .contact-description:empty { display: none; }
.stellora-contact .contact-description > :first-child { margin-top: 0; }
.stellora-contact .contact-description > :last-child { margin-bottom: 0; }
.stellora-contact .contact-description a, .stellora-contact label a, .stellora-contact legend a, .stellora-contact .contact-header__intro a, .stellora-contact .contact-notice a { color: var(--cyan, #69e6ff); text-underline-offset: 3px; }
.stellora-contact .contact-group { min-width: 0; margin: 28px 0 0; padding: 0; border: 0; }
.stellora-contact .contact-group > legend { width: 100%; margin-bottom: 0; }
.stellora-contact .contact-licences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.stellora-contact .contact-choice { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 10px; min-width: 0; padding: 14px; border: 1px solid rgba(147,190,255,.24); border-radius: 12px; background: rgba(6,21,41,.64); }
.stellora-contact .contact-choice:has(input:checked) { border-color: rgba(105,230,255,.7); background: linear-gradient(120deg, rgba(74,120,210,.19), rgba(16,43,69,.45)); }
.stellora-contact .contact-choice:focus-within { border-color: var(--cyan, #69e6ff); }
.stellora-contact input[type="radio"], .stellora-contact input[type="checkbox"] { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--cyan, #69e6ff); cursor: pointer; flex-shrink: 0; }
.stellora-contact .contact-choice label { display: block; min-height: 24px; margin: 0; color: #edf6ff; font-size: .875rem; font-weight: 650; line-height: 1.65; cursor: pointer; overflow-wrap: anywhere; }
.stellora-contact .contact-choice .contact-description { margin-top: 4px; font-size: .78125rem; }
.stellora-contact .contact-consents { padding-top: 25px; border-top: 1px solid rgba(147,190,255,.17); }
.stellora-contact .contact-consents > legend { float: left; margin-bottom: 14px; }
.stellora-contact .contact-consents > legend + * { clear: both; }
.stellora-contact .contact-checkbox { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 12px; margin-top: 14px; }
.stellora-contact .contact-checkbox label { display: block; color: #d6e4f4; font-size: .875rem; line-height: 1.65; cursor: pointer; overflow-wrap: anywhere; }
.stellora-contact .contact-checkbox .contact-description { margin-top: 5px; }
.stellora-contact .contact-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; pointer-events: none !important; }
.stellora-contact .contact-captcha { margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(147,190,255,.17); }
.stellora-contact .contact-captcha__controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.stellora-contact .contact-captcha__question { display: inline-flex; align-items: center; min-height: 48px; color: #edf6ff; font-size: 1rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.stellora-contact .contact-captcha__controls input { width: 100px !important; text-align: center; }
.stellora-contact .contact-text-button { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 4px; border: 0; background: transparent; color: var(--cyan, #69e6ff); font-size: .8125rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.stellora-contact .contact-text-button[hidden] { display: none; }
.stellora-contact .contact-text-button:disabled { opacity: .6; cursor: wait; }
.stellora-contact .contact-captcha__status { min-height: 0; }
.stellora-contact .contact-captcha__status.is-error { color: #ffb8bd; }
.stellora-contact .contact-privacy { margin-top: 20px; }
.stellora-contact .contact-actions { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.stellora-contact .contact-submit { min-width: 190px; padding-inline: 26px; cursor: pointer; }
.stellora-contact .contact-submit:disabled { opacity: .6; cursor: wait; transform: none; }
.stellora-contact .contact-notice { margin: 0 0 26px; padding: 18px 20px; border: 1px solid rgba(147,190,255,.28); border-radius: 12px; color: #dceafa; line-height: 1.6; overflow-wrap: anywhere; }
.stellora-contact .contact-notice:last-child { margin-bottom: 0; }
.stellora-contact .contact-notice h2 { margin: 0 0 8px; color: inherit; font-size: 1.0625rem; line-height: 1.4; }
.stellora-contact .contact-notice p { margin: 0; }
.stellora-contact .contact-notice ul { margin: 8px 0 0; padding-left: 20px; }
.stellora-contact .contact-notice--error { border-color: rgba(255,135,145,.55); background: rgba(96,31,51,.22); color: #ffced2; }
.stellora-contact .contact-notice--error a { color: #ffced2; }
.stellora-contact .contact-notice--success { display: flex; gap: 14px; align-items: flex-start; border-color: rgba(106,240,194,.4); background: rgba(31,92,75,.15); color: #d4fff0; }
.stellora-contact .contact-notice__icon { color: var(--mint, #6af0c2); font-size: 1.3rem; line-height: 1.3; }
.stellora-contact .contact-field--invalid input, .stellora-contact .contact-field--invalid textarea, .stellora-contact .contact-field--invalid select { border-color: #f698a1 !important; }
.stellora-contact .contact-field-error { margin: 7px 0 0; color: #ffb8bd; font-size: .8125rem; line-height: 1.5; }
.stellora-contact input, .stellora-contact textarea, .stellora-contact select, .stellora-contact fieldset { scroll-margin-top: 115px; }
@media (max-width: 699px) {
    .stellora-contact { padding-top: 110px; padding-bottom: 36px; }
    .stellora-contact .contact-shell { width: calc(100% - 32px); }
    .stellora-contact .contact-header { margin-bottom: 28px; }
    .stellora-contact .contact-panel { padding: 23px 20px; border-radius: 18px; }
    .stellora-contact .contact-fields { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .stellora-contact .contact-licences { grid-template-columns: minmax(0,1fr); gap: 10px; }
    .stellora-contact .contact-group { margin-top: 24px; }
    .stellora-contact .contact-actions, .stellora-contact .contact-submit { width: 100%; }
    .stellora-contact .contact-notice { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .stellora-contact input, .stellora-contact textarea, .stellora-contact select, .stellora-contact button { transition: none; }
}
