/* Page-scoped conversation entry; retain the approved field and column layout. */
#contacts .contact-form { min-height:var(--concierge-height,0px); }
#contacts .contact-form .input-field { transition:border-color .18s,background-color .18s; }
#contacts .contact-form .input-field:focus { border-color:#ff98008c; outline:1px solid #ff980060; outline-offset:2px; }
#contacts #form-messages { font-size:14px; line-height:1.7; color:#aaa7a3; }
#contacts #form-messages.is-error { color:#dfab86; border-left:1px solid #e28d5b70; padding:10px 0 10px 14px; }
#contacts #form-messages strong { display:block; font-size:11px; letter-spacing:.12em; color:#e4b691; margin-bottom:6px; }
#contacts #form-messages a { color:#e4b691; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
#contacts .lp-contact-success { min-height:var(--concierge-height,360px); padding:38px 0; }
#contacts .lp-contact-success__label { color:#c3beb8; font-size:11px; letter-spacing:.14em; margin:0 0 30px; }
#contacts .lp-contact-success__label span { color:#ff9800; margin-right:12px; }
#contacts .lp-contact-success h3 { font-size:clamp(28px,2.5vw,40px); line-height:1.15; letter-spacing:-.035em; color:#f4f1ed; margin:0 0 22px; }
#contacts .lp-contact-success h3:focus-visible { outline:1px solid #ff980070; outline-offset:8px; }
#contacts .lp-contact-success > p:not(.lp-contact-success__label) { color:#aaa7a3; font-size:16px; line-height:1.75; max-width:38ch; margin:0 0 34px; }
#contacts .lp-contact-success a { display:inline-flex; align-items:center; gap:20px; min-height:44px; color:#ff9800; font-size:11px; letter-spacing:.12em; }
#contacts .lp-contact-success a:focus-visible { outline:2px solid #ff9800; outline-offset:5px; }
@media(max-width:575px) {
}
@media(prefers-reduced-motion:no-preference) {
 #contacts .lp-contact-conversation.is-leaving { animation:contact-conversation-out 140ms ease-in both; }
 #contacts .lp-contact-success.is-entering { animation:contact-conversation-in 260ms cubic-bezier(.16,1,.3,1) both; }
 @keyframes contact-conversation-out { from { opacity:1; translate:0 0; } to { opacity:0; translate:0 6px; } }
 @keyframes contact-conversation-in { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
}
@media(prefers-reduced-motion:reduce) {
 #contacts .contact-form *,#contacts .contact-form *::before,#contacts .contact-form *::after { animation:none!important; transition:none!important; translate:none!important; }
}

/* Contact closing-chapter proportions; canonical rails and delivery logic stay shared. */
.contact-area-wrapper { padding-block:0; }
#contacts.get-in-touch-area { padding-top:110px; padding-bottom:140px; }
#contacts .get-in-touch-wrapper { padding-block:0; }
#contacts .get-in-touch-wrapper > .row { margin-top:0; }
#contacts .get-in-touch-wrapper > .row > [class*="col-"] { padding-top:0; }
#contacts .section-head .title { font-size:clamp(42px,3.2vw,54px); line-height:1.1; letter-spacing:-.035em; max-width:100%; }
#contacts .section-head .description { max-width:43ch; line-height:1.75; }
#contacts .section-head .description a { display:inline-block; margin-top:8px; overflow-wrap:anywhere; }
#contacts .contact-inner { width:min(100%,810px); }
#contacts .contact-form .input-field { border:1px solid #2a3037; background:#050607; padding:14px 18px; border-radius:8px; font-size:16px; }
#contacts .contact-form input.input-field { height:52px; }
#contacts .contact-form textarea.input-field { height:160px; min-height:160px; }
#contacts .contact-form .input-field::placeholder { color:#aaaeb3; }
#contacts .contact-form .input-field:focus { border-color:#ff98008c; outline-color:#ff980060; }
#contacts #contact-form button[type="submit"] { height:52px; min-height:52px; border-color:#8c8f92; background:#090b0d; transition:border-color .26s,background-color .26s; }
#contacts #contact-form button[type="submit"] .btn-icon { color:#ff9800; transition:transform .26s; }
#contacts #contact-form button[type="submit"] .btn-bg,#contacts #contact-form button[type="submit"] .btn-bg-hover { opacity:0; }
#contacts #contact-form button[type="submit"] .btn-text { color:#f4f1ed; font-size:14px; }
#contacts .lp-contact-success__label { font-size:18px; font-weight:600; letter-spacing:.08em; color:#f4f1ed; }
@media(hover:hover) and (pointer:fine) {
 #contacts #contact-form button[type="submit"]:hover { border-color:#ff980099; background:#0e1012; }
 #contacts #contact-form button[type="submit"]:hover .btn-icon { transform:translateX(3px); }
}
@media(min-width:992px) {
 .breadcrumb-area.contact-hero { height:max(560px,76svh); min-height:max(560px,76svh)!important; }
 .breadcrumb-area.contact-hero .contact-universe { min-height:max(560px,76svh); }
 #contacts .get-in-touch-wrapper > .row > .col-lg-5 { width:38%; }
 #contacts .get-in-touch-wrapper > .row > .col-lg-7 { width:62%; padding-left:0; }
}
@media(max-width:991px) {
 #contacts.get-in-touch-area { padding-top:72px; padding-bottom:110px; }
 #contacts .get-in-touch-wrapper > .row > .col-lg-7 { margin-top:42px; }
 #contacts .section-head .title { font-size:40px; max-width:16ch; }
 #contacts .contact-inner { width:100%; }
}
@media(max-width:575px) {
 #contacts.get-in-touch-area { padding-top:64px; padding-bottom:100px; }
 #contacts .section-head .title { font-size:34px; line-height:1.12; max-width:16ch; }
 #contacts .contact-form textarea.input-field { height:150px; min-height:150px; }
}
/* Shared mobile title rules carry !important; retain the Contact editorial hierarchy. */
@media(max-width:991px) { #contacts .section-head .title { font-size:40px!important; } }
@media(max-width:575px) { #contacts .section-head .title { font-size:34px!important; } }
@media(min-width:992px) { #contacts .section-head { padding-right:20px; } }


@media(hover:hover) and (pointer:fine) {
}

@media(max-width:575px) {
}
/* Native conversation topic; the conditional field only contributes to subject. */
#contacts .lp-contact-topic { margin-bottom:30px; }
#contacts .lp-contact-topic > label { display:block; color:#d0cdc7; font-size:12px; letter-spacing:.12em; line-height:1.6; margin-bottom:16px; }
#contacts .lp-contact-topic__select { position:relative; }
#contacts .lp-contact-topic__select::after { content:""; position:absolute; right:21px; top:21px; width:7px; height:7px; border-right:1px solid #92979e; border-bottom:1px solid #92979e; transform:rotate(45deg); pointer-events:none; }
#contacts .lp-contact-topic__select:focus-within::after { border-color:#ff9800; }
#contacts #contact-topic { appearance:none; -webkit-appearance:none; display:block; width:100%; height:54px; padding:0 46px 0 18px; border:1px solid #2a3037; border-radius:8px; background:#050607; color:#aaaeb3; font-family:inherit; font-size:16px; transition:border-color .2s; }
#contacts #contact-topic.has-topic { color:#f4f1ed; }
#contacts #contact-topic option { background:#050607; color:#f4f1ed; }
#contacts #contact-topic:focus-visible { border-color:#ff98008c; outline:1px solid #ff980060; outline-offset:2px; }
#contacts .lp-contact-topic__custom { margin-top:18px; }
#contacts .lp-contact-topic__custom label { display:block; color:#aaaeb3; font-size:13px; line-height:1.6; margin-bottom:10px; }
#contacts .lp-contact-topic__custom input { width:100%; }
@media(prefers-reduced-motion:no-preference) {
 #contacts .lp-contact-topic__custom:not([hidden]) { animation:contact-topic-custom-in .2s ease-out; }
 @keyframes contact-topic-custom-in { from { opacity:0; translate:0 5px; } to { opacity:1; translate:0 0; } }
}

/* A concise engagement brief and an explicit enquiry process on the shared grid. */
#contacts .lp-contact-brief .section-sub-title { margin-bottom:24px; }
#contacts .lp-contact-brief .title { max-width:17ch; margin:0 0 24px; }
#contacts .lp-contact-brief .description { margin:0; }
.lp-contact-engagements { list-style:none; padding:0; margin:32px 0; display:grid; gap:24px; }
.lp-contact-engagements li { padding:0; margin:0; }
.lp-contact-engagements strong { display:block; color:#f1eee8; font-size:16px; line-height:1.5; margin-bottom:6px; }
.lp-contact-engagements span,.lp-contact-availability p { display:block; color:#aaaeb3; font-size:14px; line-height:1.8; }
.lp-contact-availability { padding-top:24px; border-top:1px solid #ffffff1a; margin-bottom:24px; }
.lp-contact-availability h3 { color:#ff9800; font-size:15px; line-height:1.5; margin:0 0 8px; }
.lp-contact-availability p { margin:0; }
#contacts .lp-contact-email { font-size:14px; line-height:1.6; overflow-wrap:anywhere; color:#e4dfd6; }
#contacts .lp-contact-brief-help { font-size:13px; line-height:1.7; color:#a8a8ae; margin:12px 0 0; }
.lp-contact-next { margin-top:80px; padding-top:48px; border-top:1px solid #ffffff1a; }
.lp-contact-next__eyebrow { font-size:13px; font-weight:600; letter-spacing:.08em; color:#ff9800; margin:0 0 16px; }
.lp-contact-next h2 { color:#f2eee8; font-size:clamp(28px,3vw,38px); line-height:1.2; margin:0 0 36px; }
.lp-contact-next ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.lp-contact-next li { margin:0; padding:0; }
.lp-contact-next li>span { display:block; color:#ff9800; font-size:13px; margin-bottom:16px; }
.lp-contact-next h3 { color:#eee9e1; font-size:20px; line-height:1.4; margin:0 0 12px; }
.lp-contact-next li p { color:#aaaeb3; font-size:15px; line-height:1.8; margin:0; max-width:44ch; }
@media(max-width:767px) { .lp-contact-next { margin-top:56px; padding-top:32px; }.lp-contact-next ol { grid-template-columns:1fr; gap:32px; } }

/* Bootstrap's negative row gutter must not be clipped by the contact wrapper. */
#contacts .get-in-touch-wrapper { overflow:visible!important; }
#contacts .lp-contact-email { display:block; width:fit-content; max-width:100%; white-space:normal; overflow:visible; overflow-wrap:anywhere; text-indent:0; padding:2px; margin-left:-2px; clip-path:none; }
