*{box-sizing:border-box}
body{margin:0;font-family:'Inter',Arial,sans-serif;font-weight:300;color:#20343b;background:#f7f2ea;line-height:1.7}
a{color:inherit}
h1,h2,h3,.logo{font-family:'Marcellus',Georgia,serif;font-weight:400}
.hero{min-height:94vh;color:white;background:linear-gradient(rgba(14,44,55,.34),rgba(14,44,55,.50)),url('images/villa-ezzio-13.jpg');background-size:cover;background-position:center;padding:26px}
.navbar{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.logo{font-size:30px;letter-spacing:.5px}.nav-links{display:flex;gap:22px;font-size:14px;font-weight:400}
.nav-links a{text-decoration:none}.hero-content{max-width:880px;margin:150px auto 0;text-align:center}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.04;margin:12px 0 22px}.hero p{font-size:20px;max-width:760px;margin:0 auto 32px}
.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:12px;font-weight:600;color:#c28b45}.hero .eyebrow{color:#ffe0a3}
.btn{display:inline-block;padding:14px 25px;border-radius:999px;font-weight:600;border:1px solid transparent;text-decoration:none;cursor:pointer}.btn.primary{background:#c28b45;color:white}.btn.secondary{border-color:white;color:white;margin-left:10px}
.section{max-width:1180px;margin:0 auto;padding:82px 24px}.intro,.location,.booking,.availability,.image-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center}
h2{font-size:clamp(31px,4vw,50px);line-height:1.12;margin:10px 0 18px}.highlight-card,.map-box,.booking-form,.price-boxes div,.cards article,.calendar-box{background:white;border-radius:28px;padding:30px;box-shadow:0 18px 50px rgba(20,40,50,.08)}
.highlight-card ul,.checklist{padding-left:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:20px}.stats div{background:#20343b;color:white;padding:28px;border-radius:24px;text-align:center}.stats strong{display:block;font-family:'Marcellus',Georgia,serif;font-size:38px;font-weight:400}.stats span{opacity:.85}.center{text-align:center}
.image-feature img{width:100%;height:480px;object-fit:cover;border-radius:32px;box-shadow:0 22px 60px rgba(20,40,50,.12)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.cards h3{margin-top:0;font-size:25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:24px;box-shadow:0 12px 30px rgba(20,40,50,.08)}
.note{font-size:14px;background:#fff7e8;border-left:4px solid #c28b45;padding:14px 16px;border-radius:12px}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.calendar-top button{border:0;background:#20343b;color:white;border-radius:50%;width:38px;height:38px;font-size:26px;cursor:pointer}.calendar-top h3{margin:0;font-size:26px}.calendar-legend{display:flex;gap:18px;font-size:13px;margin:18px 0}.calendar-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px}.free{background:#e9f3e7}.blocked{background:#d9a3a3}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays span{text-align:center;font-size:12px;font-weight:600;color:#7a8588}.day{min-height:46px;border-radius:12px;background:#e9f3e7;display:flex;align-items:center;justify-content:center;font-size:14px}.day.empty{background:transparent}.day.blocked{background:#d9a3a3;color:#5b2020;text-decoration:line-through}.day.today{outline:2px solid #c28b45}
.map-box{min-height:320px;display:flex;align-items:center;justify-content:center;color:#6f7f87;border:2px dashed #d7d0c2}.booking-form{display:grid;gap:16px}.booking-form label{font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input,textarea{width:100%;margin-top:6px;border:1px solid #d7d0c2;border-radius:14px;padding:13px 14px;font-size:16px;font-family:inherit;font-weight:300}button{font-family:inherit;font-size:16px}
footer{background:#20343b;color:white;text-align:center;padding:60px 24px}.footer-small{opacity:.7;font-size:14px}
@media(max-width:850px){.nav-links{display:none}.hero-content{margin-top:110px}.intro,.location,.booking,.availability,.image-feature{grid-template-columns:1fr}.stats,.cards,.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:240px}.form-row{grid-template-columns:1fr}.btn.secondary{margin-left:0;margin-top:10px}}
