/* A warm serif with stronger strokes, paired with simple, readable text. */
:root{--display:'Lora',Georgia,serif}
h1,h2,h3,.brand{font-family:var(--display);font-weight:400}
h1{font-size:clamp(56px,5.5vw,82px);letter-spacing:-2.7px;line-height:1.15}
h1 em,h2 em{font-family:inherit;font-size:1em;font-weight:400;font-style:normal;letter-spacing:inherit}
h2{font-size:clamp(38px,3.55vw,53px);letter-spacing:-1.5px;line-height:1.2}
.brand{font-size:29px;letter-spacing:-1.2px}
header .brand{font-size:28px}
.brand span{letter-spacing:3px}
.photo-note{font-family:var(--display);font-size:21px;line-height:1.55}
.photo-note i{font-style:normal}
.service-grid h3{font-family:var(--display);font-size:30px;line-height:1.25;letter-spacing:-.7px}
.regular h2{font-size:clamp(38px,3.55vw,53px);line-height:1.25}
.signature{font-family:var(--display);font-style:normal;font-size:25px;letter-spacing:-.5px}
.about-art>span{font-family:var(--display);font-weight:400;font-size:190px;letter-spacing:-12px}
.faq-heading h2{font-family:var(--display);font-size:42px;line-height:1.3;letter-spacing:-1px}
.faq .faq-answers summary{font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.8}
dialog h2{font-family:var(--display);font-size:32px;line-height:1.25}
/* A quiet photographic scene and one continuous form surface. */
#booking-dialog{width:1060px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);padding:24px;background:linear-gradient(#173e4755,#173e4755),url('assets/lavaux.jpg') 54% 50%/cover;color:#f7f5ef;border:0;border-radius:15px;box-shadow:0 35px 110px #112c3855;overflow-y:auto}
#booking-dialog::backdrop{background:#162b3566;backdrop-filter:blur(5px)}
#booking-dialog .booking-shell{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;min-height:530px;padding:55px 45px 36px;background:#193b42d4;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #e5efea40;border-radius:9px}
#booking-dialog .close{top:13px;right:13px;width:32px;height:32px;background:transparent;border:1px solid #dae5de40;color:#fff}
#booking-dialog .close span:before,#booking-dialog .close span:after{background:#f7f5ef}
#booking-dialog .booking-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding-top:4px}
#booking-dialog #booking-title{font-family:var(--display);font-size:39px;line-height:1.25;letter-spacing:-1.3px;padding:0;color:#f7f5ef;margin:0}
#booking-dialog .booking-copy>p{font-size:14px;line-height:1.9;color:#e0e9e5;max-width:270px;margin:26px 0 55px}
.booking-signature{font-family:var(--display);font-size:19px;margin-top:auto;line-height:1.6;color:#f7f5ef}
.booking-signature span{display:block;font-family:'DM Sans',sans-serif;font-size:11px;color:#cfddd8;margin-top:5px}
#booking-dialog #booking-form{min-width:0;margin:0}
#booking-form .request-fields{border:1px solid #e1ece57a;background:#ffffff05}
#booking-form .request-row{display:block;margin:0;padding:0;border:0;border-bottom:1px solid #e1ece57a;min-width:0}
#booking-form .request-row:last-child{border-bottom:0}
#booking-form .field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#booking-form .request-row input,#booking-form .request-row select,#booking-form .request-row textarea{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;width:100%;margin:0;padding:16px 17px;min-width:0}
#booking-form .request-row select{padding-right:30px;min-height:57px;color-scheme:dark}
#booking-form select option{background:#f7f5ef;color:#263f48}
#booking-form .request-row textarea{resize:vertical;min-height:96px;display:block}
#booking-form .request-row input::placeholder,#booking-form .request-row textarea::placeholder{color:#eef3ef;opacity:1}
#booking-form .request-row:focus-within{background:#ffffff10;outline:1px solid #e9f2eacc;outline-offset:-1px}
#booking-form .request-row input:focus,#booking-form .request-row select:focus,#booking-form .request-row textarea:focus{outline:0}
#booking-form .booking-options{margin:17px 0 0;padding:0;border:0;color:#f2f5f1}
#booking-form .booking-options summary{font-family:'DM Sans',sans-serif;font-size:11px;line-height:1.8;padding:0 0 5px;border:0;border-bottom:1px solid #d9e6de66;color:#f2f5f1;display:flex;justify-content:flex-start;align-items:center;gap:8px;list-style:none}
#booking-form .booking-options summary>span{color:#c4d5cd;font-size:9px;margin-left:auto}
#booking-form .booking-options summary:after{background:#e6eee9;width:10px}
#booking-form .optional-fields{padding:20px 0 0}
#booking-form .optional-fields label{color:#f2f5ef;font-size:11px;margin-bottom:16px}
#booking-form .optional-fields input,#booking-form .optional-fields select{border:1px solid #d3e3d466;background:#ffffff0a;color:#f7f5ef;margin-top:6px;border-radius:0;padding:11px 12px;font-size:14px;color-scheme:dark}
#booking-form .optional-fields label:last-child{margin-bottom:0}
#booking-form .form-finish{padding-top:28px}
#booking-form .form-finish .button{border-radius:0;min-height:51px;background:#f3f1e9;border:1px solid #f3f1e9;color:#263f48;font-size:14px;font-weight:500;justify-content:center;transition:background .2s}
#booking-form .form-finish .button:hover{background:#dce7df}
#booking-form .form-finish .small{color:#d7e2db;font-size:10px;line-height:1.8;text-align:left;margin-top:12px}
#booking-form #form-status{color:#f7f5ef;font-size:12px;line-height:1.7}
#booking-dialog a:focus-visible,#booking-dialog button:focus-visible,#booking-dialog summary:focus-visible{outline-color:#f7f5ef}
@media(max-width:1000px){#booking-dialog{padding:18px}#booking-dialog .booking-shell{padding:50px 30px 30px;gap:40px}#booking-dialog #booking-title{font-size:32px}.hero h1{font-size:clamp(56px,5.5vw,76px)}}
@media(max-width:700px){.hero h1{font-family:var(--display);font-size:55px;line-height:1.15;letter-spacing:-2px}.hero .intro{font-size:15px}h2,.regular h2{font-size:38px;letter-spacing:-1.2px;line-height:1.25}.service-grid h3{font-size:29px}.faq-heading h2{font-size:34px}.faq .faq-answers summary{font-size:16px}.photo-note{font-size:18px}.about-art>span{font-size:145px}.brand{font-size:26px}#booking-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:10px;border-radius:12px}#booking-dialog .booking-shell{grid-template-columns:1fr;gap:27px;min-height:0;padding:42px 22px 25px;border-radius:6px}#booking-dialog #booking-title{font-size:29px;letter-spacing:-.8px}#booking-title br{display:none}#booking-dialog .booking-copy>p{font-size:13px;line-height:1.8;max-width:290px;margin:14px 0 0}.booking-signature{display:none}#booking-form .request-row input,#booking-form .request-row select,#booking-form .request-row textarea{font-size:16px;padding:14px}#booking-form .request-row textarea{min-height:85px}#booking-form .booking-options summary{font-size:10px}#booking-form .form-finish{padding-top:23px}}
@media(max-width:700px) and (max-height:850px){.hero h1{font-size:49px}.hero .intro{font-size:14px}.hero-photo{height:210px}}

/* Restore the original wordmark and soften the editorial headings. */
.brand{font-family:'Italiana',Georgia,serif;font-weight:400;font-size:35px;letter-spacing:normal;color:var(--ink)}
header .brand{font-size:30px}
.brand span{font-family:'DM Sans',sans-serif;letter-spacing:3px;font-weight:400}
.hero h1,.services h2,.services h3,.about h2,.faq-heading h2,.closing h2{color:#496368}
.hero h1 em,.services h2 em,.about h2 em,.faq-heading h2 em,.closing h2 em{color:#708889}
@media(max-width:700px){.brand{font-size:29px}header .brand{font-size:27px}header .brand span{letter-spacing:2.5px}}
