@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Lexend+Deca:wght@400;500;600;700&display=swap");:root{--color-sage:#a4b494;--color-terracotta:#d87c65;--color-mustard:#e5a952;--color-slate:#4a5568;--color-cream:#f9f6f0;--color-lavender-mist:#c8b5d8;--color-dusty-rose:#d4a5a5;--color-soft-teal:#7eb4b3;--color-charcoal:#2d3436;--color-off-white:#fefdfb;--font-display:"Crimson Pro",serif;--font-body:"Lexend Deca",sans-serif}*{box-sizing:border-box;padding:0;margin:0}html{scroll-behavior:smooth}body,html{max-width:100vw;overflow-x:hidden}body{background:var(--color-cream);color:var(--color-charcoal);font-family:var(--font-body),-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display),serif;font-weight:600;line-height:1.2}::selection{background:var(--color-terracotta);color:var(--color-off-white)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(77,77,77,.015) 0,rgba(77,77,77,.015) 4px);pointer-events:none;z-index:9999;opacity:.5}@media (hover:hover){*{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><circle cx="8" cy="8" r="3" fill="%23d87c65"/></svg>') 8 8,auto}a,button{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><circle cx="12" cy="12" r="5" fill="%23d87c65"/></svg>') 12 12,pointer}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes floatReverse{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(20px) rotate(-5deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes drawLine{0%{width:0}to{width:100%}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}