:root{--forest:#1a3a2f;--forest-deep:#122820;--gold:#c9a962;--gold-light:#dfc88a;--cream:#faf8f3;--cream-dark:#f0ebe0;--sage:#8fa88a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--cream);color:var(--forest);font-family:Montserrat,sans-serif;overflow-x:hidden}body:before{content:"";opacity:.03;pointer-events:none;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:fixed;inset:0}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}header{z-index:100;background:linear-gradient(to bottom, var(--cream), transparent);justify-content:space-between;align-items:center;padding:1.5rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.logo-container{align-items:center;gap:1rem;display:flex}.logo-text{color:var(--forest);letter-spacing:.05em;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:500}.header-contact{letter-spacing:.15em;text-transform:uppercase;color:var(--forest);border:1px solid var(--forest);padding:.75rem 1.5rem;font-size:.875rem;text-decoration:none;transition:all .3s}.header-contact:hover{background:var(--forest);color:var(--cream)}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero>:not(.leaf-decoration){z-index:1;position:relative}.leaf-decoration{opacity:.08;z-index:0;color:var(--forest);position:absolute}.leaf-1{width:400px;animation:8s ease-in-out infinite floatLeaf;top:10%;left:-5%;rotate:-20deg}.leaf-2{width:500px;animation:10s ease-in-out infinite reverse floatLeaf;bottom:5%;right:-8%;rotate:15deg;scale:-1 1}@keyframes floatLeaf{0%,to{translate:0}50%{translate:0 -20px}}.hero-badge{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:0;margin-bottom:2rem;font-size:.875rem;animation:1s .3s forwards fadeUp}.hero h1{opacity:0;margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,10vw,7rem);font-weight:400;line-height:1;animation:1s .5s forwards fadeUp}.hero h1 em{color:var(--gold);font-style:italic}.hero-subtitle{letter-spacing:.1em;opacity:0;max-width:500px;margin-bottom:3rem;font-size:1.125rem;font-weight:300;line-height:1.8;animation:1s .7s forwards fadeUp}.coming-soon-badge{background:var(--forest);color:var(--cream);letter-spacing:.25em;text-transform:uppercase;opacity:0;padding:1rem 2.5rem;font-size:.875rem;animation:1s .9s forwards fadeUp;display:inline-block}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scroll-indicator{opacity:0;flex-direction:column;align-items:center;gap:.5rem;animation:1s 1.2s forwards fadeUp;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%)}.scroll-indicator span{letter-spacing:.2em;text-transform:uppercase;font-size:.75rem}.scroll-line{background:var(--forest);width:1px;height:40px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--gold);animation:2s ease-in-out infinite scrollPulse;position:absolute;inset:0}@keyframes scrollPulse{0%{transform:translateY(-100%)}50%{transform:translateY(100%)}to{transform:translateY(100%)}}.section-header{text-align:center;margin-bottom:5rem;padding-top:4rem}.section-label{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-size:.875rem;display:block}.section-title{color:var(--cream);font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:400}.wedge-right:before,.wedge-left:before{content:"";height:150px;position:absolute;top:0;left:0;right:0}.wedge-right:before{background:linear-gradient(to bottom right, var(--cream) 49%, transparent 51%)}.wedge-left:before{background:linear-gradient(to bottom left, var(--cream) 49%, transparent 51%)}.services{background:var(--forest);color:var(--cream);padding:8rem 2rem;position:relative}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.service-card{background:#ffffff08;border:1px solid #ffffff1a;padding:3rem 2.5rem;transition:all .5s;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg, var(--gold), var(--gold-light));transform-origin:0;width:100%;height:3px;transition:transform .5s;position:absolute;top:0;left:0;transform:scaleX(0)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{background:#ffffff0f;transform:translateY(-5px)}.service-icon{width:50px;height:50px;color:var(--gold);margin-bottom:1.5rem}.service-name{color:var(--cream);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:1.75rem;font-weight:500}.service-description{opacity:.85;font-size:1rem;font-weight:300;line-height:1.8}.features{background:var(--cream);padding:8rem 2rem}.features-content{max-width:800px;margin:0 auto}.features-text h2{margin-bottom:2rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.2}.features-text h2 em{color:var(--gold);font-style:italic}.feature-list{list-style:none}.feature-list li{align-items:flex-start;gap:1rem;margin-bottom:1.75rem;font-size:1.0625rem;line-height:1.7;display:flex}.feature-check{width:24px;height:24px;color:var(--gold);flex-shrink:0;margin-top:2px}.about{background:var(--forest);color:var(--cream);padding:8rem 2rem;position:relative}.about-content{max-width:1100px;margin:0 auto;padding-top:4rem}.about-text h2{color:var(--cream);margin-bottom:2rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.2}.about-text h2 em{color:var(--gold);font-style:italic}.about-intro{opacity:.9;margin-bottom:2.5rem;font-size:1.0625rem;line-height:1.8}.about-intro strong{color:var(--gold-light);font-weight:500}.about-block{margin-bottom:2rem}.about-text h3{color:var(--gold);margin-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:500}.about-text p{opacity:.85;font-size:1rem;font-weight:300;line-height:1.8}.about-block p em{color:var(--gold-light);font-style:italic}.contact{background:var(--forest-deep);color:var(--cream);padding:8rem 2rem;position:relative}.contact:before{content:"";background:linear-gradient(to bottom right, var(--forest) 49%, transparent 51%);height:150px;position:absolute;top:0;left:0;right:0}.contact-content{text-align:center;max-width:600px;margin:0 auto;padding-top:4rem}.contact h2{color:var(--cream);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400}.contact-subtitle{opacity:.8;margin-bottom:3rem;font-size:1.0625rem;line-height:1.7}.submit-btn{background:var(--gold);color:var(--forest-deep);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;margin-top:1rem;padding:1.25rem 3rem;font-family:Montserrat,sans-serif;font-size:.875rem;text-decoration:none;transition:all .3s;display:inline-block}.submit-btn:hover{background:var(--gold-light);transform:translateY(-2px)}footer{background:var(--forest-deep);text-align:center;border-top:1px solid #ffffff1a;padding:3rem 2rem}.footer-logo-text{color:var(--cream);opacity:.9;margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.75rem;font-weight:500;display:block}.footer-location{letter-spacing:.15em;text-transform:uppercase;color:var(--sage);margin-bottom:.5rem;font-size:.9375rem}.footer-copyright{color:#fff6;font-size:.875rem}@media (width<=768px){header{padding:1rem 1.5rem}.header-contact{padding:.5rem 1rem;font-size:.8125rem}.leaf-1,.leaf-2{display:none}.services,.features,.about,.contact{padding:5rem 1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.areas{background:var(--cream-dark);padding:8rem 2rem}.areas-content{max-width:1000px;margin:0 auto}.areas .section-label{text-align:center}.areas h2{text-align:center;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.2}.areas h2 em{color:var(--gold);font-style:italic}.areas-intro{text-align:center;opacity:.85;max-width:620px;margin:0 auto 4rem;font-size:1.0625rem;font-weight:300;line-height:1.8}.areas-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.5rem 3rem;display:grid}.area h3{color:var(--forest);border-bottom:1px solid var(--gold);margin-bottom:.4rem;padding-bottom:.6rem;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:500}.area p{opacity:.8;font-size:.9375rem;font-weight:300;line-height:1.7}@media (width<=768px){.areas{padding:5rem 1.5rem}}.footer-areas{color:#ffffff73;max-width:48ch;margin:0 auto 1.25rem;font-size:.8125rem;font-weight:300;line-height:1.7}.contact-details{letter-spacing:.04em;color:#faf8f3bf;flex-direction:column;gap:.9rem;margin:2.5rem 0 0;font-size:.9375rem;font-weight:300;list-style:none;display:flex}.contact-details a{color:var(--gold-light);border-bottom:1px solid #c9a96259;padding-bottom:2px;text-decoration:none;transition:border-color .3s,color .3s}.contact-details a:hover{color:var(--cream);border-color:var(--cream)}.footer-contact{flex-wrap:wrap;justify-content:center;gap:.75rem 1.75rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.footer-contact a{color:var(--gold-light);text-decoration:none;transition:color .3s}.footer-contact a:hover{color:var(--cream)}.footer-hours{color:#ffffff73;margin-bottom:1.25rem;font-size:.8125rem}.meet-spot{border:1px solid #c9a9624d;flex-direction:column;gap:.35rem;max-width:24rem;margin:0 auto 2.5rem;padding:1.5rem 1.75rem;font-style:normal;display:flex}.meet-spot-name{color:var(--gold);font-family:Cormorant Garamond,serif;font-size:1.375rem;font-weight:500}.meet-spot a{letter-spacing:.04em;color:#faf8f3cc;border-bottom:1px solid #0000;font-size:.875rem;font-weight:300;line-height:1.6;text-decoration:none;transition:border-color .3s,color .3s}.meet-spot a:hover{color:var(--cream);border-color:#faf8f380}
