@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap";:root{--green-950:#0d1f05;--green-900:#1a3d0a;--green-800:#2d5016;--green-700:#3a6b1e;--green-600:#4a7c26;--green-500:#5c9130;--green-400:#72ab42;--green-300:#93c462;--green-200:#b8d98a;--green-100:#ddf0bb;--green-50:#f2fce8;--gold:#c8a951;--gold-light:#e8c96a;--gold-dark:#a88a35;--ivory:#fefdf8;--cream:#faf8f0;--beige:#f5f0e8;--sand:#ede8dc;--brown:#6b4c2a;--brown-light:#8b6547;--gray-900:#111827;--gray-800:#1f2937;--gray-700:#374151;--gray-600:#4b5563;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--shadow-sm:0 1px 2px #0000000a;--shadow:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f;--shadow-xl:0 16px 48px #00000029;--radius-sm:8px;--radius:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-2xl:32px;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--transition:all .25s cubic-bezier(.4,0,.2,1);--transition-slow:all .4s cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--ivory);color:var(--gray-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:var(--font-serif);color:var(--green-800);font-weight:600;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3.5vw,2.5rem)}h3{font-size:clamp(1.2rem,2.5vw,1.8rem)}p{line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-sans)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--green-300);border-radius:99px}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}@media (width>=768px){.container{padding:0 2rem}}@media (width>=1280px){.container{padding:0 3rem}}.section{padding:5rem 0}@media (width<=768px){.section{padding:3rem 0}}.section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:inline-flex}.section-label:before,.section-label:after{content:"";background:var(--gold);width:2rem;height:1px}.section-title{font-family:var(--font-serif);color:var(--green-800);margin-bottom:1rem}.section-subtitle{color:var(--gray-600);max-width:600px;font-size:1.05rem}.btn{letter-spacing:.02em;transition:var(--transition);white-space:nowrap;border:none;border-radius:999px;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--green-800);color:#fff;box-shadow:0 4px 14px #2d50164d}.btn-primary:hover:not(:disabled){background:var(--green-700);transform:translateY(-1px);box-shadow:0 6px 20px #2d501666}.btn-secondary{color:var(--green-800);border:2px solid var(--green-800);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--green-50);transform:translateY(-1px)}.btn-gold{background:var(--gold);color:#fff;box-shadow:0 4px 14px #c8a95159}.btn-gold:hover:not(:disabled){background:var(--gold-dark);transform:translateY(-1px)}.btn-white{color:var(--green-800);box-shadow:var(--shadow-md);background:#fff}.btn-white:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-sm{padding:.5rem 1.25rem;font-size:.8rem}.btn-lg{padding:1rem 2.5rem;font-size:1rem}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--gray-700);font-size:.85rem;font-weight:600}.form-input{border:1.5px solid var(--gray-200);border-radius:var(--radius);width:100%;font-size:.95rem;font-family:var(--font-sans);color:var(--gray-800);transition:var(--transition);background:#fff;outline:none;padding:.75rem 1rem}.form-input:focus{border-color:var(--green-600);box-shadow:0 0 0 3px #4a7c261a}.form-input::placeholder{color:var(--gray-400)}.form-input.error{border-color:#ef4444}.form-error{color:#ef4444;font-size:.8rem}.card{border-radius:var(--radius-xl);box-shadow:var(--shadow);transition:var(--transition);background:#fff;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-green{background:var(--green-100);color:var(--green-800)}.badge-gold{color:#92400e;background:#fef3c7}.badge-red{color:#991b1b;background:#fee2e2}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.badge-blue{color:#1e40af;background:#dbeafe}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s infinite shimmer}.divider{color:var(--gray-400);align-items:center;gap:1rem;margin:1.25rem 0;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--gray-200);flex:1;height:1px}.amenity-pill{background:var(--green-50);color:var(--green-800);border:1px solid var(--green-100);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:500;display:inline-flex}.page-header{background:linear-gradient(135deg, var(--green-900), var(--green-800));color:#fff;text-align:center;padding:5rem 0 3rem}.page-header h1{color:#fff}.page-header p{color:#ffffffbf}.stars{color:var(--gold);gap:2px;display:inline-flex}.mobile-overlay{z-index:998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:fixed;inset:0}:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{animation:.4s fadeIn}.slide-up{animation:.5s slideUp}.scale-in{animation:.3s scaleIn}@media print{header,footer,nav,.no-print{display:none!important}body{background:#fff!important}}
