@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Pinyon+Script&family=Raleway:wght@300;400;500;600&display=swap");:root{--sage:#9caf88;--sage-dark:#6b7f5f;--sage-light:#b8c9a9;--beige:#d4c5b9;--beige-dark:#c4b5a9;--cream:#faf8f5;--warm-white:#fffdf9;--charcoal:#3d3d3d;--charcoal-light:#5a5a5a;--gold:#c9a962;--font-heading:"Cormorant Garamond",serif;--font-script:"Pinyon Script",cursive;--font-body:"Raleway",sans-serif;--transition-smooth:cubic-bezier(0.4,0,0.2,1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;color:var(--charcoal);background-color:var(--cream);line-height:1.7;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.02;pointer-events:none;z-index:1000}.section{padding:6rem 2rem;position:relative}.section-container{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-subtitle{font-family:var(--font-script);font-size:1.5rem;color:var(--sage);margin-bottom:.5rem}.section-title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:400;color:var(--charcoal);letter-spacing:.05em}.section-divider{display:flex;align-items:center;justify-content:center;margin-top:1.5rem;gap:1rem}.section-divider:after,.section-divider:before{content:"";width:60px;height:1px;background:var(--beige-dark)}.section-divider svg{width:30px;height:30px;color:var(--sage)}.fade-in{opacity:0;transform:translateY(30px);transition:all .8s var(--transition-smooth)}.fade-in.visible{opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}@media (max-width:768px){.section{padding:4rem 1.5rem}}@media (max-width:480px){.section{padding:3rem 1rem}.section-header{margin-bottom:2.5rem}.section-subtitle{font-size:1.3rem}}