:root{--color-primary-text: #3D3D3D;--color-brown-accent: #5E3E3E;--color-background: #EDEDED;--color-secondary-accent: #1F4D4A;--color-secondary-accent-light: #2c6e6a;--color-highlights: #B9975D;--font-heading: "Cinzel", serif;--font-subheading: "Montserrat", sans-serif;--font-body: "Inter", sans-serif;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .05);--shadow-hover: 0 10px 30px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--transition-smooth: all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-primary-text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;color:var(--color-primary-text);margin-bottom:1rem}h1{font-size:42px;line-height:1.2}h2{font-size:36px;line-height:1.3}h3{font-size:28px;line-height:1.4}.subheading{font-family:var(--font-subheading);font-size:1.1rem;font-weight:500;color:var(--color-brown-accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:.5rem;display:block}a{color:var(--color-secondary-accent);text-decoration:none;transition:var(--transition-smooth)}a:hover{color:var(--color-highlights)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;font-family:var(--font-subheading);font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);border:none;text-decoration:none}.btn-primary{background-color:var(--color-secondary-accent);color:#fff}.btn-primary:hover{background-color:var(--color-secondary-accent-light);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #1f4d4a4d}.btn-secondary{background-color:transparent;color:var(--color-brown-accent);border:1px solid var(--color-brown-accent)}.btn-secondary:hover{background-color:var(--color-brown-accent);color:#fff}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section-padding{padding:80px 0}.text-center{text-align:center}.fade-in{animation:fadeIn .8s ease-out forwards}.slide-up{opacity:0;transform:translateY(30px);animation:slideUp .8s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.img-zoom-container{overflow:hidden}.img-zoom{transition:transform .6s ease}.img-zoom-container:hover .img-zoom{transform:scale(1.05)}.card{background:#fff;border-radius:var(--radius-md);box-shadow:0 8px 30px #0000000f;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease;overflow:hidden;border:none}.card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #0000001f}.bg-pattern-cream{position:relative;background-color:#f5f3ee;z-index:1}.bg-pattern-cream:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000000' fill-opacity='0.03' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none;z-index:-1}.bg-earth-dark{background-color:#4a342e!important;color:#fff;margin-top:-1px}.bg-earth-dark h1,.bg-earth-dark h2,.bg-earth-dark h3,.bg-earth-dark h4,.bg-earth-dark h5,.bg-earth-dark h6,.bg-earth-dark .subheading,.bg-earth-dark .lead-text,.bg-earth-dark p{color:#fff!important}.bg-earth-dark .text-muted{color:#ffffffb3!important}.bg-earth-dark .card{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 30px #0003}.bg-earth-dark .card:hover{background-color:#ffffff14}.bg-cta-gradient{position:relative;background:linear-gradient(135deg,#1f4d4a,#163a38)!important;color:#fff}.bg-cta-gradient h1,.bg-cta-gradient h2,.bg-cta-gradient h3,.bg-cta-gradient h4,.bg-cta-gradient h5,.bg-cta-gradient h6,.bg-cta-gradient .subheading,.bg-cta-gradient .lead-text,.bg-cta-gradient p{color:#fff!important}.bg-cta-gradient .cta-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.8;pointer-events:none;z-index:1}.bg-cta-gradient>*{position:relative;z-index:2}.page-header{padding:120px 0 60px;background-color:#fff;border-bottom:1px solid #eeeeee}.page-header h1{margin-bottom:24px;color:var(--color-primary-text)}.page-header .subheading{color:var(--color-brown-accent)!important;text-shadow:none}.page-header .lead-text{color:#555;font-size:18px;max-width:700px;margin:0 auto;font-weight:300}.premium-gallery{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:768px){.premium-gallery{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.premium-gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:250px}.premium-gallery .gallery-item:first-child{grid-column:span 2;grid-row:span 2}}.premium-gallery .gallery-item{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 8px 30px #0000001a;cursor:pointer;background-color:#000}@media(max-width:1023px){.premium-gallery .gallery-item{height:300px}}.premium-gallery .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.46,.45,.94);opacity:.95}.premium-gallery .gallery-item .gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#0009,#0003);opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .4s ease}.premium-gallery .gallery-item .gallery-overlay span{color:#fff;font-family:var(--font-subheading);font-size:1.2rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;transform:translateY(20px);transition:transform .4s ease}.premium-gallery .gallery-item:hover{box-shadow:0 15px 40px #00000040}.premium-gallery .gallery-item:hover img{transform:scale(1.08)}.premium-gallery .gallery-item:hover .gallery-overlay{opacity:1}.premium-gallery .gallery-item:hover .gallery-overlay span{transform:translateY(0)}
