.reservation-page{background:#f7f4ef}.reservation-page .header{height:96px}.reservation-hero{position:relative;min-height:444px;overflow:hidden}.reservation-hero-art{position:absolute;inset:0;background:url('assets/contact-photography.png') 0 7.558%/100% 304.762% no-repeat}.reservation-hero-copy{position:relative;padding:48px 6.6% 55px}.breadcrumbs{display:flex;gap:10px;font-size:13px;color:#8f887d;margin-bottom:25px}.reservation-hero h1{font-size:clamp(48px,5.8vw,80px);letter-spacing:-1.7px}.reservation-hero-copy>p{font-size:21px;line-height:1.55;margin-top:17px;color:#655e53}.service-facts{display:flex;margin-top:37px;gap:35px}.service-facts>div{display:flex;align-items:center;gap:18px;font-size:14px;color:#5d554b}.service-facts>div+div{border-left:1px solid #c8beb0;padding-left:35px}.service-facts svg{width:42px;height:42px;fill:none;stroke:#746858;stroke-width:1.2}.clock-icon{font-size:41px;line-height:1;font-family:Georgia}.demo-banner{text-align:center;font-size:12px;background:#eae6dd;padding:10px 20px;color:#706957}.reservation-layout{width:92%;max-width:1400px;margin:0 auto;padding:40px 0 42px;display:grid;grid-template-columns:54% 42%;gap:4%}.step-title{display:flex;align-items:center;gap:22px;font-size:29px;white-space:nowrap;margin-bottom:35px}.step-title>span{border-radius:50%;background:#eee8df;width:44px;height:44px;display:grid;place-items:center;font-size:24px;flex-shrink:0}.step-title i{height:1px;background:#d6cfc4;flex:1}.date-time-layout{display:grid;grid-template-columns:66% 28%;gap:6%}.calendar-panel{border:1px solid #e5ded4;border-radius:6px;padding:27px 21px 20px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.calendar-heading h3{font:20px var(--sans);text-transform:capitalize}.calendar-heading button{background:none;border:0;font-size:25px;color:#575146;padding:0 10px}.calendar-heading button:disabled{opacity:.25;cursor:default}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays{font-size:11px;color:#82796c;margin-bottom:20px}.calendar-days{gap:6px 0}.calendar-days button{display:grid;place-items:center;padding:0;width:100%;aspect-ratio:1;border:0;background:transparent;font-size:14px;color:#454035;border-radius:50%;max-width:43px;justify-self:center}.calendar-days button:disabled{color:#b9b2a7;cursor:default}.calendar-days button:not(:disabled):hover{background:#e7e3d8}.calendar-days button[aria-pressed=true]{background:#898b79;color:white}.timezone{font-size:12px;line-height:1.5;margin-top:35px;padding-left:35px;position:relative}.timezone>span{position:absolute;left:0;top:-3px;font-size:25px}.time-panel h3{font:16px var(--sans);margin-bottom:15px}.time-panel button{width:100%;border:1px solid #ddd6cc;border-radius:8px;padding:10px 5px;margin-bottom:7px;background:transparent;color:#5f584e;font-size:14px}.time-panel button:disabled{background:#e7e3dd;border-color:#e7e3dd;color:#aaa39a;cursor:default}.time-panel button[aria-pressed=true]{background:#898b79;color:white;border-color:#898b79}.customer-section{border-top:1px solid #d6cfc4;margin-top:44px;padding-top:30px}.customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.customer-fields label{display:block;border:1px solid #e2dcd2;border-radius:6px;padding:11px 22px 8px;font-size:12px;color:#898074;min-width:0}.customer-fields input,.customer-fields textarea{display:block;width:100%;background:transparent;border:0;font:20px var(--serif);color:var(--ink);padding:5px 0;outline:none}.customer-fields label:focus-within{border-color:#7d806e;outline:1px solid #7d806e}.customer-fields input::placeholder,.customer-fields textarea::placeholder{color:#aaa195}.customer-fields textarea{resize:vertical;min-height:80px}.full-width{grid-column:1/-1}.service-summary{display:grid;grid-template-columns:35% 1fr;gap:28px;margin:0 0 34px 15px}.summary-portrait{background:url('assets/therapy-photography.png') 100% 6.948%/auto 525.33% no-repeat;border-radius:6px;min-height:192px}.service-summary h3{font-size:29px;margin:4px 0 12px}.service-summary p{font-size:14px}.service-summary ul{padding:0;list-style:none;margin:23px 0 0}.service-summary li{display:flex;align-items:center;gap:14px;font-size:13px;color:#756c60;margin:12px 0}.service-summary li svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.5;flex-shrink:0}.small-symbol{font-size:23px;line-height:1;width:23px;flex-shrink:0}.price-summary{border-top:1px solid #d6cfc4;border-bottom:1px solid #d6cfc4;padding:20px 0 24px;margin-left:15px}.price-summary>p{display:flex;justify-content:space-between;font:25px var(--serif);color:var(--ink)}.price-summary strong{font-weight:400;font-size:28px}.price-summary ul{padding:0;list-style:none;margin:24px 0 0}.price-summary li{font-size:14px;color:#82796d;margin:7px 0}.price-summary li:before{content:'✓';color:#39382e;margin-right:20px}.payment-methods{border:0;padding:0;margin:36px 0 0 15px;min-width:0}.payment-methods legend{font-size:17px;margin-bottom:20px}.payment-methods label{position:relative;display:flex;align-items:center;gap:22px;border:1px solid #e2dcd2;border-radius:8px;padding:16px 18px;margin-bottom:11px;cursor:pointer;min-height:80px}.payment-methods label:has(input:checked){border-color:#737967}.payment-methods label:focus-within{outline:2px solid #737967;outline-offset:2px}.payment-methods input{position:absolute;opacity:0;width:1px;height:1px}.payment-methods strong{font-size:15px;font-weight:400}.payment-methods small{display:block;font-size:12px;color:#91877b;line-height:1.5}.payment-brand{width:66px;flex-shrink:0;font-size:20px;color:#24231e}.payment-brand.apple{font-size:16px;font-weight:600}.payment-brand.google{font-size:16px}.google b{color:#4285f4}.payment-brand.bank{font-size:31px}.payment-methods svg{height:36px;fill:none;stroke:currentColor;stroke-width:1.7}.chevron{margin-left:auto;font-size:24px}.payment-button{margin:23px 0 0 15px;width:calc(100% - 15px);background:#161713;color:white;border:0;border-radius:5px;padding:17px;font:16px var(--sans)}.payment-button:hover{background:#35392c}.payment-note{margin:23px 0 0 15px;font-size:12px;line-height:1.6}.booking-error{color:#9b4d3a;font-size:14px;margin-left:15px}.booking-error:empty{display:none}.booking-help{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:50px;padding:45px 4%;min-height:170px;overflow:hidden;background:#eee6da}.help-art{position:absolute;inset:0 60% 0 0;background:url('assets/therapy-photography.png') 0 30.59%/218.56% 634.08% no-repeat;mask-image:linear-gradient(90deg,#000 75%,transparent)}.booking-help>div:not(.help-art),.booking-help>a{position:relative}.booking-help h2{font-size:30px;margin-bottom:12px}.booking-help p{font:17px var(--serif);line-height:1.4}.booking-help>a{padding:13px 30px;border:1px solid #c5bbad;border-radius:5px;font-size:14px;white-space:nowrap}.booking-help a span{margin-left:18px}.result-close{position:absolute;right:15px;top:8px;background:none;border:0;font-size:30px}.reservation-page dialog{max-width:min(590px,92vw)}
@media(max-width:1100px){.service-summary{gap:20px}.service-summary h3{font-size:25px}.payment-methods label{gap:12px;padding:13px}.payment-brand{width:58px}.calendar-panel{padding-inline:13px}.calendar-heading h3{font-size:18px}.step-title{font-size:26px;gap:16px}.reservation-hero-copy>p{font-size:19px}.booking-help{gap:25px}.booking-help>div:not(.help-art){max-width:43%}}
@media(max-width:800px){.reservation-page .header{height:84px}.reservation-hero{min-height:480px}.reservation-hero-art{background-size:auto 304.762%;background-position:62% 7.558%;opacity:.38}.reservation-hero-copy{padding:28px 6% 35px}.breadcrumbs{font-size:11px;gap:7px;flex-wrap:wrap;margin-bottom:35px}.reservation-hero h1{font-size:53px}.reservation-hero-copy>p{font-size:17px}.service-facts{gap:16px;flex-wrap:wrap;margin-top:28px}.service-facts>div{gap:9px;font-size:12px}.service-facts>div+div{padding-left:16px}.service-facts svg{width:29px;height:29px}.clock-icon{font-size:30px}.reservation-layout{width:88%;grid-template-columns:1fr;gap:40px;padding-top:30px}.step-title{font-size:28px;margin-bottom:27px}.date-time-layout{grid-template-columns:1fr;gap:22px}.calendar-panel{padding:23px}.calendar-days{gap:9px 0}.calendar-days button{max-width:42px}.timezone{margin-top:19px}.time-panel h3{font-size:17px}.time-panel #time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-panel button{margin:0}.customer-section{margin-top:30px}.customer-fields{gap:13px}.customer-fields label{padding-inline:13px}.customer-fields input{font-size:19px}.service-summary{margin-left:0;grid-template-columns:33% 1fr;gap:20px}.summary-portrait{min-height:185px}.service-summary h3{font-size:26px}.service-summary li{font-size:12px;gap:8px}.price-summary,.payment-methods,.payment-note,.booking-error{margin-left:0}.payment-button{margin-left:0;width:100%}.payment-methods label{gap:18px;padding:16px}.payment-brand{width:60px}.booking-help{padding:35px 6%;justify-content:flex-start;flex-wrap:wrap;gap:23px}.help-art{inset:0;opacity:.15;mask-image:none}.booking-help>div:not(.help-art){max-width:100%}.demo-banner{font-size:11px}.reservation-page dialog h2{font-size:34px}}
@media(max-width:380px){.service-facts>div+div{padding-left:0;border:0}.service-facts{gap:18px}.customer-fields{grid-template-columns:1fr}.step-title{font-size:25px}.calendar-panel{padding-inline:16px}}
.space-reservation .summary-portrait{background-image:url('assets/space-photography.png');background-size:auto 486.7%;background-position:100% 3.968%}.space-reservation #reservation-intro{max-width:550px}.space-reservation #service-mode,.space-reservation #service-duration{max-width:135px}

/* Compact service selector above the reservation calendar */
.package-picker{width:min(1180px,92%);margin:42px auto 0;padding:24px 26px;background:#eee7dc;border:1px solid #d8ccbe;display:grid;grid-template-columns:210px 1fr;gap:26px;align-items:center}
.package-picker .eyebrow{margin-bottom:6px}.package-picker h2{font-size:27px;letter-spacing:-.4px}
#package-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
#package-options a{display:grid;grid-template-columns:1fr auto;gap:2px 9px;padding:12px 13px;background:#f8f4ee;border:1px solid transparent;min-width:0;transition:border-color .2s,background .2s}
#package-options a span{grid-column:1/-1;font:400 17px/1.2 var(--serif);white-space:normal}
#package-options a small{font-size:9px;color:#8d8275;white-space:nowrap}
#package-options a strong{font-size:10px;font-weight:600;white-space:nowrap}
#package-options a:hover{border-color:#aca08f}
#package-options a.active{background:#777969;color:#fff;border-color:#777969}
#package-options a.active small{color:#eee7dc}
@media(max-width:1050px){.package-picker{grid-template-columns:1fr}#package-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.package-picker{width:92%;margin-top:28px;padding:21px 17px;gap:17px}.package-picker h2{font-size:24px}#package-options{grid-template-columns:1fr 1fr;gap:6px}#package-options a{padding:11px 9px;grid-template-columns:1fr}#package-options a span{font-size:15px}#package-options a strong{grid-row:3}#package-options a small,#package-options a strong{white-space:normal}}
@media(max-width:600px){#package-options{grid-template-columns:1fr}#package-options a{grid-template-columns:1fr auto;align-items:end}#package-options a span{grid-column:1/-1}#package-options a small{grid-column:1}#package-options a strong{grid-column:2;grid-row:2}}
