/* Legal pages & elevated form components, V4 — MoosProductions */
.contact-intro {padding-bottom:76px}
.contact-intro .page-intro-footer p {max-width:660px}
.contact-grid {align-items:start}
.contact-aside-text {max-width:340px;font-size:15px;line-height:1.8;color:#6D776E;margin:30px 0 44px}
.aside-postscript {margin-top:54px;max-width:340px;padding:28px 28px 27px;background:#F4E5DA;border-radius:10px;display:flex;gap:15px;color:#635951}
.aside-postscript p {margin:0;font-size:13px;line-height:1.7}
.tiny-star {font-size:28px;color:#B8735D;line-height:1}
.contact-form-area {border:1px solid #E9DCD1;background:#fff;border-radius:14px;box-shadow:0 22px 62px rgba(56,41,30,.05);padding:45px 48px}
.contact-form-area h2 {font-size:clamp(35px,3vw,46px);letter-spacing:-.06em;margin:12px 0 0}
.form-heading-line {display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.form-number {font-size:11px;font-weight:750;color:#B78168;white-space:nowrap;padding-bottom:8px}
.form-intro {font-size:13px;line-height:1.7;color:#778078;margin:16px 0 29px;max-width:530px}
.form-step-title {display:flex;align-items:center;gap:13px;padding-top:34px;margin:32px 0 24px;border-top:1px solid #EFE7DF}
.form-step-title:first-of-type {margin-top:0}
.form-step-title span {width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#F8E6D9;font-size:11px;color:#8D5C48;font-weight:800}
.form-step-title h3 {font-size:20px;font-weight:700;letter-spacing:-.04em;margin:0}
.form-two-col {display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field {margin-bottom:20px;min-width:0}
.contact-form-area .field label {display:block;margin:0 0 8px;color:#39433C;font-size:12px;font-weight:720;letter-spacing:.005em}
.optional-note {font-weight:500;color:#99A09A;font-size:11px;margin-left:4px}
.required-symbol {color:#B46F53;font-weight:750}
.contact-form-area .field input,.contact-form-area .field select,.contact-form-area .field textarea {display:block;width:100%;font:inherit;font-size:14px;color:#2B352C;background:#FFFEFC;border:1px solid #DBDCD6;border-radius:7px;padding:14px 15px;min-height:50px;transition:border-color .2s,box-shadow .2s}
.contact-form-area .field textarea {min-height:150px;resize:vertical}
.contact-form-area .field select {cursor:pointer}
.contact-form-area .field input:focus,.contact-form-area .field select:focus,.contact-form-area .field textarea:focus {border-color:#637A64;box-shadow:0 0 0 3px #BBD0BD44;outline:none}
.contact-form-area .field input[aria-invalid="true"],.contact-form-area .field textarea[aria-invalid="true"] {border-color:#A94442}
.field-hint {font-size:11px;color:#858D85;margin:7px 0 0;line-height:1.5}
.upload-zone {border:1.5px dashed #C8C9BD;border-radius:10px;background:#FCF7F1;min-height:181px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:26px;position:relative;transition:background .2s,border-color .2s}
.upload-zone:hover,.upload-zone.is-over,.upload-zone:focus-within {border-color:#A66B54;background:#FBECE0}
.upload-zone input[type=file] {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.upload-zone strong {font-size:15px;font-weight:750;color:#384D3C;letter-spacing:-.015em;pointer-events:none}
.upload-zone strong span {color:#B16F55;text-decoration:underline;text-underline-offset:3px}
.upload-zone small {font-size:11px;color:#858D84;line-height:1.55;pointer-events:none}
.upload-symbol {width:42px;height:42px;border:1px solid #E8D4C4;border-radius:50%;display:grid;place-items:center;color:#93694F;background:#fffaf6;pointer-events:none}
.file-list:not(:empty) {display:flex;flex-direction:column;gap:9px;margin:14px 0 0}
.file-item {display:flex;align-items:center;gap:9px;font-size:12px;color:#5A675D;background:#F5F8F3;padding:11px 13px;border-radius:7px}
.file-item-name {flex:1;overflow-wrap:anywhere;font-weight:630}
.file-size {color:#8E978D;white-space:nowrap}
.remove-file {border:0;color:#9F5944;background:transparent;font-size:18px;cursor:pointer;line-height:1;padding:0 3px}
.file-error {font-size:12px;color:#B23E36;line-height:1.5;margin-top:8px}
.form-honeypot {position:absolute;left:-9999px;height:0;width:0;overflow:hidden}
.privacy-check {display:flex;align-items:flex-start;gap:13px;background:#F6F4EF;border:1px solid #ECE5DC;padding:19px 18px;border-radius:9px;margin:25px 0}
.privacy-check input[type=checkbox] {width:19px;min-width:19px;height:19px;margin:1px 0 0;accent-color:#49674E;cursor:pointer}
.contact-form-area .privacy-check label {font-size:12px;line-height:1.65;color:#59635C;font-weight:500;margin:0}
.privacy-check a {color:#2C5740;text-decoration:underline;text-underline-offset:2px}
.form-send-area {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.form-button {font-size:14px;min-height:58px;min-width:210px;justify-content:center}
.form-button:disabled {background:#BCC7BF;color:#fff;cursor:not-allowed;opacity:1}
.form-send-hint {font-size:11px;color:#8B948B}
.contact-form-area .form-status {font-size:12px;line-height:1.65;margin:13px 0 0;min-height:22px;color:#67786B}
.form-status.is-error {color:#A33C35}
.form-status.is-success {color:#2D6143}
.form-help {font-size:12px;line-height:1.6;margin:16px 0 0;color:#818981}
.form-help a {color:#315942;text-decoration:underline;text-underline-offset:2px}
.form-success {padding:30px;background:#F0F5EE;border:1px solid #D8E5D7;border-radius:10px;margin-top:20px}
.form-success h3 {font-size:28px;letter-spacing:-.04em;margin:8px 0}
.form-success p {font-size:14px;line-height:1.7;color:#536457;margin-bottom:24px}
.success-check {display:inline-grid;place-items:center;background:#4D7152;color:#fff;border-radius:50%;width:38px;height:38px}
.turnstile-slot {margin-bottom:20px}
.turnstile-slot[hidden],.form-success[hidden] {display:none!important}
.legal-premium {max-width:820px;margin-left:auto;margin-right:auto}
.legal-kicker {display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #DDDED8;padding:0 0 25px;margin-bottom:35px;font-size:11px;font-weight:760;letter-spacing:.13em;color:#9B6A55}
.legal-premium h2 {font-size:22px;letter-spacing:-.045em;color:#2E4032;line-height:1.3;margin-top:39px;margin-bottom:13px}
.legal-premium p {line-height:1.87;color:#58655A;font-size:15px;margin-bottom:17px}
.legal-premium strong {color:#2B3930}
.legal-premium a {color:#36634A;word-break:break-word;text-decoration:underline;text-decoration-color:#C1C7BE;text-underline-offset:3px}
.legal-premium .privacy-lead {font-size:18px;color:#3B4F41;font-weight:510;border-left:3px solid #CE987E;padding-left:22px;margin:0 0 35px}
.legal-premium .legal-endnote {margin-top:55px;background:#F3E5DA;border:1px solid #EAD3C3;border-radius:9px;padding:25px 29px}
.legal-premium .legal-endnote span {display:block;font-size:11px;color:#966850;letter-spacing:.15em;text-transform:uppercase;font-weight:760}
.legal-premium .legal-endnote p {margin:9px 0 0}
@media(max-width:1050px){.contact-form-area{padding:33px 28px}.contact-grid{gap:5%}.form-two-col{grid-template-columns:1fr}.form-step-title{padding-top:27px}}
@media(max-width:800px){.contact-grid{display:block}.contact-info{margin-bottom:46px}.contact-aside-text{margin-bottom:25px}.aside-postscript{display:none}.contact-form-area{max-width:730px}.legal-premium{max-width:100%}}
@media(max-width:580px){.contact-form-area{padding:27px 19px}.contact-form-area h2{font-size:34px}.form-step-title{margin-top:20px;margin-bottom:20px}.form-step-title h3{font-size:19px}.form-send-area{align-items:stretch}.form-send-area .form-button{width:100%;min-height:55px}.form-send-hint{width:100%;text-align:center}.legal-premium p{font-size:14px}.legal-premium .privacy-lead{font-size:16px}.legal-premium h2{font-size:20px}.upload-zone{padding:20px 14px}.upload-zone strong{font-size:14px}}
