@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Lato:wght@300;400;700;900&family=Caveat:wght@400;500;600;700&display=swap");:root{--cream:#FBF7F0;--warm-beige:#F5EFE7;--sand:#E8DCC8;--tan:#D4C4B0;--earth-brown:#8B7355;--dark-brown:#5C4A32;--olive-green:#6B7F5E;--sage:#A3B899;--leaf-green:#7A9E6D;--soft-pink:#E8C4B8;--white:#FFFFFF;--black:#1A1A1A;--gradient-warm:linear-gradient(135deg,var(--cream) 0%,var(--warm-beige) 50%,var(--sand) 100%);--gradient-earth:linear-gradient(135deg,var(--olive-green) 0%,var(--leaf-green) 100%);--gradient-hero:linear-gradient(180deg,var(--cream) 0%,var(--warm-beige) 60%,var(--sand) 100%);--font-heading:"Playfair Display",Georgia,"Times New Roman",serif;--font-body:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-handwritten:"Caveat",cursive;--text-xs:clamp(0.7rem,0.65rem + 0.25vw,0.8rem);--text-sm:clamp(0.8rem,0.75rem + 0.25vw,0.9rem);--text-base:clamp(0.95rem,0.88rem + 0.35vw,1.1rem);--text-lg:clamp(1.1rem,1rem + 0.5vw,1.3rem);--text-xl:clamp(1.25rem,1.1rem + 0.75vw,1.6rem);--text-2xl:clamp(1.5rem,1.2rem + 1.5vw,2.2rem);--text-3xl:clamp(2rem,1.5rem + 2.5vw,3rem);--text-4xl:clamp(2.5rem,1.8rem + 3.5vw,4rem);--text-5xl:clamp(3rem,2rem + 5vw,5.5rem);--space-xs:clamp(0.25rem,0.2rem + 0.25vw,0.5rem);--space-sm:clamp(0.5rem,0.4rem + 0.5vw,0.75rem);--space-md:clamp(1rem,0.8rem + 1vw,1.5rem);--space-lg:clamp(1.5rem,1rem + 2.5vw,3rem);--space-xl:clamp(2rem,1.5rem + 2.5vw,4rem);--space-2xl:clamp(3rem,2rem + 5vw,6rem);--space-3xl:clamp(4rem,3rem + 5vw,8rem);--space-section:clamp(5rem,4rem + 5vw,10rem);--max-width:1400px;--content-width:1100px;--nav-height:80px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--radius-full:999px;--shadow-sm:0 2px 8px rgba(92,74,50,0.06);--shadow-md:0 4px 20px rgba(92,74,50,0.1);--shadow-lg:0 8px 40px rgba(92,74,50,0.12);--shadow-xl:0 16px 64px rgba(92,74,50,0.15);--shadow-glow:0 0 30px rgba(107,127,94,0.2);--ease-smooth:cubic-bezier(0.25,0.1,0.25,1);--ease-bounce:cubic-bezier(0.34,1.56,0.64,1);--ease-snap:cubic-bezier(0.16,1,0.3,1);--transition-fast:0.2s var(--ease-smooth);--transition-base:0.3s var(--ease-smooth);--transition-slow:0.6s var(--ease-smooth)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.7;color:var(--dark-brown);background-color:var(--cream);overflow-x:hidden}.app{position:relative;width:100%;min-height:100vh}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--dark-brown);letter-spacing:-.01em}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:1em;color:var(--earth-brown)}a{color:var(--olive-green);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:white}.handwritten{font-family:var(--font-handwritten);font-weight:500}.label{font-size:var(--text-xs);letter-spacing:.15em;color:var(--olive-green)}.btn,.label{font-family:var(--font-body);font-weight:700;text-transform:uppercase}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85em 2em;font-size:var(--text-sm);letter-spacing:.1em;border:2px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn--primary{background:var(--olive-green);color:var(--white);border-color:var(--olive-green)}.btn--primary:hover{background:var(--leaf-green);border-color:var(--leaf-green);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn--outline{background:transparent;color:var(--olive-green);border-color:var(--olive-green)}.btn--outline:hover{background:var(--olive-green);color:var(--white);transform:translateY(-2px)}.btn--magnetic{will-change:transform}.section{padding:var(--space-section) 0;position:relative;overflow:hidden}.section--alt{background:var(--warm-beige)}.section--dark{background:var(--dark-brown)}.section--dark,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--cream)}.section--dark p{color:var(--tan)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.container--narrow{max-width:var(--content-width)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.grid{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.card,.sr-only{overflow:hidden}.card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.paw-print{opacity:.15;color:var(--earth-brown);pointer-events:none}.leaf-decoration{position:absolute;opacity:.3;pointer-events:none;color:var(--leaf-green)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--tan);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--earth-brown)}::selection{background:var(--sage);color:var(--dark-brown)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-8px) rotate(2deg)}66%{transform:translateY(4px) rotate(-1deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes drawLine{to{stroke-dashoffset:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pawStep{0%{opacity:0;transform:scale(.3) rotate(-15deg)}50%{opacity:1;transform:scale(1.1) rotate(0deg)}to{opacity:.6;transform:scale(1) rotate(0deg)}}@keyframes heartBeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}.custom-cursor{position:fixed;top:0;left:0;width:24px;height:24px;pointer-events:none;z-index:99999;transition:transform .1s ease-out;mix-blend-mode:difference}.custom-cursor--hover{transform:scale(1.5)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){:root{--nav-height:70px}.grid-3{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media (max-width:640px){:root{--nav-height:60px}.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 var(--space-md)}}img{max-width:100%;height:auto;display:block}.img-rounded{border-radius:var(--radius-lg)}.img-circle{border-radius:50%}.divider{width:60px;height:3px;background:var(--olive-green);border:none;border-radius:2px;margin:var(--space-md) 0}.divider--center{margin-left:auto;margin-right:auto}.footprint-trail-container{position:absolute;top:0;left:0;width:0;height:0;pointer-events:none;z-index:999999;overflow:visible}.footprint-step{pointer-events:none}.footprint-inner{width:100%;height:100%;opacity:0;will-change:opacity,transform;animation:footprintFade 1.6s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes footprintFade{0%{opacity:0;transform:translateY(0) scale(.65)}15%{opacity:.85;transform:translateY(-20px) scale(1.15)}50%{opacity:.6;transform:translateY(-70px) scale(1)}to{opacity:0;transform:translateY(-130px) scale(.85)}}