/* AZILILA / architectural forms. Native controls, existing submission workflow. */
#contact-form,#career-form{--form-ink:var(--ink);--form-muted:var(--ui-ink-muted);--form-rule:color-mix(in srgb,var(--ink) 42%,transparent);--form-accent:var(--ink);min-width:0}
#career-form{--form-ink:var(--ivory);--form-muted:var(--muted);--form-rule:var(--line);--form-accent:var(--gold)}
#contact-form{padding-top:24px;border-top:1px solid var(--gold)}
#contact .contact-heading .contact-intro{font-size:15px;line-height:1.8;letter-spacing:0;max-width:36ch}
#contact-form .field,#career-form .field{gap:3px;margin-bottom:24px;font-size:13px;line-height:1.6;color:var(--form-ink)}
#contact-form .field>span:first-child,#career-form .field>span:first-child{font-weight:400;color:var(--form-muted);letter-spacing:.015em}
#contact-form .field input:not([type=file]),#contact-form .field select,#contact-form .field textarea,
#career-form .field input:not([type=file]),#career-form .field select,#career-form .field textarea{border:0;border-bottom:1px solid var(--form-rule);border-radius:0;background:transparent;color:var(--form-ink);min-height:48px;padding:10px 0;font-size:16px;line-height:1.5;box-shadow:none;transition:border-color 180ms,box-shadow 180ms;scroll-margin-block:120px 40px}
#contact-form .field textarea,#career-form .field textarea{min-height:100px;resize:vertical}
#contact-form .field input:not([type=file]):focus,#contact-form .field select:focus,#contact-form .field textarea:focus,
#career-form .field input:not([type=file]):focus,#career-form .field select:focus,#career-form .field textarea:focus{border-bottom-color:var(--form-accent);box-shadow:0 1px 0 var(--form-accent);outline:2px solid var(--form-accent);outline-offset:4px}
#contact-form .field:focus-within>span:first-child,#career-form .field:focus-within>span:first-child{color:var(--form-ink)}
#contact-form .field input:disabled,#career-form .field input:disabled{opacity:.6;background:transparent;cursor:not-allowed}
#contact-form .field input[aria-invalid=true],#contact-form .field select[aria-invalid=true],#contact-form .field textarea[aria-invalid=true],#career-form .field input[aria-invalid=true],#career-form .field select[aria-invalid=true],#career-form .field textarea[aria-invalid=true]{border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:var(--form-ink)}
#contact-form .file-picker,#career-form .file-picker{gap:8px 18px;padding:8px 0;border:0;border-bottom:1px solid var(--form-rule);border-radius:0;min-height:60px;background:transparent}
#contact-form .file-picker-button,#career-form .file-picker-button{gap:10px;padding:8px 0;background:transparent;color:var(--form-ink);border-radius:0;font-size:13px;font-weight:500;min-height:44px}
#contact-form .file-picker-button::before,#career-form .file-picker-button::before{content:'+';color:var(--form-accent);font-size:22px;font-weight:300;line-height:1}
#contact-form .file-picker-name,#career-form .file-picker-name{font-size:12px;color:var(--form-muted);font-weight:400;flex:1 1 130px;overflow-wrap:anywhere}
#contact-form .field:has(.localized-file-input[aria-invalid=true]) .file-picker,#career-form .field:has(.localized-file-input[aria-invalid=true]) .file-picker{border:0;border-bottom:2px solid var(--form-ink)}
#contact-form .checkline,#career-form .checkline{font-size:13px;line-height:1.7;gap:12px;padding:12px 0;margin:12px 0 0;color:var(--form-ink);overflow-wrap:anywhere}
#contact-form .checkline input,#career-form .checkline input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--form-accent)}
#contact-form .button,#career-form .button{min-height:48px;border-radius:0;font-weight:500;font-size:14px;letter-spacing:.015em;padding:12px 22px}
#contact-form>#contact-submit{margin-top:16px;width:100%;justify-content:space-between;gap:18px}
#contact-submit::after{content:'↗';font-size:20px;font-weight:400}
#contact-form>.small{margin:0}
#contact-form .text-button,#career-form .text-button{font-size:13px}
[data-privacy-open],#privacy-open{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;font-size:13px!important;line-height:1.45;border-bottom:0!important;padding:8px 0;overflow-wrap:anywhere}
[data-privacy-open]::before,#privacy-open::before{content:'';width:12px;height:14px;flex:0 0 12px;border:1px solid currentColor;border-radius:6px 6px 8px 8px;opacity:.75}
[data-privacy-open]::after,#privacy-open::after{content:'↗';font-size:16px;transition:transform 180ms}
#career-dialog,#privacy-dialog{border-radius:0;border-color:var(--line);padding:clamp(22px,4vw,42px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}
#privacy-dialog{width:min(680px,calc(100% - 24px))}
#career-dialog .dialog-head,#privacy-dialog .dialog-head{gap:20px;padding-bottom:22px}
#career-dialog .dialog-head h2,#privacy-dialog .dialog-head h2{font-size:clamp(23px,3vw,32px);font-weight:400;line-height:1.3}
#career-dialog .close,#privacy-dialog .close{border:0;border-radius:0;padding:8px 0;font-size:12px;min-width:44px}
#privacy-dialog p{font-size:14px;line-height:1.85;margin-top:22px;overflow-wrap:anywhere;color:var(--ivory)}
#career-dialog .form-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0;border:0}
#career-dialog .form-progress>span{border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0;background:none;font-size:12px;line-height:1.5;color:var(--muted)}
#career-dialog .form-progress b{font-size:11px;display:block;font-weight:400;margin:0 0 5px;color:var(--gold)}
#career-dialog .form-progress [aria-current=step]{border-top:2px solid var(--gold);padding-top:9px;color:var(--ivory)}
#career-dialog .form-intro{font-size:13px;margin-bottom:24px}
#career-form .check-group legend{font-size:13px;font-weight:400}
#career-form .check-grid label{border:0;border-bottom:1px solid var(--form-rule);border-radius:0;min-height:48px;padding:10px 0;font-size:13px;background:none}
#career-form .check-grid label:has(:checked){border-color:var(--gold)}
#career-form .form-actions{margin-top:24px;padding-top:20px}
.az-form-protection{margin:12px 0 0;grid-column:1/-1;color:var(--form-muted);font-size:12px;line-height:1.65}
.az-form-protection>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0;list-style:none;cursor:pointer;border-bottom:1px solid var(--form-rule);font-size:12px}
.az-form-protection>summary::-webkit-details-marker{display:none}
.az-form-protection>summary::after{content:'+';flex:none;font-size:20px;font-weight:300;color:var(--form-ink)}
.az-form-protection[open]>summary::after{content:'−'}
.az-form-protection .az-turnstile-privacy{font-size:12px!important;line-height:1.75!important;margin:12px 0!important;overflow-wrap:anywhere}
.az-form-protection a{text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:44px;padding-block:10px}
body .az-chat-draft{font-family:inherit}
body .az-chat-draft input,body .az-chat-draft textarea,body .az-chat-draft select{border:0;border-bottom:1px solid var(--gold);border-radius:0;background:transparent;color:var(--ivory);font-size:16px;min-height:48px;padding:10px 0}
body .az-chat-draft button{border-radius:0;min-height:44px}
body .az-chat-draft body .az-chat-draft__primary{background:var(--gold);border-color:var(--gold);color:var(--ink)}
@media(hover:hover){[data-privacy-open]:hover::after,#privacy-open:hover::after{transform:translate(2px,-2px)}#contact-form .field input:not([type=file]):hover,#contact-form .field select:hover,#contact-form .field textarea:hover,#career-form .field input:not([type=file]):hover,#career-form .field select:hover,#career-form .field textarea:hover{border-bottom-color:var(--form-accent)}}
@media(max-width:600px){#contact-form{padding-top:20px}#contact-form .field,#career-form .field{margin-bottom:20px}#career-dialog,#privacy-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:22px 18px}#career-dialog .dialog-head,#privacy-dialog .dialog-head{gap:12px}#career-dialog .dialog-head h2,#privacy-dialog .dialog-head h2{font-size:23px}#career-dialog .form-progress{gap:8px}#career-dialog .form-progress>span{font-size:11px}#career-form .form-actions>div{flex-wrap:wrap}#contact-form .checkline,#career-form .checkline{font-size:13px}#privacy-dialog p{font-size:14px}}
@media(prefers-reduced-motion:reduce){#contact-form *,#career-form *,[data-privacy-open]::after,#privacy-open::after{transition:none!important;animation:none!important;transform:none!important}}
/* Shared submission feedback: continuous rotation follows the real client state. */
#az-form-feedback{padding:0;border:0;width:min(420px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);background:transparent;color:#f0ede5;overflow:auto}
#az-form-feedback::backdrop{background:#05090799;backdrop-filter:blur(8px)}
#az-form-feedback .az-feedback-card{position:relative;padding:31px 32px 30px;border:1px solid #ccb89142;border-radius:16px;background:#1b211bf5;box-shadow:0 24px 90px #0006;text-align:center;overflow:hidden;outline:none;animation:az-feedback-enter .3s cubic-bezier(.22,1,.36,1)}
#az-form-feedback .az-feedback-brand{font-size:11px;letter-spacing:.32em;color:#ccb891;margin-top:4px}
#az-form-feedback .az-feedback-close{position:absolute;top:6px;right:6px;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#b3b6aa;border-radius:50%;padding:0}
#az-form-feedback .az-feedback-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
#az-form-feedback button:focus-visible{outline:2px solid #ccb891;outline-offset:3px}
#az-form-feedback .az-feedback-icon{width:88px;height:88px;margin:24px auto 22px}
#az-form-feedback .az-feedback-icon svg{display:block;width:100%;height:100%;fill:none;stroke:#ccb891;stroke-linecap:round;stroke-linejoin:round}
#az-form-feedback .az-feedback-track{stroke:#ccb89125;stroke-width:1.3}
#az-form-feedback .az-feedback-spinner{stroke-width:2.5;transform-origin:44px 44px;animation:az-feedback-spin 1.2s linear infinite}
#az-form-feedback .az-feedback-success,#az-form-feedback .az-feedback-notice{display:none}
#az-form-feedback .az-feedback-success circle{stroke-width:1.4}
#az-form-feedback .az-feedback-success path{stroke-width:2.8;stroke-dasharray:52;animation:az-feedback-check .35s ease-out}
#az-form-feedback .az-feedback-notice{stroke-width:2.5}
#az-form-feedback:not([data-state=preparing]):not([data-state=sending]) .az-feedback-spinner{display:none}
#az-form-feedback[data-state=sent] .az-feedback-success{display:block}
#az-form-feedback:is([data-state=pending],[data-state=retry],[data-state=error]) .az-feedback-notice{display:block}
#az-form-feedback h2{margin:0 0 12px;font-size:25px;font-weight:450;line-height:1.4;letter-spacing:-.035em;text-wrap:balance}
#az-form-feedback p{color:#b3b6aa;font-size:13px;line-height:1.7;margin:0;overflow-wrap:anywhere}
#az-form-feedback .az-feedback-confirm{width:100%;min-height:48px;margin-top:20px;border:1px solid #ccb89191;background:#ccb89112;border-radius:5px;color:#ccb891;font-size:14px;font-weight:500;padding:10px}
#az-form-feedback .az-feedback-confirm:disabled{opacity:.42;cursor:wait}
#az-form-feedback .az-feedback-confirm:enabled:hover{background:#ccb89121}
@keyframes az-feedback-spin{to{transform:rotate(360deg)}}
@keyframes az-feedback-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes az-feedback-check{from{stroke-dashoffset:52}to{stroke-dashoffset:0}}
@media(max-width:600px){#az-form-feedback .az-feedback-card{padding:30px 24px 26px}#az-form-feedback h2{font-size:23px}}
/* The requested continuous progress indicator remains visible with reduced motion. */
@media(prefers-reduced-motion:reduce){#az-form-feedback .az-feedback-card,#az-form-feedback .az-feedback-success path{animation:none}#az-form-feedback .az-feedback-spinner{animation-duration:3s}}
/* Single-page career application: sections stay visible and keep native focus. */
#career-form>fieldset{margin:28px 0 0;padding:24px 0 0;border:0;border-top:1px solid var(--line)}
#career-form .career-section-title{padding:0 18px 0 0;font-size:21px;color:var(--ivory)}
#career-documents{margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}
#career-form summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--gold);font-size:15px}
#career-form summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#career-documents>fieldset{margin-top:20px;border:0;padding:0}
#career-form .career-security-note{font-size:14px;line-height:1.7;color:var(--muted);max-width:65ch}
@media(max-width:600px){#career-form .form-actions{align-items:stretch;gap:16px;flex-direction:column}#career-form .form-actions>div{display:flex;flex-direction:column;gap:12px}#career-form .form-actions .button{width:100%}#career-form .career-section-title{font-size:20px}}
