:root{--primary-blue: #495777;--primary-teal: #648C81;--accent-cream: #F2D5A0;--accent-coral: #F28066;--primary-blue-dark: #3a4560;--primary-blue-light: #5d6b8c;--primary-teal-dark: #527369;--primary-teal-light: #7ba599;--white: #FFFFFF;--off-white: #FAFAFA;--gray-light: #F5F5F5;--gray-medium: #E0E0E0;--gray-dark: #757575;--black: #2C2C2C;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--spacing-3xl: 6rem;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-heading: "Playfair Display", Georgia, serif;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden;width:100%}body{font-family:var(--font-family-primary);color:var(--black);background-color:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%;max-width:100vw}body.cal-open,body[style*="overflow: hidden"]{overflow:hidden!important;position:fixed;width:100%;height:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);line-height:1.2;margin-bottom:var(--spacing-md);font-weight:600;color:var(--primary-blue)}h1{font-size:3rem;margin-bottom:var(--spacing-lg)}h2{font-size:2.25rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md);color:var(--gray-dark)}a{color:var(--primary-teal);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-teal-dark)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-wide{max-width:1400px}.container-narrow{max-width:900px}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-weight:500;font-size:1rem;text-align:center;cursor:pointer;transition:all var(--transition-normal);border:2px solid transparent;text-decoration:none}.btn-primary{background-color:var(--primary-teal);color:var(--white)}.btn-primary:hover{background-color:var(--primary-teal-dark);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--accent-coral);color:var(--white)}.btn-secondary:hover{background-color:#e06f55;color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;border-color:var(--primary-blue);color:var(--primary-blue)}.btn-outline:hover{background-color:var(--primary-blue);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-md)}input,textarea,select{font-family:var(--font-family-primary);font-size:1rem;padding:var(--spacing-sm);border:2px solid var(--gray-medium);border-radius:var(--radius-md);width:100%;transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-teal)}label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--primary-blue)}.section{padding:var(--spacing-3xl) 0}.section-alt{background-color:var(--gray-light)}.section-cream{background:linear-gradient(135deg,#f2d5a026,#f2d5a014)}.section-teal{background:linear-gradient(135deg,#648c811f,#648c810f)}.section-coral{background:linear-gradient(135deg,#f280661a,#f280660d)}.section-blue{background:linear-gradient(135deg,#49577714,#4957770a)}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}@media (max-width: 768px){html{font-size:14px}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}
