:root{--ink:#3f362d;--wood:#704c35;--paper:#fbf8f1;--sand:#ece4d5;--muted:#74695e;--line:#d9cfbf;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--wood);outline-offset:4px}.wrap{width:min(1320px,90%);margin-inline:auto}header{height:95px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:42px;line-height:1;display:flex;flex-direction:column;gap:8px}.brand span{font-family:Arial,sans-serif;font-size:12px;letter-spacing:1.5px}nav{display:flex;gap:30px;font-size:14px}.button{display:inline-block;text-align:center;background:var(--wood);color:white;padding:13px 22px;font-size:14px;font-weight:600;border-radius:4px}.button:hover{background:#51351f}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--wood);margin:0 0 14px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.2;margin:0}h1{font-size:clamp(35px,4vw,55px);letter-spacing:-1px}h2{font-size:clamp(31px,3.3vw,44px);letter-spacing:-.5px}h3{font-size:24px}.welcome{padding-top:38px}.welcome-copy{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}.lead{font-size:16px;color:var(--muted);margin:14px 0 0}.phone{font-size:25px;font-family:Georgia,serif;white-space:nowrap}.phone span{display:block;font-family:Arial,sans-serif;font-size:12px;color:var(--muted);margin-top:3px}.overview-photos{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;height:350px}.photo-button{padding:0;border:0;background:none;display:block;position:relative;overflow:hidden;width:100%;border-radius:5px}.photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-button:hover img{transform:scale(1.03)}.photo-button>span{position:absolute;left:12px;bottom:12px;background:#fffdf9ee;padding:6px 10px;font-size:12px;text-align:left;color:var(--ink);border-radius:3px}.quick-facts{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;border-bottom:1px solid var(--line);padding:22px 0;font-size:14px}.quick-facts b{font-size:18px}.rent-options{padding:38px 0;display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:26px}.rent-options article{background:var(--sand);padding:25px;border-radius:5px}.rent-options h2{font-size:32px}.rent-options p{font-size:14px;color:var(--muted);margin:13px 0 18px}.underlined{font-size:14px;border-bottom:1px solid var(--wood);padding-bottom:3px}.rooms{padding:38px 0 65px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.section-heading>p{font-size:14px;color:var(--muted);margin:0}.room-group{padding:28px 0;border-top:1px solid var(--line)}.room-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px}.room-heading>div{display:flex;align-items:baseline;gap:25px;flex-wrap:wrap}.room-heading h3{font-size:26px}.room-heading p{font-size:14px;color:var(--muted);margin:0}.room-count{font-size:12px;color:var(--muted);white-space:nowrap}.room-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.room-photos .photo-button{aspect-ratio:4/3}.facilities{background:var(--sand);padding:60px 0}.facility-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.facility-photos .photo-button{aspect-ratio:4/3}.facility-photos h3{margin-top:17px}.facility-photos p{font-size:14px;color:var(--muted);margin:9px 0 0}.comfort-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0}.comfort-grid article{padding:25px;background:var(--white);border:1px solid var(--line);border-radius:5px}.comfort-label{font-size:12px;letter-spacing:1.4px;color:var(--wood)}.comfort-grid h3{margin-top:9px}.comfort-grid p{font-size:14px;color:var(--muted);margin-bottom:0}.kitchen-strip{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;margin-top:35px}.kitchen-strip .photo-button{height:310px}.kitchen-strip h3{font-size:31px}.kitchen-strip p:not(.eyebrow){max-width:450px}.small-note{font-size:12px;color:var(--muted)}.location{padding:65px 0;display:grid;grid-template-columns:1fr 1fr;gap:9%}address{font-style:normal;font-weight:600;margin-top:25px}.location>div>p:not(.eyebrow){color:var(--muted)}.travel{display:flex;gap:28px;padding:20px 0;border-bottom:1px solid var(--line);align-items:flex-start}.travel strong{font-size:27px;font-family:Georgia,serif;font-weight:400;color:var(--wood);width:100px;flex-shrink:0}.travel h3{font-size:23px}.travel p{font-size:14px;color:var(--muted);margin:7px 0 0}.booking{padding:55px 0;background:var(--wood);color:var(--paper)}.booking>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.booking .eyebrow{color:#ecce9e}.booking p:not(.eyebrow){max-width:620px;font-size:14px;color:#f0e1d0}.booking-actions{text-align:center}.light{background:var(--paper);color:var(--wood)}.light:hover{background:var(--sand)}.booking-phone{display:block;margin-top:20px;font-family:Georgia,serif;font-size:27px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:38px 0}footer p,footer>a:last-child{font-size:14px}.mobile-contact{display:none}dialog{border:0;background:#2b241e;color:white;padding:50px 20px 15px;max-width:95vw;width:1100px;max-height:94svh;border-radius:5px}dialog::backdrop{background:#000c}dialog>img{display:block;max-width:100%;max-height:75svh;object-fit:contain;margin:auto}dialog>p{font-size:14px;text-align:center;margin:12px 0 0}.close-photo{position:absolute;right:15px;top:10px;background:none;color:white;border:1px solid #fff8;padding:4px 12px;font-size:14px}@media(max-width:1000px){nav{gap:20px}.rent-options{grid-template-columns:1fr 1fr}.rent-options>div{grid-column:1/3}.overview-photos{height:280px}.room-photos{grid-template-columns:repeat(2,1fr)}.facility-photos,.comfort-grid{gap:16px}.travel{gap:12px}.travel strong{width:85px;font-size:24px}}@media(max-width:650px){.wrap{width:90%}header{height:82px;padding:0 5%}.brand{font-size:35px}.brand span{font-size:12px;letter-spacing:.5px}nav{display:none}header .button{font-size:12px;padding:12px}.welcome{padding-top:25px}.welcome-copy{display:block;margin-bottom:20px}.eyebrow{letter-spacing:1px;font-size:12px}h1{font-size:37px}.lead{font-size:16px}.phone{display:none}.overview-photos{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:220px 150px;gap:9px}.overview-main{grid-column:1/3}.photo-button>span{left:6px;bottom:6px;font-size:12px;padding:4px 6px}.quick-facts{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:10px;padding:20px 0}.quick-facts b{font-size:16px}.rent-options{padding:30px 0;gap:15px;grid-template-columns:1fr}.rent-options>div{grid-column:auto}.rent-options article{padding:22px}.rooms{padding:25px 0 40px}.section-heading{display:block;margin-bottom:22px}.section-heading>p{margin-top:13px}.room-heading{align-items:flex-start;gap:10px}.room-heading>div{display:block}.room-heading h3{font-size:24px}.room-heading p{font-size:14px;margin-top:7px}.room-group{padding:24px 0}.room-photos{gap:9px}.room-photos .photo-button{aspect-ratio:4/3}.facilities{padding:40px 0}.facility-photos{grid-template-columns:1fr;gap:26px}.facility-photos .photo-button{aspect-ratio:3/2}.comfort-grid{grid-template-columns:1fr;gap:12px;margin:25px 0}.comfort-grid article{padding:20px}.comfort-grid h3{font-size:25px}.kitchen-strip{grid-template-columns:1fr;gap:20px;margin-top:25px}.kitchen-strip .photo-button{height:240px}.kitchen-strip h3{font-size:29px}.location{grid-template-columns:1fr;padding:40px 0;gap:25px}.location h2{font-size:33px}.travel strong{width:100px;font-size:26px}.booking{padding:40px 0}.booking>.wrap{grid-template-columns:1fr;gap:20px}.booking-actions{text-align:left}.booking-phone{font-size:25px}.booking h2{font-size:34px}footer{padding:30px 0 100px;flex-direction:column;align-items:flex-start;gap:15px}footer p{margin:0}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);z-index:20;gap:8px}.mobile-contact a{flex:1;text-align:center;border:1px solid var(--wood);padding:10px;font-size:14px;border-radius:4px}.mobile-contact a:last-child{flex:2;background:var(--wood);color:white}dialog{padding:50px 10px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-button img{transition:none}}

@media(min-width:1001px){.room-photos.three{grid-template-columns:repeat(3,1fr)}}

.video-tour{display:grid;grid-template-columns:350px 1fr;gap:45px;padding:35px 0 45px;border-top:1px solid var(--line);align-items:center}.tour-media{max-width:350px;aspect-ratio:9/16;overflow:hidden;border-radius:5px;background:#2b241e}.tour-media iframe{width:100%;height:100%;border:0;display:block}.tour-copy>p:not(.eyebrow){max-width:550px;color:var(--muted)}.tour-stills{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.tour-stills .photo-button{height:260px}.tour-stills .photo-button:first-child img{object-position:center 60%}@media(max-width:800px){.video-tour{grid-template-columns:290px 1fr;gap:25px}.tour-stills{grid-template-columns:1fr}.tour-stills .photo-button{height:180px}}@media(max-width:650px){.video-tour{display:flex;flex-direction:column-reverse;gap:25px;padding:25px 0 35px;align-items:stretch}.tour-media{width:100%;max-width:320px;margin:auto}.tour-stills{grid-template-columns:1fr 1fr;gap:9px}.tour-stills .photo-button{height:200px}.tour-copy h2{font-size:32px}}

.footer-links{display:flex;flex-direction:column;gap:7px;font-size:14px}

@media(min-width:1001px){.comfort-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:651px) and (max-width:1000px){.comfort-grid{grid-template-columns:repeat(2,1fr)}}

.section-links{display:flex;gap:12px 22px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.section-links a:hover{color:var(--wood);text-decoration:underline}.rent-intro{font-size:14px;color:var(--muted);max-width:400px}.stay-story{padding:60px 0}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.story-grid img{width:100%;height:240px;object-fit:cover;border-radius:5px;display:block;margin-bottom:20px}.story-grid h3{font-size:25px;margin-top:8px}.story-grid p{font-size:14px;color:var(--muted)}.all-photos{padding:15px 0 60px}.all-photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.all-photos-grid .photo-button{height:260px}.policy{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:50px 0 60px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:16px}details p{font-size:14px;color:var(--muted)}@media(max-width:1000px){.all-photos-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.section-links{gap:10px 18px;font-size:14px}.stay-story{padding:40px 0}.story-grid{grid-template-columns:1fr;gap:25px}.story-grid img{height:240px}.story-grid h3{font-size:25px}.all-photos{padding:15px 0 40px}.all-photos-grid{gap:9px}.all-photos-grid .photo-button{height:190px}.policy{grid-template-columns:1fr;gap:20px;padding:35px 0 40px}.welcome-copy h1{font-size:36px}}

.video-tour{grid-template-columns:1.2fr 1fr;align-items:start}.tour-media{width:100%;max-width:none;aspect-ratio:16/10}.tour-copy h2{font-size:36px}.tour-stills .photo-button{height:220px}@media(max-width:800px){.video-tour{grid-template-columns:1fr}.tour-media{max-width:none}.tour-stills{grid-template-columns:1fr 1fr}}@media(max-width:650px){.video-tour{flex-direction:column}.tour-media{max-width:none;aspect-ratio:4/3}.tour-copy h2{font-size:32px}.tour-stills .photo-button{height:190px}}

.hero-price{font-family:Georgia,serif;font-size:35px;color:var(--wood);margin:13px 0 8px}.hero-price span{font:16px Arial,sans-serif;margin-left:5px}.hero-cta{margin-top:20px}.early-highlight{font-size:14px;color:var(--wood);margin:12px 0 0}.welcome-copy .phone{align-self:flex-start}.pricing{padding:45px 0 30px}.pricing-intro{max-width:850px;color:var(--muted)}.price-scroll{overflow-x:auto;margin:25px 0;border:1px solid var(--line);border-radius:5px}table{width:100%;border-collapse:collapse;font-size:16px;background:var(--white)}caption{text-align:left;padding:13px 20px;background:var(--sand);font-size:14px}th,td{text-align:left;padding:18px 20px;border-bottom:1px solid var(--line);white-space:nowrap}thead{background:var(--wood);color:white}tbody th{font-weight:600}tbody td:nth-child(2),tbody td:nth-child(3){font-weight:600;color:var(--wood)}tbody tr:last-child td,tbody tr:last-child th{border:0}.price-notes{display:grid;grid-template-columns:1.5fr 1fr;gap:35px}.price-notes h3{font-size:26px}.price-notes p{font-size:14px;color:var(--muted)}.price-notes aside{background:var(--sand);padding:25px;border-radius:5px}.extra-amenities{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.extra-amenities p{font-size:14px;color:var(--muted)}.stay-times{margin-top:25px}.stay-times p{margin:8px 0}.stay-times strong{display:inline-block;width:105px}.booking-form{background:#ffffff13;padding:25px;border:1px solid #ffffff35;border-radius:5px}.booking-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label{font-size:14px;display:block}.booking-form input,.booking-form textarea{font-family:Arial,sans-serif;font-size:16px;display:block;width:100%;padding:12px;border-radius:4px;border:1px solid var(--line);background:var(--paper);color:var(--ink);margin:7px 0 14px;box-sizing:border-box}.booking-form textarea{resize:vertical}.booking-form button{width:100%;border:0;cursor:pointer}.booking .booking-note{font-size:12px}.booking #booking-feedback{font-size:14px;margin:12px 0 0}.booking .group-price{font-size:14px;margin:0 0 15px}.booking-form input:focus-visible,.booking-form textarea:focus-visible{outline:3px solid #ecce9e;outline-offset:2px}@media(max-width:700px){.price-notes,.extra-amenities{grid-template-columns:1fr;gap:18px}.pricing{padding:35px 0 25px}.hero-price{font-size:31px}.hero-cta{font-size:14px;padding:14px 16px}.pricing h2{font-size:32px}th,td{padding:15px 13px;font-size:14px}.price-notes aside{padding:20px}.booking-form{padding:20px}.booking-inputs{gap:12px}.booking-inputs input{min-width:0}.booking-form button{font-size:14px;padding:14px 10px}}
/* Compact photo-first layout. */
.welcome{padding-top:25px}.welcome-copy{margin-bottom:22px}.welcome-copy h1{font-size:clamp(29px,3.1vw,43px)}.start-price{flex-shrink:0;color:var(--wood)}.start-price strong{font-family:Georgia,serif;font-weight:400;font-size:28px}.start-price strong span{font:14px Arial,sans-serif}.start-price p{font-size:12px;margin:6px 0 0}.visual-overview{display:grid;grid-template-columns:280px 1fr;gap:14px;height:498px}.villa-video{height:100%;background:#2b241e;border-radius:5px;overflow:hidden}.villa-video video{width:100%;height:100%;display:block;object-fit:contain}.overview-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:0}.overview-grid .photo-button{height:100%}.quick-facts{padding:17px 0}.rooms{padding:28px 0}.rooms .section-heading{margin-bottom:15px}.rooms .section-heading h2{font-size:31px}.room-group{padding:18px 0}.room-heading{margin-bottom:12px}.room-heading h3{font-size:23px}.room-photos .photo-button{height:170px;aspect-ratio:auto}.room-count{display:none}.compact-info{padding:20px 0 35px}.compact-info>h2{font-size:30px;margin-bottom:18px}.compact-info details{padding:16px 0}.compact-info summary{font-size:16px;font-weight:600;position:relative;padding-right:210px}.compact-info summary span{position:absolute;right:0;color:var(--muted);font-weight:400;font-size:14px}.compact-info details>p{max-width:950px}.amenities-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;color:var(--muted);font-size:14px}.offer-note{font-size:12px;color:var(--muted);margin:18px 0 0}.booking{padding:35px 0}.booking h2{font-size:35px}.booking-form{padding:20px}.booking .booking-phone{font-size:23px;margin-top:14px}.price-scroll{margin:15px 0}.footer-links a{font-size:14px}@media(max-width:1050px){.welcome-copy{align-items:flex-start}.start-price strong{font-size:23px}.visual-overview{grid-template-columns:250px 1fr;height:444px}.room-photos{grid-template-columns:repeat(4,1fr);gap:10px}.room-photos .photo-button{height:145px}.room-heading>div{gap:15px}.room-heading p{font-size:12px}}@media(max-width:650px){.welcome{padding-top:20px}.welcome-copy h1{font-size:31px}.welcome-copy .lead{font-size:14px}.start-price{margin-top:14px}.start-price strong{font-size:25px}.visual-overview{grid-template-columns:1fr;height:auto;gap:10px}.villa-video{width:100%;height:390px}.overview-grid{grid-template-rows:140px 140px;gap:9px}.overview-grid .photo-button>span{font-size:12px}.quick-facts{grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.room-photos{grid-template-columns:1fr 1fr;gap:9px}.room-photos .photo-button{height:130px}.room-heading>div{display:flex;align-items:baseline;gap:8px 16px}.room-heading h3{font-size:23px}.room-heading p{font-size:12px}.room-group{padding:17px 0}.rooms .section-heading{display:flex;gap:12px;align-items:center}.rooms .section-heading h2{font-size:28px}.rooms .section-heading>p{font-size:12px;margin:0}.compact-info{padding:15px 0 25px}.compact-info>h2{font-size:28px}.compact-info summary{padding-right:0}.compact-info summary span{display:block;position:static;font-size:12px;margin-left:20px;margin-top:3px}.amenities-list{grid-template-columns:1fr}.booking{padding:30px 0}.booking h2{font-size:30px}.booking .wrap{gap:16px}.booking-form{padding:17px}.booking-form textarea{margin-bottom:10px}.booking-form input{padding:10px}.booking .booking-note{margin-bottom:0}.welcome-copy{display:block}}

.visual-overview{grid-template-columns:280px minmax(220px,.8fr) 1.3fr}.facade-photo{height:100%;background:var(--sand)}.facade-photo img{object-fit:contain}.facade-photo>span{left:8px;bottom:8px;font-size:12px}@media(max-width:1050px){.visual-overview{grid-template-columns:230px minmax(200px,.8fr) 1fr;height:410px}.overview-grid{gap:9px}}@media(max-width:800px) and (min-width:651px){.visual-overview{grid-template-columns:200px 200px 1fr;height:356px}.overview-grid .photo-button>span{font-size:12px;padding:3px 5px;left:5px;bottom:5px}}@media(max-width:650px){.visual-overview{grid-template-columns:1fr 1fr;height:auto;gap:9px}.villa-video{width:100%;height:auto;aspect-ratio:9/16}.facade-photo{height:100%;aspect-ratio:9/16}.overview-grid{grid-column:1/3;grid-template-rows:140px 140px}.facade-photo>span{font-size:12px;left:4px;bottom:4px;padding:3px 5px}}

.view-highlight{padding:25px 0 0}.view-highlight .section-heading{margin-bottom:15px}.view-highlight h2{font-size:30px}.view-photos{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;height:230px}.view-photos .photo-button{height:100%}.view-photos img{object-position:center 47%}.maps-reviews{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0 5px}.maps-reviews h3{font-size:23px}.maps-reviews p{font-size:14px;color:var(--muted);margin:6px 0}.maps-reviews .button{font-size:14px}@media(max-width:650px){.view-highlight{padding-top:20px}.view-highlight .section-heading{display:block}.view-highlight .section-heading p{font-size:12px;margin-top:8px}.view-highlight h2{font-size:27px}.view-photos{grid-template-columns:1fr 1fr;height:175px;gap:9px}.view-photos .photo-button>span{font-size:12px;padding:4px 6px;left:4px;bottom:4px}.maps-reviews{align-items:flex-start;flex-direction:column;gap:10px}.maps-reviews h3{font-size:23px}}

.review-quote{max-width:780px}.review-author{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-author strong{color:var(--ink);font-size:16px}.review-stars{color:#9d6817;letter-spacing:1px}.review-quote blockquote{margin:12px 0 8px;font-family:Georgia,serif;font-size:22px;line-height:1.5;color:var(--ink)}.review-source{font-size:12px!important}.maps-reviews{border-top:1px solid var(--line);margin-top:15px;padding-top:22px}@media(max-width:650px){.review-quote blockquote{font-size:20px}.review-author{gap:8px;font-size:12px}}

.private-callout{background:var(--sand);padding:12px 16px;margin:14px 0 0;border-radius:4px;font-size:16px;font-weight:600;color:var(--wood)}.nearby{padding:15px 0 30px}.nearby .section-heading{margin-bottom:18px}.nearby h2{font-size:30px}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.destination-grid article{background:var(--sand);padding:19px;border-radius:5px}.destination-grid h3{font-size:23px}.destination-grid p{font-size:14px;margin:10px 0;color:var(--muted)}.destination-grid a{font-size:14px}.nearby-points{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;font-size:14px}.nearby-points>span{margin-right:8px;color:var(--muted)}.nearby-points a{padding:7px 12px;border:1px solid var(--line);border-radius:4px}.nearby-note{font-size:12px;color:var(--muted);margin-bottom:0}@media(max-width:650px){.private-callout{font-size:14px;padding:12px}.nearby h2{font-size:27px}.nearby .section-heading{display:block}.nearby .section-heading>a{display:inline-block;margin-top:10px}.destination-grid{grid-template-columns:1fr;gap:9px}.destination-grid article{display:grid;grid-template-columns:1fr auto;gap:3px 15px;padding:15px}.destination-grid h3{font-size:21px}.destination-grid p{grid-column:1;margin:5px 0 0;font-size:12px}.destination-grid a{grid-column:2;grid-row:1/3;align-self:center;font-size:12px}.nearby-points>span{width:100%;font-size:12px}.nearby-points{font-size:12px;gap:8px}.nearby-note{font-size:12px}}

.quick-facts.amenity-highlights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 18px;padding:20px 0;font-size:14px}.amenity-highlights span{line-height:1.55;padding-left:12px;border-left:2px solid var(--line);min-width:0}@media(max-width:1000px){.quick-facts.amenity-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.quick-facts.amenity-highlights{grid-template-columns:1fr 1fr;gap:12px 14px;font-size:14px}.amenity-highlights span{padding-left:10px}}
/* Local excursions, with a compact photo preview on the home page. */
.outing-preview-intro{color:var(--muted);font-size:16px;margin:0 0 20px}.outing-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.outing-teaser .photo-button{width:100%;height:210px}.outing-teaser h3{font-size:24px;margin:14px 0 5px}.outing-teaser>p{font-size:14px;color:var(--muted);margin:0}.outing-more{margin-top:20px}.outings-page{padding-top:30px;padding-bottom:40px}.outing-intro{max-width:860px;padding:12px 0 30px}.outing-intro .eyebrow{margin-top:30px}.outing-intro h1{font-size:clamp(34px,4vw,52px)}.outing-intro>p:not(.eyebrow){font-size:18px;line-height:1.65}.outing-intro .distance-note{font-size:14px!important;color:var(--muted);margin-top:22px}.outing-intro-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.outing-intro-links a{padding:9px 14px;border:1px solid var(--line);border-radius:4px;font-size:14px}.outing-chapter{border-top:1px solid var(--line);padding:35px 0}.chapter-heading{display:flex;gap:20px;align-items:flex-start;margin-bottom:25px}.chapter-heading>span{font-family:Georgia,serif;font-size:26px;color:var(--wood);padding-top:5px}.chapter-heading h2{font-size:32px}.chapter-heading p{font-size:16px;color:var(--muted);margin:10px 0 0;max-width:760px}.outing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.outing-card{min-width:0}.outing-card .photo-button{height:230px;width:100%}.outing-copy{padding:16px 0 5px}.outing-tag{font-size:14px;color:var(--wood);margin:0 0 6px}.outing-copy h3{font-size:27px;line-height:1.3}.outing-distance{font-size:14px;color:var(--wood);margin:11px 0}.outing-story{font-size:16px;line-height:1.65;color:var(--ink);margin:13px 0 18px}.outing-copy .underlined{font-size:16px}.image-credit{font-size:12px;color:var(--muted);margin:14px 0 0;line-height:1.5}.image-credit a{text-decoration:underline;text-underline-offset:3px}.outing-return{background:var(--sand);padding:28px;border-radius:5px;margin:20px 0}.outing-return h2{font-size:30px}.outing-return p{font-size:16px}.travel-photo-notes{font-size:14px}.travel-photo-notes p{font-size:14px;max-width:850px}.outings-page .photo-button:focus-visible{outline:3px solid var(--wood);outline-offset:3px}@media(max-width:1000px){.outing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.outing-preview-grid{gap:12px}.outing-teaser .photo-button{height:180px}}@media(max-width:650px){.outing-preview-grid{grid-template-columns:1fr 1fr;gap:18px 10px}.outing-teaser:last-child{grid-column:1/3}.outing-teaser .photo-button{height:150px}.outing-teaser:last-child .photo-button{height:210px}.outing-teaser h3{font-size:22px}.outing-teaser>p{font-size:14px}.outing-preview-intro{font-size:16px}.outings-page{padding-top:20px}.outing-intro{padding-bottom:22px}.outing-intro h1{font-size:35px}.outing-intro>p:not(.eyebrow){font-size:16px}.outing-chapter{padding:26px 0}.chapter-heading{gap:12px;margin-bottom:20px}.chapter-heading h2{font-size:28px}.chapter-heading>span{font-size:22px}.outing-grid{grid-template-columns:1fr;gap:25px}.outing-card .photo-button{height:auto;aspect-ratio:3/2}.outing-copy{padding-top:13px}.outing-copy h3{font-size:27px}.outing-return{padding:22px}.outing-return h2{font-size:28px}}

.view-media{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;align-items:stretch}.view-video{min-width:0}.view-video video{display:block;width:100%;height:330px;object-fit:contain;background:#2b241e;border-radius:5px}.view-video p{font-size:14px;margin:8px 0;color:var(--muted)}.view-media .view-photos{height:330px}.room-group:first-of-type .photo-button img{object-position:center 50%}@media(max-width:650px){.view-media{grid-template-columns:1fr;gap:12px}.view-video video{height:320px}.view-media .view-photos{height:175px}}
/* Stronger rustic brand contrast and early-booking offer. */
:root{--ink:#24372d;--wood:#315443;--paper:#fffaf2;--sand:#eee2cb;--muted:#62685e;--line:#d9cdb7;--white:#ffffff}body{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.5px}.brand{font-weight:700;color:var(--wood)}.brand span{font-weight:600;color:var(--muted)}.button{border-radius:7px;font-size:15px;background:var(--wood)}.button:hover{background:#213e30}.welcome-copy h1{font-size:clamp(32px,3.4vw,47px);line-height:1.2}.start-price strong{font-family:inherit;font-size:27px;font-weight:750}.start-price p{font-size:14px}.start-price .underlined{display:inline-block;margin-top:7px}.early-offer{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#a54429;color:#fff8ee;padding:20px 24px;border-radius:8px;margin:0 0 20px;border:1px solid #8f3822}.offer-label{font-size:13px;font-weight:750;letter-spacing:1.6px}.early-offer p{margin:4px 0 0;font-size:20px;line-height:1.25}.early-offer p strong{font-size:32px;font-weight:800}.early-offer p strong span{font-size:16px;font-weight:500}.offer-rule{display:flex;flex-direction:column;gap:5px}.offer-rule strong{font-size:17px}.offer-rule span{font-size:13px;color:#ffe4ce}.early-offer>a{border:1px solid #fff7e3;padding:11px 16px;border-radius:5px;font-size:14px;white-space:nowrap;font-weight:650}.early-offer>a:hover{background:#fff8ee;color:#923d25}.price-discount{display:inline-block;background:#f6d6b4;color:#833b22;border-radius:4px;padding:3px 8px}.compact-info details[open]{background:#fffdf8}.compact-info details[open]>summary{color:var(--wood)}thead{background:#315443}.private-callout{border-left:4px solid #a54429;color:#315443}.booking{background:#284637}.booking .light{background:#fff8ec;color:#284637}.booking .light:hover{background:#eee2cb}.light:hover{color:#284637}nav a{font-weight:600}.photo-button{border-radius:7px}@media(max-width:850px){.early-offer{flex-wrap:wrap;gap:16px}.early-offer>a{white-space:normal}}@media(max-width:650px){.early-offer{padding:18px;display:grid;grid-template-columns:1fr;gap:13px}.early-offer p strong{font-size:31px}.early-offer>a{justify-self:start;padding:9px 14px}.offer-rule strong{font-size:16px}.welcome-copy h1{font-size:32px}.start-price strong{font-size:26px}.offer-label{font-size:13px}.early-offer p{font-size:18px}}

.room-pricing{padding:25px 0 30px;border-top:1px solid var(--line)}.room-pricing h2{font-size:30px}.room-pricing>p{font-size:16px}.room-price-desc{display:block;font-size:14px;font-weight:400;color:var(--muted);white-space:normal;margin-top:4px}.room-price-offer{background:#f6d6b4;color:#833b22;padding:15px 18px;border-radius:6px}.room-privacy-note{color:var(--muted);font-size:14px!important}.early-offer .room-offer{font-size:16px;margin-top:9px}.early-offer .room-offer strong{font-size:23px}.early-offer .room-offer strong span{font-size:14px}@media(max-width:650px){.room-pricing h2{font-size:28px}.room-pricing th,.room-pricing td{white-space:normal;min-width:110px}.room-price-desc{font-size:13px}}

/* Lead with real villa photography. */
.welcome{padding-top:16px}.visual-overview{grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1fr);height:450px;margin-bottom:24px}.hero-photo{height:100%}.hero-photo img{object-position:center}.facade-photo img{object-fit:cover}.overview-grid{grid-column:auto}.welcome-copy{margin-bottom:18px}.tour-strip{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:30px;margin:20px 0}.tour-strip .villa-video{height:300px}.tour-strip h2{font-size:28px}.tour-strip p{color:var(--muted)}.extra-gallery{padding:20px 0 35px}.extra-gallery h2{font-size:30px}.extra-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.extra-gallery-grid .photo-button{height:240px}.extra-gallery-grid .photo-button:first-child{grid-column:span 2}.photo-navigation{display:flex;justify-content:center;gap:16px;padding:8px}.photo-navigation button{background:var(--wood);color:white;border:0;border-radius:5px;padding:10px 16px;font-size:14px}@media(max-width:800px){.visual-overview{grid-template-columns:1.4fr 1fr;height:auto}.hero-photo{grid-column:1/3;height:300px}.facade-photo{height:300px;aspect-ratio:auto}.overview-grid{grid-column:auto;grid-template-rows:145px 145px}.extra-gallery-grid{grid-template-columns:1fr 1fr}.extra-gallery-grid .photo-button{height:190px}.extra-gallery-grid .photo-button:first-child{height:240px}.tour-strip{grid-template-columns:160px 1fr;gap:18px}.tour-strip .villa-video{height:280px}}@media(max-width:650px){.visual-overview{gap:9px;margin-bottom:18px}.hero-photo{height:250px}.hero-photo>span{font-size:16px}.facade-photo{height:260px}.overview-grid{grid-template-rows:125px 126px;gap:9px}.overview-grid .photo-button>span{font-size:12px;padding:3px 5px;left:4px;bottom:4px}.welcome-copy h1{font-size:28px}.tour-strip h2{font-size:24px}.tour-strip p{font-size:14px}.extra-gallery-grid{gap:9px}.extra-gallery h2{font-size:27px}.extra-gallery .section-heading{display:block}.extra-gallery-grid .photo-button{height:155px}.extra-gallery-grid .photo-button>span{font-size:13px;padding:4px 6px}.extra-gallery .section-heading p{margin-top:8px}}

/* Clear, large photographs with all information below. */
.visual-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:16px}.visual-overview>.photo-button{height:auto;aspect-ratio:4/3;grid-column:auto}.visual-overview>.hero-photo{grid-column:1/-1;aspect-ratio:16/9}.visual-overview>.photo-button img{object-fit:cover}.visual-overview>.facade-photo{aspect-ratio:4/3}.room-photos .photo-button{height:auto;aspect-ratio:4/3}.view-media .view-photos{height:auto}.view-photos .photo-button{height:auto;aspect-ratio:4/3}.extra-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.extra-gallery-grid .photo-button,.extra-gallery-grid .photo-button:first-child{grid-column:auto;height:auto;aspect-ratio:4/3}.amenities-section,.location-section{padding:30px 0;border-top:1px solid var(--line)}.amenities-section h2,.location-section h2{font-size:30px}.amenities-section ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 35px;padding-left:22px}.location-section ul{padding-left:22px}.pricing-toggle{padding:25px 0}.price-toggle-button{display:block;background:var(--wood);color:white;padding:16px 24px;border-radius:7px;text-align:center;font-weight:700;font-size:18px;list-style:none}.price-toggle-button::-webkit-details-marker{display:none}.pricing-toggle>details{border:0;padding:0}.price-content{padding-top:20px}.price-content .room-pricing{width:100%}.welcome-copy{margin-top:24px}.room-heading>div{display:block}.room-heading p{margin-top:6px;font-size:14px}@media(max-width:650px){.visual-overview{gap:12px}.visual-overview>.hero-photo{aspect-ratio:4/3}.visual-overview>.photo-button{aspect-ratio:4/3}.room-photos{gap:12px}.room-photos .photo-button{height:auto;aspect-ratio:1/1}.view-photos{grid-template-columns:1fr 1fr;gap:12px}.extra-gallery-grid .photo-button{height:auto;aspect-ratio:1/1}.amenities-section ul{display:block}.amenities-section li{margin-bottom:10px}.rooms .section-heading{display:block}.rooms .section-heading>p{margin-top:8px;font-size:14px}.amenities-section h2,.location-section h2{font-size:28px}.room-heading p{font-size:14px}.photo-button>span{display:none}}

/* Named areas with two generous photos, matching room galleries. */
.space-gallery{padding:8px 0 20px}.space-group{padding:26px 0;border-top:1px solid var(--line)}.space-group h2{font-size:30px}.space-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.space-photos .photo-button{height:auto;aspect-ratio:4/3}.exterior-space{max-width:650px}.exterior-space .photo-button{aspect-ratio:1047/1536;height:auto}.exterior-space img{object-fit:contain}@media(max-width:650px){.space-group{padding:22px 0}.space-group h2{font-size:28px}.space-photos{gap:12px}.space-photos .photo-button{height:auto;aspect-ratio:1/1}}
