.booking-page{background:#fbfaf7}
.booking-main{min-height:70vh;background:linear-gradient(180deg,#fbfaf7 0%,#f7f4ee 100%)}
.booking-intro{padding:48px 0 24px;text-align:center}
.booking-intro__inner{max-width:920px}
.booking-eyebrow{margin:0 0 12px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.booking-intro h1,.booking-contact-result h2{margin:0;color:var(--navy);font-family:var(--serif);font-size:clamp(46px,5vw,64px);font-weight:600;line-height:1;letter-spacing:-.025em}
.booking-intro p:not(.booking-eyebrow):not(.booking-call-option),.booking-contact-result>p:not(.booking-eyebrow){margin:18px auto 0;color:#64758a;font-size:14px;line-height:1.7}
.booking-call-option{margin:10px auto 0;color:#7b8794;font-size:11px;line-height:1.5}
.booking-call-option a{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(179,146,89,.7);padding-bottom:1px}
.booking-call-option a:hover{color:#9d7740}
.booking-workflow{padding:0 0 88px}
.booking-shell{max-width:980px}
.booking-card,.booking-contact-result{border:1px solid rgba(13,37,67,.1);border-radius:10px;background:rgba(255,255,255,.88);box-shadow:0 14px 38px rgba(13,37,67,.07)}
.booking-card{padding:32px 34px}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
.booking-field{display:grid;gap:6px;position:relative}
.booking-field--wide,.booking-services{grid-column:1/-1}
.booking-field>span,.booking-services legend{color:#173a5e;font-size:12px;font-weight:500}
.booking-field b,.booking-services b{color:#a66e60}
.booking-field em{font-style:normal;color:#7c8ca0;font-weight:400}
.booking-field input,.booking-field select,.booking-field textarea{width:100%;border:1px solid #c6d0db;border-radius:5px;background:#fff;color:#173a5e;font:inherit;font-size:13px;outline:0;transition:border-color .16s ease,box-shadow .16s ease}
.booking-field input,.booking-field select{height:43px;padding:0 13px}
.booking-field textarea{min-height:96px;padding:12px 13px;resize:vertical;line-height:1.55}
.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(179,146,89,.12)}
.booking-field--system select{max-width:50%}
.booking-count{position:absolute;right:8px;bottom:-20px;color:#7c8ca0;font-size:10px}
.booking-services{margin:0;padding:0;border:0}
.booking-services legend{margin-bottom:8px}
.booking-services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
.booking-services__grid label{display:flex;align-items:center;gap:9px;min-width:0;color:#38536f;font-size:11px;line-height:1.35;cursor:pointer}
.booking-services__grid input{appearance:none;width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;border:1px solid #9cabb9;border-radius:3px;background:#fff;display:grid;place-items:center}
.booking-services__grid input:checked{border-color:var(--gold);background:var(--gold)}
.booking-services__grid input:checked:after{content:"✓";color:#fff;font-size:11px;line-height:1}
.booking-services__grid input:focus-visible{outline:3px solid rgba(179,146,89,.22);outline-offset:2px}
.booking-actions{display:flex;justify-content:flex-end;margin-top:34px;padding-top:22px;border-top:1px solid rgba(13,37,67,.1)}
.booking-button{min-width:164px;min-height:52px;padding:0 26px;border:0;border-radius:6px;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-family:var(--serif);font-size:20px;text-decoration:none;cursor:pointer;transition:transform .16s ease,background .16s ease}
.booking-button:hover{transform:translateY(-1px);background:#15385f}
.booking-button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.booking-form-error{margin:14px 0 0;color:#9b554a;font-size:11px}
.booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.booking-contact-result{max-width:680px;margin:14px auto 0;padding:58px 48px;text-align:center}
.booking-confirm-mark{display:grid;width:54px;height:54px;margin:0 auto 22px;place-items:center;border-radius:50%;background:#eef3e9;color:#5d843a;font-size:27px;font-weight:600}
.booking-contact-result h2{font-size:54px}
.booking-contact-result>p:not(.booking-eyebrow){max-width:540px}
.booking-contact-result>small{display:block;max-width:480px;margin:18px auto 0;color:#8a97a5;font-size:9px;line-height:1.5}
@media(max-width:900px){.booking-shell{max-width:760px}.booking-services__grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.booking-intro{padding-top:34px}.booking-intro h1{font-size:43px}.booking-card{padding:24px 18px}.booking-fields{grid-template-columns:1fr}.booking-field--wide,.booking-services{grid-column:auto}.booking-field--system select{max-width:100%}.booking-services__grid{grid-template-columns:1fr}.booking-actions{justify-content:stretch}.booking-button{width:100%}.booking-contact-result{padding:36px 22px}}

.booking-turnstile-wrap{
  display:grid;
  gap:7px;
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid rgba(13,37,67,.1);
}
.booking-turnstile{
  width:100%;
  min-height:65px;
}
.booking-security-note{
  margin:0;
  color:#8a97a5;
  font-size:9px;
  line-height:1.45;
}
