/* Readable type and generous controls come before compact layouts. */
.booking-main{display:flex;flex-direction:column;max-height:88dvh}
.dialog-top,.demo-notice,.progress,.booking-main>h2,.dialog-navigation{flex-shrink:0}
.dialog-top .eyebrow{font-size:11px;letter-spacing:1.4px;line-height:1.5;color:#66624f}
.close-button{width:46px;height:46px;font-size:28px}
.demo-notice{font-size:14px;line-height:1.6;margin:16px 0;padding:12px 14px;color:#5c513c}
.progress{font-size:14px;line-height:1.5;gap:12px;margin:12px 0 22px;color:#666974}
.progress .current{font-weight:650;color:#080c48}
.booking-main h2{font-size:28px;line-height:1.25;letter-spacing:-.7px;margin-bottom:20px}
#booking-body{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding:3px;scrollbar-gutter:stable}
.booking-service-select{max-height:none;overflow:visible;padding:0;gap:12px}
.service-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:74px;padding:16px;font-size:16px;line-height:1.5;color:#262733;border-color:#d8d6ce}
.service-choice>small{font-size:15px;line-height:1.45;font-weight:600;color:#484954;text-align:right;max-width:104px;font-variant-numeric:tabular-nums}
.service-choice.selected{border-color:#080c48;box-shadow:inset 0 0 0 1px #080c48;background:#f1ecdf}
.dialog-navigation{position:sticky;bottom:0;background:var(--paper);margin-top:16px;padding-top:14px;border-top:1px solid #e2dfd6;gap:14px}
.dialog-navigation .button{font-size:16px;min-height:52px;padding:14px 24px}
.dialog-navigation .text-link{font-size:15px;min-height:48px}
.form-field{font-size:16px;line-height:1.5;gap:10px;margin-bottom:22px}
.form-field select,.form-field input{font-size:16px;min-height:52px;padding:13px;color:#262733;border-color:#bdbdb7}
.time-label{font-size:16px;line-height:1.5;margin:22px 0 12px}
.time-option{font-size:16px;min-height:48px;padding:12px}
.review-row{font-size:16px;line-height:1.5;gap:14px;padding:16px 0}
.review-row>span{color:#626570}
.review-message,.summary-note{font-size:14px;line-height:1.65}
.booking-summary dt{font-size:13px}.booking-summary dd{font-size:15px}
.demo-success h3{font-size:28px}.demo-success p{font-size:16px;line-height:1.7}.demo-success .text-link{font-size:16px;min-height:48px}
@media(max-width:700px){
 body{font-size:16px}
 dialog{width:calc(100% - 16px);max-height:94dvh;border-radius:18px}
 .booking-main{padding:18px 16px 16px;max-height:calc(94dvh - 2px)}
 .dialog-top{gap:12px}.dialog-top .eyebrow{font-size:11px;letter-spacing:1.2px}
 .close-button{width:46px;height:46px}
 .demo-notice{font-size:13px;line-height:1.5;margin:13px 0;padding:11px 12px}
 .progress{font-size:13px;line-height:1.5;gap:10px;margin:9px 0 18px}
 .progress span{padding-bottom:9px}
 .booking-main h2{font-size:26px;line-height:1.25;letter-spacing:-.6px;margin-bottom:16px}
 .booking-service-select{grid-template-columns:1fr;gap:10px}
 .service-choice{font-size:16px;min-height:72px;padding:14px;gap:12px}
 .service-choice>small{font-size:15px;max-width:104px}
 .dialog-navigation{margin-top:12px;padding-top:12px;gap:12px}
 .dialog-navigation .button{font-size:16px;min-height:52px;padding:12px 14px;white-space:normal;line-height:1.35;text-align:center;min-width:0;flex:1}
 .dialog-navigation .text-link{font-size:15px;min-height:48px;white-space:nowrap;flex:0 0 auto;gap:7px}
 .time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .time-option{font-size:16px;min-height:49px;padding:12px 8px}
 .review-details{padding-inline:14px}
 .review-row{font-size:16px;line-height:1.5}
 .review-row>strong{max-width:66%}
 .review-message{font-size:14px;line-height:1.65}
 .hub-top{font-size:11px;letter-spacing:.7px;gap:12px}
 .hub-top>a:last-child{font-size:12px;min-height:44px}
 .welcome{min-height:320px}.welcome-portrait{height:320px}
 .welcome-message{font-size:17px;line-height:1.5;letter-spacing:0;color:#504b45}
 .welcome-message em{font-size:1.12em}
 .welcome-audience{font-size:12px;line-height:1.55;letter-spacing:0;color:#70695e;margin-top:12px}
 .welcome-portrait figcaption{font-size:11px;padding:7px 9px}
 .quick-card{min-height:118px;gap:13px}
 .quick-title{font-size:18px;line-height:1.35;letter-spacing:0}
 .quick-description{font-size:14px;line-height:1.5;color:#625d54}
 .quick-icon{width:49px;height:49px}.quick-arrow{width:30px;height:30px}
 .expanded-services .filters{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:17px;overflow:visible;padding:4px}
 .expanded-services .filter,.expanded-services .filter:first-child,.expanded-services .filter:last-child{font-size:14px;min-height:44px;padding:10px 12px}
 .expanded-services .service-grid{grid-template-columns:1fr;gap:11px}
 .expanded-services .service-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:100px;padding:15px;border-radius:13px}
 .expanded-services .service-card-top{display:none}
 .expanded-services .service-card h3{font-size:16px;line-height:1.5;min-height:0;margin:0}
 .expanded-services .service-bottom{flex-direction:column;align-items:flex-end;gap:7px}
 .expanded-services .service-price{font-size:15px}.expanded-services .service-price small{font-size:12px}
 .expanded-services .service-book{font-size:14px;min-height:44px;padding:9px 13px;gap:8px}
 .expanded-services .fine-print{font-size:13px;line-height:1.6;color:#68666b}
 .expanded-team .team-grid{grid-template-columns:1fr;gap:18px}
 .expanded-team .team-card{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:15px}
 .expanded-team .team-image,.expanded-team .team-placeholder{width:64px;height:82px}
 .expanded-team .team-info{padding:0}
 .expanded-team .team-info h3{font-size:16px;line-height:1.5;min-height:0}
 .expanded-team .team-info p{font-size:13px;line-height:1.5}
 .expanded-team .team-book{font-size:14px;min-height:44px;margin-top:4px}
 .expanded-team .portrait-credit{font-size:12px;line-height:1.6;color:#706e73}
 .footer-brand>p{font-size:13px;line-height:1.55;max-width:130px;color:#d1cddd}
 .footer-contact .eyebrow{font-size:11px;line-height:1.5;letter-spacing:1px}
 .footer-contact h2{font-size:23px;line-height:1.4}
 .location-link{font-size:13px;line-height:1.55;min-height:48px}
 .footer-social>p{font-size:13px;line-height:1.5;color:#d1cddd}
 .footer-social>a>.social-label{font-size:15px}.footer-social>a{min-height:49px}
 .footer-bottom{font-size:11px;line-height:1.7;color:#c8c3d6}
 .footer-verse{font-size:12px;line-height:1.7;color:#d0cbdc}.footer-verse>span{font-size:11px;color:#c0bace}
}
@media(max-width:360px){
 .hub-top{font-size:10px}.hub-top>a:last-child{font-size:11px}
 .quick-card{padding:15px 12px;gap:11px}.quick-title{font-size:17px}.quick-description{font-size:14px}
 .welcome-message{font-size:16px}.welcome-audience{font-size:12px}
 .review-row{display:block}.review-row>span{display:block;font-size:14px;margin-bottom:7px}.review-row>strong{display:block;max-width:none;text-align:left}
 .footer-brand .logo-window{width:160px}.footer-brand>p{max-width:112px}
}

/* A single clear message, followed by one supporting service line. */
.welcome-presentation{max-width:360px;margin:0 auto;text-align:left;padding-left:14px}
.welcome-message{font:400 34px/1.2 Georgia,serif;letter-spacing:-.7px;color:#101547;margin:0;text-wrap:initial}
.welcome-message>span{display:block;white-space:nowrap}
.welcome-audience{font:400 16px/1.5 var(--sans);letter-spacing:0;color:#605a50;margin:16px 0 0;padding:0}
@media(max-width:700px){
 .welcome-presentation{max-width:none;margin:0;padding-left:14px}
 .welcome-rule{width:38px;margin:23px 0 20px 14px}
 .welcome-message{font:400 24px/1.24 Georgia,serif;letter-spacing:-.5px;color:#101547}
 .welcome-audience{font:400 14px/1.5 var(--sans);color:#605a50;margin:14px 0 0;padding:0}
}
@media(max-width:360px){
 .welcome-presentation{padding-left:12px}
 .welcome-rule{margin-left:12px}
 .welcome-message{font-size:21px;letter-spacing:-.4px}
 .welcome-audience{font-size:13px}
}