:root{--color-primary:#f2e3d5;--color-primary-light:#fef8f5;--color-primary-dark:#b8866b;--color-secondary:#dcd0cd;--color-background:#faf9f6;--color-surface:#fff;--color-surface-alt:#f4f0eb;--color-text-main:#2c2825;--color-text-muted:#8c8279;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--container-width:1280px;--section-padding:7rem 2rem;--section-padding-mobile:3.5rem 1rem;--radius-sm:4px;--radius-md:12px;--radius-lg:24px;--shadow-soft:0 10px 40px -10px #00000008;--shadow-hover:0 20px 50px -15px #0000000f;--transition-smooth:transform .5s cubic-bezier(.25, 1, .5, 1), opacity .5s cubic-bezier(.25, 1, .5, 1), box-shadow .5s cubic-bezier(.25, 1, .5, 1), background-color .5s cubic-bezier(.25, 1, .5, 1), color .5s cubic-bezier(.25, 1, .5, 1), border-color .5s cubic-bezier(.25, 1, .5, 1)}@media (max-width:768px){:root{--section-padding:var(--section-padding-mobile)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-main);margin-bottom:1rem;font-weight:500;line-height:1.2}p{margin-bottom:1rem}a{color:inherit;text-decoration:none;transition:color .3s,border-color .3s}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-width);margin:0 auto;padding:0 1.5rem}.section-title{text-align:center;margin-bottom:1rem;font-size:2.5rem}.section-subtitle{text-align:center;color:var(--color-text-muted);max-width:600px;margin:0 auto 3rem;font-size:1.125rem}@media (max-width:768px){.container{padding:0 1rem}.section-title{font-size:1.75rem}.section-subtitle{margin-bottom:2rem;font-size:1rem}}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-items:center;padding:1rem 2rem;font-size:1rem;font-weight:500;text-decoration:none;transition:transform .3s,background-color .3s,color .3s,box-shadow .3s,border-color .3s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-text-main)}.btn-primary:hover{background-color:var(--color-primary-dark);color:var(--color-surface);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-outline{color:var(--color-text-main);border:1px solid var(--color-primary-dark);background-color:#0000}.btn-outline:hover{background-color:var(--color-primary-dark);color:var(--color-surface);box-shadow:var(--shadow-hover);transform:translateY(-2px)}@media (max-width:768px){.btn{padding:.75rem 1.5rem;font-size:.875rem}}.skip-to-main{z-index:999;background-color:var(--color-primary-dark);color:var(--color-surface);border-radius:var(--radius-sm);padding:1rem 1.5rem;font-weight:600;text-decoration:none;position:absolute;left:-9999px}.skip-to-main:focus{outline:3px solid var(--color-primary);outline-offset:2px;top:1rem;left:1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
