:root{--linen: #F7F3EE;--parchment: #FDFAF6;--espresso: #2A1F1A;--espresso-light: #3D2E25;--sage: #7B8B6F;--sage-dark: #4A5240;--sage-light: #A8B89C;--copper: #C08B5C;--copper-light: #D4A574;--copper-glow: #E8C9A0;--blush: #E8D5C4;--blush-light: #F2E8DD;--charcoal: #1A1410;--warm-gray: #9C9488;--warm-gray-light: #C4BDB4;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Outfit", -apple-system, sans-serif;--font-script: "Sacramento", cursive;--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);background:var(--linen);color:var(--espresso);overflow-x:hidden;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease-out-expo),transform .9s var(--ease-out-expo)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.reveal-delay-6{transition-delay:.6s}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;transition:all .5s ease;background:#fdfaf6eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nav.scrolled{padding:.8rem 2.5rem;box-shadow:0 1px #2a1f1a0f}.nav-logo{display:flex;flex-direction:column;align-items:flex-start;line-height:1;color:var(--espresso)}.nav-logo-top{display:flex;align-items:baseline;gap:.3rem}.nav-logo .logo-the{font-family:var(--font-script);font-size:1.5rem;font-weight:400}.nav-logo .logo-main{font-family:var(--font-body);font-size:1.1rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.nav-logo .logo-sub{font-family:var(--font-body);font-size:.48rem;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--warm-gray);margin-top:.2rem;margin-left:.05rem}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--espresso);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--copper);transition:width .4s var(--ease-out-expo)}.nav-links a:hover:after{width:100%}.nav-cta{font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:.65rem 1.6rem;border:1px solid var(--espresso);color:var(--espresso);transition:all .4s ease;cursor:pointer;background:none}.nav-cta:hover{background:var(--copper);border-color:var(--copper);color:var(--parchment)}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--espresso)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;padding-top:72px}.hero-text{display:flex;flex-direction:column;justify-content:center;padding:4rem 3.5rem 4rem 5rem}.hero-eyebrow{font-size:.62rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--copper);margin-bottom:1.8rem;opacity:0;animation:fadeUp .8s var(--ease-out-expo) .2s forwards}.hero-title{font-family:var(--font-display);font-size:clamp(2.6rem,4.5vw,4.2rem);font-weight:300;line-height:1.08;color:var(--espresso);margin-bottom:1.8rem;opacity:0;animation:fadeUp 1s var(--ease-out-expo) .4s forwards}.hero-title em{font-style:italic;font-weight:400;color:var(--sage-dark)}.hero-subtitle{font-family:var(--font-display);font-size:clamp(.95rem,1.3vw,1.15rem);font-weight:300;color:var(--warm-gray);line-height:1.75;max-width:450px;margin-bottom:2.5rem;opacity:0;animation:fadeUp .8s var(--ease-out-expo) .6s forwards}.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;opacity:0;animation:fadeUp .8s var(--ease-out-expo) .8s forwards}.btn-primary{display:inline-block;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--parchment);background:var(--espresso);padding:1rem 2.4rem;border:1px solid var(--espresso);transition:all .5s var(--ease-out-expo);cursor:pointer}.btn-primary:hover{background:var(--copper);border-color:var(--copper)}.btn-ghost{font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--copper);padding:1rem .5rem;position:relative}.btn-ghost:after{content:"";position:absolute;bottom:.7rem;left:.5rem;right:.5rem;height:1px;background:var(--copper-light);opacity:.4}.btn-ghost:hover{color:var(--espresso)}.hero-location{margin-top:3rem;font-size:.7rem;color:var(--warm-gray-light);letter-spacing:.1em;opacity:0;animation:fadeUp .8s var(--ease-out-expo) 1s forwards}.hero-location strong{color:var(--warm-gray);font-weight:500}.hero-slider{position:relative;overflow:hidden;background:var(--espresso)}.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;filter:saturate(.92) contrast(1.02)}.hero-dots{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.hero-dot{width:8px;height:8px;border-radius:50%;background:#fdfaf64d;border:1px solid rgba(253,250,246,.5);cursor:pointer;transition:all .4s ease;padding:0}.hero-dot.active{background:var(--copper-glow);border-color:var(--copper-glow);transform:scale(1.2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.divider{display:flex;align-items:center;justify-content:center;gap:1.2rem;padding:3rem 0}.divider-line{width:60px;height:1px;background:var(--copper-light);opacity:.4}.divider-icon{color:var(--copper);opacity:.5}.section-eyebrow{font-size:.65rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--copper);margin-bottom:1.2rem}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.15;margin-bottom:1.8rem;color:var(--espresso)}.section-title em{font-family:var(--font-script);font-style:normal;font-weight:400;color:var(--sage-dark);font-size:1.15em}.script{font-family:var(--font-script);font-weight:400;font-style:normal}.hero-title .script{font-size:1.15em;color:var(--copper)}.about{padding:8rem 2rem;max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-image-wrap{position:relative}.about-image-wrap:before{content:"";position:absolute;inset:-20px 20px 20px -20px;border:1px solid var(--copper-light);opacity:.3}.about-image{position:relative;z-index:1;aspect-ratio:4/5;object-fit:cover;width:100%;filter:saturate(.92) contrast(1.02)}.about-image-caption{position:absolute;bottom:-1rem;right:-1rem;z-index:2;background:var(--sage-dark);color:var(--parchment);font-family:var(--font-display);font-style:italic;font-size:.95rem;padding:1rem 1.8rem}.about-content{padding:2rem 0}.about-text{font-size:.95rem;line-height:1.85;color:var(--espresso-light);font-weight:300;margin-bottom:1.5rem}.about-signature{font-family:var(--font-display);font-style:italic;font-size:1.2rem;color:var(--copper);margin-top:2rem}.services{background:var(--blush-light);padding:5rem 2rem}.services-inner{max-width:1200px;margin:0 auto;text-align:center}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1.5rem;margin-top:3rem;justify-content:center}.services-grid[data-count="1"]{grid-template-columns:1fr;max-width:200px;margin-left:auto;margin-right:auto}.services-grid[data-count="2"]{grid-template-columns:repeat(2,1fr);max-width:400px;margin-left:auto;margin-right:auto}.services-grid[data-count="3"]{grid-template-columns:repeat(3,1fr);max-width:600px;margin-left:auto;margin-right:auto}.service-item{display:flex;flex-direction:column;align-items:center;gap:.8rem}.service-icon{width:56px;height:56px;border:1px solid var(--copper-light);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .4s var(--ease-out-expo)}.service-icon svg{width:22px;height:22px;stroke:var(--copper);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-item:hover .service-icon{background:var(--copper);border-color:var(--copper)}.service-item:hover .service-icon svg{stroke:var(--parchment)}.service-name{font-family:var(--font-display);font-size:.9rem;font-weight:500;color:var(--espresso);text-align:center;line-height:1.3;text-wrap:balance}.offerings{background:var(--espresso);padding:8rem 2rem;position:relative;overflow:hidden}.offerings:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(123,139,111,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 30%,rgba(192,139,92,.06) 0%,transparent 50%);pointer-events:none}.offerings-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}.offerings-header{text-align:center;margin-bottom:5rem}.offerings-header .section-eyebrow{color:var(--copper-light)}.offerings-header .section-title{color:var(--parchment)}.offerings-header .section-title em{color:var(--sage-light)}.offerings-subtitle{font-family:var(--font-display);font-size:1.1rem;color:#fdfaf680;font-weight:300;font-style:italic;max-width:600px;margin:1rem auto 0}.offerings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;justify-content:center}.offerings-grid[data-count="1"]{grid-template-columns:1fr;max-width:500px;margin:0 auto}.offerings-grid[data-count="2"],.offerings-grid[data-count="4"]{grid-template-columns:repeat(2,1fr)}.offering-card{border:1px solid rgba(192,139,92,.15);padding:2.5rem 2rem;transition:all .6s var(--ease-out-expo);position:relative;overflow:hidden}.offering-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--copper),transparent);opacity:0;transition:opacity .5s ease}.offering-card:hover{border-color:#c08b5c59;transform:translateY(-4px);background:#c08b5c08}.offering-card:hover:before{opacity:1}.offering-img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:1.5rem;filter:saturate(.9);transition:filter .5s ease}.offering-card:hover .offering-img{filter:saturate(1)}.offering-name{font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--parchment);margin-bottom:.4rem}.offering-tagline{font-family:var(--font-display);font-style:italic;font-size:.88rem;color:var(--copper-light);margin-bottom:1rem}.offering-desc{font-size:.85rem;line-height:1.75;color:#fdfaf680;font-weight:300}.gallery{padding:8rem 2rem;max-width:1400px;margin:0 auto}.gallery-header{text-align:center;margin-bottom:4rem}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.gallery-item{overflow:hidden;position:relative;cursor:pointer}.gallery-item:nth-child(1){grid-column:1 / 6;grid-row:1 / 3}.gallery-item:nth-child(2){grid-column:6 / 9;grid-row:1}.gallery-item:nth-child(3){grid-column:9 / 13;grid-row:1}.gallery-item:nth-child(4){grid-column:6 / 10;grid-row:2}.gallery-item:nth-child(5){grid-column:10 / 13;grid-row:2}.gallery-img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out-expo),filter .6s ease;filter:saturate(.88)}.gallery-item:nth-child(1) .gallery-img{min-height:100%}.gallery-item:nth-child(n+2) .gallery-img{aspect-ratio:4/3}.gallery-item:hover .gallery-img{transform:scale(1.05);filter:saturate(1)}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(42,31,26,.65) 0%,transparent 50%);opacity:0;transition:opacity .5s ease;display:flex;align-items:flex-end;padding:1.5rem}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span{font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--parchment)}.testimonials{background:var(--blush-light);padding:8rem 2rem}.testimonials-inner{max-width:1100px;margin:0 auto}.testimonials-header{text-align:center;margin-bottom:4rem}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.testimonials-grid[data-count="1"]{grid-template-columns:1fr;max-width:600px;margin:0 auto}.testimonials-grid[data-count="2"]{grid-template-columns:repeat(2,1fr);max-width:900px;margin:0 auto}.testimonials-grid[data-count="4"]{grid-template-columns:repeat(2,1fr)}.testimonial-card{background:var(--parchment);padding:2.5rem 2rem;position:relative}.testimonial-card:before{content:"“";font-family:var(--font-display);font-size:5rem;color:var(--copper-light);opacity:.2;position:absolute;top:.5rem;left:1.2rem;line-height:1}.testimonial-stars{display:flex;gap:2px;margin-bottom:1.2rem}.testimonial-stars svg{width:14px;height:14px;fill:var(--copper)}.testimonial-text{font-family:var(--font-display);font-size:1.05rem;font-style:italic;line-height:1.7;color:var(--espresso-light);margin-bottom:1.5rem}.testimonial-author{display:flex;align-items:center;gap:.8rem}.testimonial-avatar{width:40px;height:40px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.9rem;color:var(--parchment);font-weight:500}.testimonial-name{font-size:.8rem;font-weight:500;color:var(--espresso)}.testimonial-event{font-family:var(--font-display);font-size:.8rem;font-style:italic;color:var(--warm-gray)}.process{padding:8rem 2rem;max-width:1000px;margin:0 auto}.process-header{text-align:center;margin-bottom:5rem}.process-steps{display:flex;flex-direction:column;position:relative}.process-steps:before{content:"";position:absolute;top:0;left:32px;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--copper-light),transparent);opacity:.3}.process-steps[data-count="1"]:before{display:none}.process-step{display:flex;gap:2.5rem;padding:2rem 0;align-items:flex-start}.process-step-num{width:64px;height:64px;border:1px solid var(--copper-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.3rem;color:var(--copper);flex-shrink:0;background:var(--linen);position:relative;z-index:1}.process-step-content h3{font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin-bottom:.5rem}.process-step-content p{font-size:.9rem;line-height:1.75;color:var(--warm-gray);font-weight:300}.contact{background:var(--sage-dark);padding:8rem 2rem;text-align:center;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(192,139,92,.08) 0%,transparent 70%);pointer-events:none}.contact-inner{max-width:700px;margin:0 auto;position:relative;z-index:1}.contact .section-eyebrow{color:var(--copper-glow)}.contact .section-title{color:var(--parchment);margin-bottom:1rem}.contact .section-title em{color:var(--copper-glow)}.contact-text{font-family:var(--font-display);font-size:1.1rem;line-height:1.7;color:#fdfaf699;font-weight:300;margin-bottom:3rem}.contact-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}.contact-btn{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:1.1rem 2.5rem;border:none;cursor:pointer;transition:all .5s var(--ease-out-expo)}.contact-btn svg{width:16px;height:16px}.contact-btn-primary{color:var(--sage-dark);background:var(--copper-glow)}.contact-btn-primary:hover{background:var(--parchment);transform:translateY(-2px);box-shadow:0 8px 30px #00000026}.contact-btn-secondary{color:var(--parchment);background:transparent;border:1px solid rgba(253,250,246,.25)}.contact-btn-secondary:hover{border-color:var(--copper-glow);color:var(--copper-glow)}.contact-details{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}.contact-detail{text-align:center}.contact-detail-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#fdfaf64d;margin-bottom:.4rem}.contact-detail-value{font-family:var(--font-display);font-size:1rem;color:var(--parchment)}.contact-detail-value a{transition:color .3s ease}.contact-detail-value a:hover{color:var(--copper-glow)}.footer{background:var(--charcoal);padding:3rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-logo{display:flex;align-items:baseline;gap:.35rem;color:#fdfaf680}.footer-logo .logo-the{font-family:var(--font-script);font-size:1.4rem}.footer-logo .logo-main{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.footer-copy{font-size:.7rem;color:#fdfaf633;font-weight:300}.footer-social{display:flex;gap:1.5rem}.footer-social a{color:#fdfaf64d;transition:color .3s ease;display:flex}.footer-social a:hover{color:var(--copper)}.footer-social svg{width:18px;height:18px}.mobile-menu{display:none;position:fixed;inset:0;background:#2a1f1af7;z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.mobile-menu.open{display:flex}.mobile-menu a{font-family:var(--font-display);font-size:1.5rem;color:var(--parchment);transition:color .3s ease}.mobile-menu a:hover{color:var(--copper-glow)}.lightbox{display:none;position:fixed;inset:0;z-index:10000;background:#1a1410eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);align-items:center;justify-content:center;cursor:zoom-out;padding:2rem;opacity:0;transition:opacity .4s ease}.lightbox.open{display:flex;opacity:1}.lightbox.fade-in{opacity:1}.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:2px;box-shadow:0 20px 80px #00000080;transform:scale(.95);transition:transform .5s var(--ease-out-expo)}.lightbox.fade-in img{transform:scale(1)}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;background:none;border:1px solid rgba(253,250,246,.2);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10001}.lightbox-close:hover{background:#fdfaf61a;border-color:#fdfaf666}.lightbox-close svg{width:18px;height:18px;stroke:var(--parchment);stroke-width:1.5}.lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-family:var(--font-display);font-style:italic;font-size:1rem;color:#fdfaf699;text-align:center;pointer-events:none}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:none;border:1px solid rgba(253,250,246,.2);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10001}.lightbox-nav:hover{background:#fdfaf61a;border-color:#fdfaf666}.lightbox-nav svg{width:18px;height:18px;stroke:var(--parchment);stroke-width:1.5;fill:none}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}@media(max-width:1024px){.hero-text{padding:4rem 2.5rem}}@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-text{padding:6rem 2rem 3rem;text-align:center;align-items:center}.hero-slider{height:60vh;min-height:400px}.hero-actions{justify-content:center}.hero-location{text-align:center}.about{grid-template-columns:1fr;gap:3rem;padding:5rem 2rem}.about-image-wrap{max-width:500px;margin:0 auto}.testimonials-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.services-grid,.services-grid[data-count="3"]{max-width:none}}@media(max-width:768px){.nav-links,.nav-cta{display:none}.nav-toggle{display:flex}.offerings-grid,.offerings-grid[data-count="2"],.offerings-grid[data-count="4"]{grid-template-columns:1fr}.offerings,.testimonials,.contact{padding:5rem 1.5rem}.process-steps:before{display:none}.process-step{flex-direction:column;gap:1rem;align-items:center;text-align:center}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item:nth-child(1){grid-column:1 / -1;grid-row:auto}.gallery-item:nth-child(n+2){grid-column:auto;grid-row:auto}.gallery-img{aspect-ratio:4/3!important}.contact-details{flex-direction:column;gap:1.5rem}.footer{flex-direction:column;text-align:center;gap:1.5rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media(max-width:480px){.hero-title{font-size:2.2rem}.section-title{font-size:1.8rem}.about-image-wrap:before{display:none}.about-image-caption{right:0;bottom:0}.gallery-grid{grid-template-columns:1fr}}
