*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#d4a89a;--accent:#3b5b56;--accent-light:#4a7a73;--bg:#fff;--text:#2d3748;--text-heading:#3b5b56;--blush-bg:#faf3f0;--sage-light-bg:#eef4f2;--font-body:"Lato", sans-serif;--font-script:"Bonheur Royale", cursive;--font-heading:Georgia, "Times New Roman", serif;--shadow:0 4px 20px #00000014;--radius:8px;--max-width:1200px}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.85}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-heading);line-height:1.3}h1{font-size:3rem}h2{margin-bottom:1rem;font-size:2rem}h3{margin-bottom:.5rem;font-size:1.35rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.text-center{text-align:center}.section{padding:80px 0}.section-text{max-width:800px;margin:0 auto 1.5rem;font-size:1.05rem;line-height:1.8}.bg-blush{background:var(--blush-bg)}.bg-sage-light{background:var(--sage-light-bg)}.bg-sage{background:var(--accent);color:#fff}.bg-sage h2,.bg-sage li{color:#fff}.script{font-family:var(--font-script);color:var(--primary);font-size:1.4em}.script-text{font-family:var(--font-script);color:var(--accent);font-size:1.8rem}.btn{background:var(--accent);color:#fff;font-family:var(--font-body);letter-spacing:.5px;cursor:pointer;border:none;border-radius:4px;padding:12px 32px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .3s,transform .2s;display:inline-block}.btn:hover{background:var(--accent-light);opacity:1;transform:translateY(-1px)}.btn-sm{padding:8px 20px;font-size:.9rem}.btn-nav{border-radius:4px;padding:8px 20px;font-size:.85rem}.navbar{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;transition:box-shadow .3s;position:fixed;top:0;left:0;right:0}.navbar.scrolled{box-shadow:0 2px 20px #0000001a}.navbar-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:12px 24px;display:flex}.navbar-logo img{border-radius:50%;width:50px;height:50px}.nav-links{align-items:center;gap:24px;display:flex}.nav-links a{color:var(--text);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--accent);opacity:1}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;width:30px;height:24px;display:none;position:relative}.hamburger span{background:var(--accent);border-radius:2px;width:100%;height:3px;transition:all .3s;display:block;position:absolute;left:0}.hamburger span:first-child{top:0}.hamburger span:nth-child(2){top:10px}.hamburger span:nth-child(3){top:20px}.hamburger.open span:first-child{top:10px;transform:rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){top:10px;transform:rotate(-45deg)}.hero{background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100vh;margin-top:74px;display:flex;position:relative}.hero-short{min-height:50vh}.hero-mid{min-height:40vh;margin-top:0}.hero-overlay{background:#00000059;position:absolute;inset:0}.hero-content{z-index:1;text-align:center;color:#fff;padding:40px 24px;position:relative}.hero-content h1{color:#fff;text-shadow:0 2px 10px #0000004d;margin-bottom:1.5rem;font-size:3.2rem}.hero-content .btn{padding:14px 40px;font-size:1.1rem}.two-col{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.two-col.reverse{direction:rtl}.two-col.reverse>*{direction:ltr}.col-img img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%}.col-text p{margin-bottom:1rem;font-size:1.05rem}.card-grid{gap:30px;margin-top:2rem;display:grid}.card-grid.three-col{grid-template-columns:repeat(3,1fr)}.card-grid.two-col{grid-template-columns:repeat(2,1fr)}.card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;transition:transform .3s,box-shadow .3s;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.card img{object-fit:cover;width:100%;height:220px}.card-body{padding:24px}.card-body h3{margin-bottom:.5rem;font-size:1.15rem}.card-body p{color:#555;margin-bottom:1rem;font-size:.95rem}.card-horizontal{grid-template-columns:280px 1fr;display:grid}.card-horizontal img{height:100%;min-height:220px}.explore-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:28px;transition:transform .3s}.explore-card:hover{transform:translateY(-3px)}.explore-card h3{color:var(--accent);margin-bottom:.4rem}.explore-card p{color:#555;font-size:.95rem}.photo-row{gap:20px;margin-top:2rem;display:grid}.photo-row-2{grid-template-columns:1fr 1fr}.photo-row-3{grid-template-columns:1fr 1fr 1fr}.photo-row img{object-fit:cover;border-radius:var(--radius);width:100%;height:300px;box-shadow:var(--shadow)}.details-grid{grid-template-columns:1fr 1fr;gap:40px;margin-top:1.5rem;display:grid}.details-grid ul{padding:0;list-style:none}.details-grid li{border-bottom:1px solid #fff3;padding:8px 0;font-size:1.05rem}.amenities-list{max-width:700px;margin:0 auto;font-size:1.1rem;line-height:2}.policy-container{max-width:700px;margin:0 auto}.policy-list{margin-top:1.5rem;padding:0;list-style:none}.policy-list li{border-bottom:1px solid #eee;padding:12px 0;font-size:1.05rem}.checkin-grid{grid-template-columns:1fr 1fr;gap:40px;max-width:600px;margin:0 auto;display:grid}.checkin-card{text-align:center;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:40px}.checkin-time{color:var(--accent);margin-top:.5rem;font-size:1.5rem;font-weight:700}.review-form-wrap{text-align:center;max-width:600px;margin:0 auto}.review-form-wrap h2,.review-form-wrap p{margin-bottom:1rem}.review-tagline{font-family:var(--font-script);color:var(--accent);font-size:1.5rem;margin-bottom:2rem!important}.review-form{text-align:left;flex-direction:column;gap:1.2rem;display:flex}.review-form label{color:var(--text-heading);flex-direction:column;gap:4px;font-size:.95rem;font-weight:600;display:flex}.review-form input,.review-form select,.review-form textarea{font-family:var(--font-body);border:1px solid #ccc;border-radius:4px;padding:10px 14px;font-size:1rem;transition:border-color .2s}.review-form input:focus,.review-form select:focus,.review-form textarea:focus{border-color:var(--accent);outline:none}.review-thanks{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-top:1rem;padding:30px}.review-thanks p{color:var(--accent);font-size:1.1rem;font-weight:700}.site-footer{background:var(--accent);color:#ffffffe6;text-align:center;padding:50px 0 30px}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.footer-logo img{max-width:200px;margin:0 auto 1.5rem}.footer-links{margin-bottom:1.5rem}.footer-links a{color:#ffffffe6;margin:0 4px;font-size:.9rem}.footer-links a:hover{color:var(--primary);opacity:1}.footer-sep{color:#fff6;margin:0 4px}.footer-instagram{margin-bottom:1rem}.footer-instagram a{color:var(--primary);font-weight:700}.footer-copyright{color:#fff9;font-size:.85rem}.footer-copyright a{color:#ffffffb3}@media (width<=1024px){.card-grid.three-col{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hamburger{display:block}.nav-links{background:#fff;flex-direction:column;align-items:flex-start;gap:16px;width:280px;height:100vh;padding:80px 30px 30px;transition:right .3s;position:fixed;top:0;right:-100%;box-shadow:-4px 0 20px #0000001a}.nav-links.open{right:0}h1{font-size:2rem}.hero{min-height:70vh}.hero-short{min-height:40vh}.hero-content h1{font-size:2.2rem}.section{padding:50px 0}.two-col{grid-template-columns:1fr;gap:30px}.two-col.reverse{direction:ltr}.card-grid.three-col,.card-grid.two-col,.card-horizontal{grid-template-columns:1fr}.card-horizontal img{height:200px}.photo-row-2,.photo-row-3{grid-template-columns:1fr}.photo-row img{height:250px}.details-grid,.checkin-grid{grid-template-columns:1fr;gap:20px}h2{font-size:1.6rem}}@media (width<=480px){.hero-content h1{font-size:1.7rem}.section{padding:40px 0}}
