/* Give the contact-page studio photo more room beside the introduction. */
@media(min-width:761px){.page-contact .hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-right:clamp(0px,calc(672px - 50vw),32px)}}
.contact-whatsapp{margin-top:32px;padding:30px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:24px;background:#dfe9e1;border:1px solid #96b59e;border-radius:16px}
.whatsapp-symbol{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#1f1d1a;color:#fff;font-size:27px}
.whatsapp-symbol{background:#18844b}
.whatsapp-symbol img{width:32px;height:32px;filter:brightness(0) invert(1)}
.whatsapp-button img{width:23px;height:23px;filter:brightness(0) invert(1)}
body main .button.whatsapp-button{background:#18844b;color:#fff!important;border:1px solid #14723f;border-radius:999px;display:inline-flex;gap:12px;align-items:center;justify-content:center}
body main .button.whatsapp-button:hover{background:#146e3f;color:#fff!important}
.contact-whatsapp h2{font-size:30px;line-height:1.3;margin:8px 0 10px;color:#1f1d1a}.contact-whatsapp p{font-size:15px;line-height:1.8}.contact-whatsapp .eyebrow{font-size:10px}.contact-whatsapp strong{font-weight:600;color:#1f1d1a}.whatsapp-button{white-space:nowrap;min-height:48px}
.consultation-rail{position:fixed;z-index:30;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:12px;padding:18px 14px;writing-mode:vertical-rl;background:#edc085;color:#1f1d1a;font-size:13px;font-weight:600;line-height:20px;border:1px solid #d9a45c;border-radius:14px 0 0 14px;box-shadow:0 5px 22px #1f1d1a18;transition:background .2s}
.consultation-rail:hover{background:#d9a45c}.consultation-rail:focus-visible,.whatsapp-button:focus-visible{outline:2px solid #1f1d1a;outline-offset:4px}
@media(max-width:760px){.contact-whatsapp{padding:24px;grid-template-columns:1fr;gap:18px}.contact-whatsapp h2{font-size:26px}.whatsapp-button{width:100%;text-align:center}.consultation-rail{writing-mode:horizontal-tb;top:auto;bottom:16px;right:16px;transform:none;border-radius:28px;padding:12px 18px;font-size:12px;min-height:46px}body:has(.consultation-rail){padding-bottom:82px}}
@media(prefers-reduced-motion:reduce){.consultation-rail{transition:none}}

/* The enquiry stays on the studio website; the provider supplies its own form. */
.contact-form-section{scroll-margin-top:130px;margin-top:38px;margin-bottom:38px}
.contact-form-card{max-width:840px;margin:0 auto;padding:clamp(20px,4vw,40px);background:#fffdf8;border:1px solid #dfd6c7;border-radius:24px;box-shadow:0 12px 36px #4c3c2410}
.contact-form-card h2{margin:12px 0 16px;font-size:clamp(26px,3vw,38px);line-height:1.25;color:#89591f}
.contact-form-card .contact-form-intro{max-width:650px;font-size:16px;line-height:1.8;color:#68645e}
.contact-form-provider,.contact-form-alternative,.contact-form-loading{font-size:13px;line-height:1.8;color:#68645e}
.contact-form-provider a,.contact-form-alternative a{color:#45654f;text-decoration:underline;text-underline-offset:3px}
.contact-form-load{margin:20px 0;cursor:pointer;font:inherit}
.contact-form-alternative{margin:20px 0 0}
@media(max-width:760px){.contact-form-section{scroll-margin-top:105px;margin-top:24px;margin-bottom:24px}.contact-form-card{padding:20px 14px;border-radius:20px}.contact-form-load{width:100%;justify-content:center}.contact-form-provider{font-size:12px}}

/* Native dialog keeps focus and the close control within the booking window. */
.booking-dialog{box-sizing:border-box;width:min(680px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 64px);padding:0;margin:auto;color:#1f1d1a;background:#fffdf8;border:1px solid #d9c8ac;border-radius:24px;box-shadow:0 28px 100px #20190f40;overflow:hidden}
.booking-dialog[open]{display:flex;flex-direction:column}
.booking-dialog::backdrop{background:#24231e88;backdrop-filter:blur(5px)}
.booking-dialog-header{position:static;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;padding:24px 28px 20px;background:linear-gradient(115deg,#faf2e3,#eff3eb);border-bottom:1px solid #e5ddce}
.booking-dialog-header .eyebrow{margin:0 0 8px;font-size:10px;letter-spacing:1.2px;color:#45654f}
.booking-dialog-header h2{margin:0;font-size:clamp(23px,3vw,29px);line-height:1.25;color:#89591f}
.booking-dialog-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #d4c4aa;border-radius:50%;color:#5e4628;background:#fffdf8;font:400 30px/1 sans-serif;cursor:pointer}
.booking-dialog-close:hover{background:#f2ddbd}
.booking-dialog-close:focus-visible,.booking-dialog a:focus-visible{outline:2px solid #45654f;outline-offset:3px}
.booking-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 28px 24px}
.booking-dialog-description{margin:0 0 8px;font-size:14px;line-height:1.65;color:#68645e}
.booking-dialog-provider,.booking-dialog-loading,.booking-dialog-alternative{font-size:12px;line-height:1.65;color:#68645e}
.booking-dialog-provider{margin:0 0 16px}
.booking-dialog a{color:#45654f;text-decoration:underline;text-underline-offset:3px}
.booking-dialog-frame{display:block;width:100%;height:600px;border:0;background:#fff;border-radius:12px}
.booking-dialog-loading[hidden]{display:none!important}
.booking-dialog-alternative{margin:18px 0 0}
@media(max-width:760px){.booking-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:20px}.booking-dialog-header{gap:12px;padding:20px 18px 16px}.booking-dialog-header .eyebrow{font-size:9px;letter-spacing:.8px}.booking-dialog-body{padding:16px 12px 20px}.booking-dialog-description,.booking-dialog-provider,.booking-dialog-alternative{padding-inline:4px}}
