*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #FDF8F0;--stone: #D4C5A9;--stone-light: #E8DCC8;--forest: #3B5332;--forest-dark: #2A3C24;--gold: #C5A55A;--gold-light: #D4BA78;--charcoal: #3A3A3A;--warm-white: #FEFCF7;--text: #4A4A4A;--text-light: #7A7A7A;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Lato", "Segoe UI", sans-serif;--max-width: 1140px;--header-height: 80px}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--forest);text-decoration:none;transition:color .3s}a:hover{color:var(--gold)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;color:var(--forest-dark);line-height:1.3}h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:clamp(1.6rem,4vw,2.4rem)}h3{font-size:clamp(1.2rem,3vw,1.6rem)}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section-title{text-align:center;margin-bottom:1rem;letter-spacing:.05em;text-transform:uppercase;position:relative}.section-title:after{content:"";display:block;width:60px;height:2px;background:var(--gold);margin:1rem auto 0}.section-subtitle{text-align:center;color:var(--text-light);font-size:1.1rem;max-width:640px;margin:0 auto 3rem;font-style:italic;font-family:var(--font-heading);font-size:1.25rem}.btn{display:inline-block;padding:.85rem 2.2rem;background:var(--gold);color:var(--warm-white);font-family:var(--font-heading);font-size:1.05rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--gold);border-radius:2px;cursor:pointer;transition:all .3s ease}.btn:hover,.btn-outline{background:transparent;color:var(--gold)}.btn-outline:hover{background:var(--gold);color:var(--warm-white)}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fdf8f0f2;backdrop-filter:blur(8px);border-bottom:1px solid var(--stone-light);height:var(--header-height);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 2px 20px #00000014}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:100%}.logo img{height:50px;width:auto}.nav-links{display:flex;list-style:none;gap:2rem;align-items:center}.nav-links a{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--charcoal);letter-spacing:.03em;position:relative;padding:.25rem 0}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:width .3s}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-links a:hover{color:var(--forest)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.nav-toggle span{display:block;width:26px;height:2px;background:var(--charcoal);margin:6px 0;transition:all .3s;border-radius:2px}.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}@media(max-width:768px){.nav-toggle{display:block}.nav-links{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background:var(--cream);flex-direction:column;justify-content:flex-start;padding-top:2rem;gap:0;transform:translate(100%);transition:transform .35s ease}.nav-links.open{transform:translate(0)}.nav-links li{width:100%;text-align:center}.nav-links a{display:block;padding:1rem;font-size:1.2rem}}.site-footer{background:var(--forest-dark);color:var(--stone-light);padding:3.5rem 0 1.5rem}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem}.footer-col h4{color:var(--gold-light);font-size:1.1rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.footer-col p,.footer-col a{color:var(--stone-light);font-size:.95rem;line-height:1.8}.footer-col a:hover{color:var(--gold-light)}.footer-bottom{max-width:var(--max-width);margin:2.5rem auto 0;padding:1.5rem 1.5rem 0;border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:.85rem;color:#d4c5a999}.hero{position:relative;height:85vh;min-height:500px;overflow:hidden;margin-top:var(--header-height)}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#2a3c2433,#2a3c2480);display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem}.hero-content h1{color:var(--warm-white);font-size:clamp(2.2rem,6vw,4rem);text-shadow:0 2px 20px rgba(0,0,0,.3);margin-bottom:1rem}.hero-content p{color:var(--stone-light);font-family:var(--font-heading);font-size:clamp(1.1rem,2.5vw,1.5rem);font-style:italic;text-shadow:0 1px 10px rgba(0,0,0,.3);margin-bottom:2rem;max-width:600px}.hero-dots{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:.75rem;z-index:10}.hero-dot{width:10px;height:10px;border-radius:50%;background:#fff6;border:none;cursor:pointer;transition:all .3s;padding:0}.hero-dot.active{background:var(--gold);transform:scale(1.2)}.features{background:var(--warm-white);padding:5rem 0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.feature-card{text-align:center;padding:2rem 1.5rem}.feature-icon{font-size:2.5rem;margin-bottom:1rem;color:var(--gold)}.feature-card h3{text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;color:var(--forest)}.feature-card p{color:var(--text-light);font-size:.95rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.gallery-item{overflow:hidden;border-radius:4px;aspect-ratio:4/3;cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.05)}.lightbox{display:none;position:fixed;inset:0;z-index:2000;background:#000000eb;align-items:center;justify-content:center;padding:2rem}.lightbox.open{display:flex}.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:.5rem;line-height:1}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:1rem 1.25rem;border-radius:4px;transition:background .3s}.lightbox-prev:hover,.lightbox-next:hover{background:#fff3}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}.testimonial-card{background:var(--warm-white);border:1px solid var(--stone-light);border-radius:4px;padding:2.5rem 2rem;position:relative}.testimonial-card:before{content:"“";font-family:var(--font-heading);font-size:4rem;color:var(--gold);opacity:.3;position:absolute;top:.5rem;left:1rem;line-height:1}.testimonial-card blockquote{font-family:var(--font-heading);font-size:1.1rem;font-style:italic;color:var(--text);line-height:1.8;margin-bottom:1.25rem}.testimonial-author{font-weight:700;color:var(--forest);font-size:.95rem;letter-spacing:.03em}.pricing-card{background:var(--warm-white);border:2px solid var(--stone-light);border-radius:6px;padding:3rem 2.5rem;text-align:center;max-width:520px;margin:0 auto}.pricing-amount{font-family:var(--font-heading);font-size:3rem;color:var(--forest);font-weight:700}.pricing-amount span{font-size:1.1rem;color:var(--text-light);font-weight:400}.pricing-details{list-style:none;margin:2rem 0;text-align:left}.pricing-details li{border-bottom:1px solid var(--stone-light);padding:.6rem 0 .6rem 1.5rem;position:relative}.pricing-details li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}.policy-content{max-width:780px;margin:0 auto}.policy-content ol{padding-left:1.5rem}.policy-content li{margin-bottom:1.25rem;line-height:1.8}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.contact-info-block{margin-bottom:2rem}.contact-info-block h3{color:var(--forest);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem}.contact-info-block p{line-height:1.8}.page-hero{margin-top:var(--header-height);height:40vh;min-height:280px;position:relative;overflow:hidden}.page-hero img{width:100%;height:100%;object-fit:cover}.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#2a3c244d,#2a3c2499);display:flex;align-items:center;justify-content:center}.page-hero h1{color:var(--warm-white);text-transform:uppercase;letter-spacing:.1em;text-shadow:0 2px 15px rgba(0,0,0,.3)}.intro-text{max-width:720px;margin:0 auto;text-align:center;font-family:var(--font-heading);font-size:1.25rem;font-style:italic;color:var(--text);line-height:1.9}.map-container{border-radius:6px;overflow:hidden;border:2px solid var(--stone-light)}.map-container iframe{width:100%;height:400px;border:none}@media(max-width:768px){.section{padding:3.5rem 0}.hero{height:70vh}.testimonial-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.page-hero{height:30vh;min-height:200px}}@media(max-width:480px){.hero{height:60vh}.features-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}
