.portal{background:#faf8f3;min-height:100vh}.portal-header{border-bottom:1px solid #e5ded1;justify-content:space-between;align-items:center;max-width:1400px;height:92px;margin:auto;padding:0 55px;display:flex}.salon-brand{color:var(--brand);align-items:center;gap:14px;text-decoration:none;display:flex}.salon-brand>span{background:var(--brand);color:#fff;border-radius:20px 20px 5px 5px;place-items:center;width:44px;height:48px;font-family:Georgia,serif;font-size:29px;display:grid}.salon-brand>img{object-fit:contain;width:48px;height:48px}.salon-brand>strong{font-family:Georgia,serif;font-size:24px;font-weight:400}.portal-header>div{gap:16px;display:flex}.portal-header button{color:var(--brand);background:0 0;align-items:center;gap:8px;font-size:12px;display:flex}.portal-hero{background:#ebe5d8;border-radius:15px;max-width:1290px;margin:25px auto 0;padding:65px 55px;position:relative;overflow:hidden}.portal-hero:after{content:"";opacity:.6;pointer-events:none;border:1px solid #c8bca5;border-radius:130px 130px 0 0;width:230px;height:330px;position:absolute;top:45px;right:12%;transform:rotate(17deg)}.portal-hero h1{color:var(--brand);margin:23px 0;font-family:Georgia,serif;font-size:65px;line-height:1.07}.portal-hero p{color:#978770;max-width:380px;font-size:14px}.portal-trust{color:#9d8b70;align-items:center;gap:8px;margin-top:26px;font-size:10px;display:flex}.portal-content{max-width:1290px;margin:auto;padding:30px 10px}.portal-tabs{border-bottom:1px solid var(--line);flex-direction:row;gap:30px;margin-bottom:38px;display:flex}.portal-tabs button{color:#9a8c78;border-radius:0;padding:16px 0;font-size:13px}.portal-tabs button.selected{border-bottom:2px solid var(--brand);color:var(--brand);background:0 0}.booking-grid{grid-template-columns:minmax(0,1fr) 340px;gap:45px;display:grid}.step-heading{align-items:center;gap:16px;margin:10px 0 25px;display:flex}.step-heading>span{width:34px;height:34px;color:var(--brand);background:#ece5d9;border-radius:50%;place-items:center;font-size:12px;display:grid}.step-heading h2{letter-spacing:-.3px;font-family:Georgia,serif;font-size:23px}.step-heading p{margin-top:7px;font-size:11px}.service-grid{grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:40px;display:grid}.service-choice{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:11px;padding:0;overflow:hidden}.service-choice.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.service-choice>img{object-fit:cover;width:100%;height:140px}.service-choice>div{padding:22px}.service-choice small{letter-spacing:1.4px;text-transform:uppercase;color:#a69170;font-size:9px}.service-choice h3{margin:11px 0;font-family:Georgia,serif;font-size:16px;font-weight:400}.service-choice p{min-height:20px;font-size:11px}.service-choice>div>div{color:var(--brand);justify-content:space-between;align-items:center;margin-top:18px;display:flex}.service-choice>div>div>span{color:#aa987d;align-items:center;gap:5px;font-size:10px;display:flex}.service-choice strong{font-size:14px;font-weight:500}.booking-summary{background:#f3eee4;align-self:start;padding:28px;position:sticky;top:25px}.booking-summary h2{margin:15px 0 30px;font-family:Georgia,serif;font-size:26px}.summary-row{border-bottom:1px solid #e4dbcc;flex-direction:column;gap:10px;padding:17px 0;display:flex}.summary-row>span{color:#a28d70;font-size:10px}.summary-row strong{font-size:12px;font-weight:500;line-height:1.6}.summary-total{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:24px 0;display:flex}.summary-total>span{font-size:12px}.summary-total strong{color:var(--brand);font-size:19px;font-weight:500}.summary-total small{color:#9a866b;width:100%;font-size:9px;line-height:1.5}.booking-summary>.button{width:100%;margin-top:10px}.booking-policy{color:#a28e72;margin-top:22px;font-size:10px;line-height:1.9}.booking-selectors{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.slot-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.slot-grid button{border:1px solid var(--line);color:var(--brand);background:#fff;border-radius:7px;padding:13px 6px;font-size:11px}.slot-grid button.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.availability-empty{background:#efe9dd;border-radius:8px;padding:18px;font-size:12px}.portal-auth{max-width:600px;margin-bottom:35px;padding:30px}.portal-auth h2{font-family:Georgia,serif;font-size:25px}.portal-auth p{margin:15px 0 25px;font-size:12px}.portal-auth form>.text-button{margin-top:22px;font-size:12px}.portal-footer{color:#ad9a7c;border-top:1px solid var(--line);justify-content:space-between;margin-top:55px;padding:26px 0;font-size:9px;display:flex}.my-bookings{gap:15px;display:grid}.my-booking{justify-content:space-between;align-items:center;gap:15px;padding:25px;display:flex}.my-booking h3{margin:14px 0;font-family:Georgia,serif;font-size:19px;font-weight:400}.my-booking p{margin-bottom:8px;font-size:12px}.my-booking small{color:#a28d70}.my-booking .button-group{gap:10px;display:flex}.notification-heading{margin:40px 0 20px;font-family:Georgia,serif;font-size:23px}.notification{border-bottom:1px solid var(--line);color:var(--brand);gap:12px;padding:20px 0;display:flex}.notification p{font-size:12px}.notification small{color:#ae9a7b;margin-top:8px;font-size:10px;display:block}.portal-loading{text-align:center;padding:15vh 10%}.portal-loading h1{font-family:Georgia,serif;font-size:30px}.portal input,.portal select{background:#fffdf9}.portal .field>input:not([type=checkbox]),.portal .field>select{font-size:12px}.portal .field{font-size:11px}@media (max-width:1400px){.portal-hero{margin:20px 30px 0}.portal-content{padding:30px 40px}.portal-hero:after{right:8%}}@media (max-width:900px){.booking-grid{grid-template-columns:1fr 290px;gap:25px}.service-grid{grid-template-columns:1fr}.portal-hero:after{width:170px;height:270px}.portal-hero h1{font-size:55px}.booking-selectors{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:650px){.portal-header{height:76px;padding:0 20px}.salon-brand>strong{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:20px;overflow:hidden}.salon-brand{gap:10px}.salon-brand>span{width:34px;height:39px;font-size:24px}.portal-header>div{gap:9px}.portal-header button{gap:5px;font-size:10px}.portal-hero{border-radius:12px;margin:15px 16px 0;padding:32px 25px}.portal-hero h1{margin:18px 0;font-size:47px}.portal-hero p{max-width:270px;font-size:12px}.portal-hero .eyebrow{font-size:8px}.portal-hero:after{display:none}.portal-trust{font-size:9px;line-height:1.8}.portal-content{padding:22px 18px}.portal-tabs{gap:25px;margin-bottom:28px}.portal-tabs button{font-size:12px}.booking-grid{grid-template-columns:1fr;gap:30px}.service-grid{grid-template-columns:1fr;gap:12px;margin-bottom:35px}.service-choice>div{padding:20px}.service-choice h3{font-size:17px}.booking-summary{padding:25px;position:static}.step-heading h2{font-size:22px}.booking-selectors{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(4,1fr)}.portal-auth{padding:24px 20px}.my-booking{flex-direction:column;align-items:flex-start;padding:23px}.my-booking .button{padding:10px;font-size:10px}.portal-footer{gap:15px;font-size:8px}.portal-header>div button:first-child{max-width:120px;overflow:hidden}.notification p{font-size:11px}}
