/* A smaller, higher hero with independently arranged source portraits. */
.booking-hero{max-width:940px;transform:translateY(-70px)}
.portrait-cluster{display:flex;align-items:center;justify-content:center;gap:10px;width:556px;max-width:100%;height:132px;margin:0 auto 20px;overflow:visible;background:none}
.portrait-person{--diameter:104px;--offset:0px;--angle:0deg;--image-position:50%;display:block;position:relative;flex:0 0 var(--diameter);width:var(--diameter);height:var(--diameter);top:var(--offset);transform:rotate(var(--angle));transition:transform .3s ease}
.portrait-window{display:block;width:100%;height:100%;border-radius:50%;border:2px solid #fff;background-image:url('assets/pm-portraits.jpg');background-size:556% auto;background-position:var(--image-position) 50%;box-shadow:0 3px 5px #1f2b3b09,0 7px 14px #1f2b3b10;animation:portrait-settle 4.8s ease-in-out 1 both}
.person-one{--diameter:96px;--offset:10px;--angle:-7deg;--image-position:6%}.person-one .portrait-window{animation-delay:-.5s}
.person-two{--diameter:108px;--offset:-13px;--angle:4deg;--image-position:28%}.person-two .portrait-window{animation-delay:-1.4s}
.person-three{--diameter:116px;--offset:4px;--angle:-2deg;--image-position:50%}.person-three .portrait-window{animation-delay:-.8s}
.person-four{--diameter:104px;--offset:-18px;--angle:6deg;--image-position:72%}.person-four .portrait-window{animation-delay:-1.9s}
.person-five{--diameter:92px;--offset:17px;--angle:-5deg;--image-position:94%}.person-five .portrait-window{animation-delay:-1.1s}
.booking-hero h1{font-size:52px;line-height:1.2;letter-spacing:-1.5px;font-weight:600;white-space:nowrap}
.booking-hero h1 .title-segment{display:inline-block;position:relative;white-space:nowrap}
.segment-typed{display:none;position:absolute;left:0;top:0;white-space:nowrap}
.typing-enabled .segment-reserve{visibility:hidden}.typing-enabled .segment-typed{display:block}
.segment-typed.is-typing:after{content:"";display:inline-block;height:.8em;width:2px;background:var(--orange);margin-left:4px;vertical-align:-.02em;animation:typing-caret .7s step-end infinite}
.pm-search{width:min(760px,100%);min-height:70px;margin:28px auto 0;padding:10px 12px 10px 23px;border-radius:25px;gap:13px;grid-template-columns:minmax(0,1.25fr) 1px minmax(0,1fr) 160px;box-shadow:0 5px 1px #2d3d5003,0 10px 22px #25354b0d}
.location-field{gap:11px}.location-field input,.date-field{font-size:19px;letter-spacing:-.35px}.location-field>img,.date-field>img{width:27px;height:27px}
.date-field{height:48px;padding:8px 4px;gap:11px}.date-field.has-dates{font-size:14px}.field-divider{height:33px}
.find-button{min-height:48px;font-size:19px;gap:12px;padding:10px 15px;border-radius:10px}.find-button img{width:23px;height:23px}
.search-error{max-width:760px;margin:15px auto 0;font-size:12px}
@keyframes portrait-settle{0%,100%{transform:translateY(0)}35%{transform:translateY(-4px)}70%{transform:translateY(2px)}}
@keyframes typing-caret{0%,100%{opacity:1}50%{opacity:0}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.portrait-person:hover{transform:translateY(-5px) rotate(calc(var(--angle) * .4))}}
@media(min-width:1700px){.booking-hero{max-width:1000px;transform:translateY(-78px)}.booking-hero h1{font-size:54px}}
@media(min-width:801px) and (max-width:1150px){.booking-hero{transform:translateY(-45px)}.booking-hero h1{font-size:44px}.pm-search{width:min(740px,100%)}}
@media(min-width:561px) and (max-width:800px){
 .booking-hero{transform:translateY(-38px)}.portrait-cluster{width:470px;height:118px;gap:8px;margin-bottom:20px}
 .person-one{--diameter:80px}.person-two{--diameter:92px}.person-three{--diameter:98px}.person-four{--diameter:88px}.person-five{--diameter:78px}
 .booking-hero h1{font-size:36px;letter-spacing:-1px}
 .pm-search{width:min(630px,100%);min-height:66px;padding:8px 10px 8px 17px;gap:10px;grid-template-columns:minmax(0,1.15fr) 1px minmax(0,.85fr) 137px}
 .location-field input,.date-field{font-size:16px}.location-field>img,.date-field>img{width:24px;height:24px}.location-field,.date-field{gap:8px}.date-field.has-dates{font-size:12px}
 .find-button{min-height:48px;font-size:17px;padding:10px 12px;gap:10px}.find-button img{width:21px;height:21px}
}
@media(max-width:560px){
 .pm-main{align-items:flex-start;padding:clamp(62px,10svh,86px) 6% 45px}
 .booking-hero{transform:none;max-width:370px}
 .portrait-cluster{width:310px;height:92px;gap:6px;margin-bottom:20px}
 .portrait-window{border-width:1.5px;box-shadow:0 3px 5px #1f2b3b08,0 5px 9px #1f2b3b0c}
 .person-one{--diameter:52px;--offset:6px;--angle:-7deg}.person-two{--diameter:58px;--offset:-8px;--angle:5deg}.person-three{--diameter:65px;--offset:3px}.person-four{--diameter:57px;--offset:-10px;--angle:7deg}.person-five{--diameter:50px;--offset:9px}
 .booking-hero h1{font-size:29px;line-height:1.2;letter-spacing:-.9px;white-space:normal;max-width:100%}
 .booking-hero h1 .title-segment{display:table;margin:0 auto}
 .pm-search{display:grid;grid-template-columns:1fr;width:100%;max-width:320px;padding:7px 12px 11px;gap:0;border-radius:20px;margin-top:23px}
 .location-field{min-height:50px;padding:4px;gap:11px}.location-field input{font-size:16px;padding:8px 0}
 .date-field{height:50px;padding:9px 4px;font-size:16px;gap:11px}.date-field.has-dates{font-size:15px}
 .location-field>img,.date-field>img{width:23px;height:23px}.field-divider{height:1px;width:100%}
 .find-button{min-height:46px;font-size:16px;gap:14px;padding:10px 14px;margin-top:4px}.find-button img{width:22px;height:22px}
}
@media(max-width:360px){
 .pm-main{padding-top:58px}.portrait-cluster{width:277px;gap:5px;height:86px}
 .person-one{--diameter:46px}.person-two{--diameter:52px}.person-three{--diameter:58px}.person-four{--diameter:51px}.person-five{--diameter:45px}
 .booking-hero h1{font-size:27px}
}
@media(min-width:801px) and (max-height:740px){.booking-hero{transform:translateY(-25px)}.pm-main{padding-top:40px;padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.portrait-window,.segment-typed.is-typing:after{animation:none!important}.portrait-person{transition:none!important}}
