*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#223b31;background:#f9f7f1;font-family:'DM Sans',Arial,sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}h2{font-size:clamp(2.4rem,5vw,4.7rem);line-height:1.13}em{font-weight:400}p{line-height:1.8}.top{height:94px;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;position:relative;z-index:5;background:#f9f7f1}.brand img{width:190px;height:74px;object-fit:contain}.top nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.top nav a:hover,.text-link:hover{color:#a77448}.nav-book{background:#244b3d;color:#fff;padding:16px 20px}.top nav .nav-book:hover{color:#fff;background:#34644e}.menu-toggle{display:none}.hero{height:min(790px,86vh);min-height:580px;position:relative;color:#fff;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background:url('assets/hero.webp') center 48%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,29,22,.79),rgba(10,29,22,.3) 67%,rgba(10,29,22,.08))}.hero-content{position:relative;padding:6%;max-width:900px}.eyebrow{display:block;color:#9c6a43;letter-spacing:.21em;font-size:11px;font-weight:700;margin-bottom:25px}.eyebrow.light{color:#e3c8a6}.hero h1{font-size:clamp(3.3rem,7vw,7rem);line-height:1.08;margin-bottom:22px}.hero p{max-width:470px;font-size:17px;color:#eee}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-block;padding:18px 25px;font-size:13px;font-weight:700;letter-spacing:.02em}.btn.primary{background:#b78358;color:#fff}.btn.primary:hover{background:#9c6a43}.btn.outline{border:1px solid #fff;color:#fff}.hero-bottom{position:absolute;bottom:25px;left:6%;font-size:10px;letter-spacing:.2em}.hero-bottom span{padding:0 14px}.section{padding:110px 7%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.intro-copy{font-size:16px;color:#56645c}.text-link{display:inline-block;font-size:13px;font-weight:700;color:#8b5a38;border-bottom:1px solid #a77448;padding-bottom:8px;margin-top:14px}.feature{display:grid;grid-template-columns:1.1fr .9fr;background:#eae9dd}.feature-img img{width:100%;height:620px;object-fit:cover}.feature-text{padding:14% 13%;align-self:center}.feature-text p{color:#56645c}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head p{max-width:300px;color:#66746b}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.stay-card{background:#fff}.stay-card img{width:100%;height:370px;object-fit:cover}.stay-info{padding:32px}.stay-info .eyebrow{margin-bottom:13px}.stay-info h3{font-size:30px;margin-bottom:12px}.stay-info p{color:#67736b;font-size:14px}.small-note{color:#7a847c;font-size:12px;margin-top:20px}.experience{background:linear-gradient(rgba(13,40,31,.73),rgba(13,40,31,.8)),url('assets/evening.webp') center/cover;color:#fff;padding:120px 7%;text-align:center}.experience h2{margin-bottom:35px}.amenities{max-width:820px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;font-size:13px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:230px 230px;gap:12px}.gallery-item{border:0;padding:0;overflow:hidden;cursor:pointer;background:#ddd}.gallery-item.large{grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.05)}.cta{text-align:center;background:#1c4536;color:#fff;padding:100px 20px}.cta p{max-width:520px;margin:0 auto 30px;color:#d9e3db}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.contact p{color:#657169}.contact-img img{height:430px;width:100%;object-fit:cover}footer{background:#112d24;color:#e5e6df;padding:60px 7% 25px}.footer-top{text-align:center}.footer-top img{width:220px;margin:0 auto 15px}.footer-top p{font-family:Georgia,serif;font-style:italic}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #466255;padding-top:25px;margin-top:50px;font-size:11px;color:#bfcac2}.floating-wa{position:fixed;right:20px;bottom:20px;background:#257c54;color:#fff;padding:15px 20px;border-radius:40px;font-size:13px;font-weight:700;z-index:10;box-shadow:0 5px 20px #0003}dialog{border:0;padding:12px;background:#fff;max-width:min(94vw,1100px);max-height:90vh}dialog::backdrop{background:#000c}dialog img{max-height:80vh;margin:auto}#close-lightbox{float:right;font-size:30px;background:none;border:0;cursor:pointer}@media(max-width:850px){.top{height:78px}.brand img{width:145px}.menu-toggle{display:block;background:none;border:0;font-size:27px;color:#244b3d}.top nav{display:none;position:absolute;top:78px;left:0;right:0;background:#f9f7f1;padding:25px;flex-direction:column;align-items:stretch;gap:18px}.top nav.open{display:flex}.hero{min-height:590px;height:76vh}.hero-content{padding:7%}.hero-bottom{font-size:8px;line-height:2}.section{padding:70px 6%}.intro,.feature,.contact{grid-template-columns:1fr}.feature-img img{height:360px}.feature-text{padding:60px 7%}.section-head{display:block}.stay-card img{height:250px}.amenities{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-rows:170px 170px}.footer-bottom{flex-direction:column}}@media(max-width:560px){.hero h1{font-size:3.35rem}.hero p{font-size:15px}.hero-bottom{max-width:90%}.stay-grid{grid-template-columns:1fr}.amenities{grid-template-columns:1fr;gap:18px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,170px)}.gallery-item.large{grid-column:span 2;grid-row:span 1}.section-head h2{margin-bottom:15px}.floating-wa{right:12px;bottom:12px}}
.enquiry{background:#eeeee6}.enquiry form{background:#fff;padding:clamp(22px,4vw,52px);box-shadow:0 12px 40px #12322412}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{font-size:13px;font-weight:700;color:#284638;display:flex;flex-direction:column;gap:9px}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:14px 15px;font:inherit;font-weight:400;border:1px solid #cad3cb;background:#fcfcf9;border-radius:2px;color:#223b31}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:2px solid #b78358;outline-offset:1px}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.form-actions button{border:0;cursor:pointer;font-family:inherit}.btn.secondary{background:#257c54;color:white}.form-note{font-size:12px;color:#617168}.social-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:22px;font-size:13px}.social-links a{text-decoration:underline;text-underline-offset:4px}.social-pending{color:#718077}.footer-social{justify-content:center}.footer-social span{opacity:.65}.gallery-grid{grid-template-rows:repeat(3,230px)}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.gallery-grid{grid-template-rows:repeat(5,170px)}}

/* Resort facilities icon grid */
.facility-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:35px}.facility-item{display:flex;align-items:center;flex-direction:column;text-align:center;gap:12px;color:#234637;font-size:13px;font-weight:600}.facility-icon{width:66px;height:66px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#edf1e9;color:#315a45;font-size:29px;font-weight:400}@media(max-width:900px){.facility-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.facility-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 8px}.facility-icon{width:58px;height:58px}}

/* Circular reference-style amenity artwork and uniform social logos */
.facility-icon{width:74px;height:74px;object-fit:contain;border-radius:50%;background:transparent;flex-shrink:0}.cook-symbol{display:flex;align-items:center;justify-content:center;background:#00421d}.social-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:inherit}.social-links svg{width:28px;height:28px;display:block}.social-links a:hover{opacity:.7}@media(max-width:600px){.facility-icon{width:62px;height:62px}}

/* Complete amenities icon grid */
.facilities .facility-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:24px 10px}
.facilities .facility-item{min-width:0;line-height:1.4}
.facilities .facility-icon{width:70px;height:70px;object-fit:contain;border-radius:50%;background:transparent}
.facilities .cook-symbol{background:#064522;display:flex;align-items:center;justify-content:center}
@media(max-width:1000px){.facilities .facility-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:540px){.facilities .facility-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px}.facilities .facility-icon{width:60px;height:60px}}

.footer-page-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding:14px 20px 25px}.footer-page-links a{color:inherit;text-decoration:none;font-size:.95rem}.footer-page-links a:hover{text-decoration:underline}

/* Full-width resort photo stories */
.photo-stories{display:grid;grid-template-columns:1fr;gap:14px;background:#14241a;padding:14px 0}
.photo-story{position:relative;min-height:clamp(440px,62vw,760px);overflow:hidden;isolation:isolate}
.photo-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.photo-story::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,13,.77),rgba(8,22,13,.28) 60%,rgba(8,22,13,.10));z-index:-1}
.photo-story-overlay{position:absolute;left:clamp(24px,8vw,150px);bottom:clamp(40px,9vw,125px);max-width:680px;color:#fff;padding-right:24px}
.photo-story-overlay h2{font-size:clamp(2.7rem,6vw,5.7rem);line-height:1.08;margin:16px 0 20px;color:#fff}
.photo-story-overlay h2 em{font-weight:400}
.photo-story-overlay p{font-size:clamp(1rem,1.6vw,1.28rem);line-height:1.6;color:#f3f1e9;max-width:520px}
@media(max-width:650px){.photo-story{min-height:530px}.photo-story::after{background:linear-gradient(0deg,rgba(8,22,13,.86),rgba(8,22,13,.08) 85%)}.photo-story-overlay{bottom:45px;left:24px}.photo-story>img{object-position:center}}

/* East Village Resort Photo Watermark */

.gallery-item,
.hero {
  position: relative;
}

.gallery-item::after,
.hero::after {
  content: "© East Village Resort";
  position: absolute;
  bottom: 15px;
  right: 15px;
  padding: 6px 10px;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(0, 0, 0, 0.30);
  font-size: 13px;
  font-weight: 500;
  border-radius: 4px;
  pointer-events: none;
  z-index: 5;
}
