.booking-section { background:#f6f3ec; border-top:1px solid #e4dfd3; }
.booking-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:38px; align-items:start; }
.booking-form { padding:36px; background:#fdfcf9; border:1px solid #e4dfd3; min-width:0; }
.booking-form fieldset { margin:0 0 30px; padding:0 0 30px; border:0; border-bottom:1px solid #e4dfd3; min-width:0; }
.booking-form legend { display:flex; align-items:center; gap:14px; width:100%; padding:0; margin-bottom:24px; font-family:Georgia,serif; font-size:24px; }
.booking-form legend span { font:10px 'Segoe UI',sans-serif; letter-spacing:1px; color:#94783e; border:1px solid #d5c7a8; border-radius:50%; width:30px; height:30px; display:grid; place-items:center; }
.booking-form .field-help { color:#827d70; font-size:11px; line-height:1.7; margin:10px 0 0; }
.booking-form .field .field-help:empty { display:none; }
.booking-form input:disabled,.booking-form select:disabled { background:#f1eee7; color:#8b8577; cursor:not-allowed; }
.booking-notice { color:#746541; border:1px solid #ddcfad; background:#f8f4e9; padding:14px 16px; font-size:12px; line-height:1.8; }
.booking-notice[data-status=error] { color:#8f382b; border-color:#d9aba1; }
.booking-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.payment-options { display:grid; gap:12px; }
.payment-option { display:flex; align-items:start; gap:12px; padding:16px; border:1px solid #e4dfd3; cursor:pointer; }
.payment-option:has(input:checked) { background:#f8f4e9; border-color:#b3975d; }
.payment-option input,.booking-consent input { accent-color:#8a6b2f; width:17px; height:17px; flex:0 0 17px; margin:3px 0 0; }
.payment-option strong { display:block; font-size:12px; font-weight:600; }
.payment-option small { display:block; color:#827d70; font-size:11px; }
.booking-consent { display:flex; align-items:start; gap:12px; margin-top:22px; font-size:11px; line-height:1.8; color:#716d60; }
.booking-submit { width:100%; }
.booking-form .form-message { margin-bottom:20px; }
.booking-summary { position:sticky; top:125px; padding:32px; border:1px solid #ddd3bc; background:#fdfcf9; min-width:0; }
.booking-summary-brand { display:flex; align-items:center; gap:14px; padding-bottom:24px; border-bottom:1px solid #e4dfd3; }
.booking-summary-brand .golden-logo { width:46px; height:46px; flex-basis:46px; }
.booking-summary-brand .kicker { margin:0; font-size:8px; letter-spacing:1.6px; }
.booking-summary h3 { font-size:36px; margin:28px 0; letter-spacing:-.7px; }
.booking-summary dl { margin:0; }
.booking-summary dl > div { margin:0 0 18px; }
.booking-summary dt { color:#8b8373; font-size:10px; }
.booking-summary dd { margin:3px 0 0; font-size:13px; overflow-wrap:anywhere; }
.booking-total { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #dfd4bc; padding-top:23px; margin-top:24px; font-size:12px; }
.booking-total strong { font:30px Georgia,serif; color:#8a6b2f; }
.booking-summary-note { margin-top:12px; font-size:10px; color:#817968; }
.booking-location { display:flex; gap:14px; padding:24px 0; margin-top:24px; border-top:1px solid #e4dfd3; font-size:11px; }
.booking-location > span { font-size:26px; color:#9b7c3d; line-height:1; }
.booking-location p { margin:8px 0 0; color:#827d70; overflow-wrap:anywhere; white-space:pre-line; }
.booking-location strong { font-weight:500; }
.booking-receipt { padding:40px; background:#fdfcf9; border:1px solid #d4c198; max-width:820px; margin:0 auto; }
.booking-receipt h3 { font-size:40px; margin:0 0 20px; }
.booking-receipt h4 { font:24px Georgia,serif; margin:0 0 20px; }
.booking-receipt > p { color:#787163; font-size:13px; }
.booking-receipt dl { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:24px 0; }
.booking-receipt dt { font-size:11px; color:#827d70; }
.booking-receipt dd { margin:4px 0 0; font-size:13px; overflow-wrap:anywhere; }
.receipt-bank { padding:24px; background:#f5f1e7; border:1px solid #e1d7c2; }
.receipt-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button-outline { background:transparent; color:#80652f; }
.button-outline:hover { color:white; }
.booking-section [hidden] { display:none !important; }
@media(max-width:1000px) { .booking-layout { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:20px; } .booking-form,.booking-summary { padding:24px; } .booking-form .form-grid { grid-template-columns:1fr; } .booking-summary h3 { font-size:30px; } }
@media(max-width:700px) { .booking-layout { grid-template-columns:1fr; } .booking-summary { position:static; } .booking-form { padding:24px 20px; } .booking-receipt { padding:26px 20px; } .booking-receipt dl { grid-template-columns:1fr; } .booking-receipt h3 { font-size:33px; } .receipt-actions > * { width:100%; } .booking-form legend { font-size:22px; } }
.booking-team { margin-bottom:42px; }
.booking-team-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:26px; }
.booking-team-heading h3 { font-size:34px; margin:0; letter-spacing:-.6px; }
.booking-team-heading .kicker { margin-bottom:12px; }
.booking-team-heading > p { max-width:260px; margin:0; font-size:12px; color:#817968; }
.booking-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:start; }
.booking-profiles > .booking-notice { grid-column:1/-1; }
.piercer-card { background:#fdfcf9; border:1px solid #e0d8c7; min-width:0; overflow:hidden; }
.piercer-card.is-selected { border-color:#9c7b3b; box-shadow:0 0 0 1px #9c7b3b; }
.piercer-portrait { aspect-ratio:4/3; display:grid; place-items:center; background:#eae5da; overflow:hidden; }
.piercer-portrait img { width:100%; height:100%; object-fit:cover; }
.piercer-initials { font:54px Georgia,serif; color:#9c8555; }
.piercer-content { padding:25px; }
.piercer-content h4 { font:28px Georgia,serif; margin:0 0 10px; overflow-wrap:anywhere; }
.piercer-specialty { color:#94763d; font-size:10px; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:14px; }
.piercer-bio { font-size:12px; color:#797264; white-space:pre-line; overflow-wrap:anywhere; }
.piercer-skills { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 18px; padding:0; list-style:none; }
.piercer-skills li { font-size:10px; color:#806b43; padding:4px 9px; background:#f4efe3; border:1px solid #e2d7c0; overflow-wrap:anywhere; }
.piercer-work { border-top:1px solid #e6dfd0; padding-top:14px; margin-bottom:20px; }
.piercer-work summary { cursor:pointer; color:#80652f; font-size:12px; padding:5px 0; }
.piercer-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:14px; }
.piercer-gallery button { padding:0; border:0; background:#eee8db; aspect-ratio:1; overflow:hidden; }
.piercer-gallery img { display:block; height:100%; width:100%; object-fit:cover; }
.piercer-card .button { width:100%; gap:10px; font-size:11px; }
.piercer-card.is-selected .button { background:#34382d; border-color:#34382d; }
.piercer-empty { color:#89806c; font-size:11px; margin-bottom:20px; }
.booking-photo-dialog { max-width:min(900px,92vw); max-height:90vh; padding:20px; background:#fdfcf9; border:1px solid #c9b783; overflow:auto; }
.booking-photo-dialog::backdrop { background:#252722d9; }
.booking-photo-dialog img { display:block; max-width:100%; max-height:65vh; object-fit:contain; margin:18px auto; }
.booking-photo-dialog p { margin:0; font-size:13px; }
.booking-form { scroll-margin-top:130px; }
@media(max-width:1000px) { .piercer-content { padding:20px; } .piercer-content h4 { font-size:24px; } .booking-profiles { gap:15px; } }
@media(max-width:700px) { .booking-team-heading { flex-direction:column; align-items:start; gap:16px; } .booking-team-heading h3 { font-size:30px; } .booking-profiles { grid-template-columns:1fr; gap:22px; } .piercer-portrait { aspect-ratio:16/9; } .piercer-content h4 { font-size:28px; } .booking-form { scroll-margin-top:105px; } }

.piercer-portrait > * { grid-area:1/1; }

.booking-policies{margin:20px 0;padding:16px;border:1px solid #ddd2b6;border-radius:8px}.booking-policies summary{cursor:pointer;font-weight:600}.booking-policies h4{margin:18px 0 6px;font-size:1rem}.booking-policies p,#studio-public-address{white-space:pre-line;overflow-wrap:anywhere}