/* Scoped feedback: Source typography and the Lex paper/gold palette. */
#contactForm,#callbackForm{scroll-margin-top:110px}
#contactForm [role=status]:empty,#callbackForm [role=status]:empty{display:none}
.page-body .contact-confirmation{position:relative;padding:28px 30px 32px;scroll-margin-top:110px;overflow:hidden}
.contact-confirmation h3{font-size:clamp(25px,4vw,32px);line-height:1.2}
.contact-confirmation p{max-width:46ch;line-height:1.65}
.contact-again{display:inline-block;margin-top:22px;padding:6px 0;min-height:44px;border:0;border-bottom:1px solid var(--focus, #806827);background:transparent;color:var(--ink, #24231f);font:inherit;font-size:15px;cursor:pointer}
.mail-flight{display:block;width:240px;max-width:100%;height:96px;margin:0 0 14px -50px;overflow:visible;fill:none;stroke:var(--focus, #806827);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mail-envelope rect,.mail-rocket>path:first-child{fill:var(--hover, #FFE8A8)}
.mail-launch,.mail-check{opacity:0}
.mail-launch{transform-box:view-box;transform-origin:80px 48px}
.mail-check circle{fill:var(--hover, #FFE8A8)}
.is-sent .mail-envelope{animation:lex-mail-fold .45s .3s ease-in-out both;transform-box:fill-box;transform-origin:center}
.is-sent .mail-check{animation:lex-mail-confirm .3s 3.2s ease-out both}
@keyframes lex-mail-fold{0%{opacity:1;scale:1}65%{opacity:1;scale:.7 1.1}100%{opacity:0;scale:.4 1}}
@keyframes lex-mail-confirm{from{opacity:0}to{opacity:1}}
@media(max-width:480px){.page-body .contact-confirmation{padding:24px 22px 28px}}
@media(prefers-reduced-motion:reduce){.contact-confirmation .mail-envelope,.contact-confirmation .mail-launch{display:none;animation:none}.contact-confirmation .mail-check{opacity:1;animation:none}}
/* Original pillar-box drawing: quiet postal heritage, behind the confirmation. */
.contact-confirmation{isolation:isolate}
.contact-confirmation::before{content:"";position:absolute;right:10px;bottom:2px;width:clamp(130px,28%,185px);height:90%;background:url('/assets/lex-post-box.svg') right bottom/contain no-repeat;opacity:.38;pointer-events:none;z-index:-1}
@media(max-width:480px){.contact-confirmation::before{width:132px;opacity:.26}}

/* Folded stationery, with a quiet two-tone crease and no decorative exhaust. */
.mail-rocket{stroke-width:1.6;stroke-linejoin:round}
.mail-rocket .paper-fold{fill:#ead59c}

/* Larger background art; opening copy and rule remain in the foreground. */
.page-intro.contact-post-intro{position:relative;isolation:isolate;min-height:270px;padding-right:0;display:flex;flex-direction:column;justify-content:center}
.contact-post-intro .contact-post-box{position:absolute;right:4px;bottom:-12px;width:190px;height:317px;object-fit:contain;opacity:.28;pointer-events:none;z-index:-1}
@media(max-width:600px){.page-intro.contact-post-intro{min-height:240px}.contact-post-intro .contact-post-box{right:-6px;bottom:-10px;width:150px;height:250px;opacity:.24}}

/* Field-level errors remain legible beneath their input, above helper text. */
#contactForm .form-error,#callbackForm .form-error{color:#a12622;font-size:14px;line-height:1.5;margin:6px 0 0;padding:0}
#contactForm .form-message.error,#callbackForm .form-message.error{color:#a12622}

/* Text and section rules sit above the decorative contact illustrations. */
#call,#email-us,#callback{position:relative;isolation:isolate}
.contact-channel-intro{display:block;min-height:185px;margin-bottom:24px}
.contact-channel-intro .contact-channel-title{margin:0 0 18px}
.contact-channel-copy>p:last-child{margin-bottom:0}
.contact-channel-intro>img{display:block;position:absolute;right:0;top:8px;object-fit:contain;opacity:.28;pointer-events:none;z-index:-1}
.contact-channel-intro .contact-phone-box{width:156px;height:280px;top:-8px}
.contact-channel-intro .contact-writing-tools{width:250px;height:295px;top:-12px}
.contact-channel-intro .contact-rotary-phone{width:270px;height:218px;top:4px}
#whatsapp .contact-channel-intro{min-height:0}
@media(max-width:600px){.contact-channel-intro{min-height:170px;margin-bottom:20px}.contact-channel-intro>img{right:-4px;opacity:.24}.contact-channel-intro .contact-phone-box{width:132px;height:238px;top:4px}.contact-channel-intro .contact-writing-tools{width:200px;height:236px;top:12px}.contact-channel-intro .contact-rotary-phone{width:220px;height:178px;top:20px}}

/* Deliberately staggered positions, stable across visits and screen sizes. */
.contact-post-intro .contact-post-box{right:7%;transform:rotate(-3deg)}
.contact-channel-intro .contact-phone-box{right:2%;transform:rotate(4deg)}
.contact-channel-intro .contact-writing-tools{right:auto;left:5%;top:30px;transform:rotate(-12deg);opacity:.23}
.contact-channel-intro .contact-rotary-phone{right:12%;top:12px;transform:rotate(-7deg)}
@media(max-width:600px){.contact-post-intro .contact-post-box{right:1%}.contact-channel-intro .contact-phone-box{right:2%}.contact-channel-intro .contact-writing-tools{left:2%;top:42px;opacity:.2}.contact-channel-intro .contact-rotary-phone{right:0;top:28px}}
