.main-content{flex:1}.section{padding:var(--spacing-3xl)0}@media (max-width:768px){.section{padding:var(--spacing-2xl)0}}.section-light{background-color:var(--light-bg);color:var(--dark-text)}.section-cream{background-color:var(--cream-bg);color:var(--dark-text)}.section-dark{background-color:var(--primary-color);color:var(--light-bg)}.hero{text-align:center;justify-content:center;align-items:center;min-height:300px;display:flex}.page-title{font-size:var(--text-5xl);margin-bottom:var(--spacing-lg);text-transform:uppercase;letter-spacing:.05em}.page-subtitle{font-size:var(--text-xl);color:var(--secondary-color);font-weight:300}.btn{padding:var(--spacing-md)var(--spacing-lg);border:2px solid var(--primary-color);border-radius:var(--radius-none);font-family:var(--font-body);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all var(--transition-base);text-align:center;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{text-decoration:none}.btn-primary{background-color:var(--primary-color);color:var(--light-bg);border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--secondary-color);border-color:var(--secondary-color)}.btn-secondary{color:var(--primary-color);border-color:var(--primary-color);background-color:#0000}.btn-secondary:hover{background-color:var(--primary-color);color:var(--light-bg)}.btn-accent{background-color:var(--accent-color);color:var(--light-bg);border-color:var(--accent-color)}.btn-accent:hover{background-color:#7a6347;border-color:#7a6347}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{margin-bottom:var(--spacing-sm);color:var(--dark-text);font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);color:var(--dark-text);background-color:var(--light-bg);transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #8b73551a}.form-group textarea{resize:vertical;font-family:var(--font-body)}.form-group.checkbox{align-items:center;display:flex}.form-group.checkbox input{width:auto;margin-right:var(--spacing-md)}.form-group.checkbox label{margin-bottom:0}.form-note{font-size:var(--text-sm);color:var(--secondary-color);margin-top:var(--spacing-lg)}.grid{gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.page-title{font-size:var(--text-3xl)}.page-subtitle{font-size:var(--text-base)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}}
:root{--primary-color:#1a1a1a;--secondary-color:#4a4a4a;--accent-color:#8b7355;--light-bg:#fff;--cream-bg:#faf9f7;--dark-text:#1a1a1a;--body-text:#4a4a4a;--border-color:#e8e6e3;--success:#2ecc71;--error:#e74c3c;--warning:#f39c12;--font-heading:"Cormorant Garamond",serif;--font-body:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Monaco","Menlo","Ubuntu Mono",monospace;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--lh-tight:1.2;--lh-normal:1.6;--lh-relaxed:1.8;--transition-fast:.15s ease-in-out;--transition-base:.25s ease-in-out;--transition-slow:.35s ease-in-out;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #0000001a;--radius-none:0;--radius-sm:.125rem;--radius-md:.25rem;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-2xl:1440px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--dark-text);background-color:var(--light-bg);flex-direction:column;min-height:100vh;display:flex}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:var(--lh-tight);margin-bottom:var(--spacing-lg)}h1{font-size:var(--text-4xl);letter-spacing:-.02em}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--spacing-lg);line-height:var(--lh-relaxed)}a{color:var(--accent-color);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-color);text-decoration:underline}ul,ol{margin-left:var(--spacing-xl);margin-bottom:var(--spacing-lg)}li{margin-bottom:var(--spacing-md);line-height:var(--lh-relaxed)}code,pre{font-family:var(--font-mono);font-size:.9em}code{background-color:var(--cream-bg);border-radius:var(--radius-sm);padding:.2em .4em}pre{background-color:var(--primary-color);color:var(--light-bg);padding:var(--spacing-lg);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);overflow-x:auto}pre code{color:inherit;background-color:#0000;padding:0}blockquote{border-left:4px solid var(--accent-color);padding-left:var(--spacing-lg);margin-bottom:var(--spacing-lg);color:var(--secondary-color);font-style:italic}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1200px;padding:0 var(--spacing-lg);margin:0 auto}.text-center{text-align:center}.text-muted{color:var(--secondary-color)}.mt-1{margin-top:var(--spacing-md)}.mt-2{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-md)}.mb-2{margin-bottom:var(--spacing-lg)}.hidden{display:none}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}
.navbar{background-color:var(--light-bg);border-bottom:1px solid var(--border-color);z-index:100;position:sticky;top:0}.navbar-container{padding:var(--spacing-md)var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.navbar-brand{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--primary-color);font-weight:600;text-decoration:none}.navbar-nav{gap:var(--spacing-lg);list-style:none;display:flex}.navbar-nav a{color:var(--dark-text);transition:color var(--transition-fast);font-weight:500}.navbar-nav a:hover,.navbar-nav a.active{color:var(--accent-color)}.navbar-toggle{cursor:pointer;padding:var(--spacing-sm);z-index:101;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.navbar-toggle-icon{background-color:var(--primary-color);width:25px;height:3px;transition:all var(--transition-base);border-radius:2px}.footer{background-color:var(--primary-color);color:var(--light-bg);padding:var(--spacing-3xl)0 var(--spacing-lg);margin-top:var(--spacing-3xl)}.footer a{color:var(--accent-color)}.footer a:hover{text-decoration:underline}.footer-grid{gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.footer-section h3{color:var(--light-bg);margin-bottom:var(--spacing-md)}.footer-section ul{margin:0;list-style:none}.footer-section li{margin-bottom:var(--spacing-sm)}.footer-bottom{padding-top:var(--spacing-lg);text-align:center;color:#ffffffb3;font-size:var(--text-sm);border-top:1px solid #ffffff1a}.gallery-grid{gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(2,1fr);display:grid}.gallery-item{border-radius:var(--radius-sm);box-shadow:var(--shadow-md);transition:transform var(--transition-base);background-color:var(--light-bg);flex-direction:column;display:flex;overflow:hidden}.gallery-item:hover{transform:scale(1.02)}.gallery-item img{object-fit:contain;background-color:var(--border-color);width:100%;height:auto;min-height:450px;padding:var(--spacing-lg);flex-shrink:0}.gallery-item h3{padding:var(--spacing-md)var(--spacing-lg);font-size:var(--text-lg);margin:0}.gallery-item p{padding:0 var(--spacing-lg)var(--spacing-lg);color:var(--secondary-color);font-size:var(--text-sm);margin:0}.contact-grid{gap:var(--spacing-2xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (max-width:768px){.contact-grid{grid-template-columns:1fr}}.contact-info h2,.contact-item{margin-bottom:var(--spacing-xl)}.contact-item h3{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md)}.contact-item p{color:var(--secondary-color);margin:0}.contact-form{flex-direction:column;display:flex}.contact-form .form-group{margin-bottom:var(--spacing-lg)}.contact-form label{margin-bottom:var(--spacing-sm);color:var(--dark-text);font-weight:600;display:block}.contact-form input,.contact-form textarea{width:100%;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-body);transition:border-color var(--transition-base)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-color);outline:none}.contact-form input.error,.contact-form textarea.error{border-color:#dc3545}.contact-form .error-message{color:#dc3545;font-size:var(--text-sm);margin-top:var(--spacing-xs);display:block}.contact-form button[type=submit]{margin-top:var(--spacing-md)}.contact-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.contact-form .submit-error{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--radius-sm);color:#842029;font-size:var(--text-sm);background-color:#f8d7da;border:1px solid #f5c2c7}.success-message-container{max-width:600px;padding:var(--spacing-2xl);text-align:center;background-color:var(--light-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);margin:0 auto}.success-icon{width:80px;height:80px;margin:0 auto var(--spacing-xl);color:#fff;background-color:#28a745;border-radius:50%;justify-content:center;align-items:center;font-size:3rem;font-weight:700;display:flex}.success-message-container h2{margin-bottom:var(--spacing-lg)}.success-text{margin-bottom:var(--spacing-md);color:var(--secondary-color)}.success-message-container .btn{margin-top:var(--spacing-xl)}.request-access-container{gap:var(--spacing-2xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (max-width:768px){.request-access-container{grid-template-columns:1fr}}.request-info h2{margin-bottom:var(--spacing-lg)}.request-info ol{margin-left:var(--spacing-lg)}.request-info li{margin-bottom:var(--spacing-lg)}.request-form{flex-direction:column;display:flex}.request-form h2{margin-bottom:var(--spacing-lg)}.request-form input.error,.request-form textarea.error,.request-form select.error{border-color:#dc3545}.request-form .error-message{color:#dc3545;font-size:var(--text-sm);margin-top:var(--spacing-xs);display:block}.request-form button[type=submit]{margin-top:var(--spacing-md)}.request-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.request-form .submit-error{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--radius-sm);color:#842029;font-size:var(--text-sm);background-color:#f8d7da;border:1px solid #f5c2c7}.features-grid{gap:var(--spacing-xl);margin-top:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.feature-card{padding:var(--spacing-lg);text-align:center}.feature-card h3{margin-bottom:var(--spacing-md)}.feature-card p{color:var(--secondary-color);margin-bottom:0}.benefits-grid{gap:var(--spacing-xl);margin-top:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.benefit-card{padding:var(--spacing-lg);background-color:var(--light-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.benefit-card h3{margin-bottom:var(--spacing-md)}.amenities-grid{gap:var(--spacing-xl);margin-top:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.amenity-card{padding:var(--spacing-lg);background-color:var(--light-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.amenity-card h3{margin-bottom:var(--spacing-md)}.amenity-card ul{margin-left:var(--spacing-lg)}.dashboard-grid{gap:var(--spacing-xl);margin-top:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.dashboard-card{padding:var(--spacing-lg);background-color:var(--cream-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.dashboard-card h2{font-size:var(--text-lg);margin-bottom:var(--spacing-md)}@media (max-width:768px){.navbar-toggle{display:flex}.navbar-nav{background-color:var(--light-bg);gap:var(--spacing-md);width:280px;height:100vh;padding:var(--spacing-3xl)var(--spacing-lg)var(--spacing-lg);transition:right var(--transition-base);flex-direction:column;position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-2px 0 10px #0000001a}.navbar-nav-open{right:0}.navbar-nav li{width:100%}.navbar-nav a{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);font-size:var(--text-lg);display:block}.gallery-grid,.benefits-grid,.amenities-grid,.dashboard-grid{grid-template-columns:1fr}}.availability-calendar{background-color:var(--light-bg);border:1px solid var(--border-color);padding:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.calendar-header{text-align:center;margin-bottom:var(--spacing-2xl)}.calendar-header h2{font-size:var(--text-3xl);margin-bottom:var(--spacing-sm)}.calendar-subtitle{color:var(--secondary-color);font-size:var(--text-lg);margin-bottom:0}.calendar-legend{justify-content:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl);padding:var(--spacing-lg);background-color:var(--cream-bg);border-radius:var(--radius-sm);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:var(--spacing-sm);display:flex}.legend-color{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:24px;height:24px}.legend-open{background-color:#fff}.legend-booked{background-color:#db7093}.legend-pending{background-color:gold}.legend-high-volume{background-color:#4682b4}.legend-label{font-size:var(--text-sm);color:var(--dark-text);font-weight:500}.calendar-months{margin-bottom:var(--spacing-xl)}.calendar-month-section{margin-bottom:var(--spacing-2xl)}.month-title{font-size:var(--text-2xl);color:var(--primary-color);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-color)}.calendar-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(60px,1fr));display:grid}.calendar-day{aspect-ratio:1;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;min-height:60px;display:flex;position:relative}.calendar-day:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.day-number{font-size:var(--text-lg);color:var(--dark-text);font-weight:600}.status-open{background-color:#fff}.status-booked{background-color:#db7093;border-color:#c9506b}.status-booked .day-number{color:#fff}.status-pending{background-color:gold;border-color:#e6c200}.status-pending .day-number{color:var(--dark-text)}.status-high-volume{background-color:#4682b4;border-color:#3a6d99}.status-high-volume .day-number{color:#fff}.is-today{border:2px solid var(--accent-color);box-shadow:0 0 0 2px #8b735533}.today-badge{font-size:var(--text-xs);text-transform:uppercase;color:var(--accent-color);letter-spacing:.05em;font-weight:700;position:absolute;bottom:2px}.calendar-note{padding:var(--spacing-lg);background-color:var(--cream-bg);border-left:4px solid var(--accent-color);border-radius:var(--radius-sm)}.calendar-note p{color:var(--secondary-color);font-size:var(--text-sm);margin-bottom:0}@media (max-width:768px){.availability-calendar{padding:var(--spacing-lg)}.calendar-legend{gap:var(--spacing-md);padding:var(--spacing-md)}.legend-item{font-size:var(--text-sm)}.calendar-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.calendar-day{min-height:50px}.day-number{font-size:var(--text-base)}.today-badge{font-size:.6rem}}@media (max-width:480px){.calendar-legend{flex-direction:column;align-items:flex-start}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{min-height:45px}}
