.layout{min-height:100vh;display:flex;flex-direction:column}.header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 3rem;background:#f3ede4f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-brown);transition:var(--transition)}.logo{font-family:var(--font-display);font-size:1.5rem;font-weight:500;letter-spacing:.05em;transition:color var(--transition)}.logo:hover{color:var(--color-accent)}.nav{display:flex;gap:2.5rem}.nav-link{font-size:.9rem;font-weight:400;letter-spacing:.03em;color:var(--color-text-muted);transition:color var(--transition);position:relative}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--color-accent);transition:width var(--transition)}.nav-link:hover,.nav-link.active{color:var(--color-text)}.nav-link:hover:after,.nav-link.active:after{width:100%}.main{flex:1;padding-top:80px}.footer{padding:2rem 3rem;text-align:center;background:var(--color-bg-brown);border-top:1px solid var(--color-border-brown);color:var(--color-text-muted);font-size:.85rem}@media (max-width: 768px){.header{flex-direction:column;gap:1rem;padding:1rem}.nav{gap:1.5rem}.footer{padding:1.5rem 1rem}}.home{overflow-x:hidden}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 80px);align-items:center;gap:4rem;padding:4rem 3rem;max-width:1400px;margin:0 auto}.hero-content{animation:fadeInUp .8s ease-out}.hero-title{font-family:var(--font-display);color:var(--color-accent);font-size:clamp(2.5rem,5vw,4rem);line-height:1.15;margin-bottom:1.5rem;font-weight:300}.hero-title em{font-style:italic;color:var(--color-accent)}.hero-subtitle{font-family:var(--font-display);font-size:1.15rem;color:var(--color-text);margin-bottom:2.5rem;max-width:400px}.hero-cta{display:flex;gap:1rem}.hero-cta .btn-primary{background:var(--color-accent);color:var(--color-cream);font-weight:600}.hero-cta .btn-primary:hover{background:var(--color-accent-hover);color:var(--color-cream);transform:translateY(-2px)}.btn{display:inline-block;padding:.9rem 1.8rem;font-family:var(--font-body);font-size:.95rem;font-weight:500;letter-spacing:.05em;border-radius:2px;transition:all var(--transition);cursor:pointer;border:none}.btn-primary{background:var(--color-accent);color:var(--color-cream)}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-2px)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.hero-image{position:relative;overflow:hidden;animation:fadeIn 1s ease-out .3s both}.hero-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(122,132,80,.15) 0%,transparent 50%);z-index:1;pointer-events:none}.hero-image img{width:100%;height:500px;object-fit:cover}.preview{padding:6rem 3rem;max-width:1400px;margin:0 auto}.preview h2{font-size:2rem;font-weight:400;margin-bottom:3rem;text-align:center}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.preview-card{position:relative;overflow:hidden;aspect-ratio:4/5;display:block}.preview-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.preview-card:hover img{transform:scale(1.08)}.preview-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:1rem 1.5rem;text-align:center;background:var(--color-cream);color:var(--color-accent);font-family:var(--font-display);font-size:1.5rem;font-weight:500;text-transform:lowercase;transition:var(--transition);width:max-content;max-width:90%}.cta-section{text-align:center;padding:6rem 3rem;background:#7a84501f;border-top:1px solid var(--color-border)}.cta-section h2{font-size:2rem;font-weight:400;margin-bottom:.75rem}.cta-section p{color:var(--color-text-muted);margin-bottom:2rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 968px){.hero{grid-template-columns:1fr;text-align:center}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.preview-grid{grid-template-columns:1fr}}.about{max-width:1200px;margin:0 auto;font-family:Georgia,Times New Roman,serif}.about h1,.about h2{font-family:Georgia,Times New Roman,serif}.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:4rem 3rem;min-height:70vh}.about-hero-image{overflow:hidden}.about-hero-image img{width:100%;height:500px;object-fit:cover}.about-hero-content{text-align:center}.about-hero-content h1{font-size:3.5rem;font-weight:300;margin-bottom:.5rem}.about-tagline{font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-style:italic;color:var(--color-accent)}.about-content{padding:.75rem 3rem 4rem}.about-statement p{font-size:1.1rem;line-height:1.8;color:var(--color-text-muted);max-width:720px;margin:0 auto}@media (max-width: 768px){.about-hero{grid-template-columns:1fr;gap:2rem}.about-hero-content h1{font-size:2.5rem}}.gallery-loading{display:flex;justify-content:center;align-items:center;min-height:60vh}.gallery-loading .loader{width:40px;height:40px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gallery{max-width:1400px;margin:0 auto;padding:2rem 3rem 4rem}.gallery-header{text-align:center;margin-bottom:4rem}.gallery-header h1{font-size:3rem;font-weight:300;margin-bottom:.5rem}.gallery-header p{color:var(--color-text-muted);margin-bottom:2rem}.category-tabs{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.category-tab{padding:.6rem 1.5rem;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-display);font-size:1.15rem;text-transform:lowercase;cursor:pointer;transition:var(--transition)}.category-tab:hover{border-color:var(--color-accent);color:var(--color-text)}.category-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-cream)}.gallery-section{margin-bottom:4rem}.gallery-section h2{font-size:1.75rem;font-weight:400;margin-bottom:2rem;color:var(--color-accent)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.photo-card{position:relative;aspect-ratio:4/5;overflow:hidden;cursor:pointer}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.photo-card:hover img{transform:scale(1.05)}.photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 40%,#000000d9);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;opacity:0;transition:opacity var(--transition)}.photo-card:hover .photo-overlay{opacity:1}.photo-title{font-family:var(--font-display);font-size:1.25rem;font-weight:500}.photo-desc{font-size:.85rem;color:var(--color-text-muted);margin-top:.25rem}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000f2;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}.lightbox-close{position:absolute;top:2rem;right:2rem;width:48px;height:48px;background:transparent;border:1px solid var(--color-border);color:var(--color-text);font-size:2rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;line-height:1}.lightbox-close:hover{border-color:var(--color-accent);color:var(--color-accent)}.lightbox-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain}.lightbox-info{margin-top:1.5rem;text-align:center}.lightbox-info h3{font-size:1.5rem;font-weight:500;margin-bottom:.5rem}.lightbox-info p{color:var(--color-text-muted);font-size:.95rem}.booking{max-width:1100px;margin:0 auto;padding:2rem 3rem 4rem;color:var(--color-brown-light)}.booking-header{text-align:center;margin-bottom:4rem}.booking-header h1{font-size:3rem;font-weight:300;font-style:italic;margin-bottom:.75rem;color:var(--color-text)}.booking-header p{font-size:1.1rem;max-width:600px;margin:0 auto}.booking-content{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem;align-items:start}.booking-form-column{display:flex;flex-direction:column;gap:2rem}.booking-info h2{font-size:1.5rem;font-weight:400;margin-bottom:1.5rem;color:var(--color-text)}.booking-info ul{list-style:disc;margin-bottom:2rem;padding-left:1.25rem}.booking-info li{padding:.5rem 0;font-style:italic}.booking-info li::marker{color:var(--color-text)}.contact-details{padding:2rem;background:var(--color-surface);border:1px solid var(--color-text)}.contact-details h3{font-size:1.1rem;font-weight:500;margin-bottom:.75rem}.contact-details p{font-size:.95rem}.contact-details .contact-location{font-style:italic}.contact-details .contact-email{color:inherit;text-decoration:none}.contact-details .contact-email:hover{text-decoration:underline}.booking-form{background:var(--color-surface);border:1px solid var(--color-text);padding:2.5rem}.booking-form h2{font-size:1.5rem;font-weight:400;margin-bottom:1.5rem;color:var(--color-text)}.form-status{padding:1rem;margin-bottom:1.5rem;border-radius:2px}.form-status.success{background:#7a845033;border:1px solid rgba(122,132,80,.5);color:var(--color-olive)}.form-status.error{background:#c47a5a33;border:1px solid rgba(196,122,90,.5);color:var(--color-terracotta)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.85rem 1rem;background:#fffbf7;border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B5D52' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.btn-full{width:100%;margin-top:.5rem}.booking-form .btn-primary{background:var(--color-accent-hover)}.booking-form .btn-primary:hover{background:var(--color-camel)}.btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.booking-content{grid-template-columns:1fr}}:root{--color-cream: #F3EDE4;--color-camel: #C9A47E;--color-terracotta: #C47A5A;--color-olive: #7A8450;--color-deep-brown: #4A3B34;--color-bg: var(--color-cream);--color-bg-elevated: rgba(122, 132, 80, .1);--color-bg-brown: rgba(74, 59, 52, .06);--color-surface: #E5DDD4;--color-border: rgba(122, 132, 80, .5);--color-border-brown: rgba(74, 59, 52, .15);--color-brown-light: #8B7A6B;--color-text: var(--color-deep-brown);--color-text-muted: #6B5D52;--color-accent: var(--color-olive);--color-accent-hover: var(--color-terracotta);--font-body: Georgia, "Times New Roman", serif;--font-display: "Merriweather", Georgia, serif;--transition: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-display);font-weight:400}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}
