/* Approved contact-choice cards; enhancement leaves the original form as a no-JS fallback. */
#request.contact-entry-enhanced{position:relative;isolation:isolate;overflow:hidden;padding-block:64px;background:#141b1d;color:#f8f7f3}
#request.contact-entry-enhanced::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#141b1d 20%,#141b1deb 52%,#141b1d80),linear-gradient(0deg,#141b1d 10%,transparent 85%),url('/assets/hero.png') right 48%/auto 150% no-repeat;opacity:.7}
#request .contact-entry-layout{display:block;position:relative;min-width:0}
#request .contact-entry-original{display:none!important}
#request .contact-entry-actions{width:100%;min-width:0;padding:0;border:0;background:none}
#request .contact-entry-brand{margin:0 0 24px;color:#f8f7f3;font-size:18px;font-weight:750;line-height:1.3;letter-spacing:.08em}
#request .contact-entry-heading{max-width:none;margin:0 0 34px;font-size:clamp(32px,3.4vw,52px);line-height:1.12;letter-spacing:-.035em;font-weight:750;color:#f8f7f3}
.contact-entry-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.contact-entry-buttons.contact-entry-single{grid-template-columns:minmax(0,650px)}
.contact-entry-card{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;column-gap:24px;row-gap:30px;min-width:0;padding:30px;border:1px solid #667274;border-radius:20px;background:linear-gradient(135deg,#293234ed,#202829ed);box-shadow:inset 0 1px #ffffff08}
.contact-entry-icon{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:#f5f4ef;color:#e7182a}
.contact-entry-icon svg{display:block;width:42px;height:42px}
#request .contact-entry-copy h3{margin:0 0 10px;color:#f8f7f3;font-size:clamp(22px,2.2vw,32px);line-height:1.15;letter-spacing:-.02em;font-weight:750}
#request .contact-entry-copy p{margin:0;color:#bdc5c7;font-size:17px;line-height:1.5}
.contact-entry-button{grid-column:1/-1;display:flex;align-items:center;justify-content:center;width:100%;min-height:62px;padding:14px 20px;border:1px solid #e7182a;border-radius:10px;font-family:inherit;font-size:20px;font-weight:700;line-height:1.3;color:#fff;background:#e7182a;cursor:pointer;transition:background .15s,border-color .15s}
.contact-entry-callback:hover,.contact-entry-max:hover{background:#c81425;border-color:#c81425}.contact-entry-button:disabled{opacity:.6;cursor:wait}
#request .contact-entry-status{font-size:15px;color:#f4f4ef;line-height:1.5;margin:16px 0 0;overflow-wrap:anywhere}.contact-entry-status:empty{display:none}
.contact-entry-fallback{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;text-underline-offset:4px;margin-top:8px}
.contact-entry-fallback[hidden],.contact-entry-card[hidden]{display:none!important}
.contact-entry-button:focus-visible,.contact-entry-fallback:focus-visible,.callback-dialog :focus-visible{outline:3px solid #91b9e6;outline-offset:4px}
@media(max-width:760px){#request.contact-entry-enhanced{padding-block:40px}#request .contact-entry-heading{font-size:32px;line-height:1.15;margin-bottom:26px}#request .contact-entry-brand{font-size:15px;margin-bottom:18px}.contact-entry-buttons{grid-template-columns:1fr;gap:18px}.contact-entry-card{grid-template-columns:60px minmax(0,1fr);gap:22px 16px;padding:22px;border-radius:18px}.contact-entry-icon{width:60px;height:60px}.contact-entry-icon svg{width:34px;height:34px}#request .contact-entry-copy h3{font-size:23px;margin-bottom:7px}#request .contact-entry-copy p{font-size:15px}.contact-entry-button{min-height:56px;font-size:18px}}
.callback-dialog{width:min(600px,calc(100% - 32px));max-width:600px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;margin:auto;padding:28px;border:1px solid #ffffff35;border-radius:20px;background:#202627;color:#f8f7f3;box-shadow:0 24px 80px #0006}.callback-dialog::backdrop{background:#101516b8;backdrop-filter:blur(3px)}
.callback-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.callback-dialog-header h2{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:0}.callback-dialog-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;margin:-8px -8px 0 0;padding:0;border:1px solid #ffffff45;border-radius:10px;background:transparent;color:white;font-size:28px;line-height:1;cursor:pointer}.callback-dialog-intro{color:#c0c6c6;font-size:15px;line-height:1.5;margin:0 0 20px}
.callback-dialog .callback-form-layout{display:block;width:100%;margin:0}.callback-dialog .callback-form-layout form{padding:0;background:transparent;border:0;box-shadow:none}.callback-dialog .request-context{font-size:14px;padding:12px 14px;margin-bottom:20px}.callback-dialog #request-form>label{font-size:15px}.callback-dialog .booking-submit{width:100%;min-height:54px}.callback-dialog .release-consent{font-size:13px!important;line-height:1.5}.callback-dialog .release-consent input{flex:none}
@media(max-width:760px){.callback-dialog{padding:22px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding-bottom:max(22px,env(safe-area-inset-bottom))}.callback-dialog-header h2{font-size:25px}.callback-dialog .request-layout textarea{min-height:88px}.callback-dialog .request-layout input{font-size:16px}.callback-dialog .request-layout textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contact-entry-button{transition:none}}

/* Floating labels stay inside the field, including after autofill and form reset. */
.callback-dialog .callback-field{position:relative;margin:0 0 16px;min-width:0}
.callback-dialog .callback-field>input,.callback-dialog .callback-field>textarea{display:block;box-sizing:border-box;width:100%;margin:0;padding:26px 16px 10px;min-height:64px;font-size:16px;line-height:1.5}
.callback-dialog .callback-field>textarea{min-height:116px;resize:vertical}
.callback-dialog .callback-field>label{position:absolute;left:16px;right:16px;top:9px;margin:0;padding:0;color:#c0c6c6;font-size:12px;line-height:1.35;pointer-events:none;transition:top .12s,font-size .12s}
.callback-dialog .callback-field>:placeholder-shown:not(:focus)+label{top:21px;font-size:16px}
.callback-dialog .callback-field>:focus+label{color:#fff}
.callback-dialog #request-phone-hint{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.callback-dialog .callback-field>label{transition:none}}

.contact-entry-button[hidden],.contact-entry-hint[hidden]{display:none!important}
