@layer components{.summer-signature{color:var(--accent);letter-spacing:.16em;align-items:center;gap:15px;margin-top:32px;font-size:11px;display:flex}.summer-signature i{background:var(--accent);width:36px;height:1px}.experience-copy:before{background:var(--sand);opacity:1}.art-quote{isolation:isolate;background:#f8f5f0;align-items:center;min-height:560px;display:flex;position:relative;overflow:hidden}.art-quote-visual{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.art-quote:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#f8f5f0b3,#0000 57%);position:absolute;inset:0}.art-quote-copy{width:48%;padding:85px var(--gutter)}.art-quote .eyebrow{letter-spacing:.2em;font-size:11px}.art-quote blockquote{margin:30px 0 35px}.art-quote blockquote p{color:var(--ink);font-family:var(--serif);letter-spacing:-.045em;text-wrap:balance;font-size:clamp(38px,4.1vw,66px);font-weight:350;line-height:1.16}.art-quote blockquote em{color:var(--accent)}.art-quote-signature{letter-spacing:.19em;align-items:center;gap:17px;font-size:11px;display:flex}.art-quote-signature:before{content:"";background:currentColor;width:35px;height:1px}.art-quote-light{background:#f4e6d0;justify-content:flex-end}.art-quote-light:after{background:linear-gradient(270deg,#f4e6d0b3,#0000 55%)}.art-quote-light .art-quote-copy{width:47%}.booking-page{padding-block:65px 100px}.booking-heading{justify-content:space-between;align-items:end;gap:50px;margin-bottom:36px;display:flex}.booking-heading .eyebrow{color:var(--accent);margin-bottom:22px}.booking-heading h1{font-size:clamp(43px,4.8vw,70px)}.booking-heading h1 em{color:var(--accent)}.booking-heading>p{max-width:320px;margin-bottom:8px;font-size:16px}.booking-preview-note{background:#eeeae0;border:1px solid #ccc9bb;align-items:center;gap:12px;padding:15px 20px;font-size:13px;line-height:1.7;display:flex}.booking-preview-note strong{white-space:nowrap;font-weight:550}.preview-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.booking-preview-note>span:last-child{color:#586257}.booking-steps{border-bottom:1px solid var(--line);margin-top:25px;margin-bottom:42px}.booking-steps ol{justify-content:space-between;gap:15px;margin:0;padding:0;list-style:none;display:flex}.booking-steps li{flex:1}.booking-steps button{width:100%;min-height:62px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:15px;margin-bottom:-1px;padding:19px 0;font-size:14px;display:flex}.booking-steps button>span{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.booking-steps button[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}.booking-steps button[aria-current]>span,.booking-steps button[data-completed]>span{background:var(--ink);color:var(--cream);border-color:var(--ink)}.booking-steps button:disabled{cursor:default;color:#737970}.booking-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);align-items:start;gap:6%;scroll-margin-top:135px;display:grid}.booking-flow{min-width:0}.booking-flow h2{outline:none;margin-top:15px;scroll-margin-top:120px;font-size:clamp(30px,3vw,43px)}.booking-step-caption{color:var(--accent);font-size:11px}.booking-subtitle{margin-block:18px 32px;font-size:15px}.date-fields{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);align-items:center;gap:18px;display:grid}.date-fields>label{background:var(--paper);border:1px solid var(--line);min-width:0;padding:18px 20px;display:block}.date-fields>label>span{color:var(--muted);margin-bottom:10px;font-size:13px;display:block}.date-fields input{width:100%;min-width:0;color:var(--ink);font-size:clamp(17px,1.7vw,24px);font-family:var(--serif);background:0 0;border:0;min-height:34px;padding:0}.date-fields input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;font-size:17px}.nights-hint{color:var(--accent);min-height:20px;margin-top:14px;font-size:13px}.guest-fields{grid-template-columns:1fr 1fr;gap:25px;margin-top:24px;display:grid}.guest-fields label{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-block:18px;font-size:15px;display:flex}.guest-fields select{border:1px solid var(--line);background:var(--paper);min-width:72px;color:var(--ink);padding:9px 15px}.field-help{margin-top:16px;font-size:13px}.booking-next{min-width:260px;margin-top:30px}.booking-error{color:#7c3021;background:#f6e4de;border-left:3px solid #a1422e;margin-block:20px;padding:12px 15px;font-size:14px}.booking-promise{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:18px;margin-top:50px;padding-top:27px;font-size:14px;display:flex}.booking-promise>svg{width:32px;height:32px;color:var(--accent)}.booking-promise strong{color:var(--ink);font-weight:400}.booking-summary{border:1px solid var(--line);background:var(--paper);position:sticky;top:130px}.summary-photo{height:190px;position:relative;overflow:hidden}.summary-photo:after{content:"";background:linear-gradient(#0000,#13241dbb);position:absolute;inset:50% 0 0}.summary-photo>img{object-fit:cover;width:100%;height:100%}.summary-photo>span{z-index:1;color:#fff;letter-spacing:.16em;font-size:12px;position:absolute;bottom:18px;left:23px}.summary-content{padding:28px}.summary-content>.eyebrow{letter-spacing:.14em;font-size:11px}.summary-content h2{margin-block:14px 25px;font-size:29px}.summary-content dl{margin:0}.summary-content dl>div{justify-content:space-between;gap:15px;margin-block:13px;font-size:14px;display:flex}.summary-content dt{color:var(--muted)}.summary-content dd{text-align:right;margin:0}.summary-price{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.summary-price>div{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.summary-price .summary-total{border-top:1px solid var(--line);margin-top:14px;padding-top:15px;font-size:14px}.summary-total strong{font-family:var(--serif);font-size:32px;font-weight:400}.summary-price>small{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.7;display:block}.summary-help{border-top:1px solid var(--line);margin-top:27px;padding-top:23px;font-size:12px}.summary-help>a{align-items:center;gap:12px;margin-top:7px;font-size:16px;display:flex}.booking-room-option{background:var(--paper);border:1px solid var(--line);grid-template-columns:.75fr 1fr;min-height:220px;margin-bottom:18px;display:grid}.booking-room-option.is-selected{border-color:var(--accent)}.booking-room-option>img{object-fit:cover;width:100%;height:100%}.booking-room-info{padding:22px}.booking-room-info>.eyebrow{letter-spacing:.08em;font-size:11px}.booking-room-info h3{margin-block:13px;font-size:27px;line-height:1.2}.booking-room-info>p{font-size:12px}.booking-room-bottom{justify-content:space-between;align-items:end;gap:18px;margin-top:22px;display:flex}.booking-room-bottom strong{font-family:var(--serif);font-size:27px;font-weight:400}.booking-room-bottom small{color:var(--muted);font-size:11px;display:block}.booking-room-bottom div>span{margin-top:6px;font-size:12px;display:block}.booking-room-bottom .button{gap:20px;min-height:43px;padding:11px 18px;font-size:12px}.button-selected{background:var(--accent);color:#fff}.booking-back{text-underline-offset:5px;min-height:44px;padding:10px 0;font-size:14px;text-decoration:underline}.booking-empty{background:var(--sand);padding:35px}.booking-empty h3{font-size:30px}.booking-empty p{margin-block:20px;font-size:16px}.booking-form-actions{justify-content:space-between;align-items:center;gap:20px;margin-top:28px;display:flex}.booking-form-actions .button{gap:20px}.form-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.form-grid label{flex-direction:column;gap:9px;font-size:14px;display:flex}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--paper);font:16px var(--sans);border-radius:0;min-height:48px;padding:13px 15px}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#747971}.form-grid textarea{resize:vertical;line-height:1.7}.form-grid label>small{color:var(--muted);font-size:12px}.form-full{grid-column:1/-1}[aria-invalid=true]{outline-offset:2px;outline:1px solid #a1422e}.review-card{border:1px solid var(--line);background:var(--paper);margin-bottom:20px;padding:24px}.review-card-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.review-card-top h3{font-size:26px}.review-card-top button{text-underline-offset:4px;min-height:30px;font-size:12px;text-decoration:underline}.review-card dl,.confirmation-details dl{margin:0}.review-card dl>div,.confirmation-details dl>div,.email-paper dl>div{grid-template-columns:.75fr 1fr;gap:25px;margin-block:13px;font-size:14px;display:grid}.review-card dt,.confirmation-details dt,.email-paper dt{color:var(--muted)}.review-card dd,.confirmation-details dd,.email-paper dd{overflow-wrap:anywhere;margin:0}.payment-preview{background:var(--sand);align-items:start;gap:16px;margin-top:26px;padding:20px;display:flex}.payment-preview>svg{flex-shrink:0}.payment-preview strong{font-size:14px;font-weight:500}.payment-preview p{margin-top:7px;font-size:13px}.booking-consent{cursor:pointer;align-items:start;gap:13px;margin-top:25px;font-size:14px;line-height:1.7;display:flex}.booking-consent input{width:18px;min-width:18px;height:18px;accent-color:var(--ink);margin:2px 0 0}.button[aria-busy=true]{opacity:.75;cursor:wait}.booking-confirmation{text-align:center;padding-top:15px}.confirmation-mark{border:1px solid var(--line);width:77px;height:77px;color:var(--accent);background:var(--sand);border-radius:50%;place-items:center;margin:0 auto 27px;display:grid}.booking-confirmation>.eyebrow{color:var(--accent);font-size:11px}.booking-confirmation h2{margin-block:22px;font-size:clamp(39px,4vw,55px)}.booking-confirmation>p{max-width:450px;margin-inline:auto;font-size:15px}.confirmation-reference{background:var(--sand);text-align:center;margin-block:27px;padding:20px}.confirmation-reference small{letter-spacing:.14em;margin-bottom:6px;font-size:11px;display:block}.confirmation-reference strong{letter-spacing:.07em;font-size:17px;font-weight:500}.confirmation-details{text-align:left;border-bottom:1px solid var(--line);padding-bottom:22px}.confirmation-actions{flex-direction:column;align-items:center;gap:20px;margin-top:27px;display:flex}.confirmation-actions .text-link{font-size:13px}.booking-confirmation>.booking-back{color:var(--muted);margin-top:24px}.email-dialog{background:var(--cream);width:min(670px,94vw);max-height:90dvh;color:var(--ink);border:0;padding:0}.email-dialog-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:15px 25px;display:flex}.email-dialog-top>.eyebrow{font-size:11px}.email-paper{background:var(--paper);text-align:center;padding:35px 45px 45px}.email-brand{font:30px var(--serif);color:var(--ink);margin-inline:auto}.email-brand span{font:8px var(--sans);letter-spacing:.5em;margin-top:10px;display:block}.email-sunset-art{object-fit:contain;mix-blend-mode:multiply;width:180px;height:90px;margin:25px auto 10px}.email-paper h2{margin-bottom:25px;font-size:37px}.email-paper>p:not(.email-brand){text-align:left;font-size:13px}.email-paper dl{text-align:left;border-block:1px solid var(--line);margin-block:25px;padding-block:20px}.email-paper .email-disclaimer{line-height:1.8;font-size:12px!important}.booking-flow section:focus{outline:none}}@layer responsive{@media (width>=1600px){.art-quote{min-height:650px}.art-quote-copy{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:60px}.art-quote-light .art-quote-copy{padding-left:60px;padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}}@media (width<=950px) and (width>=701px){.art-quote{min-height:480px}.art-quote-copy,.art-quote-light .art-quote-copy{width:52%;padding:60px 32px}.art-quote blockquote p{font-size:40px}}@media (width<=700px){.summer-signature{margin-top:25px;font-size:11px}.experience-copy h2 br:nth-child(2){display:initial}.art-quote{flex-direction:column;min-height:0;display:flex}.art-quote-copy,.art-quote-light .art-quote-copy{width:100%;padding:52px var(--gutter) 35px;order:0}.art-quote .eyebrow{font-size:11px}.art-quote blockquote{margin:25px 0 28px}.art-quote blockquote p{max-width:460px;font-size:clamp(35px,9.8vw,48px)}.art-quote-visual{object-position:right center;order:1;height:280px;position:relative;inset:auto}.art-quote-light .art-quote-visual{object-position:left center}.art-quote:after{background:linear-gradient(#f8f5f0,#0000 28%);height:280px;inset:auto 0 0}.art-quote-light:after{background:linear-gradient(#f4e6d0,#0000 28%)}}@media (width<=1100px){.booking-layout{grid-template-columns:minmax(0,1fr) 300px;gap:4%}.booking-room-option{grid-template-columns:.6fr 1fr}.booking-room-info{padding:18px}.booking-room-info h3{font-size:24px}.booking-room-bottom{gap:10px}.summary-content{padding:23px}.booking-form-actions>.button{gap:14px;padding-inline:17px;font-size:13px}.booking-heading>p{max-width:270px}}@media (width<=900px){.booking-layout{grid-template-columns:1fr}.booking-summary{grid-template-columns:.75fr 1fr;margin-top:42px;display:grid;position:static}.summary-photo{height:100%;min-height:240px}.summary-content{padding:30px}.booking-heading>p{display:none}.booking-flow{max-width:none}.booking-room-option{grid-template-columns:.65fr 1fr}.booking-steps{margin-bottom:30px}.booking-room-info{padding:25px}.booking-preview-note{flex-wrap:wrap;gap:5px 10px}.booking-preview-note>span:last-child{flex-basis:100%;padding-left:17px}.booking-flow h2{font-size:38px}.booking-next{width:100%}.booking-promise{margin-top:30px}}@media (width<=600px){.booking-page{padding-block:35px 65px}.booking-heading{margin-bottom:28px}.booking-heading h1{font-size:42px}.booking-heading .eyebrow{margin-bottom:18px;font-size:11px}.booking-preview-note{padding:12px 15px;font-size:12px}.booking-steps{margin-top:14px}.booking-steps ol{gap:5px}.booking-steps button{text-align:center;flex-direction:column;gap:8px;padding-block:15px;font-size:11px;line-height:1.5}.booking-steps button>span{width:26px;height:26px;font-size:11px}.booking-flow h2{margin-top:13px;font-size:31px}.booking-subtitle{margin-bottom:25px;font-size:14px}.date-fields{grid-template-columns:minmax(0,1fr) 17px minmax(0,1fr);gap:8px}.date-fields>label{padding:12px 10px}.date-fields>label>span{margin-bottom:7px;font-size:12px}.date-fields input{font-size:18px}.date-fields input::-webkit-calendar-picker-indicator{font-size:15px}.date-arrow svg{width:17px}.guest-fields{gap:17px;margin-top:17px}.guest-fields label{gap:10px;font-size:14px}.guest-fields select{min-width:62px;padding:8px 12px}.field-help{font-size:12px}.booking-promise{font-size:13px}.booking-summary{display:block}.summary-photo{height:160px;min-height:160px}.summary-content{padding:25px}.summary-content h2{font-size:29px}.booking-room-option{display:block}.booking-room-option>img{height:210px}.booking-room-info{padding:22px}.booking-room-info h3{font-size:28px}.booking-room-bottom .button{padding:12px 23px;font-size:13px}.booking-room-bottom strong{font-size:29px}.form-grid{grid-template-columns:1fr;gap:19px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.booking-form-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}.booking-form-actions>.button{gap:12px;padding:15px;font-size:13px}.booking-form-actions>.booking-back{align-self:flex-start}.review-card{padding:20px}.review-card-top h3{font-size:24px}.review-card dl>div,.confirmation-details dl>div,.email-paper dl>div{grid-template-columns:.7fr 1fr;gap:14px;font-size:13px}.payment-preview{gap:12px;padding:17px}.booking-consent{font-size:13px}.booking-confirmation h2{font-size:39px}.confirmation-actions>.button{gap:12px;padding:15px;font-size:13px}.confirmation-reference strong{letter-spacing:.04em;font-size:14px}.email-paper{padding:25px}.email-paper h2{font-size:32px}.email-dialog-top{padding:10px 15px}.booking-empty{padding:24px}.booking-empty h3{font-size:27px}.booking-empty p{font-size:15px}}@media (width<=360px){.date-fields input{font-size:16px}.date-fields{gap:5px}.date-fields>label{padding:12px 8px}.booking-heading h1{font-size:36px}.booking-steps button{font-size:11px}.booking-flow h2{font-size:28px}.booking-room-info h3{font-size:26px}.booking-room-bottom .button{padding:12px 18px}}}
