.booking-page-heading{max-width:50rem;margin-bottom:3rem}.booking-page-heading h1{font-family:var(--font-heading);letter-spacing:-.035em;margin:.75rem 0 1.25rem;font-size:clamp(2.8rem,6vw,5rem);font-weight:400;line-height:1.04}.booking-page-heading>p:last-child{max-width:38rem;color:var(--color-muted-foreground);font-size:1.1rem;line-height:1.65}.booking-eyebrow{font:500 .75rem/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted-foreground);margin:0 0 .7rem}.booking-muted,.booking-location{color:var(--color-muted-foreground);line-height:1.6}.booking-filters{flex-wrap:wrap;gap:1.25rem;margin:0 0 1.25rem;display:flex}.booking-filters a{color:var(--color-muted-foreground);border-bottom:2px solid #0000;padding:.65rem 0;text-decoration:none}.booking-filters a[aria-current=page]{color:var(--color-foreground);border-color:var(--color-primary)}.booking-service-row{border-top:1px solid var(--color-border);color:var(--color-foreground);grid-template-columns:2rem 10rem 1fr auto;align-items:center;gap:2rem;padding:2.25rem 0;text-decoration:none;display:grid}.booking-service-row:last-child{border-bottom:1px solid var(--color-border)}.booking-service-row:not(:has(.booking-service-image)){grid-template-columns:2rem 1fr auto}.booking-index{color:var(--color-muted-foreground);align-self:start;margin-top:.2rem;font-size:.8rem}.booking-service-image{aspect-ratio:1.2;object-fit:cover;border-radius:var(--radius-sm);width:10rem}.booking-service-copy h2{font-family:var(--font-heading);margin:.35rem 0 .75rem;font-size:clamp(1.9rem,3vw,2.7rem);font-weight:400;line-height:1.1}.booking-service-copy p{margin:.3rem 0}.booking-service-meta{flex-wrap:wrap;gap:.5rem 1.5rem;padding-top:.6rem;display:flex}.booking-price{color:var(--color-foreground)}.booking-price s,.booking-price small{color:var(--color-muted-foreground);margin-left:.5rem}.booking-row-action{color:var(--color-primary);align-items:center;gap:1rem;font-size:.85rem;display:flex}.booking-service-row:hover h2{color:var(--color-primary)}.booking-empty,.booking-loading{color:var(--color-muted-foreground);padding:2rem 0}.booking-error{color:var(--color-destructive);margin:1rem 0;line-height:1.5}.booking-secondary,.booking-primary{border-radius:var(--radius-control);cursor:pointer;padding:.9rem 1.25rem;font-size:.95rem;line-height:1.4}.booking-secondary{border:1px solid var(--color-border);color:var(--color-foreground);background:var(--color-background);margin-top:1.5rem}.booking-primary{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-primary-foreground);width:100%;margin-top:1.5rem}.booking-primary:disabled{opacity:.48;cursor:not-allowed}.booking-secondary:disabled{opacity:.5}.booking-back{color:var(--color-muted-foreground);margin-bottom:2.5rem;font-size:.85rem;text-decoration:none;display:inline-block}.booking-detail-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6rem;display:grid}.booking-detail-intro h1{font-family:var(--font-heading);letter-spacing:-.035em;margin:0 0 1rem;font-size:clamp(2.5rem,4.8vw,4.5rem);font-weight:400;line-height:1.05}.booking-detail-intro>p{color:var(--color-muted-foreground);line-height:1.65}.booking-detail-price{flex-wrap:wrap;gap:1.5rem;padding:1rem 0;display:flex;color:var(--color-foreground)!important;font-size:1.15rem!important}.booking-detail-price s{color:var(--color-muted-foreground);font-size:.85em}.booking-detail-cover{aspect-ratio:1.6;object-fit:cover;border-radius:var(--radius-sm);width:100%;margin:2rem 0}.booking-description{white-space:pre-line;color:var(--color-muted-foreground);font-size:1rem;line-height:1.75}.booking-flow{border-top:1px solid var(--color-border);min-width:0;padding-top:1.5rem}.booking-flow-heading h2{font-family:var(--font-heading);margin:0 0 1.5rem;font-size:2rem;font-weight:400;line-height:1.1}.booking-time-zone{color:var(--color-muted-foreground);margin:0 0 1rem;font-size:.8rem;line-height:1.5}.booking-time-zone button,.booking-text-button{color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.booking-week-controls{justify-content:space-between;margin:1rem 0;display:flex}.booking-week-controls button{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:0;padding:.5rem 0;font-size:.8rem}.booking-day-strip{gap:.55rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.booking-day-strip button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:5rem;color:var(--color-muted-foreground);background:var(--color-background);cursor:pointer;flex:0 0 3.7rem;place-items:center;gap:.2rem;padding:.6rem .3rem;display:grid}.booking-day-strip strong{color:var(--color-foreground);font-size:1.35rem;font-weight:400}.booking-day-strip span{text-transform:uppercase;font-size:.65rem}.booking-day-strip button[aria-pressed=true],.booking-slot-grid button[aria-pressed=true]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-background));color:var(--color-foreground)}.booking-times{margin-top:1rem}.booking-times h3,.booking-details-form h3,.booking-unavailable h3{margin:1rem 0;font-size:1.1rem;font-weight:500;line-height:1.4}.booking-time-group{margin:1.3rem 0}.booking-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.booking-slot-grid button{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-background);color:var(--color-foreground);cursor:pointer;gap:.2rem;padding:.7rem .35rem;font-size:.8rem;display:grid}.booking-slot-grid button:disabled{opacity:.45;cursor:not-allowed}.booking-empty-week{padding:1rem 0;line-height:1.6}.booking-empty-week p{margin:.5rem 0}.booking-details-form{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1rem}.booking-field{color:var(--color-muted-foreground);gap:.5rem;margin:.8rem 0;font-size:.85rem;line-height:1.5;display:grid}.booking-field input,.booking-field select{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-background);width:100%;min-height:2.8rem;color:var(--color-foreground);font:inherit;padding:.65rem .75rem}.booking-field input:focus,.booking-field select:focus{outline:2px solid var(--color-primary);outline-offset:2px}.booking-payment{border:0;gap:.65rem;padding:1rem 0;display:grid}.booking-payment legend{color:var(--color-muted-foreground);padding:0;font-size:.8rem}.booking-payment label{align-items:center;gap:.65rem;font-size:.9rem;display:flex}.booking-selected{color:var(--color-primary);font-size:.8rem}.booking-course,.booking-unavailable,.booking-confirmed{line-height:1.65}.booking-confirmed h2{font:400 2.5rem/1.1 var(--font-heading)}.booking-unavailable{padding:1.5rem 0}.booking-unavailable p{color:var(--color-muted-foreground)}.booking-unavailable a,.booking-confirmed a{color:var(--color-primary)}.booking-sessions{border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1rem;font-size:.85rem;line-height:1.7}.booking-sessions summary{cursor:pointer}.booking-sessions ul{margin:1rem 0;padding:0;list-style:none}.booking-sessions li{border-bottom:1px solid var(--color-border);padding:.5rem 0}.booking-flow button:focus-visible,.booking-service-row:focus-visible,.booking-filters a:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}@media (width<=900px){.booking-detail-grid{gap:3rem}.booking-service-row{grid-template-columns:1.5rem 7rem 1fr;gap:1.2rem}.booking-service-image{width:7rem}.booking-row-action{grid-column:3}.booking-service-row:not(:has(.booking-service-image)){grid-template-columns:1.5rem 1fr}.booking-service-row:not(:has(.booking-service-image)) .booking-row-action{grid-column:2}}@media (width<=640px){.booking-page{padding:2.5rem 0 4rem}.booking-page-heading{margin-bottom:2rem}.booking-page-heading h1{font-size:3rem}.booking-service-row{grid-template-columns:4.5rem 1fr;gap:1rem;padding:1.7rem 0}.booking-index{display:none}.booking-service-image{aspect-ratio:1;align-self:start;width:4.5rem}.booking-service-copy h2{font-size:1.8rem}.booking-service-copy .booking-muted{font-size:.9rem}.booking-location{font-size:.8rem}.booking-row-action{grid-column:2;font-size:.85rem}.booking-service-row:not(:has(.booking-service-image)){grid-template-columns:1fr}.booking-service-row:not(:has(.booking-service-image)) .booking-row-action{grid-column:1}.booking-detail{padding:2rem 0 4rem}.booking-back{margin-bottom:1.7rem}.booking-detail-grid{grid-template-columns:1fr;gap:1.25rem}.booking-detail-cover,.booking-description{display:none}.booking-detail-intro h1{font-size:2.6rem}.booking-detail-price{padding:.5rem 0;margin:.5rem 0!important}.booking-flow-heading h2{font-size:1.85rem}.booking-flow{padding-top:1rem}.booking-detail-mobile-description{color:var(--color-muted-foreground);margin-top:2.5rem;line-height:1.75;display:block}.booking-detail-mobile-description h2{color:var(--color-foreground);font-family:var(--font-heading);font-size:2rem;font-weight:400}}@media (width>=641px){.booking-detail-mobile-description{display:none}}.booking-page{padding:16px 0 32px}.booking-page-heading{border-bottom:1px solid #365d7a;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);align-items:center;gap:64px;max-width:none;margin-bottom:64px;padding:42px 0 52px;display:grid}.booking-page-heading h1{margin:0 0 24px;font-size:clamp(48px,5.2vw,72px);line-height:1.08}.booking-page-heading h1 span{color:#94d7ff}.booking-page-intro>p{color:#c2d5e6;max-width:48ch;margin-bottom:24px;font-size:20px;line-height:1.7}.booking-intro-link{color:#a9ddff;text-underline-offset:5px;font-size:16px;line-height:1.7;text-decoration:underline}.booking-intro-link span{margin-left:8px;display:inline-block}.booking-how-it-works{background:#0c2b46;border:1px solid #365d7a;border-radius:14px;gap:24px;margin:0;padding:30px;list-style:none;display:grid}.booking-how-it-works li{align-items:flex-start;gap:16px;display:flex}.booking-how-it-works li>span{color:#abddff;border:1px solid #5f91b2;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.booking-how-it-works strong{color:#f1f7fd;font-size:18px;font-weight:400;line-height:1.4}.booking-how-it-works p{color:#b7ccdf;margin:6px 0 0;font-size:16px;line-height:1.6}.booking-service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.booking-service-row,.booking-service-row:not(:has(.booking-service-image)){background:#0b243c;border:1px solid #365d7a;border-radius:14px;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0;display:flex;overflow:hidden}.booking-service-row:nth-child(2){background:#0d2f4e}.booking-service-row:nth-child(3){background:#123f67}.booking-service-row:hover{border-color:#83d4ff}.booking-service-image{aspect-ratio:auto;object-fit:cover;border-radius:0;width:100%;height:180px}.booking-service-copy{flex-direction:column;flex:1;padding:28px 26px 20px;display:flex}.booking-eyebrow{color:#a9d9f7;letter-spacing:.09em;font-size:14px;line-height:1.5}.booking-service-copy h2{margin:10px 0 18px;font-size:34px;line-height:1.13}.booking-service-copy .booking-muted{color:#c9dce9;font-size:18px;line-height:1.7}.booking-service-meta{color:#e0edf7;align-items:center;gap:12px 22px;padding-top:24px;font-size:18px;margin-top:auto!important}.booking-price{color:#f1f7fd;font-size:26px}.booking-price small{font-size:14px}.booking-location{color:#b7ccdf;font-size:16px}.booking-row-action{color:#e8f6ff;background:#124e7e;border:1px solid #71a3c5;border-radius:8px;justify-content:space-between;min-height:50px;margin:0 26px 28px;padding:12px 16px;font-size:16px}.booking-row-action span{font-size:22px}.booking-service-row:hover .booking-row-action{background:#1765b3}.booking-filters{gap:12px;margin-bottom:24px;font-size:16px}.booking-filters a{border:1px solid #365d7a;border-radius:8px;min-height:48px;padding:10px 16px}.booking-filters a[aria-current=page]{background:#17496f;border-color:#83d4ff}.booking-help{background:#081d32;border:1px solid #365d7a;border-radius:14px;justify-content:space-between;align-items:center;gap:32px;margin-top:56px;padding:32px;display:flex}.booking-help h2{margin:0 0 12px;font-size:32px;line-height:1.15}.booking-help p{color:#b7ccdf;max-width:58ch;margin:0;font-size:18px;line-height:1.7}.booking-detail{padding:8px 0 36px}.booking-back{color:#a9ddff;margin-bottom:36px;padding-block:10px;font-size:16px}.booking-detail-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:start;gap:54px}.booking-detail-intro h1{font-size:clamp(42px,4.2vw,62px);line-height:1.1}.booking-detail-intro>p,.booking-description{font-size:18px;line-height:1.75}.booking-detail-price{gap:24px;padding-block:20px;font-size:24px!important}.booking-detail-cover{border-radius:12px;margin-block:28px}.booking-flow{background:#0c2b46;border:1px solid #365d7a;border-radius:14px;padding:30px}.booking-flow-heading h2{margin-bottom:14px;font-size:36px}.booking-step-note{color:#c2d5e6;margin:12px 0 24px;font-size:18px;line-height:1.65}.booking-time-zone{margin-top:20px;font-size:16px;line-height:1.7}.booking-week-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 18px}.booking-week-controls button{color:#deeffa;border:1px solid #5d84a2;border-radius:7px;min-height:44px;padding:8px 12px;font-size:16px}.booking-week-range{color:#deeffa;text-align:center;flex:1;font-size:16px;line-height:1.5}.booking-day-strip{gap:8px;padding-bottom:14px}.booking-day-strip button{background:#081d32;border-color:#5d84a2;flex-basis:64px;min-height:92px}.booking-day-strip span{font-size:14px}.booking-day-strip strong{font-size:26px}.booking-day-strip button[aria-pressed=true],.booking-slot-grid button[aria-pressed=true]{color:#fff;background:#1765b3;border-color:#a5dfff;box-shadow:inset 0 0 0 1px #a5dfff}.booking-slot-grid button{background:#081d32;border-color:#5d84a2;min-height:56px;padding:10px 8px;font-size:16px}.booking-slot-grid button small{color:#c2d5e6;font-size:13px}.booking-times h3,.booking-details-form h3,.booking-unavailable h3{font-family:var(--font-body);font-size:20px;line-height:1.45}.booking-details-form{border-color:#52738d;margin-top:28px;padding-top:18px}.booking-field{color:#d5e6f2;gap:8px;margin:18px 0;font-size:16px}.booking-field input,.booking-field select{background:#061a2c;border-color:#6b8ca6;min-height:50px;padding:10px 12px;font-size:18px}.booking-payment legend,.booking-payment label{font-size:16px}.booking-primary{color:#fff;background:#1765b3;border-color:#83d4ff;min-height:54px;padding:13px 20px;font-size:18px}.booking-primary:hover:not(:disabled){background:#2179ca}.booking-secondary{background:#0b243c;border-color:#7ba9c8;min-height:48px;font-size:16px}.booking-selected,.booking-details-prompt{color:#e5f5ff;background:#154469;border:1px solid #4d85ae;border-radius:9px;padding:16px 18px;font-size:18px;line-height:1.65}.booking-details-prompt{margin-top:28px}.booking-empty-week,.booking-course,.booking-unavailable,.booking-sessions,.booking-recovery{font-size:18px;line-height:1.7}.booking-recovery{background:#081d32;border:1px solid #52738d;border-radius:9px;margin-block:20px;padding:20px}.booking-recovery-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.booking-recovery-actions .booking-secondary{margin:0}.booking-recovery-actions a,.booking-error a,.booking-empty a,.booking-empty-week a{color:#a9ddff;text-underline-offset:4px;text-decoration:underline}.booking-error{font-size:16px;line-height:1.65}.booking-error a{padding-block:8px;display:inline-block}.booking-sessions summary{min-height:44px;padding-block:8px}.booking-detail-mobile-description{font-size:18px}@media (width<=1050px){.booking-page-heading{grid-template-columns:1.2fr 1fr;gap:32px}.booking-service-list{grid-template-columns:1fr}.booking-service-row,.booking-service-row:not(:has(.booking-service-image)){grid-template-columns:180px 1fr 190px;align-items:center;display:grid}.booking-service-row:not(:has(.booking-service-image)){grid-template-columns:1fr 190px}.booking-service-image{align-self:stretch;width:180px;height:100%;min-height:240px}.booking-service-copy{padding:28px}.booking-service-copy h2{font-size:34px}.booking-row-action{margin:24px 24px 24px 0;grid-column:auto!important}.booking-service-meta{padding-top:16px;margin-top:0!important}.booking-detail-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px}.booking-flow{padding:24px}.booking-help{align-items:flex-start}}@media (width<=760px){.booking-page-heading{grid-template-columns:1fr;gap:28px;margin-bottom:36px;padding:16px 0 40px}.booking-page-heading h1{font-size:clamp(42px,8vw,60px)}.booking-how-it-works{gap:20px;padding:24px}.booking-page-intro>p{font-size:18px}.booking-service-row,.booking-service-row:not(:has(.booking-service-image)){align-items:stretch;display:flex}.booking-service-image{width:100%;height:190px;min-height:0}.booking-service-copy{padding:24px}.booking-row-action{margin:0 24px 24px}.booking-help{flex-direction:column;gap:24px;margin-top:36px;padding:26px}.booking-detail-grid{grid-template-columns:1fr;gap:28px}.booking-detail-cover,.booking-description{display:none}.booking-detail-mobile-description{margin-top:32px;display:block}.booking-detail-mobile-description h2{margin-bottom:16px;font-size:32px}.booking-detail-intro h1{font-size:44px}.booking-flow{padding:24px}.booking-flow-heading h2{font-size:32px}.booking-back{margin-bottom:22px}}@media (width<=420px){.booking-flow{padding:20px}.booking-week-range{text-align:left;flex-basis:100%;order:-1}.booking-week-controls{justify-content:space-between}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-page-heading h1{font-size:42px}.booking-service-copy h2{font-size:32px}.booking-help .coramar-button{white-space:normal}}
