*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:#183b43;background:#fafaf7;font:16px/1.6 Arial,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,summary,select{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.preview{background:#e6edf0;padding:8px 20px;text-align:center;font-size:14px;color:#25424a}header,main,footer{max-width:1280px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:25px 40px;gap:25px}.brand{text-decoration:none;font:42px Georgia,serif;letter-spacing:-2px;line-height:1}.brand span{display:block;font:10px/2.8 Arial,sans-serif;letter-spacing:2px}nav{display:flex;gap:30px;font-size:14px}nav a{text-decoration:none}nav a:hover,.text-link:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;background:#153c48;color:white;text-decoration:none;border:1px solid #153c48;padding:14px 24px;border-radius:4px;font-size:15px;font-weight:600;text-align:center}.button:hover{background:#245564}.small{padding:11px 18px}.secondary{background:transparent;color:#153c48}.secondary:hover{background:#e5eeee}.intro{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center;padding:36px 40px 64px}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:700;margin:0 0 22px;color:#557078}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.07;letter-spacing:-1.8px;margin:0 0 26px}h1{font-size:clamp(42px,5.4vw,72px)}h2{font-size:clamp(36px,4vw,50px)}h3{font:24px/1.2 Georgia,serif;margin:0 0 16px}p{margin:0 0 20px}.lead{font-size:20px;line-height:1.6;color:#4b6062}.intro-meta{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.intro-meta span{font-size:13px;padding:6px 12px;background:#eaf0ee;border-radius:30px}.text-link{font-size:15px;text-underline-offset:5px}figure{margin:0}.cover{background:#e9ece8;padding:12px 12px 0;border-radius:180px 180px 4px 4px;overflow:hidden}.cover img{display:block;width:100%;height:490px;object-fit:contain}.cover figcaption{padding:12px;font-size:13px;text-align:center}.price-tag{position:absolute;right:10px;bottom:105px;background:#153c48;color:white;padding:20px 30px;box-shadow:0 12px 30px #153c4820}.price-tag strong{display:block;font:30px Georgia,serif}.price-tag span{font-size:12px}section:not(.intro){padding:70px 40px}section.booking-section{background:#eaf0ee;border-radius:8px}.section-heading{max-width:780px;margin-bottom:35px}.section-heading p:last-child{color:#526669}.section-heading h2{margin-bottom:18px}.booking-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:45px;align-items:start}.availability{padding:26px;background:#fafaf7;border:1px solid #d6dfda;border-radius:6px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-head h3{margin:0;text-transform:capitalize;font-size:22px}.calendar-head>div{display:flex;gap:6px}.icon-button{border:1px solid #c6d2cc;width:35px;height:35px;background:white;font-size:24px;line-height:1}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.weekdays{font-size:12px;color:#6b7c7b;margin-bottom:12px}.calendar button,.calendar .empty{min-height:42px;border:0;border-radius:3px;background:#edf3ed;color:#244745;font-size:14px}.calendar button:hover{outline:2px solid #153c48}.calendar .unknown-day{background:#eee;color:#686868}.calendar .busy-day{background:#ece1dc;color:#825547;text-decoration:line-through}.calendar .past{background:transparent;opacity:.35}.calendar .selected{background:#153c48!important;color:white!important}.calendar .in-range{background:#c9ddd4}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;margin:22px 0 15px}.legend i{display:inline-block;width:9px;height:9px;margin-right:4px;border-radius:2px}.free{background:#b7cec0}.busy{background:#c5937e}.unknown{background:#c6c6c6}.status{font-size:13px;line-height:1.5;margin-bottom:5px}.text-button{padding:0;background:none;border:0;text-decoration:underline;color:#153c48;font-size:13px;margin-bottom:16px}.muted{font-size:13px;line-height:1.5;color:#526469}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:6px;min-width:0}.fields input,.fields select{width:100%;min-width:0;padding:13px 12px;border:1px solid #b7c5bf;border-radius:4px;background:#fff;color:#173f43}.fields .full{grid-column:1/-1}.validation{color:#8b381f;font-size:14px;margin:10px 0}.quote{border-top:1px solid #bdccc3;border-bottom:1px solid #bdccc3;padding:18px 0;margin:22px 0 16px}.quote>div{display:flex;justify-content:space-between;gap:20px;padding:6px 0;font-size:14px}.quote>div:first-child{font-size:18px;padding-bottom:15px}.quote strong{white-space:nowrap}summary{cursor:pointer;font-weight:600;padding:12px 0}details .fields{margin:12px 0 20px}.check{display:flex;gap:9px;align-items:start;font-size:13px;margin-bottom:14px}.check input{margin-top:5px;accent-color:#153c48}.trap{display:none}.submit,#whatsapp{width:100%}#whatsapp{margin-top:15px}.compact{margin-top:8px}.spread{display:flex;max-width:none;justify-content:space-between;gap:40px;align-items:end}.spread>p{max-width:340px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.gallery-filters button{background:none;border:1px solid #c9d2cd;border-radius:25px;padding:9px 20px;font-size:14px;color:#27464b}.gallery-filters .active{background:#153c48;border-color:#153c48;color:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery button{display:block;width:100%;padding:0;border:0;background:#e9edea;color:#153c48;text-align:left;border-radius:4px;overflow:hidden}.gallery img{display:block;width:100%;height:290px;object-fit:contain}.gallery span{display:block;font-size:14px;padding:13px 15px}.gallery button:hover{box-shadow:0 8px 25px #153c4818}.gallery+.muted{margin-top:14px}.amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:50px}.amenities article{border-top:1px solid #c2d0c8;padding-top:24px}.amenities span{font-size:11px;letter-spacing:1.4px}.amenities h3{margin-top:20px}.amenities p{color:#526669;font-size:15px}.location{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#153c48;color:#f7f7ec}.location .eyebrow,.location .muted{color:#bed1d1}.location .secondary{border-color:#adc2c1;color:white}.location .secondary:hover{background:#255663}.location .muted{margin-top:15px}.location figure{align-self:center}.location img{width:100%;display:block}.location figcaption{font-size:13px;padding-top:14px;color:#ced9d3}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 55px}.rules-grid article{border-top:1px solid #c2d0c8;padding-top:22px}.rules-grid p{font-size:15px;color:#526669}.privacy{border-top:1px solid #c2d0c8;margin-top:35px;padding:12px 0}.privacy p{font-size:14px;max-width:800px}footer{border-top:1px solid #c2d0c8;padding:35px 40px;display:flex;align-items:center;gap:30px;justify-content:space-between}footer p,footer>a:not(.brand){font-size:13px}footer p{margin:0}dialog{width:min(900px,95vw);border:0;background:#fafaf7;padding:22px;color:#153c48;border-radius:5px}dialog::backdrop{background:#102b34db}dialog img{display:block;max-height:72vh;max-width:100%;margin:auto;object-fit:contain}dialog button{background:white;border:1px solid #bdccc3;padding:8px 15px;color:#153c48}#close-gallery{display:block;margin:0 0 14px auto}dialog p{text-align:center;margin:15px 0}dialog>div{display:flex;justify-content:space-between}#submit-status{font-size:14px;margin-top:12px}@media(max-width:850px){header{padding:20px 24px}nav{display:none}.intro{gap:20px;padding:28px 24px 50px}.cover img{height:400px}.price-tag{bottom:58px;right:15px;padding:14px 18px}.intro-meta{gap:5px}.intro-meta span{font-size:12px}section:not(.intro){padding:50px 24px}.booking-layout{gap:22px}.spread{display:block}.spread>p{max-width:none}.gallery{gap:12px}.gallery img{height:250px}.location{gap:30px}footer{flex-wrap:wrap;padding:30px 24px}}@media(max-width:620px){header{gap:12px}.brand{font-size:34px}.brand span{font-size:9px}.small{font-size:13px;padding:10px 12px}.intro{grid-template-columns:1fr;padding-top:18px;gap:28px}h1{font-size:51px}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:16px}.lead{font-size:18px}.intro-meta{margin:20px 0}.cover{border-radius:120px 120px 4px 4px}.cover img{height:380px}.price-tag{bottom:72px;right:10px}.booking-layout,.location{grid-template-columns:1fr}.availability{padding:20px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:230px}.gallery span{font-size:12px;padding:10px}.amenities,.rules-grid{grid-template-columns:1fr}.amenities{gap:12px}.quote>div:first-child{font-size:16px}.quote>div{font-size:12px}.quote strong{white-space:normal;text-align:right}.fields{gap:12px}.fields input{padding:11px 8px}.gallery-filters{gap:6px}.gallery-filters button{font-size:12px;padding:8px 12px}.rules-grid{gap:18px}.preview{font-size:12px}footer{gap:20px}footer p{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
