@font-face{font-family:Vonca;src:url('/assets/vonca-regular.otf') format('opentype');font-display:swap}
@font-face{font-family:'Work Sans';src:url('/assets/work-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:var(--ws-primary);--paper:var(--ws-surface);--muted:var(--ws-text-secondary);--line:var(--ws-divider);--white:#fff;--blue:var(--ws-accent);--soft:#eef2f2;--error:var(--ws-error);--green:var(--ws-success);--radius:22px;--booking-content-width:1272px;--booking-gutter:36px;--booking-actions-height:0px}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;min-height:100svh;display:flex;flex-direction:column;padding-bottom:var(--booking-actions-height);background:var(--paper);color:var(--ink);font:16px/1.6 'Work Sans',sans-serif}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--ws-font-display);font-weight:400;line-height:1.15}h1{font-size:clamp(42px,4.8vw,68px);letter-spacing:-1.6px}h1 em{font-style:normal;color:#617570}h2{font-size:32px;letter-spacing:-.5px}h3{font-size:16px;font-weight:600}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea,.date-trigger{color:var(--ws-text);background:var(--ws-surface-elevated);border:1px solid var(--ws-border);border-radius:var(--ws-radius-control);min-height:52px;min-width:0;max-width:100%;width:100%;padding:var(--ws-space-3);font:400 var(--ws-body)/1.5 var(--ws-font-body)}textarea{resize:vertical}input:focus,select:focus,textarea:focus,.date-trigger:focus-visible,.date-trigger[aria-expanded=true]{border-color:var(--ws-focus)}.date-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--ws-space-2);text-align:left}.date-trigger:hover:not(:disabled){border-color:var(--ws-primary)}.date-trigger:disabled{background:var(--ws-disabled);color:var(--ws-disabled-text)}.date-trigger>span:last-child{display:flex;color:var(--ws-text-secondary)}.date-trigger svg{width:20px;height:20px}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}img{max-width:100%;object-fit:cover}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:14px}.skip:focus{top:10px}.booking-header{position:sticky;top:0;z-index:20;min-height:78px;display:flex;align-items:center;gap:32px;padding:12px max(5vw,20px);background:linear-gradient(120deg,#ffffffed,#ecf0eecc);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #ffffff;box-shadow:0 1px 0 var(--line)}.logo{display:flex;align-items:center;width:156px;min-height:44px}.logo img{height:auto;width:100%}.header-caption{color:var(--muted);font-size:13px;padding-left:28px;border-left:1px solid var(--line)}.help-link{margin-left:auto;font-size:13px;display:flex;align-items:center;gap:20px;min-height:44px}.help-link:hover,.text-link:hover{color:var(--blue)}main{flex:1;width:100%;max-width:var(--booking-content-width);margin:0 auto;padding:0 var(--booking-gutter) 80px}.booking-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0 28px}.back-link{display:flex;align-items:center;gap:12px;font-size:13px;min-height:44px}.direct-label{font-size:10px;letter-spacing:1.6px;color:var(--muted)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.7px;line-height:1.6;color:var(--muted);margin-bottom:12px}.page-heading>p:last-child,.intro{color:var(--muted);margin-top:16px}.intro{max-width:550px}.steps{display:flex;gap:40px;list-style:none;padding:0;margin:34px 0;counter-reset:none}.steps li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.steps span{width:27px;height:27px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:11px}.steps [aria-current]{color:var(--ink);font-weight:600}.steps [aria-current] span{background:var(--ink);color:white;border-color:var(--ink)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:48px;align-items:start}.booking-main{min-width:0}.home-gallery{height:350px;position:relative;border-radius:var(--radius);overflow:hidden;background:var(--soft)}.home-gallery>img{width:100%;height:100%;display:block}.gallery-button,.photo-count{position:absolute;bottom:20px;background:#fffef4e8;backdrop-filter:blur(12px);border:1px solid #ffffffbd;border-radius:999px;font-size:12px;min-height:44px;padding:11px 17px}.gallery-button{right:20px}.photo-count{left:20px;display:grid;place-items:center}.home-heading{padding:25px 0}.home-heading h2{font-size:40px;margin-bottom:9px}.home-heading>.eyebrow{margin-bottom:8px}.home-heading>p:not(.eyebrow){font-size:14px;color:var(--muted)}.home-meta{margin-top:10px}.panel{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);margin-bottom:22px}.section-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:26px}.section-heading h2{font-size:29px}.section-heading p{font-size:14px;margin-top:8px}.section-number{color:#74877c;font-size:12px;letter-spacing:1px;line-height:33px}.date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ws-space-4)}.date-grid .guest-label{grid-column:1/-1}label{display:grid;min-width:0;gap:var(--ws-space-2);font-size:var(--ws-label);font-weight:500}.button{min-height:52px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:500}.primary{background:linear-gradient(#1c2d4c,var(--ink));color:white;box-shadow:inset 0 1px 0 #ffffff35,0 4px 8px #0513370d}.primary:hover:not(:disabled){background:var(--ws-primary-hover)}.button:disabled{box-shadow:none}.dates-panel .button{width:100%;margin:24px 0 12px}.small{font-size:12px;line-height:1.65}.muted{color:var(--muted)}.form-error{font-size:14px;color:var(--error);padding:12px 0}.home-notes{padding:12px 2px 28px}.home-notes>p{white-space:pre-line;font-size:14px;line-height:1.9;color:var(--muted);margin-top:12px;max-height:240px;overflow:auto}.amenities{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.amenities span{font-size:11px;line-height:1.5;padding:7px 11px;background:#eaf0ec;border-radius:7px}.booking-summary{position:sticky;top:103px;border-radius:var(--radius);border:1px solid var(--line);background:var(--white);overflow:hidden;box-shadow:0 12px 32px #05133705}.summary-home{display:flex;align-items:center;gap:16px;padding:24px;border-bottom:1px solid var(--line)}.summary-home img{width:88px;height:85px;border-radius:13px;flex-shrink:0}.summary-home>div{min-width:0}.summary-home h2{font-size:23px;line-height:1.2}.summary-home .eyebrow{font-size:8px;margin-bottom:5px;letter-spacing:1px}.summary-home p:last-child{font-size:11px;color:var(--muted);margin-top:5px}.summary-body{padding:24px}.summary-dates{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:0;padding-bottom:22px;border-bottom:1px solid var(--line)}.summary-dates div:last-child{grid-column:1/-1}.summary-dates dt{font-size:11px;color:var(--muted)}.summary-dates dd{font-size:14px;font-weight:500;margin:3px 0 0}.price-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 16px}.price-heading>span{font-size:10px;color:var(--green)}dl.price-lines{margin:0;display:grid;gap:12px}.price-lines>div{display:flex;justify-content:space-between;gap:20px;font-size:12px}.price-lines dt{color:var(--muted)}.price-lines dd{margin:0;text-align:right;flex-shrink:0}.price-total{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.price-total>strong{font-size:21px;font-weight:600;white-space:nowrap}.price-total>div{display:grid}.price-total>div>span{font-size:11px;color:var(--muted);margin-top:3px}#separate-fees{padding-top:18px}#separate-fees>.small{margin-bottom:8px}.quote-note{font-size:11px;color:var(--muted);margin-top:20px;line-height:1.7}.summary-help{display:flex;align-items:flex-start;gap:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.summary-help p{font-size:11px;color:var(--muted)}.summary-help a{display:block;color:var(--ink);padding-top:6px;font-size:12px}.summary-help svg{width:21px}.text-button{min-height:44px;padding:9px 0;text-decoration:underline;text-underline-offset:4px;border:0;background:transparent;font-size:12px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ws-space-5) var(--ws-space-4)}.full{grid-column:1/-1}.optional{color:var(--muted);font-size:11px;font-weight:400}.field-hint{font-size:11px;color:var(--muted);margin-top:-14px}.privacy-copy{margin-top:20px}.privacy-copy a{text-decoration:underline;text-underline-offset:3px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px}.review-details{margin:0;display:grid;gap:18px}.review-details>div{display:grid;grid-template-columns:110px 1fr;gap:15px;font-size:14px}.review-details dt{color:var(--muted);font-size:12px}.review-details dd{margin:0;overflow-wrap:anywhere}.terms-panel>h3{margin-bottom:15px}.arrival-rules{font-size:13px;color:var(--muted);margin-bottom:18px}.terms-panel details{border-top:1px solid var(--line)}summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:13px;font-weight:500;list-style:none}summary::-webkit-details-marker{display:none}.terms-panel details p,.terms-panel li{font-size:12px;color:var(--muted);line-height:1.8}.terms-panel details p{padding-bottom:18px;white-space:pre-line}.terms-panel ul{padding-left:18px;margin:0 0 18px}.payment-panel .section-heading{margin-bottom:12px;align-items:center}.payment-panel>p{font-size:13px;color:var(--muted)}.payment-panel .small{font-size:11px;margin-top:8px}.consent{display:flex;gap:13px;align-items:flex-start;font-weight:400;font-size:12px;line-height:1.7;padding:4px}.consent input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--ink)}.full-button{width:100%;margin:22px 0 8px}.text-link{display:block;font-size:12px;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding-top:12px}.outcome>p{margin-top:20px;color:var(--muted);font-size:14px}.outcome-icon{display:grid;place-items:center;width:60px;height:60px;background:var(--ws-success-surface);color:var(--green);border-radius:50%;font-size:24px;margin-bottom:25px}.outcome .review-details{margin:25px 0}.outcome .button{margin-top:20px}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:40px}.home-card{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:white;border:1px solid var(--line)}.home-card:has(.home-card-link:hover),.home-card:has(.stay-photo-track:hover),.home-card:focus-within{border-color:var(--blue)}.home-card img{width:100%;height:220px;display:block}.home-card>div{padding:22px}.home-card h2{font-size:28px;margin-bottom:8px}.home-card p{font-size:13px;color:var(--muted)}.home-card-body{position:relative;flex:1}.home-card-link::after{content:"";position:absolute;inset:0;cursor:pointer}.home-card-link:focus-visible{outline:none}.home-card-link:focus-visible::after{outline:3px solid var(--blue);outline-offset:-4px;border-radius:0 0 19px 19px}.home-card .stay-photo-track{cursor:pointer}.home-card>.stay-photos{flex-shrink:0}.empty-state,.loading{max-width:650px;min-height:60vh;padding:70px 0;margin:auto}.empty-state>p,.loading>p{margin:20px 0}.empty-state h1,.loading h1{font-size:42px}.loading-dot{width:24px;height:24px;border:3px solid #b6c2be;border-top-color:var(--ink);border-radius:50%;margin-bottom:24px}.loading>p{color:var(--muted)}
@media(min-width:1500px){:root{--booking-content-width:1420px}.booking-layout{grid-template-columns:minmax(0,1fr) 420px;gap:64px}.home-gallery{height:420px}}
@media(max-width:1000px){:root{--booking-gutter:24px}.booking-layout{gap:24px;grid-template-columns:minmax(0,1fr) 330px}.panel{padding:24px}.summary-home,.summary-body{padding:20px}.summary-home{gap:12px}.summary-home img{width:65px;height:70px}.home-gallery{height:280px}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-caption{display:none}}
@media(max-width:860px){:root{--booking-gutter:20px}html{scroll-padding-top:84px}.booking-header{min-height:66px;padding:9px max(20px,env(safe-area-inset-left));gap:20px}.logo{width:128px}.help-link{font-size:12px;gap:10px}main{padding-bottom:var(--ws-space-7)}.booking-top{padding:15px 0 22px}.direct-label{display:none}.page-heading h1{font-size:43px;max-width:10ch;line-height:1.08}.page-heading>p:last-child{font-size:14px;max-width:29ch;margin-top:15px}.steps{gap:16px;justify-content:space-between;margin:27px 0}.steps li{font-size:10px;gap:6px;line-height:1.4}.steps span{width:23px;height:23px;font-size:10px;flex-shrink:0}.booking-layout{display:flex;flex-direction:column;gap:24px}.booking-main,.booking-summary{width:100%}.booking-summary{position:static;order:2}.home-gallery{height:255px;border-radius:18px}.home-heading h2{font-size:34px}.home-heading>p:not(.eyebrow){font-size:13px}.panel{padding:22px;border-radius:18px}.section-heading{gap:12px;margin-bottom:20px}.section-heading h2{font-size:28px}.section-heading p{font-size:12px}.date-grid{gap:var(--ws-space-4) var(--ws-space-3)}.field-grid{gap:var(--ws-space-4) var(--ws-space-3)}.form-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}.form-actions>.button{width:100%}.form-actions>.text-button{text-align:left}.review-details>div{grid-template-columns:85px 1fr;font-size:13px;gap:12px}.home-grid{grid-template-columns:1fr;gap:20px}.home-card img{height:240px}.home-grid h2{font-size:30px}.home-notes{padding-bottom:20px}.next-step{width:100%}.summary-home img{width:85px;height:80px}.summary-home h2{font-size:25px}.summary-body{padding:22px}.price-total>strong{font-size:22px}.summary-help p{font-size:12px}.photo-count,.gallery-button{bottom:15px;padding:10px 14px}.photo-count{left:15px}.gallery-button{right:15px}.terms-panel details p,.terms-panel li{font-size:13px}.small{font-size:12px}.outcome h2{font-size:36px}.outcome>.button{width:100%}.empty-state,.loading{min-height:55vh;padding-top:35px}}
@media(prefers-reduced-transparency:reduce){.booking-header,.gallery-button,.photo-count{background:var(--white);backdrop-filter:none;-webkit-backdrop-filter:none}}

#card-element{padding:18px 14px;border:1px solid #c4c8cc;border-radius:12px;background:white;margin-top:10px}#card-label{font-weight:600;font-size:14px}input,select,textarea{font-size:16px}

.mobile-price-bar{display:none}.next-step{margin:0 0 22px}@media(max-width:860px){.mobile-price-bar{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.mobile-price-bar>div{display:grid}.mobile-price-bar span{font-size:10px;color:var(--muted)}.mobile-price-bar strong{font-size:18px}.mobile-price-bar .text-button{font-size:12px}}

label{font-size:var(--ws-label)}
.quote-note,.field-hint,.optional,.summary-home p:last-child,.summary-help p,.summary-help a,.summary-dates dt,.price-total>div>span,.summary-next-note,.payment-panel .small{font-size:var(--ws-caption);line-height:1.6}
.home-notes>p{max-height:none;overflow:visible}
.home-notes .home-description{margin-top:var(--ws-space-4)}
.home-description summary{font:500 var(--ws-label)/1.5 var(--ws-font-body);min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.home-description summary::after{content:'+';font-size:20px}
.home-description[open] summary::after{content:'−'}
.booking-discount{margin-top:var(--ws-space-4);border-top:1px solid var(--ws-divider)}
.booking-discount summary{display:flex;align-items:center;min-height:44px;padding-block:var(--ws-space-3);cursor:pointer;font-size:var(--ws-label);font-weight:500}
.booking-discount summary::after{content:'+';margin-left:auto;font-size:20px}
.booking-discount[open] summary::after{content:'−'}
.booking-discount form{padding-top:var(--ws-space-2)}
.booking-discount label{display:block}.booking-discount .optional{margin-inline-start:var(--ws-space-2)}
.discount-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ws-space-2);margin-top:var(--ws-space-2)}
.discount-controls input{flex:1 1 140px;min-width:0;width:0;font-size:16px}
.discount-controls .button,.discount-controls .text-button{min-height:44px}
.discount-controls .button{width:auto;margin:0;gap:var(--ws-space-2);justify-content:center}
.booking-discount p:empty{display:none}
.booking-discount p{margin-top:var(--ws-space-3)}
.home-description p{white-space:pre-line;color:var(--ws-text-secondary);font-size:var(--ws-label);line-height:1.8;padding-bottom:var(--ws-space-5)}
/* A compact checkout footer shares the booking content grid. */
.booking-footer{flex-shrink:0;border-top:1px solid var(--ws-divider);background:var(--ws-surface-elevated);color:var(--ws-text-secondary)}
.booking-footer-inner{max-width:var(--booking-content-width);margin-inline:auto;padding:var(--ws-space-6) var(--booking-gutter) max(var(--ws-space-5),env(safe-area-inset-bottom))}
.booking-footer-main,.booking-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--ws-space-6)}
.booking-footer-main{padding-bottom:var(--ws-space-5)}
.booking-footer-brand>a{width:148px}.booking-footer-brand img{display:block;width:100%;height:auto}.booking-footer-brand p{font-size:var(--ws-label);margin-top:var(--ws-space-1)}
.booking-footer-support>p{font-size:var(--ws-label);font-weight:500;color:var(--ws-text)}
.booking-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ws-space-2) var(--ws-space-5)}
.booking-footer a{display:inline-flex;align-items:center;min-height:44px;gap:var(--ws-space-2);font-size:var(--ws-label);border-radius:var(--ws-space-1);scroll-margin-block:var(--ws-space-5)}
.booking-footer a:not([aria-label]){text-decoration:underline;text-decoration-color:var(--ws-border);text-underline-offset:5px;text-decoration-thickness:1px}
.booking-footer a:hover{color:var(--ws-primary);text-decoration-color:currentColor}.booking-footer a:active{color:var(--ws-primary-active)}
.booking-footer svg{width:16px;height:16px}
.booking-footer-bottom{border-top:1px solid var(--ws-divider);padding-top:var(--ws-space-4);font-size:var(--ws-caption)}
.booking-footer-bottom>p{flex-shrink:0}
@media(max-width:650px){.booking-footer-main,.booking-footer-bottom{align-items:flex-start;flex-direction:column;gap:var(--ws-space-5)}.booking-footer-bottom{gap:var(--ws-space-2)}.booking-footer-bottom nav{column-gap:var(--ws-space-4)}}
