:root{--ink:#102d3b;--muted:#63717a;--line:#dee5e8;--blue:#245a74;--light:#edf4f7;--gold:#edc397}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b97437;outline-offset:4px}header{max-width:1360px;margin:auto;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:13px;letter-spacing:.08em;font-weight:bold}.brand small{display:block;font-size:10px;letter-spacing:.22em;margin-top:3px;font-weight:normal}.brand-mark{font:34px Georgia,serif;color:var(--ink);border:1px solid var(--ink);width:48px;height:48px;display:grid;place-items:center;border-radius:50%}.header-right{display:flex;gap:28px;align-items:center;font-size:13px;color:var(--muted)}.share{border:1px solid var(--line);background:white;padding:10px 16px;border-radius:30px;color:var(--ink);font-size:13px}.share:hover{background:var(--light)}main{max-width:1360px;margin:auto;padding:0 5%}.intro{display:flex;justify-content:space-between;align-items:end;gap:25px;padding:32px 0 26px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:bold;margin:0 0 10px}h1{font:clamp(34px,4vw,54px)/1.1 Georgia,serif;letter-spacing:-.045em;margin:0 0 12px}h1 em{font-weight:normal;color:#637f8d}.intro p:not(.eyebrow){color:var(--muted);margin:0;font-size:15px}.rate-tag{text-align:right;white-space:nowrap;padding-bottom:3px}.rate-tag>span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.rate-tag strong{font-size:25px;font-weight:500}.rate-tag small{font-size:11px}.rate-tag b{font-size:18px;font-weight:normal;color:#a7b1b6;padding:0 8px}.gallery{height:290px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:9px;border-radius:14px;overflow:hidden}.photo{padding:0;border:none;position:relative;overflow:hidden;background:var(--light)}.photo img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.photo:hover img{transform:scale(1.03)}.photo span{position:absolute;bottom:15px;left:15px;padding:8px 13px;border-radius:30px;background:#fffef3ed;color:var(--ink);font-size:11px;letter-spacing:.025em}.amenities{display:flex;gap:0;align-items:center;padding:21px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.amenities span{font-size:13px;padding:0 21px;border-right:1px solid var(--line)}.amenities span:first-child{padding-left:0}.amenities span:last-child{border:0}.booking-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:6%;margin:36px 0 48px;align-items:start}.section-top{display:flex;align-items:center;justify-content:space-between;gap:15px}h2{font:34px/1.15 Georgia,serif;letter-spacing:-.04em;margin:0}.snapshot{font-size:11px;color:var(--muted);background:#f1f4f5;padding:7px 11px;border-radius:30px}.calendar-guide{font-size:14px;color:var(--muted);margin:14px 0 23px}.calendar-shell{border:1px solid var(--line);border-radius:12px;padding:20px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.calendar-toolbar h3{margin:0;font-size:17px;font-weight:500}.calendar-toolbar button{border:1px solid var(--line);border-radius:50%;background:white;width:32px;height:32px;font-size:23px;line-height:1;color:var(--ink)}.calendar-toolbar button:disabled{opacity:.3;cursor:default}.weekday,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday span{text-align:center;font-size:11px;color:var(--muted);margin-bottom:12px}.day{border:1px solid transparent;background:#f0f5f7;border-radius:7px;min-height:61px;color:var(--ink);padding:7px 2px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px}.day .number{font-size:16px}.day .price{font-size:10px;color:#677b85}.day:hover:not(:disabled){border-color:var(--blue)}.day.blocked{background:#f7f7f7;color:#a1a6aa}.day.blocked .number{text-decoration:line-through}.day.blocked .price{color:#adb3b6}.day:disabled{cursor:default}.day.selected{background:var(--ink);color:white}.day.selected .price{color:#edc397}.day.in-range{background:#d9eaf1}.day.checkout-possible{border:1px dashed #7894a2}.day.checkout-possible .number{text-decoration:none}.legend{border-top:1px solid var(--line);display:flex;gap:14px;align-items:center;margin-top:19px;padding-top:15px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend .open{background:#d9e7ec}.legend .unavailable{background:#dadada}.legend button{font-size:11px;color:var(--ink);background:transparent;border:0;text-decoration:underline;margin-left:auto;padding:0}.availability-note{font-size:12px;line-height:1.65;color:var(--muted);margin:15px 0 22px}.know{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.know summary{cursor:pointer;padding:17px 0;font-size:14px}.know div{font-size:13px;color:var(--muted);padding-bottom:10px}.booking-card{background:var(--ink);color:white;border-radius:14px;padding:29px;box-shadow:0 12px 35px #102d3b13}.card-heading .eyebrow{color:var(--gold);font-size:10px}.card-heading h2{font-size:32px}.card-heading>p:last-child{color:#b6c9d2;font-size:13px;margin:12px 0 25px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #617984;border-radius:8px;overflow:hidden}.date-fields label{padding:11px 12px;display:block;font-size:11px;color:#bdcdd5;min-width:0}.date-fields label:first-child{border-right:1px solid #617984}.date-fields input{display:block;background:transparent;border:0;color:white;font-size:14px;width:100%;margin-top:6px;min-width:0;color-scheme:dark;padding:0}.guest-field{display:flex;justify-content:space-between;align-items:center;border:1px solid #617984;border-radius:8px;padding:11px 12px;font-size:12px;margin-top:10px;color:#bdcdd5}.guest-field select{color:white;background:var(--ink);border:0;font-size:14px;padding:2px 10px}.empty-price{font:italic 20px/1.4 Georgia,serif;color:#c8d6dc;text-align:center;padding:33px 10px}.price-row{display:flex;justify-content:space-between;gap:14px;font-size:13px;color:#c7d4da;margin:10px 0}.price-summary{padding-top:15px}.price-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #4a6674;margin-top:17px;padding:17px 0 4px;font-size:14px}.price-total strong{font-size:31px;color:var(--gold);font-weight:500}.price-caveat{font-size:11px;color:#b7c8d0;margin:5px 0 18px}.primary,.secondary{width:100%;padding:14px;border-radius:7px;font-size:14px;font-weight:600}.primary{background:var(--gold);color:var(--ink);border:1px solid var(--gold)}.primary:hover:not(:disabled){background:#f4d6b7}.secondary{margin-top:10px;background:transparent;border:1px solid #6a818c;color:white}.primary:disabled,.secondary:disabled{opacity:.45;cursor:default}.contact-note{text-align:center;color:#bacbd3;font-size:11px;line-height:1.6;margin:14px 4px 7px}.no-payment{font-size:10px;color:#bacbd3;text-align:center;margin:0 0 21px}.booking-process{border-top:1px solid #44616f;padding-top:19px;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--gold)}.booking-process b{display:block;color:#c5d3da;font-weight:400;margin-top:4px}.form-error{font-size:12px;color:#ffcfb9;margin:10px 0}.form-error:empty{margin:0}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0 30px;font-size:11px;color:var(--muted)}footer>span{color:var(--ink);letter-spacing:.06em;font-weight:bold}footer b{font-weight:normal}footer p{margin:0}footer a{text-underline-offset:4px}dialog{border:0;border-radius:14px;padding:18px;max-width:min(94vw,1000px);color:var(--ink)}dialog::backdrop{background:#071923d9}#photo-dialog img{max-height:78vh;max-width:100%;object-fit:contain;display:block;margin:auto}#photo-dialog p{margin:12px 5px 0;font-size:14px}#close-photo{position:absolute;right:25px;top:25px;border:0;border-radius:50%;background:white;width:36px;height:36px;font-size:24px}#copy-dialog{width:480px;padding:25px}#copy-dialog h2{font-size:26px}#copy-dialog p{font-size:14px}#copy-dialog textarea{width:100%;height:220px;padding:12px;margin-bottom:15px;border:1px solid var(--line);border-radius:8px;font-size:14px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;box-shadow:0 3px 20px #0002;border-radius:30px;font-size:13px;max-width:90vw;text-align:center;z-index:9}#toast:empty{display:none}.skip{position:absolute;top:-100px;padding:12px;background:var(--gold)}.skip:focus{top:0;z-index:20}@media(max-width:1000px){.intro{align-items:start}.rate-tag strong{font-size:21px}.rate-tag small{display:block}.rate-tag b{display:none}.rate-tag strong{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.rate-tag small{grid-row:2}.gallery{height:230px}.booking-layout{gap:25px;grid-template-columns:1.1fr 1fr}.booking-card{padding:23px}.date-fields{grid-template-columns:1fr}.date-fields label:first-child{border-right:0;border-bottom:1px solid #617984}.date-fields input{margin-top:3px}.snapshot{font-size:10px;padding:6px}.section-top{align-items:start;flex-direction:column;gap:10px}.calendar-shell{padding:15px}.amenities span{padding:0 13px;font-size:12px}.booking-process{flex-wrap:wrap}.day{min-height:56px}}@media(max-width:700px){header{padding:17px 5%}.brand-mark{width:40px;height:40px;font-size:28px}.brand{font-size:10px;gap:9px}.brand small{font-size:8px}.header-right>span{display:none}.share{font-size:11px;padding:8px 12px}.intro{display:block;padding-top:25px}.intro h1{font-size:39px}.intro p:not(.eyebrow){font-size:14px}.rate-tag{text-align:left;margin-top:18px}.rate-tag>span{display:none}.rate-tag strong{display:block;font-size:20px}.rate-tag small{display:inline;font-size:12px}.rate-tag b{display:inline}.gallery{height:215px;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:5px;border-radius:10px}.main-photo{grid-row:span 2}.photo span{font-size:9px;bottom:9px;left:8px;padding:6px 9px}.amenities{gap:9px 0;padding:16px 0}.amenities span{padding:0 11px;font-size:11px}.amenities span:nth-child(4){padding-left:0;border-right:1px solid var(--line)}.booking-layout{grid-template-columns:1fr;margin-top:27px;gap:24px}.section-top{flex-direction:row;align-items:center}.section-top h2{font-size:29px}.calendar-guide{font-size:13px;margin:12px 0 17px}.calendar-shell{padding:17px}.day{min-height:55px}.calendar,.weekday{gap:5px}.booking-card{padding:25px}.date-fields{grid-template-columns:1fr 1fr}.date-fields label:first-child{border-right:1px solid #617984;border-bottom:0}.booking-process{flex-wrap:nowrap}footer p{display:none}footer{font-size:10px}.card-heading h2{font-size:31px}.know{margin-top:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.day.unverified:not(.selected):not(.in-range){background:#f5f5f5;border:1px dashed #d3dce0}.guest-field select{max-width:64%}.snapshot{max-width:190px}.no-payment{font-size:12px}
.stay-info{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:30px 0;border-bottom:1px solid var(--line)}.stay-info h2{font-size:29px}.stay-info p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.7}.stay-info strong{color:var(--ink)}.contact-fields{display:grid;gap:12px;margin-bottom:16px}.contact-fields label{display:block;font-size:14px;color:#c5d5dd}.contact-fields input{display:block;width:100%;min-width:0;font-size:16px;padding:11px 12px;margin-top:5px;background:#1a3b4b;border:1px solid #78939f;border-radius:7px;color:white}.contact-fields input::placeholder{color:#c4d2d9}.privacy-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#c7d6dd;margin:16px 0}.privacy-check input{width:20px;height:20px;flex-shrink:0;margin-top:2px}.payment-info{font-size:14px;color:#d3dfe5}.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#request-acknowledgement{font-size:14px;line-height:1.6;color:#fff}#request-acknowledgement:not(:empty){border:1px solid #93abb6;border-radius:8px;padding:15px;margin-top:15px}#request-acknowledgement p{margin-bottom:0}.privacy-page{max-width:800px;padding-block:45px}.privacy-page p{line-height:1.8}.privacy-page h2{font-size:27px;margin-top:30px}.booking-card .date-fields input,.booking-card select{font-size:16px}.calendar-toolbar button{width:44px;height:44px}.day .price{font-size:12px}.legend,.legend button{font-size:12px}.availability-note{font-size:14px}.contact-note,.no-payment,.price-caveat{font-size:13px}@media(max-width:700px){.stay-info{grid-template-columns:1fr;gap:12px;padding-block:24px}.stay-info p:not(.eyebrow){font-size:15px}.booking-card .date-fields{grid-template-columns:1fr}.booking-card .date-fields label:first-child{border-right:0;border-bottom:1px solid #617984}.snapshot{font-size:11px}.legend{gap:10px}.calendar-shell{padding:12px}}
header{gap:12px;flex-wrap:wrap}.header-right{flex-wrap:wrap}.header-right a.share{text-decoration:none}
