
    :root{font-family:Arial,Helvetica,sans-serif;color:#18343e;background:#f8f7f3;font-size:16px;line-height:1.55}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}button,input{font:inherit}button{cursor:pointer}
    .wrap{width:min(1180px,calc(100% - 48px));margin:auto}.top{background:#173b4b;color:white;text-align:center;padding:8px 20px;font-size:.875rem;font-weight:700;letter-spacing:.02em}
    header{background:#fff;position:sticky;top:0;z-index:5;box-shadow:0 2px 14px #18343e16}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Georgia,serif;font-size:1.7rem;font-weight:bold;text-decoration:none;letter-spacing:.01em}.brand small{display:block;font:700 .7rem Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#596b70}
    nav{display:flex;align-items:center;gap:25px}nav a{text-decoration:none;font-weight:700;font-size:.94rem}nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:#b36b39;color:white;text-decoration:none;font-weight:700;min-height:52px;padding:13px 24px}.button:hover{background:#8f522b}.button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d89858;outline-offset:3px}
    .hero{min-height:590px;background:linear-gradient(90deg,#102b39d9 0%,#102b3978 43%,#102b3910 85%),url('assets/villa-hero.jpeg') center/cover;display:flex;align-items:center;color:white}.hero-inner{padding:90px 0}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.84rem;font-weight:800}.hero h1{font:normal clamp(3.3rem,7vw,6.1rem)/1.03 Georgia,serif;max-width:650px;margin:18px 0}.hero p{font-size:1.2rem;max-width:550px;margin:0 0 30px}
    .booking{position:relative;margin:0 auto 72px;background:white;box-shadow:0 18px 45px #193d4a27;border-radius:7px;padding:30px;z-index:2}.booking h2{font:normal 2rem Georgia,serif;margin:0 0 4px}.booking .intro{margin:0 0 22px;color:#4e636a}.fields{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.field label{display:block;font-weight:700;margin-bottom:7px}.field input{width:100%;border:2px solid #87969a;border-radius:4px;min-height:52px;padding:10px;color:#18343e;background:white}.quote{margin-top:18px;padding:18px 20px;background:#e9f0ef;border-left:4px solid #266b72;font-weight:700}.fine{font-size:.88rem;color:#4e636a;margin:10px 0 0}.section{padding:88px 0}.section h2{font:normal clamp(2.3rem,4vw,3.4rem)/1.12 Georgia,serif;margin:0 0 18px}.lead{font-size:1.15rem;max-width:760px}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d4dcdb;border:1px solid #d4dcdb;margin-top:36px}.fact{background:#fff;padding:28px}.fact strong{display:block;font:normal 2.3rem Georgia,serif;color:#a66031}.fact span{font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split img{width:100%;height:500px;object-fit:cover}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding:0;list-style:none}.feature-list li{border-bottom:1px solid #cdd7d5;padding:10px 0;font-weight:700}.cream{background:#ecece5}.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.term{background:#fff;padding:26px;border-top:4px solid #b36b39}.term h3{font:normal 1.45rem Georgia,serif;margin:0 0 12px}.term p{margin:0}.contact{background:#173b4b;color:white;text-align:center}.contact p{font-size:1.15rem}.contact a{color:white}footer{background:#102c39;color:#dbe4e5;padding:25px 0;font-size:.9rem}.footer-inner{display:flex;justify-content:space-between;gap:20px}
    @media(max-width:820px){.nav{align-items:flex-start;padding:15px 0;flex-direction:column}nav{gap:14px;flex-wrap:wrap}.hero{min-height:510px;background-position:58% center}.fields{grid-template-columns:1fr 1fr}.fields button{grid-column:1/-1}.split{grid-template-columns:1fr;gap:32px}.split img{height:350px}.terms{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:520px){.wrap{width:min(100% - 32px,1180px)}nav a{font-size:.86rem}.hero{min-height:480px}.hero-inner{padding:68px 0}.hero p{font-size:1.05rem}.booking{margin:0 auto 48px;padding:21px}.fields{grid-template-columns:1fr}.fields button{grid-column:auto}.facts{grid-template-columns:1fr 1fr}.fact{padding:20px}.fact strong{font-size:1.8rem}.section{padding:64px 0}.feature-list{grid-template-columns:1fr}.footer-inner{display:block}}
  
.page-head{background:#173b4b;color:white;padding:72px 0 78px}.page-head h1{font:normal clamp(2.8rem,6vw,5rem)/1.08 Georgia,serif;margin:10px 0 14px}.page-head p{font-size:1.15rem;max-width:760px;margin:0}
.content{padding:72px 0 90px}.content h2{font:normal 2.25rem Georgia,serif;margin:0 0 18px}.content h3{font:normal 1.5rem Georgia,serif;margin:0 0 12px}.content p{max-width:800px}.content .intro{font-size:1.12rem;max-width:900px}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:32px 0 50px}.card{background:white;border-top:4px solid #b36b39;padding:26px}.card ul{columns:2;line-height:1.9;padding-left:22px;margin-bottom:0}.card li{break-inside:avoid}.image-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0}.image-strip img{width:100%;height:250px;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:35px 0}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.text-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.review{max-width:810px;background:white;border-left:5px solid #b36b39;padding:32px;font:normal 1.25rem/1.65 Georgia,serif}.review cite{display:block;margin-top:20px;font:700 .95rem Arial,sans-serif;font-style:normal}.back{margin-top:50px}.back a{font-weight:700;color:#12606b}
@media(max-width:760px){.card-grid,.text-columns{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.image-strip{grid-template-columns:1fr}.image-strip img{height:260px}.content{padding:55px 0}.page-head{padding:54px 0}}
@media(max-width:520px){.gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.card ul{columns:1}.review{padding:22px;font-size:1.08rem}}

.tour{background:#f6f0e6}.tour video{display:block;width:100%;max-width:1000px;aspect-ratio:16/9;background:#173b4b;object-fit:cover;margin:28px 0 18px;border-radius:4px}.tour a{font-weight:700;color:#12606b}

.guest-review{max-width:810px;margin-top:42px}.guest-review h3{line-height:1.35}.guest-review .review{margin:18px 0 0}.guest-review .review p{margin:0}

.restaurant-photo{display:block;width:100%;height:220px;object-fit:cover;object-position:center 65%;margin-bottom:22px}.restaurant-link{font-weight:700;color:#12606b}@media(max-width:520px){.restaurant-photo{height:190px}}

.dining-grid .restaurant-card{display:flex;flex-direction:column}.dining-grid .restaurant-card>p{margin-top:0}.dining-grid .restaurant-card>.restaurant-link,.dining-grid .restaurant-card>.restaurant-note{margin-top:auto}.dining-grid .restaurant-photo{object-position:center;height:220px}.restaurant-note{font-weight:700}@media(max-width:520px){.dining-grid .restaurant-photo{height:190px}}

@media(min-width:821px) and (max-width:1100px){.nav{align-items:flex-start;padding:15px 0;flex-direction:column}nav{flex-wrap:wrap;gap:18px}}

.activity-card{display:flex;flex-direction:column}.activity-photo{display:block;width:100%;height:220px;object-fit:cover;margin-bottom:22px}.activity-golf .activity-photo{object-position:center 45%}.activity-card>p{margin-top:0}.activity-card>.activity-link{margin-top:auto;font-weight:700;color:#12606b}.activity-note{font-size:.94rem;color:#4e636a}@media(max-width:520px){.activity-photo{height:190px}}

#dates{scroll-margin-top:24px}

.payment-summary{margin:22px 0;padding:22px 24px;background:#e9f0ef;border-left:4px solid #266b72;color:#18343e}.payment-summary strong{display:block;font-size:1.4rem;line-height:1.35}.payment-summary p{margin:8px 0 0;font-size:1.05rem}.payment-summary .payment-exception{font-size:1rem}

.availability-calendar{margin:28px 0 36px;padding-bottom:28px;border-bottom:1px solid #cdd7d5}.availability-calendar h3,.booking-form-title{font:normal 1.6rem Georgia,serif;color:#173b4b;margin:0 0 12px}.availability-calendar p{margin:0 0 20px;font-size:1rem}.booking-form-title{margin-bottom:20px}
