.reservation-page .site-header{background:#fff}.reservation-page main{overflow:clip}.reservation-page .composition{width:min(980px,calc(100% - 96px))}.reservation-page .eyebrow{font-size:11px;letter-spacing:.12em}.booking-hero{padding:140px 0 0;isolation:isolate}.booking-seal{position:absolute;z-index:-1;pointer-events:none;width:270px;top:97px;left:80px;opacity:.025}.booking-intro{margin-top:22px}.booking-intro h1{font-size:33px;line-height:1.7;letter-spacing:.08em}.booking-lead{margin-top:18px}.booking-lead>p{font-size:13px;line-height:2;color:var(--body)}.booking-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;width:330px;max-width:100%;padding:18px 22px;margin-top:23px;background:var(--ink);color:#fff;font-size:13px;letter-spacing:.08em;transition:background .2s}.booking-cta:hover{background:#45483f}.booking-cta span:last-child{font-size:18px}.external-note{font-size:10px!important;line-height:1.8!important;color:var(--muted)!important;margin-top:9px}.guide-index{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin-top:37px}.guide-index a{font-size:11px;letter-spacing:.06em;padding:5px 0}.guide-index small{font:10px var(--sans);color:var(--gold);margin-right:16px}.booking-course{padding:58px 0 54px;text-align:center;border-bottom:1px solid var(--line)}.course-summary h2{font-size:29px;line-height:1.8;letter-spacing:.08em;margin:20px 0 15px}.course-summary>p:not(.eyebrow){font-size:13px;line-height:2.1;color:var(--body)}.booking-price{margin:26px auto 0;max-width:650px}.price-label{font-size:13px;color:var(--gold);letter-spacing:.08em}.price-number{font:52px/1.2 Georgia,serif;letter-spacing:.01em;margin-top:12px}.price-number small{font:12px/1.8 var(--serif);margin-left:12px;white-space:nowrap}.price-service{font-size:11px;margin-top:9px;color:var(--body)}.price-guidance{margin-top:24px}.price-guidance p{font-size:12px;line-height:2;color:var(--body)}.price-guidance p+p{font-size:11px;color:var(--muted);margin-top:6px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ab946d;padding:13px 0;max-width:270px;font-size:12px;letter-spacing:.05em}.booking-price .text-link{margin:20px auto 0}.booking-seats{padding:45px 0 48px;border-bottom:1px solid var(--line)}.seat-guide{display:grid;grid-template-columns:220px 1fr;column-gap:45px}.seat-guide>.eyebrow{grid-column:1;grid-row:1}.seat-guide h2{grid-column:1;grid-row:2;font-size:25px;letter-spacing:.07em;line-height:1.8;margin-top:12px}.seat-types{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:3px}.seat-types>div+div{border-left:1px solid var(--line);padding-left:35px}.seat-types h3{font-size:17px;letter-spacing:.06em}.seat-count{font:27px/1.7 var(--serif);margin-top:9px}.seat-count small{font-size:12px;margin-left:8px}.seat-note{grid-column:2;font-size:11px;line-height:2;color:var(--muted);margin-top:20px}.seat-guide>.text-link{grid-column:2;margin-top:12px}.before-visit{display:grid;grid-template-columns:220px 1fr;gap:45px;padding:55px 0 45px}.section-side h2{font-size:22px;line-height:1.9;letter-spacing:.06em;margin:20px 0}.section-side>p:last-child{font-size:11px;line-height:2.2;color:var(--muted)}.visit-items article{display:grid;grid-template-columns:55px 1fr;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.visit-items article:first-child{padding-top:0}.item-label{font-size:10px;color:var(--gold);letter-spacing:.08em;padding-top:6px}.visit-items h3{font-size:18px;line-height:1.7;letter-spacing:.05em;margin-bottom:12px}.visit-items p{font-size:13px;line-height:2;color:var(--body)}.visit-items .example{font-size:11px;color:var(--muted);margin-top:10px}.booking-changes{padding:0 0 48px}.reservation-page .change-layout{max-width:715px;padding:30px 0 0;border-top:1px solid var(--line)}.change-layout h2{font-size:22px;letter-spacing:.05em;line-height:1.8;margin:16px 0 12px}.change-layout>div:first-child>p:last-child{font-size:12px;line-height:2;color:var(--body)}.change-layout>div:first-child>p:last-child br{display:none}.cancellation{margin-top:23px}.cancellation table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;line-height:1.8}.cancellation caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cancellation th,.cancellation td{padding:13px 10px;border-bottom:1px solid var(--line);font-weight:400}.cancellation thead th{color:var(--muted);font-size:11px;padding-top:0}.cancellation td{white-space:nowrap}.policy-note{font-size:10px;line-height:2;color:var(--muted);margin-top:14px}.booking-close{text-align:center;border-top:1px solid var(--line);padding:45px 0 55px}.booking-close .eyebrow{display:none}.booking-close h2{font-size:27px;line-height:1.8;letter-spacing:.07em}.booking-close>div>p:not(.external-note):not(.eyebrow){font-size:12px;line-height:2;color:var(--body);margin-top:13px}.booking-close .booking-cta{width:360px;margin:23px auto 0}.closing-access{display:inline-block;font-size:11px;letter-spacing:.06em;color:var(--muted);margin-top:25px;padding:8px}.closing-access span{margin-left:20px}
@media(max-width:850px) and (min-width:701px){.seat-guide,.before-visit{grid-template-columns:190px 1fr;gap:30px}.seat-types{gap:20px}.seat-types>div+div{padding-left:20px}.visit-items article{grid-template-columns:1fr;gap:8px}}
@media(max-width:700px){.reservation-page .composition{width:calc(100% - 48px)}.reservation-page .site-header .menu-link{font-size:10px}.booking-hero{padding-top:110px}.booking-intro{margin-top:18px}.booking-intro h1{font-size:25px;letter-spacing:.035em}.booking-lead{margin-top:16px}.booking-lead>p{font-size:12px}.booking-seal{width:210px;top:90px;left:35px}.booking-cta{width:100%;padding:18px 20px;font-size:12px;margin-top:21px}.guide-index{display:grid;grid-template-columns:1fr 1fr;gap:12px 15px;margin-top:27px;padding:17px 0}.guide-index a{font-size:10px;letter-spacing:0}.guide-index small{font-size:9px;margin-right:10px}.booking-course{padding:35px 0 36px}.course-summary h2{font-size:23px;letter-spacing:.035em;margin:17px 0 15px}.course-summary>p:not(.eyebrow){font-size:12px}.booking-price{margin-top:24px}.price-number{font-size:45px}.price-number small{display:block;margin:8px 0 0;font-size:11px}.price-service{margin-top:5px}.price-guidance{margin-top:20px;text-align:left}.price-guidance p{font-size:12px}.price-guidance p+p{font-size:10px}.booking-price .text-link{margin-top:16px}.booking-seats{padding:32px 0 35px}.seat-guide{display:block}.seat-guide h2{font-size:23px;margin:13px 0 22px}.seat-types{gap:20px}.seat-types>div+div{padding-left:20px}.seat-types h3{font-size:15px}.seat-count{font-size:25px}.seat-note{margin-top:19px;font-size:11px}.before-visit{display:block;padding:35px 0}.section-side h2{font-size:24px;line-height:1.8;margin:15px 0}.section-side>p:last-child br{display:none}.visit-items{margin-top:27px}.visit-items article{grid-template-columns:1fr;gap:7px;padding:23px 0}.visit-items h3{font-size:17px;margin-bottom:9px}.visit-items p{font-size:12px}.item-label{padding-top:0}.reservation-page .change-layout{padding-top:27px}.change-layout h2{font-size:20px;margin:14px 0 10px}.cancellation{margin-top:20px}.cancellation table{font-size:11px}.cancellation th,.cancellation td{padding:12px 5px}.cancellation tbody th{width:58%}.cancellation td{white-space:normal}.policy-note{font-size:10px}.booking-changes{padding-bottom:32px}.booking-close{padding:32px 0 40px}.booking-close h2{font-size:24px}.booking-close>div>p:not(.external-note):not(.eyebrow){font-size:11px}.closing-access{margin-top:18px}.text-link{font-size:11px}}
@media(max-width:359px){.course-summary h2{font-size:18px;letter-spacing:0}.booking-intro h1{font-size:23px}.section-side h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(min-width:701px){.booking-hero{padding-top:128px}.booking-intro{margin-top:18px}.booking-intro h1{line-height:1.5}.booking-lead{margin-top:14px}.guide-index{margin-top:28px;padding-block:16px}}
@media(min-width:701px) and (max-width:850px){.section-side h2{font-size:19px}}

/* Center the opening on the same axis as the course. */
.booking-hero{text-align:center}.booking-hero .booking-cta{margin-inline:auto}.booking-seal{left:50%;transform:translateX(-50%)}.booking-hero .booking-lead{margin-top:22px}.booking-hero .booking-cta{margin-top:0}
