/* A dedicated consultation request experience. */
.booking-page #appointment{position:relative;overflow:hidden;background:radial-gradient(ellipse at 0 10%,#e6d9af55,transparent 65%),linear-gradient(125deg,#e8e7d2,#d5dfc2);padding:150px 0 65px}
.booking-page .appointments>.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:45px;align-items:start;max-width:1250px}
.booking-page .appointments .eyebrow{font-size:9px;letter-spacing:2px;color:#6d7a42;font-weight:600}.booking-page .appointments h2{font:500 clamp(43px,4.2vw,65px)/1.06 var(--serif);color:#2b5140;letter-spacing:-1px;margin:20px 0}.booking-page .appointments h2 em{color:#9b773c}.booking-page .form-intro{color:#5b6e4c;font-size:16px;line-height:1.8;max-width:560px;margin:0 0 30px}
.booking-page #appointment-form{position:relative;padding:32px;background:linear-gradient(135deg,#f4f3df,#e4ebd0);border:1px solid #afc18f;border-radius:28px 8px;box-shadow:0 15px 35px #3d562e12}
.booking-form-heading{border-bottom:1px solid #b9c79b77;margin-bottom:24px;padding-bottom:20px}.booking-form-heading>span{font-size:8px;letter-spacing:1.8px;color:#86904e}.booking-form-heading h3{font:500 32px/1.1 var(--serif);color:#34543b;margin:12px 0}.booking-form-heading p{font-size:13px;color:#6b7a53;margin:0;line-height:1.7}
.booking-page .form-grid{gap:22px 18px}.booking-page .form-grid label{font-size:12px;font-weight:600;color:#47603d;letter-spacing:.2px}.booking-page input,.booking-page select,.booking-page textarea{display:block;width:100%;background:#fcfbec;border:1px solid #b2c18f;border-radius:10px 3px;min-height:51px;padding:13px 14px;color:#34513b;font-size:15px;margin-top:8px;box-shadow:inset 0 1px 2px #4b602b05;transition:border-color .25s,box-shadow .25s}.booking-page textarea{min-height:110px;resize:vertical}.booking-page input:focus,.booking-page select:focus,.booking-page textarea:focus{outline:0;border-color:#728b51;box-shadow:0 0 0 3px #91a96e25}.booking-page input::placeholder,.booking-page textarea::placeholder{color:#929a7c}
.booking-page .submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin-top:27px;border-radius:11px 4px;background:linear-gradient(125deg,#4a6941,#31523a);color:#fff0cb;font-size:15px;box-shadow:0 8px 18px #3e572d22}.booking-page .notice{color:#677653!important;font-size:12px!important;line-height:1.7;margin:16px 0 0}.booking-page .status{color:#31573c;font-size:14px;line-height:1.8}
.booking-page .clinic{position:sticky;top:125px;padding:34px 29px;background:radial-gradient(ellipse at top right,#8c9b6233,transparent 65%),linear-gradient(135deg,#4c6743,#2f4d37);border:1px solid #7b9361;border-radius:80px 10px 26px 10px;box-shadow:0 18px 35px #2c4d3024;color:#edf0db;margin-top:20px}
.booking-page .clinic h3{color:#fff0cf;font:500 39px var(--serif);margin:10px 0 0}.booking-page .clinic .subtitle{color:#d5e0be;font-size:15px}.booking-page .clinic .specialty{display:inline-block;padding:7px 12px;border:1px solid #c9ce9055;border-radius:20px;background:#dce3ae0a;color:#ecd29a;font-size:9px;letter-spacing:1.3px;margin:10px 0 23px}.booking-page .clinic .contact-item{padding:18px 0;margin:0;border-top:1px solid #b5c78e33;align-items:flex-start}.booking-page .clinic .contact-icon{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:11px 3px;background:#cfdbad15;color:#edd39a;border:1px solid #c1d09133}.booking-page .clinic strong{color:#f6e3b2;font-size:14px}.booking-page .clinic p{color:#e1ead0;font-size:14px;line-height:1.8}.booking-page .clinic .social{color:#d4dfbc;font-size:12px}.booking-page .clinic .social-links a{background:#d1dbab15;color:#f0dda9;border:1px solid #bdcd9233}.booking-page .clinic a:hover{color:#ffe3a3}
@media(max-width:1000px){.booking-page .appointments>.two-col{gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.booking-page #appointment-form{padding:25px}.booking-page .clinic{padding:30px 22px}.booking-page .form-grid{grid-template-columns:1fr}.booking-page .form-grid label{grid-column:1}}
@media(max-width:760px){.booking-page #appointment{padding:125px 0 40px}.booking-page .appointments>.two-col{width:90%;grid-template-columns:1fr;gap:27px}.booking-page .appointments h2{font-size:45px}.booking-page .appointments .eyebrow{font-size:8px;letter-spacing:1.4px}.booking-page .form-intro{font-size:16px}.booking-page #appointment-form{padding:25px 20px;border-radius:24px 7px}.booking-form-heading h3{font-size:31px}.booking-page .form-grid label{font-size:13px}.booking-page input,.booking-page select,.booking-page textarea{font-size:16px;min-height:53px}.booking-page .clinic{position:relative;top:auto;margin-top:0;border-radius:55px 8px 24px 8px;padding:31px 24px}.booking-page .clinic p{font-size:15px}.booking-page .submit{font-size:15px;min-height:55px}}
@media(prefers-reduced-motion:no-preference){.booking-page #appointment-form{animation:booking-arrive .85s both}.booking-page .clinic{animation:booking-arrive 1s .15s both}}
@keyframes booking-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.booking-page input,.booking-page select,.booking-page textarea{transition:none}}
/* A new booking layout with one clear introduction and balanced panels. */
.booking-page #appointment{background:radial-gradient(ellipse at 90% 10%,#cfdaaf55,transparent 65%),linear-gradient(125deg,#eee7d2,#d9e2c5);padding-top:145px}
.booking-page-intro{text-align:center;max-width:1050px;margin-bottom:32px}.booking-page .booking-page-intro :is(h1,h2){font-size:clamp(45px,4.7vw,70px);margin:22px 0}.booking-page .booking-page-intro :is(h1,h2) br{display:none}.booking-page .booking-page-intro :is(h1,h2) em{display:block;margin-top:5px}.booking-page .booking-page-intro .form-intro{margin:0 auto;max-width:700px;font-size:16px}.booking-page .booking-page-intro .eyebrow{display:inline-block;padding:8px 14px;border:1px solid #b9be8e77;border-radius:25px;background:#faf4dc66}
.booking-steps{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;margin-top:25px;color:#687b43;font-size:9px;letter-spacing:1.3px}
.booking-page .appointments>.two-col{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;max-width:1200px;align-items:stretch}
.booking-page #appointment-form{padding:32px 34px;border-radius:22px;border:1px solid #aabc8c;background:linear-gradient(135deg,#e4ebd1,#d5e1c0);box-shadow:0 15px 35px #3f582f15}
.booking-form-heading{padding-bottom:22px;margin-bottom:25px}.booking-form-heading>span{color:#7b8147;letter-spacing:2px}.booking-form-heading h3{font-size:35px;color:#2b513b}.booking-form-heading p{font-size:14px;color:#5c7048}
.booking-page .form-grid{grid-template-columns:1fr 1fr;gap:20px 17px}.booking-page .form-grid label{font-size:12px;color:#375438}.booking-page input,.booking-page select,.booking-page textarea{background:#f6f6e7;border-color:#a9bc88;border-radius:9px;min-height:52px}.booking-page .submit{border-radius:30px;background:linear-gradient(120deg,#45643e,#2d4d37);font-size:15px;min-height:54px}
.booking-page .clinic{position:relative;top:auto;margin:0;padding:35px 30px;border-radius:22px;background:radial-gradient(ellipse at 100% 0,#8b9b5e33,transparent 70%),linear-gradient(130deg,#405d3e,#2c4935);box-shadow:0 15px 35px #314c3020;overflow:hidden;isolation:isolate}
.booking-page .clinic:before{content:'';position:absolute;width:300px;height:300px;border:1px solid #ced1a226;border-radius:50%;right:-180px;top:-130px;box-shadow:0 0 0 25px #c3cd9808;pointer-events:none;z-index:-1}
.booking-page .clinic h3{font-size:41px;margin:0 0 7px}.booking-page .clinic .subtitle{font-size:14px;letter-spacing:.5px}.booking-page .clinic .specialty{border-radius:5px;padding:7px 10px;font-size:8px;margin:15px 0 24px}.booking-page .clinic .contact-item{display:flex;padding:19px 0;gap:14px}.booking-page .clinic .contact-icon{width:36px;flex:0 0 36px;height:36px;border-radius:50%;background:#d9dfad0d;color:#e6cb90}.booking-page .clinic strong{font-size:14px;color:#f6dfa9}.booking-page .clinic p{font-size:14px;line-height:1.9;color:#e2ead2;margin:7px 0 0}.booking-page .clinic .social{border-top:1px solid #b7c99133;padding-top:20px;margin-top:7px}
@media(max-width:1000px){.booking-page .form-grid{grid-template-columns:1fr}.booking-page .form-grid label{grid-column:1}.booking-page #appointment-form{padding:27px}.booking-page .clinic{padding:30px 23px}}
@media(max-width:760px){.booking-page #appointment{padding-top:125px}.booking-page-intro{width:90%;margin-bottom:25px}.booking-page .booking-page-intro :is(h1,h2){font-size:44px}.booking-page .booking-page-intro .eyebrow{font-size:7px;letter-spacing:1.1px}.booking-steps{gap:12px;font-size:8px;letter-spacing:.3px;margin-top:20px}.booking-page .appointments>.two-col{grid-template-columns:1fr;gap:22px;width:90%}.booking-page #appointment-form{padding:26px 21px;border-radius:20px}.booking-form-heading h3{font-size:32px}.booking-page input,.booking-page select,.booking-page textarea{font-size:16px;min-height:53px}.booking-page .clinic{padding:29px 24px;border-radius:20px}.booking-page .clinic h3{font-size:37px}.booking-page .clinic p{font-size:15px}}
/* Booking-page refresh: dark editorial cover and a warm consultation form. */
.booking-page #appointment{padding-top:98px;background:#dde4cd}
.booking-page .booking-page-intro{width:100%;max-width:none;margin:0 0 35px;padding:45px max(5vw,22px) 30px;background:radial-gradient(ellipse at 80% 20%,#7f905a44,transparent 65%),linear-gradient(125deg,#34523b,#4e6843);border-bottom:1px solid #9aad7833}
.booking-page .booking-page-intro .eyebrow{color:#e4ce96;border-color:#c7ce9855;background:#dce3ad0a;font-size:8px;letter-spacing:2px}
.booking-page .booking-page-intro :is(h1,h2){font-size:clamp(43px,4.3vw,65px);color:#fff3d8;margin:20px 0}.booking-page .booking-page-intro :is(h1,h2) em{color:#e9cb8d}
.booking-page .booking-page-intro .form-intro{color:#e0e8cf;font-size:16px;max-width:650px}.booking-page .booking-steps{color:#d9ddb5;font-size:9px;margin-top:22px;gap:35px}
.booking-page .appointments>.two-col{width:min(1180px,88%);gap:30px;align-items:start}
.booking-page #appointment-form{background:linear-gradient(135deg,#f3eedb,#e8e4cc);border:1px solid #c3ba92;border-radius:8px;padding:35px;box-shadow:0 15px 35px #3e552d13;border-top:3px solid #aa8c4d}
.booking-page .booking-form-heading{border-bottom-color:#bbb28c66;padding-bottom:22px}.booking-page .booking-form-heading>span{color:#927640;font-size:8px}.booking-page .booking-form-heading h3{font-size:36px;color:#2e513b}.booking-page .booking-form-heading p{color:#65714f;font-size:14px}
.booking-page .form-grid{gap:22px 18px}.booking-page .form-grid label{font-size:12px;color:#3c573c}.booking-page input,.booking-page select,.booking-page textarea{border-radius:5px;background:#fffbed;border-color:#bcb794;color:#344d36;font-size:15px;min-height:52px}.booking-page input:focus,.booking-page select:focus,.booking-page textarea:focus{border-color:#8e9b66;box-shadow:0 0 0 3px #91a96e20}.booking-page .submit{border-radius:6px;background:#3c5d3f;color:#fff0c9;min-height:54px}
.booking-page .clinic{background:transparent;border:0;border-radius:0;box-shadow:none;padding:10px 0;color:#36523b;overflow:visible}.booking-page .clinic:before{display:none}.booking-page .clinic h3{color:#2e513b;font-size:40px}.booking-page .clinic .subtitle{color:#66794c}.booking-page .clinic .specialty{color:#896c34;border-color:#adba8477;background:#e7e9ca}
.booking-page .clinic .contact-item{background:linear-gradient(125deg,#cad9b3,#bdd0a5);border:1px solid #a5ba88;border-radius:14px 4px;padding:17px 18px;margin-bottom:12px;gap:13px}.booking-page .clinic .contact-item strong{color:#2e5236;font-size:14px}.booking-page .clinic .contact-item p{color:#4b623d;font-size:14px;line-height:1.8}.booking-page .clinic .contact-icon{background:#f2edce77;color:#8c7038;border-color:#aab78066;border-radius:50%}.booking-page .clinic .social{border:0;padding:8px 0 0;color:#587046}.booking-page .clinic .social-links a{background:#476441;color:#ffedbf;border-color:#718955}.booking-page .clinic a:hover{color:#896c32}
@media(max-width:1000px){.booking-page #appointment-form{padding:27px}}
@media(max-width:760px){.booking-page #appointment{padding-top:96px}.booking-page .booking-page-intro{padding:32px 22px 25px;margin-bottom:25px}.booking-page .booking-page-intro :is(h1,h2){font-size:42px;line-height:1.08}.booking-page .booking-page-intro .eyebrow{font-size:7px;letter-spacing:1.2px}.booking-page .booking-page-intro .form-intro{font-size:16px}.booking-page .booking-steps{gap:12px;font-size:8px;letter-spacing:.3px}.booking-page .appointments>.two-col{width:90%;gap:27px}.booking-page #appointment-form{padding:26px 21px}.booking-page .booking-form-heading h3{font-size:32px}.booking-page input,.booking-page select,.booking-page textarea{font-size:16px;min-height:53px}.booking-page .clinic{padding:0}.booking-page .clinic .contact-item p{font-size:15px}}
.booking-page .booking-page-intro h1{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-1px}
