.booking-home{background:var(--cream)}.booking-home .header{max-width:1660px;padding-top:14px;padding-bottom:14px;grid-template-columns:1fr 96px 1fr}.booking-home .brand,.booking-home .brand img{width:96px}.booking-home .nav{font-size:14px}.booking-home .inquiry{font-size:13px}.booking-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,480px) minmax(0,1fr);gap:30px;max-width:1660px;margin:0 auto;padding:28px 48px 0;align-items:stretch;isolation:isolate}.booking-card{background:var(--paper);border:1px solid #c7a783;padding:32px 34px 24px;position:relative;z-index:2;min-width:0;min-height:710px;scroll-margin-top:20px}.booking-card::before{content:"";position:absolute;top:-1px;left:28px;right:28px;height:3px;background:var(--plum)}.booking-eyebrow{margin:0 0 18px;text-align:center;font-size:10px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:#997052}.booking-home h1{font-size:39px;line-height:1.03;text-align:center;white-space:normal;margin:0}.booking-home h1 br{display:block}.booking-lead{text-align:center;font-size:14px;line-height:1.65;color:#866a5a;margin:17px 0 25px}.booking-progress{display:flex;align-items:center;justify-content:center;gap:13px;font-size:12px;color:#a18770;border-top:1px solid #dac9af;padding-top:21px;margin:0 0 26px}.booking-progress>span:not(.step-connector){display:flex;align-items:center;gap:8px}.booking-progress b{font-weight:400;font-size:10px;color:#9c7659}.booking-progress .is-active{color:var(--plum)}.booking-progress .is-active b{background:var(--plum);color:var(--cream);width:25px;height:25px;display:grid;place-items:center}.step-connector{width:30px;height:1px;background:#cbb596}.service-choice{border:0;margin:0 0 21px;padding:0}.service-choice legend,.form-field>label{font-size:13px;display:block;margin:0 0 9px;line-height:1.5}.service-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.service-options label{position:relative;min-width:0;cursor:pointer}.service-options input{position:absolute;opacity:0;width:1px;height:1px}.service-options span{display:grid;place-items:center;min-height:43px;border:1px solid #ccb89e;font-size:12px;padding:8px 2px;background:#fbf7ee;transition:background .15s,color .15s}.service-options input:checked+span{background:var(--plum);border-color:var(--plum);color:var(--paper)}.service-options input:focus-visible+span{outline:2px solid var(--copper);outline-offset:3px}.form-field{margin:0 0 18px;min-width:0}.form-field input,.form-field textarea{display:block;width:100%;min-width:0;border:1px solid #cebda4;border-radius:0;min-height:46px;padding:11px 12px;background:#fdfaf3;color:var(--plum);font:14px Muli,Arial,sans-serif;outline-offset:2px}.form-field textarea{resize:vertical;min-height:75px;max-height:180px;line-height:1.65}.form-field input::placeholder,.form-field textarea::placeholder{color:#a08a75;opacity:1}.form-field input:focus,.form-field textarea:focus{outline:1px solid var(--copper);border-color:var(--copper)}.form-field input:disabled{opacity:.5;background:#ece4d6}.form-field>label>span{font-size:10px;color:#95785e}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.unknown-date{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.5;margin:-6px 0 21px;color:#886b56;cursor:pointer}.unknown-date input{width:15px;height:15px;margin:0;accent-color:var(--plum)}.booking-primary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;background:var(--plum);border:1px solid var(--plum);color:var(--paper);padding:16px 17px;min-height:51px;font-size:13px;line-height:1.4;cursor:pointer;transition:background .2s}.booking-primary:hover{background:#825444;border-color:#825444}.booking-primary>span{font-family:Arial,sans-serif;font-size:20px;line-height:1}.booking-note{font-size:11px;line-height:1.7;color:#96795f;margin:13px 0 0;text-align:center}.booking-direct{display:block;font-size:11px;line-height:1.8;text-align:center;margin:24px 0 0;color:#9a7d62}.booking-direct span{display:block;color:var(--plum);font-size:13px}.field-error{font-size:11px;line-height:1.5;color:#9c343c;margin:6px 0 0}.form-field [aria-invalid=true]{border-color:#a7494c}.event-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#eee4d2;border-left:2px solid var(--copper);padding:12px 13px;margin:0 0 21px}.summary-text{font-size:11px;line-height:1.8;margin:0;white-space:pre-line}.booking-back{font-size:11px;background:none;border:0;border-bottom:1px solid var(--copper);padding:5px 0;color:var(--copper)}.request-ready{text-align:center}.request-mark{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 16px;border:1px solid var(--copper);font-size:25px;color:var(--copper)}.request-ready h2{font:400 23px/1.3 Muli,Arial,sans-serif;margin:0 0 14px}.request-ready>p{font-size:13px;line-height:1.7;margin:0 0 16px}.request-ready .request-recipient{font-size:12px;color:#957157}.request-ready details{text-align:left;margin:18px 0;font-size:12px}.request-ready summary{padding:10px 0;cursor:pointer}.request-body{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 Muli,Arial,sans-serif;max-height:220px;overflow:auto;background:#f0e7d6;padding:14px}.request-alternatives{display:flex;justify-content:space-between;gap:15px;margin:15px 0}.request-alternatives button{font-size:11px;background:none;border:0;border-bottom:1px solid var(--border);padding:8px 0}.copy-status{min-height:20px;color:var(--copper)}
.photo-rail{position:relative;min-width:0;min-height:710px;padding-bottom:48px}.rail-window{position:absolute;inset:0 0 48px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 94%,transparent 100%);user-select:none;cursor:grab;touch-action:pan-y}.rail-window.is-dragging{cursor:grabbing}.rail-track{will-change:transform}.rail-group{display:flex;flex-direction:column;gap:24px;padding-bottom:24px}.rail-card{width:100%;min-width:0}.photo-rail .photo-frame{--frame-edge:7px;--frame-mat:8px}.rail-caption{display:flex;justify-content:space-between;gap:15px;margin:0 13px;padding:12px 8px 0;color:#906e54;font-size:11px;line-height:1.4}.rail-caption span:last-child{font-size:10px;color:#ab8e6d}.rail-link{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:13px 0 5px;font-size:12px;color:var(--plum);border-top:1px solid var(--border)}.rail-link>span{font-size:21px;font-family:Arial,sans-serif}.rail-link:hover{color:var(--copper)}.home-tools{display:flex;justify-content:space-between;align-items:center;gap:25px;max-width:1660px;margin:0 auto;padding:22px 48px 23px;color:#88644f}.home-tools .tool-divider{background:var(--border)}.home-tools .playback button:hover{color:var(--plum)}.booking-home .footer{max-width:1564px;padding:22px 0;font-size:11px}.booking-home .portal{--frame-edge:7px;--frame-mat:8px}
@media(min-width:1600px){.booking-stage{grid-template-columns:minmax(0,1fr) 500px minmax(0,1fr);gap:44px}.booking-card{padding:35px 40px 28px}.photo-rail,.booking-card{min-height:750px}.booking-home h1{font-size:44px}}
@media(max-width:1150px){.booking-stage{grid-template-columns:minmax(0,1fr) minmax(380px,450px) minmax(0,1fr);gap:20px;padding:24px 28px 0}.booking-card{padding:27px 25px 24px}.booking-home h1{font-size:36px}.photo-rail .photo-frame{--frame-edge:5px;--frame-mat:5px}.rail-caption{margin:0 5px;padding:10px 0 0;font-size:10px}.rail-group{gap:20px;padding-bottom:20px}.home-tools{padding:20px 28px}.booking-home .footer{margin:0 28px}.booking-home .portal{--frame-edge:5px;--frame-mat:5px}}
@media(max-width:850px) and (min-width:581px){.booking-stage{grid-template-columns:minmax(0,1fr) 380px minmax(0,1fr);gap:13px;padding:20px 17px 0}.booking-card{padding:26px 23px}.rail-caption{display:none}.photo-rail .photo-frame{--frame-edge:4px;--frame-mat:3px}.rail-group{gap:16px;padding-bottom:16px}.rail-link{font-size:10px;line-height:1.6}.rail-link>span{font-size:16px}.booking-home .portal{--frame-edge:4px;--frame-mat:3px}}
@media(max-width:700px){.booking-home .header{grid-template-columns:1fr 80px 1fr;padding:15px 20px;gap:20px}.booking-home .brand,.booking-home .brand img{width:80px}.booking-home .nav{font-size:11px}.booking-home .inquiry{font-size:11px;max-width:86px}.home-tools{flex-wrap:wrap;padding:20px}.home-tools .gallery-all-link{border-color:var(--border);margin-bottom:0}.home-tools .playback{justify-content:space-between}.booking-home .footer{margin:0 20px}}
@media(max-width:580px){.booking-stage{grid-template-columns:1fr 1fr;padding:20px 20px 0;gap:22px 18px}.booking-card{grid-column:1/-1;grid-row:1;padding:27px 24px 23px;min-height:0}.photo-rail{grid-row:2;min-height:275px;height:275px}.booking-home h1{font-size:37px}.booking-lead{font-size:14px}.booking-eyebrow{font-size:9px}.rail-window{bottom:43px}.rail-link{font-size:11px}.rail-caption{display:none}.photo-rail .photo-frame{--frame-edge:5px;--frame-mat:5px}.rail-group{gap:16px;padding-bottom:16px}.booking-primary{font-size:12px}.booking-direct{margin-top:20px}.booking-home .portal{--frame-edge:5px;--frame-mat:5px}.home-tools{padding-top:14px}}
@media(max-width:360px){.booking-stage{padding:16px 13px 0}.booking-card{padding:25px 17px 20px}.booking-home h1{font-size:32px}.field-pair{grid-template-columns:1fr;gap:0}.unknown-date{margin-top:0}.booking-note{font-size:10px}}
@media(max-width:580px){.photo-rail{grid-row:1;min-height:215px;height:215px}.booking-card{grid-row:2}}
@media(max-width:580px){.photo-rail{min-height:0;height:clamp(220px,55vw,310px)}}
.booking-card{padding-top:27px;padding-bottom:21px}.booking-eyebrow{margin-bottom:13px}.booking-lead{margin-top:13px;margin-bottom:20px}.booking-progress{padding-top:17px;margin-bottom:22px}.form-field{margin-bottom:15px}.service-choice{margin-bottom:18px}.unknown-date{margin-bottom:18px}.booking-direct{margin-top:19px}.booking-direct span{display:inline-block;margin-left:5px}.booking-note{margin-top:10px}
@media(min-width:1151px){.booking-lead br{display:none}.booking-lead br::after{content:" "}}
@media(max-width:850px) and (min-width:581px){.booking-stage{grid-template-columns:minmax(0,1fr) clamp(330px,54vw,380px) minmax(0,1fr)}}
@media(max-width:580px){.form-field input,.form-field textarea{font-size:16px}.form-field>label,.service-choice legend{font-size:14px}.booking-primary{font-size:14px}.service-options span{font-size:13px}}
