.booking-page{--booking-ink:#1d1d1a;--booking-muted:#716e67;--booking-rule:#c9c5bc;color:var(--booking-ink)}.booking-page .booking-section{padding:clamp(2rem,3.5vw,3.4rem) 0 clamp(4rem,7vw,7rem);scroll-margin-top:5.5rem}.booking-page .booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(3rem,4vw,5rem);width:min(100%,76rem);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,4.5rem);display:grid}.booking-page .section-intro{align-self:start;min-width:0}.booking-page .section-kicker{color:var(--booking-muted);letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:1.25rem;margin-bottom:2rem;font-size:.68rem;font-weight:600;display:flex}.booking-page .section-kicker span:first-child{color:var(--booking-ink)}.booking-page .section-intro h2{letter-spacing:-.045em;overflow-wrap:anywhere;max-width:100%;margin:0 0 1.4rem;font-size:clamp(2.3rem,3.7vw,3.75rem);font-weight:400;line-height:1.08}.booking-page .section-lead{color:#55534e;max-width:30rem;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.7}.booking-page .booking-guide{margin-top:clamp(2.5rem,5vw,5rem)}.booking-page .booking-guide-title{color:var(--booking-muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.1rem;font-size:.68rem;font-weight:600}.booking-page .booking-guide ol{border-top:1px solid var(--booking-rule);margin:0;padding:0;list-style:none}.booking-page .booking-guide li{border-bottom:1px solid var(--booking-rule);grid-template-columns:2rem minmax(0,1fr);gap:.9rem;padding:.85rem 0;font-size:.88rem;line-height:1.55;display:grid}.booking-page .booking-guide li span{color:var(--booking-muted);letter-spacing:.12em;padding-top:.18rem;font-size:.66rem}.booking-page .booking-guide img{object-fit:cover;width:100%;height:clamp(12rem,20vw,18rem);margin-top:1.5rem;display:block}.booking-page .booking-facts{border-top:1px solid var(--booking-rule);margin-top:clamp(2.5rem,5vw,5rem);padding-top:1.3rem}.booking-page .booking-facts p{max-width:26rem;color:var(--booking-muted);font-size:.82rem;line-height:1.8}.booking-page .form-column{border-top:1px solid var(--booking-ink);min-width:0}.booking-page #booking-form[hidden]{display:none}.booking-page .form-step{border:0;border-bottom:1px solid var(--booking-rule);gap:1.3rem;min-width:0;margin:0;padding:1.7rem 0 2.7rem;display:grid}.booking-page .form-step legend{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:1rem;width:100%;margin:0 0 1.8rem;padding:0;font-size:.72rem;font-weight:600;display:flex}.booking-page .form-step legend span:first-child{color:var(--booking-muted)}.booking-page .form-step label{letter-spacing:.14em;text-transform:uppercase;gap:.55rem;min-width:0;font-size:.69rem;font-weight:600;display:grid}.booking-page .form-step label>span{display:block}.booking-page .form-step :is(input,select,textarea){border:1px solid var(--booking-rule);width:100%;min-height:3.5rem;color:var(--booking-ink);letter-spacing:normal;text-transform:none;background:0 0;border-radius:0;padding:.85rem 1rem;font-size:.92rem;font-weight:400}.booking-page .form-step textarea{resize:vertical;min-height:8rem}.booking-page .form-step select:disabled{color:var(--booking-muted);cursor:wait}.booking-page .form-step select option:disabled{color:var(--booking-muted)}.booking-page .booking-package-image{aspect-ratio:31/10;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.booking-page .booking-package-image[hidden]{display:none}.booking-page .booking-photographers{border:0;min-width:0;margin:0;padding:0}.booking-page .booking-photographers legend{margin:0 0 .5rem;font-size:.7rem}.booking-page .booking-photographers>p{color:var(--booking-muted);margin:0 0 1rem;font-size:.78rem;line-height:1.55}.booking-page .booking-photographer-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.booking-page .booking-photographer-options label{border:1px solid var(--booking-rule);letter-spacing:0;text-align:center;text-transform:none;cursor:pointer;align-content:center;justify-items:center;gap:.55rem;min-height:7rem;padding:.65rem;font-size:.7rem;display:grid;position:relative}.booking-page .booking-photographer-options label:has(input:checked){border-color:var(--booking-ink);background:#f5f2ec}.booking-page .booking-photographer-options input[type=radio]{accent-color:#272421;width:1rem;min-height:1rem;padding:0;position:absolute;top:.45rem;right:.45rem}.booking-page .booking-photographer-options img{object-fit:cover;border-radius:50%;width:3.4rem;height:3.4rem}.booking-page .booking-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.booking-page .form-hint{color:var(--booking-muted);margin:-.35rem 0 .3rem;font-size:.78rem;line-height:1.6}.booking-page .form-finish{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-top:2rem;display:flex}.booking-page #submit{border:1px solid var(--booking-ink);background:var(--booking-ink);color:#f5f3ee;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;justify-content:space-between;align-items:center;gap:2rem;min-height:3.75rem;padding:.7rem .85rem .7rem 1.4rem;font-size:.72rem;font-weight:600;display:inline-flex}.booking-page #submit:hover{background:#373834}.booking-page #submit:disabled{opacity:.55;cursor:not-allowed}.booking-page .privacy-note{max-width:39rem;color:var(--booking-muted);margin:1.3rem 0 0;font-size:.78rem;line-height:1.7}.booking-page .privacy-note a{color:var(--booking-ink)}.booking-page #status{color:#315c3d;min-height:1.5em;margin:1rem 0 0;font-size:.9rem}.booking-page #status.error{color:#9c3b35}.booking-page .fallback-link{text-underline-offset:.3em;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.82rem;font-weight:600;display:inline-flex}.booking-page .fallback-link[hidden]{display:none}.booking-page .no-script{color:var(--booking-muted);font-size:.9rem}.booking-page .booking-closing{color:#fff;background:#222;width:min(100% - 2*clamp(1.25rem,4vw,4.5rem),76rem - 2*clamp(1.25rem,4vw,4.5rem));min-height:clamp(15rem,25vw,19rem);margin:0 auto clamp(2rem,4vw,4.2rem);position:relative;overflow:hidden}.booking-page .booking-closing>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.booking-page .booking-closing:after{content:"";background:linear-gradient(90deg,#131312e0,#131312a1 52%,#13131226);position:absolute;inset:0}.booking-page .booking-closing-inner{z-index:1;min-height:inherit;flex-direction:column;justify-content:center;align-items:flex-start;max-width:38rem;padding:clamp(2rem,4vw,4rem);display:flex;position:relative}.booking-page .booking-closing-inner p{color:#e9e5df;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.68rem;font-weight:600}.booking-page .booking-closing-inner h2{letter-spacing:-.04em;margin:0 0 1.25rem;font-size:clamp(2rem,3.1vw,3.45rem);font-weight:400;line-height:1.12}.booking-page .booking-closing-inner a{letter-spacing:.13em;border-bottom:1px solid;align-items:center;gap:1rem;padding-bottom:.35rem;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.booking-page .booking-languages{padding-bottom:clamp(2rem,4vw,4.2rem)}.booking-page .booking-languages:before{content:"";border-top:1px solid var(--booking-rule);margin-bottom:1.25rem;display:block}@media (max-width:950px){.booking-page .booking-layout{grid-template-columns:1fr}.booking-page .booking-guide{margin-top:2rem}.booking-page .booking-guide img{height:14rem}}@media (max-width:700px){.booking-page .section-intro h2{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:clamp(1.75rem,8vw,2.3rem)}}@media (max-width:520px){.booking-page .booking-two{grid-template-columns:1fr}.booking-page .booking-photographer-options{gap:.3rem}.booking-page .booking-photographer-options label{padding:.4rem;font-size:.63rem}.booking-page .form-finish{display:block}.booking-page #submit{width:100%;margin-top:1.5rem}}.booking-photo-preview{object-fit:cover;border-radius:16px;max-width:140px;max-height:140px}
