
.ct-page{--ct-ink:#37334b;--ct-muted:#625f70;--ct-line:#c9c3d5;color:var(--ct-ink)}.ct-page p{font-size:15px;line-height:1.85;color:var(--ct-muted)}.ct-page h1,.ct-page h2,.ct-page h3{font-weight:550;letter-spacing:-.045em}.ct-page em{font-family:Georgia,serif;font-weight:400}.ct-page h2{font-size:clamp(36px,4vw,56px);line-height:1.15;margin:20px 0 25px;text-wrap:balance}.ct-page h3{font-size:27px;line-height:1.3}.ct-page .eyebrow{font-size:11px;line-height:1.7;letter-spacing:1px;color:#68517f}.ct-page a:focus-visible,.ct-page summary:focus-visible{outline:3px solid #765293;outline-offset:5px}.ct-opening{padding-top:25px;padding-bottom:80px}.ct-opening .breadcrumbs{display:flex;gap:12px;font-size:12px;margin-bottom:55px}.ct-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:75px;align-items:start}.ct-intro h1{font-size:clamp(55px,5.7vw,79px);line-height:1.06;margin:25px 0}.ct-intro h1 em{color:#725782}.ct-page .ct-lead{font-size:22px;line-height:1.65;color:var(--ct-ink)}.ct-direct{border-block:1px solid var(--ct-line);padding:27px 0;margin-top:32px}.ct-direct>span,.ct-people>span{display:block;font-size:11px;letter-spacing:.8px;color:#725782}.ct-direct>a{display:inline-block;font-size:clamp(20px,2.2vw,29px);letter-spacing:-.7px;margin-top:15px;overflow-wrap:anywhere}.ct-direct p{font-size:13px;margin-bottom:0}.ct-people{padding-top:27px}.ct-people p{font-size:14px}.ct-people>a,.ct-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.ct-form.contact-form-panel{padding:35px;background:#eeebf3;border:1px solid #b9acc9;border-radius:3px;box-shadow:8px 9px 0 #e0d8e8}.ct-form header h2{font-size:39px;margin-top:18px}.ct-form header p{font-size:14px;margin-bottom:26px}.ct-form label{color:#484053;font-weight:500;font-size:14px}.ct-form input,.ct-form textarea{background:#fffefa;border-color:#a99bb9;border-radius:3px;line-height:1.6;font-size:16px}.ct-form input:focus,.ct-form textarea:focus{outline:2px solid #765293;outline-offset:2px}.ct-form textarea{min-height:180px}.ct-page .form-privacy{font-size:12px}.ct-form .form-privacy a{text-decoration:underline;text-underline-offset:3px}.ct-form .button{background:#463650;color:#fff;border-color:#463650}.ct-form-note{border-top:1px solid #c4b9d0;padding-top:22px;margin-top:25px}.ct-form-note b{font-size:14px;font-weight:550}.ct-form-note p{font-size:13px;margin-bottom:0}.ct-section{padding-block:80px}.ct-two{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.ct-prep{background:#ebe6db}.ct-prompts{list-style:none;margin:0;padding:0}.ct-prompts li{display:grid;grid-template-columns:35px 1fr;gap:23px;border-top:1px solid #c7bdaa;padding:25px 0}.ct-prompts li>span{font:24px Georgia,serif;color:#846640}.ct-prompts h3{margin:0 0 12px}.ct-prompts p{font-size:14px;margin:0}.ct-heading{align-items:end;margin-bottom:42px}.ct-heading h2,.ct-heading>p{margin-bottom:0}.ct-next{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.ct-next article{border-top:2px solid #b1a4c0;padding-top:25px}.ct-next article>span{font-size:11px;letter-spacing:.8px;color:#725782}.ct-next h3{margin:20px 0 15px}.ct-next p{font-size:14px}.ct-details{background:#3d3548;color:#faf5ed}.ct-details .eyebrow{color:#dbc8ea}.ct-details p{color:#e0d7e7}.ct-address{font-style:normal;background:#f1ebe0;color:#433b32;padding:32px}.ct-address>span{font-size:11px;letter-spacing:.7px;color:#775f40}.ct-address h3{font-size:28px;margin:22px 0}.ct-address p{color:#665c4c}.ct-address dl{margin:25px 0 0}.ct-address dl>div{border-top:1px solid #c9bda9;padding:18px 0}.ct-address dt{font-size:12px;color:#715d41}.ct-address dd{margin:10px 0 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.ct-address dd a{text-decoration:underline;text-underline-offset:4px}.ct-faq details{border-top:1px solid var(--ct-line);padding:22px 0}.ct-faq summary{font-size:17px;line-height:1.6;cursor:pointer}.ct-faq details p{font-size:14px;margin:15px 0 0}
.ct-booking.ct-form-note{margin-top:28px;padding:22px;background:#fffdf8;border:1px solid #c5b8cf;border-radius:12px}
.ct-booking h3{margin:0;font-size:21px;line-height:1.35;letter-spacing:-.025em;color:#40324d}
.ct-booking p{margin:9px 0 19px;font-size:14px;line-height:1.7;color:#62546e}
.ct-booking-button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 16px;border:1px solid #513c60;border-radius:8px;background:#513c60;color:#fff;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .18s,box-shadow .18s}
.ct-booking-button>svg{width:22px;height:22px;flex:0 0 22px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ct-booking-arrow{display:grid;place-items:center;margin-left:auto;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#ffffff18;font-size:20px;font-weight:400}
.ct-booking-button:hover{background:#392743;border-color:#392743;box-shadow:0 4px 12px #39274320}
.ct-page .ct-booking-button:focus-visible{outline:3px solid #765293;outline-offset:4px}
@media(max-width:560px){.ct-booking.ct-form-note{padding:18px}.ct-booking-button{padding:12px;font-size:14px;gap:9px}.ct-booking h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ct-booking-button{transition:none}}
@media(max-width:1100px){.ct-layout,.ct-two{gap:40px}.ct-intro h1{font-size:66px}.ct-form.contact-form-panel{padding:28px}.ct-form header h2{font-size:35px}.ct-next{gap:25px}}
@media(max-width:800px){.ct-layout,.ct-two{grid-template-columns:1fr;gap:35px}.ct-intro h1{font-size:72px}.ct-intro{max-width:620px}.ct-form{margin-right:8px}.ct-next{grid-template-columns:1fr;gap:25px}.ct-next h3{margin-top:15px}.ct-section{padding-block:60px}.ct-opening{padding-bottom:60px}}
@media(max-width:560px){.ct-page .frame{width:calc(100% - 40px)}.ct-opening .breadcrumbs{margin-bottom:35px}.ct-intro h1{font-size:clamp(48px,12vw,64px)}.ct-page .ct-lead{font-size:20px}.ct-page h2{font-size:37px}.ct-form.contact-form-panel{padding:23px}.ct-form header h2{font-size:34px}.ct-form .button{font-size:12px;padding:15px 18px;gap:12px}.ct-address{padding:25px}.ct-address h3{font-size:26px}.ct-prompts li{gap:15px}.ct-section{padding-block:55px}}
.ct-page{overflow-x:clip}
.ct-layout>*,.ct-two>*,.ct-form form{min-width:0}
.ct-form input,.ct-form textarea,.ct-form .form-verification{max-width:100%;min-width:0}
