:root{--forest-dark: #1B3A2D;--forest-mid: #2D5A3D;--forest-pine: #4A7C59;--forest-sage: #6B7D6A;--forest-cream: #F5F0E8;--forest-mist: #DDE8DC;--forest-light: #EAE5D8;--serif: "DM Serif Display", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--forest-dark);background:var(--forest-cream);line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}.nav{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:28px 48px;color:#fff}.brand{font-family:var(--serif);font-size:32px;letter-spacing:.3px}.nav-links{display:flex;gap:36px;font-size:18px;letter-spacing:.3px}.nav-links a{color:inherit;text-decoration:none;opacity:.92;transition:opacity .2s}.nav-links a:hover{opacity:1}.nav-cta{font-size:12px;padding:10px 22px;background:#fffffff2;color:var(--forest-dark);border-radius:999px;text-decoration:none;font-weight:500;letter-spacing:.4px}.nav-right{display:flex;align-items:center;gap:28px}.lang-switcher{position:relative;font-family:var(--sans)}.lang-current{display:inline-flex;align-items:center;gap:7px;background:transparent;border:.5px solid rgba(255,255,255,.45);color:inherit;font-family:var(--sans);font-size:16px;font-weight:500;letter-spacing:.4px;padding:9px 16px 9px 18px;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.lang-current:hover{background:#ffffff1a;border-color:#fffc}.lang-current svg{transition:transform .2s}.lang-switcher.open .lang-current svg{transform:rotate(180deg)}.lang-list{position:absolute;top:calc(100% + 8px);right:0;list-style:none;margin:0;padding:6px;min-width:180px;background:#fff;border-radius:10px;box-shadow:0 12px 36px #1b3a2d33;display:none;z-index:20}.lang-switcher.open .lang-list{display:block}.lang-link{display:block;padding:10px 16px;font-size:15px;color:var(--forest-dark);text-decoration:none;border-radius:6px}.lang-link:hover{background:var(--forest-mist)}.lang-link.active{background:var(--forest-dark);color:var(--forest-cream)}.hero{position:relative;min-height:94vh;background:#1b3a2d url(/images/hero.jpg) center/cover no-repeat;display:flex;align-items:flex-end;color:#fff;padding:60px 48px 100px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1b3a2d73,#1b3a2d0d 28% 55%,#1b3a2dc7)}.hero-content{position:relative;z-index:1;max-width:680px}.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:22px;font-weight:500;opacity:.92}.hero-title{font-family:var(--serif);font-size:76px;line-height:1.02;margin-bottom:18px;letter-spacing:-.5px}.hero-sub{font-size:20px;line-height:1.55;max-width:540px;opacity:.95}.cta-card{background:#fff;margin:-56px 48px 0;position:relative;z-index:5;border-radius:14px;padding:32px 40px;display:flex;align-items:center;justify-content:space-between;gap:40px;box-shadow:0 20px 60px #1b3a2d26}.cta-eyebrow{font-family:var(--serif);font-size:32px;color:var(--forest-dark);line-height:1.2;margin-bottom:6px}.cta-text p{font-size:14px;color:var(--forest-sage);line-height:1.5;max-width:480px;margin:0}.field-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--forest-pine);margin-bottom:8px;font-weight:500;display:block}.book-btn{background:var(--forest-dark);color:var(--forest-cream);border:none;padding:16px 32px;border-radius:8px;font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;transition:background .2s}.book-btn:hover{background:var(--forest-mid)}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:90px 48px 70px;max-width:1280px;margin:0 auto;gap:36px}.stat{border-left:.5px solid rgba(27,58,45,.18);padding-left:24px}.stat:first-child{border-left:0;padding-left:0}.stat-num{font-family:var(--serif);font-size:52px;line-height:1;margin-bottom:12px;color:var(--forest-dark)}.stat-lbl{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--forest-pine);font-weight:500}section{padding:90px 48px}.container{max-width:1280px;margin:0 auto}.section-eyebrow{font-size:12px;letter-spacing:3px;color:var(--forest-pine);margin-bottom:20px;text-transform:uppercase;font-weight:500}.section-title{font-family:var(--serif);font-size:54px;color:var(--forest-dark);line-height:1.05;margin-bottom:28px;letter-spacing:-.4px}.section-intro{font-size:16px;color:var(--forest-mid);line-height:1.7;max-width:560px}.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:88px;align-items:center}.about-img{width:100%;height:580px;object-fit:cover;border-radius:10px}.about-text p{color:var(--forest-mid);font-size:16px;margin-bottom:16px;line-height:1.7}.gallery-section{background:var(--forest-mist)}.gallery-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;gap:20px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:280px 280px;gap:16px}.g-tile{overflow:hidden;border-radius:8px;display:block;height:100%}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1)}.g-tile:hover img{transform:scale(1.06)}.surroundings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px}.surr-item img{width:100%;height:240px;object-fit:cover;border-radius:8px;margin-bottom:20px}.surr-title{font-family:var(--serif);font-size:24px;color:var(--forest-dark);margin-bottom:8px;line-height:1.2}.surr-desc{font-size:14px;color:var(--forest-sage);line-height:1.6}.amenities-section{background:var(--forest-dark);color:var(--forest-cream);position:relative;overflow:hidden}.amenities-section:before{content:"";position:absolute;top:-100px;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(74,124,89,.18) 0%,transparent 70%);pointer-events:none}.amenities-section .section-eyebrow{color:#f5f0e8b3}.amenities-section .section-title{color:var(--forest-cream)}.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px;margin-top:56px;position:relative}.amenity-icon{width:44px;height:44px;margin-bottom:24px;opacity:.9;stroke:var(--forest-cream)}.amenity-title{font-family:var(--serif);font-size:24px;margin-bottom:10px;line-height:1.2}.amenity-desc{font-size:14px;color:#f5f0e8b8;line-height:1.6}.reviews-section{background:var(--forest-cream)}.reviews-grid{display:flex;flex-wrap:wrap;gap:28px;margin-top:48px;justify-content:center}.review-card{background:#fff;border:.5px solid rgba(27,58,45,.1);border-radius:10px;padding:32px 28px;position:relative;flex:0 1 calc((100% - 84px)/4);min-width:240px;box-sizing:border-box}.review-quote-mark{font-family:var(--serif);font-size:56px;line-height:1;color:var(--forest-mist);position:absolute;top:20px;right:28px}.review-quote{font-size:15px;color:var(--forest-mid);line-height:1.7;margin-bottom:28px;font-style:italic}.review-author{font-family:var(--serif);font-size:20px;color:var(--forest-dark);line-height:1.2}.review-country{font-size:13px;color:var(--forest-sage);margin-top:4px;letter-spacing:.3px}.rules-section{background:var(--forest-light)}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 60px;margin-top:40px;max-width:920px}.rule{display:flex;gap:18px;padding:14px 0;border-bottom:.5px solid rgba(27,58,45,.12)}.rule-num{font-family:var(--serif);color:var(--forest-pine);font-size:18px;min-width:24px}.rule-text{font-size:14px;color:var(--forest-mid);line-height:1.6}.booking-section{background:var(--forest-mist)}.booking-section .container{text-align:center}.booking-form{background:#fff;padding:52px 56px;border-radius:14px;max-width:760px;margin:48px auto 0;text-align:left;box-shadow:0 20px 60px #1b3a2d1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}.form-field{width:100%}.form-field label{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--forest-pine);margin-bottom:10px;font-weight:500}.form-field input,.form-field textarea,.form-field select{width:100%;border:.5px solid rgba(27,58,45,.2);border-radius:8px;padding:14px 16px;font-family:var(--sans);font-size:14px;color:var(--forest-dark);background:var(--forest-cream);transition:border-color .2s,background .2s}.form-field input[readonly]{cursor:pointer}.form-field input[readonly]:focus{background:#fff}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--forest-pine);background:#fff}.form-field textarea{resize:vertical;min-height:90px}footer{background:var(--forest-dark);color:var(--forest-cream);padding:72px 48px 36px;text-align:center}footer .brand{display:block;margin-bottom:28px;font-size:28px}footer .contact{font-size:14px;opacity:.85;line-height:1.8}footer .contact a{color:inherit;text-decoration:none;border-bottom:.5px solid rgba(245,240,232,.3);padding-bottom:1px}footer .socials{margin-top:24px;display:flex;gap:18px;justify-content:center}footer .socials a{color:var(--forest-cream);opacity:.7;transition:opacity .2s}footer .socials a:hover{opacity:1}footer .copyright{font-size:11px;opacity:.5;margin-top:44px;letter-spacing:.5px}.flatpickr-calendar{font-family:var(--sans);background:#fff;border:.5px solid rgba(27,58,45,.12);border-radius:10px;box-shadow:0 16px 48px #1b3a2d2e}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-months .flatpickr-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{color:var(--forest-dark);font-family:var(--serif);font-weight:400}.flatpickr-current-month{font-size:17px;padding-top:6px}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{color:var(--forest-pine);fill:var(--forest-pine)}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--forest-dark)}.flatpickr-weekday{color:var(--forest-pine);font-weight:500;font-size:11px;letter-spacing:1px;text-transform:uppercase}.flatpickr-day{color:var(--forest-dark);border-radius:6px;font-weight:400}.flatpickr-day:hover{background:var(--forest-mist);border-color:var(--forest-mist)}.flatpickr-day.today{border-color:var(--forest-pine)}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover{background:var(--forest-dark);border-color:var(--forest-dark);color:var(--forest-cream)}.flatpickr-day.inRange,.flatpickr-day.inRange:hover{background:var(--forest-mist);border-color:var(--forest-mist);box-shadow:-5px 0 0 var(--forest-mist),5px 0 0 var(--forest-mist);color:var(--forest-dark)}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:#1b3a2d40;background:transparent}.map-section{background:var(--forest-cream);padding-bottom:100px}.map-wrap{margin-top:44px;border-radius:12px;overflow:hidden;border:.5px solid rgba(27,58,45,.12);box-shadow:0 16px 50px #1b3a2d1a}#map{height:520px;width:100%;background:var(--forest-mist)}.map-legend{display:flex;flex-wrap:wrap;gap:24px;margin-top:28px;font-size:13px;color:var(--forest-mid)}.legend-item{display:flex;align-items:center;gap:8px}.legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.legend-dot.primary{background:#b85c38}.legend-dot.secondary{background:var(--forest-dark)}.map-pin{background:var(--forest-dark);width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid var(--forest-cream);box-shadow:0 4px 12px #00000040}.map-pin.primary{background:#b85c38;width:36px;height:36px}.leaflet-popup-content-wrapper{background:#fff;border-radius:8px;box-shadow:0 8px 24px #1b3a2d2e}.leaflet-popup-content{font-family:var(--sans);font-size:13px;color:var(--forest-dark);margin:12px 16px}.leaflet-popup-content strong{font-family:var(--serif);font-size:16px;font-weight:400;display:block;margin-bottom:2px}.leaflet-popup-tip{background:#fff}.leaflet-container a.leaflet-popup-close-button{color:var(--forest-sage)}.scroll-top{position:fixed;right:28px;bottom:28px;width:52px;height:52px;border-radius:50%;background:var(--forest-dark);color:var(--forest-cream);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 28px #1b3a2d47;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s,background .2s;z-index:30}.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-top:hover{background:var(--forest-mid)}.scroll-top:focus-visible{outline:2px solid var(--forest-pine);outline-offset:3px}@media (max-width: 960px){.nav{padding:20px 24px}.nav-links{display:none}.hero{padding:100px 24px 80px;min-height:80vh}.hero-title{font-size:44px}.hero-sub{font-size:15px}.cta-card{flex-direction:column;margin:-30px 16px 0;padding:24px;gap:18px;align-items:flex-start}.cta-card .book-btn{width:100%}.cta-eyebrow{font-size:26px}.stats{grid-template-columns:repeat(2,1fr);padding:60px 24px 40px;gap:28px 24px}.stat:nth-child(3){border-left:0;padding-left:0}section{padding:60px 24px}.section-title{font-size:36px}.about-grid{grid-template-columns:1fr;gap:40px}.about-img{height:360px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}.surroundings-grid{grid-template-columns:1fr 1fr;gap:20px}.surr-item img{height:180px}.amenities-grid{grid-template-columns:repeat(2,1fr);gap:32px}.reviews-grid{gap:18px}.review-card{flex:1 1 100%;min-width:0;padding:28px}.rules-grid{grid-template-columns:1fr;gap:0}.form-row{grid-template-columns:1fr}.booking-form{padding:36px 24px}#map{height:360px}.map-legend{gap:14px;font-size:12px}.scroll-top{width:46px;height:46px;right:18px;bottom:18px}}
