/* A calm route from treatment information to a real appointment. */
.booking-panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,86px);padding:48px 7%;background:#141414;border-top:1px solid #b9a07830;border-bottom:1px solid #b9a07830;color:#eeeae3;scroll-margin-top:30px}
.booking-panel .eyebrow{margin:0 0 16px;color:var(--gold);font-size:.75rem}
.booking-panel h1,.booking-panel h2{margin:0 0 20px;font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.2;letter-spacing:0}
.booking-panel p{font-size:1rem;line-height:1.8;color:#c4c0b8;max-width:580px;margin:0}
.booking-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:52px;padding:14px 23px;margin-top:26px;border:1px solid #b9a078;background:#b9a078;color:#111;font-family:var(--sans);font-size:.9375rem;font-weight:500;line-height:1.5;transition:background .2s}
.booking-button:hover{background:#cdbc9f}
.booking-button:focus-visible,.booking-panel a:focus-visible,.booking-support summary:focus-visible{outline:2px solid #d5bd96;outline-offset:5px}
.booking-support{align-self:center;min-width:0}
.booking-support details{border-bottom:1px solid #b9a07838}
.booking-support details:first-child{border-top:1px solid #b9a07838}
.booking-support summary{position:relative;list-style:none;padding:20px 28px 20px 0;font-family:var(--sans);font-size:1rem;font-weight:500;line-height:1.6;color:#eeeae3;cursor:pointer}
.booking-support summary::-webkit-details-marker{display:none}
.booking-support summary:after{content:'+';position:absolute;right:0;top:20px;font-size:22px;font-weight:400;line-height:1.2;color:var(--gold)}
.booking-support details[open]>summary:after{content:'−'}
.booking-support details>div{padding:0 0 23px}
.booking-support details p a,.booking-questions a{color:var(--gold-light);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.consult-price{display:block;font-size:.875rem;font-weight:400;color:var(--gold)}
.booking-text-link{display:inline-block;margin-top:16px;border-bottom:1px solid #b9a078;padding-bottom:3px;font-size:.9375rem;color:var(--gold-light);line-height:1.6}
.booking-panel .booking-questions{margin:18px 0 0;font-size:.875rem;line-height:1.8}
.compact-results>.booking-panel{margin:34px 0 40px;padding:36px clamp(20px,4vw,48px)}
.booking-contact .booking-panel{padding-top:65px;padding-bottom:55px;border-top:0}
.booking-location{margin:0;padding:25px 7%;font-size:1rem;color:#b6b2aa}
.home-treatments{padding:48px 7% 40px;background:#101011}
.home-treatments .section-label{margin-bottom:32px}
.home-treatment-heading{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-bottom:32px}
.home-treatment-heading h2{font-size:clamp(2rem,3.5vw,3.2rem)}
.home-treatment-heading p{font-size:1rem;color:#b6b2aa;line-height:1.8}
.home-treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}
.home-treatment-grid article{border-top:1px solid #b9a07838;padding-top:24px;min-width:0}
.home-treatment-grid h3{font-size:1.625rem;margin-bottom:16px}
.home-treatment-grid p{font-size:1rem;color:#c4c0b8;line-height:1.8}
.home-treatment-grid .text-link{margin-top:16px}
.home-treatment-grid .home-price{display:flex;justify-content:space-between;gap:16px;margin-top:20px;font-size:.9375rem;max-width:420px}
.home-price strong{font-weight:500;color:var(--gold-light)}
.home-treatment-grid .home-price-note{font-size:.875rem;margin-top:5px}
.home-trust{max-width:none;margin-top:32px;padding-top:24px;border-top:1px solid #ffffff15;font-size:.875rem;line-height:1.8;color:#b6b2aa}
.home-trust a{display:inline-block;color:var(--gold-light);margin-left:22px}
.home-compact .results{padding-top:48px;padding-bottom:45px}
.home-compact .results .section-label{margin-bottom:32px}
.home-explore{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:35px 7%;background:#0a0a0a}
.home-explore a{font-size:.9375rem;line-height:1.7;padding:10px 0}
.home-explore a span{display:block;font-size:.75rem;letter-spacing:.08em;color:var(--gold);margin-bottom:5px}
.home-explore a:hover{color:var(--gold-light)}
.mobile-booking{display:none}
@media(max-width:760px){
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:100px}
 html{scroll-padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))}
 .booking-panel{grid-template-columns:1fr;gap:25px;padding:34px 6%}
 .booking-panel h1,.booking-panel h2{font-size:clamp(1.9rem,7.5vw,2.6rem);margin-bottom:17px}
 .booking-button{width:100%;margin-top:22px;min-height:54px}
 .booking-panel p{font-size:1rem}
 .booking-support summary{font-size:.9375rem;padding-top:17px;padding-bottom:17px}
 .booking-support summary:after{top:18px}
 .booking-contact .booking-panel{padding-top:38px;padding-bottom:35px}
 .compact-results>.booking-panel{margin:30px 0;padding:28px 20px}
 .home-treatments{padding:35px 6%}
 .home-treatment-heading,.home-treatment-grid{grid-template-columns:1fr;gap:25px}
 .home-treatment-heading h2{font-size:2.25rem}
 .home-treatment-heading{margin-bottom:26px}
 .home-trust{margin-top:26px}
 .home-trust a{display:block;margin-left:0;margin-top:12px}
 .home-compact .results{padding-top:35px;padding-bottom:35px}
 .home-explore{grid-template-columns:1fr;gap:0;padding:18px 6%}
 .home-explore a{padding:17px 0;border-bottom:1px solid #b9a07824}
 .home-explore a:last-child{border-bottom:0}
 .mobile-booking{display:block;position:fixed;left:0;right:0;bottom:0;z-index:100;background:#101010f5;border-top:1px solid #b9a07848;padding:10px 6% calc(10px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 .mobile-booking>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:12px 20px;background:#b9a078;color:#111;font-size:1rem;font-weight:500;line-height:1.5}
 .mobile-booking>a:focus-visible{outline:2px solid #f0dfc2;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){.booking-button{transition:none}}
