:root{--color-teal:#31c3bb;--color-white:#fff;--color-dark-teal:#156496;--color-light-teal:rgb(103.5553278689,216.9446721311,210.731557377);--color-soft-teal:rgba(49,195,187,0.1);--color-light-gray:#f8f9fa;--color-medium-gray:#6c757d;--color-dark-gray:#343a40;--color-gold:#f8d7a5;--color-light-gold:#faf5ed;--font-heading:Playfair Display,Georgia,serif;--font-body:Crimson Text,Georgia,serif;--font-primary:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);font-size:1rem;line-height:1.6;color:#343a40;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.heading-primary{font-family:var(--font-heading);font-size:3rem;font-weight:700;line-height:1.2;color:#156496;margin-bottom:1.5rem}@media(max-width:768px){.heading-primary{font-size:2.25rem}}@media(max-width:640px){.heading-primary{font-size:1.875rem}}.heading-secondary{font-family:var(--font-heading);font-size:2.25rem;font-weight:600;line-height:1.3;color:#156496;margin-bottom:1rem}@media(max-width:768px){.heading-secondary{font-size:1.875rem}}@media(max-width:640px){.heading-secondary{font-size:1.5rem}}.heading-tertiary{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;line-height:1.4;color:#156496;margin-bottom:.5rem}@media(max-width:640px){.heading-tertiary{font-size:1.25rem}}.text-body{font-family:var(--font-body);font-size:1.125rem;line-height:1.7;color:#6c757d}@media(max-width:640px){.text-body{font-size:1rem}}.text-large{font-family:var(--font-body);font-size:1.25rem;line-height:1.6;color:#6c757d}@media(max-width:640px){.text-large{font-size:1.125rem}}.text-accent{color:#31c3bb;font-weight:600}.btn-primary{background:linear-gradient(135deg,#31c3bb,#156496);color:#fff;padding:1rem 2.5rem;border-radius:.5rem;font-family:var(--font-primary);font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .3s ease-in-out;box-shadow:0 4px 20px rgba(49,195,187,.15)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(49,195,187,.3)}.btn-primary:active{transform:translateY(0)}@media(max-width:640px){.btn-primary{padding:.5rem 2rem;font-size:.875rem}}.btn-secondary{background:rgba(0,0,0,0);color:#156496;padding:1rem 2.5rem;border:2px solid #31c3bb;border-radius:.5rem;font-family:var(--font-primary);font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease-in-out}.btn-secondary:hover{background:#31c3bb;color:#fff;transform:translateY(-1px)}@media(max-width:640px){.btn-secondary{padding:.5rem 2rem;font-size:.875rem}}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}@media(max-width:640px){.container{padding:0 1rem}}.section{padding:6rem 0}@media(max-width:768px){.section{padding:5rem 0}}@media(max-width:640px){.section{padding:4rem 0}}.section-alt{background-color:#f8f9fa}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.mt-0{margin-top:0}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.fade-in{opacity:0;animation:fadeIn ease-in-out .5s ease-in-out forwards}@keyframes fadeIn{to{opacity:1}}.slide-up{transform:translateY(30px);opacity:0;animation:slideUp ease-out .5s ease-in-out forwards}@keyframes slideUp{to{transform:translateY(0);opacity:1}}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:600;color:#156496;margin-bottom:.5rem}.form-input,.form-textarea{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;font-family:var(--font-primary);transition:border-color .15s ease-in-out}.form-input:focus,.form-textarea:focus{outline:none;border-color:#31c3bb;box-shadow:0 0 0 3px rgba(49,195,187,.1)}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.form-textarea{resize:vertical;min-height:120px}.form-error{color:#ef4444;font-size:.875rem;margin-top:.25rem}