*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #22371b;--primary-light: #3a5a34;--secondary: #A8C5A4;--accent: #cec5ad;--accent-light: #ddd6c3;--background: #FAF8F5;--background-alt: #f5f7f4;--text: #21371a;--text-muted: rgba(33, 55, 26, .7);--cta: #22371b}html{scroll-behavior:smooth}body{font-family:Montserrat,sans-serif;font-size:16px;line-height:1.7;color:var(--text);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,serif;font-weight:600;line-height:1.3;color:var(--primary);margin-bottom:1rem}h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:700;letter-spacing:-.02em}h2{font-size:clamp(2rem,4vw,3.75rem);font-weight:600}h3{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600}h4{font-size:clamp(1.25rem,2.5vw,1.875rem);font-weight:500}h5{font-size:clamp(1.125rem,2vw,1.5rem);font-weight:500}h6{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:500}p{margin-bottom:1.5rem;font-size:1rem;line-height:1.8}a{color:var(--primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--accent)}button{font-family:Montserrat,sans-serif;cursor:pointer;border:none;outline:none;transition:all .3s ease}.container{max-width:1280px;margin:0 auto;padding:0 2rem}@media (max-width: 768px){.container{padding:0 1.5rem}}.section{padding:6rem 0}@media (max-width: 768px){.section{padding:4rem 0}}img{max-width:100%;height:auto;display:block}::selection{background-color:#cec5ad;color:#22371b}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#faf8f5}::-webkit-scrollbar-thumb{background:#cec5ad;border-radius:5px;border:2px solid #FAF8F5}::-webkit-scrollbar-thumb:hover{background:#22371b}*:focus-visible{outline:2px solid #cec5ad;outline-offset:4px}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.loading{animation:shimmer 2s infinite linear;background:linear-gradient(to right,#f5f2ed,#e8e5e0,#f5f2ed 40%,#f5f2ed);background-size:1000px 100%}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .3s ease}.text-center{text-align:center}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-accent{color:var(--accent)}.bg-white{background-color:#fff}.bg-background{background-color:var(--background)}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.show-mobile{display:none!important}}@media (max-width: 359px){html{font-size:14px}.container{padding:0 1rem}h1{font-size:clamp(1.75rem,6vw,2.25rem)}h2{font-size:clamp(1.5rem,5vw,2rem)}h3{font-size:clamp(1.25rem,4vw,1.5rem)}.section{padding:3rem 0}}@media (min-width: 360px) and (max-width: 480px){html{font-size:15px}.container{padding:0 1.25rem}.section{padding:3.5rem 0}}@media (min-width: 481px) and (max-width: 767px){html{font-size:15.5px}.container{padding:0 1.5rem}.section{padding:4rem 0}}@media (min-width: 768px) and (max-width: 1023px){.container{padding:0 2rem}.section{padding:5rem 0}}@media (min-width: 1024px) and (max-width: 1279px){.container{padding:0 2.5rem;max-width:1180px}.section{padding:6rem 0}}@media (min-width: 1280px) and (max-width: 1535px){.container{max-width:1280px}}@media (min-width: 1536px){html{font-size:17px}.container{max-width:1440px;padding:0 3rem}.section{padding:7rem 0}}@media (min-width: 1920px){html{font-size:18px}.container{max-width:1600px}}@media (min-width: 2560px){html{font-size:20px}.container{max-width:1920px}}@media (hover: none) and (pointer: coarse){button,a,input,select,textarea{min-height:44px}*:hover{transition-duration:0s!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){img{image-rendering:-webkit-optimize-contrast}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{*{background:#fff!important;color:#000!important;box-shadow:none!important}nav,footer,.hide-print{display:none!important}.container{max-width:100%;padding:0}}@media (max-width: 896px) and (orientation: landscape){.section{padding:2rem 0}[class*=HeroSection],[class*=hero]{min-height:80vh}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.container{padding:0 2.5rem}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}
