@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Lato:wght@300;400;500&display=swap");:root{--color-primary:teal;--color-primary-dark:#005959;--color-secondary:#f4a460;--color-accent:gold;--color-bg:#fff;--color-bg-alt:#f7f7f7;--color-text:#333;--color-text-light:#666;--border-radius:8px;--font-heading:Playfair Display;--font-body:Lato}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body),-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg);line-height:1.6}body,h1,h2,h3,h4,h5,h6{color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading),-apple-system,sans-serif;line-height:1.2}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;border-radius:var(--border-radius);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn-secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:#fff}.section{padding:5rem 0}.section-alt{background:var(--color-bg-alt)}.section-title{font-size:2.25rem;font-weight:700;margin-bottom:1rem;text-align:center}.section-subtitle{font-size:1.1rem;color:var(--color-text-light);text-align:center;max-width:600px;margin:0 auto 3rem}.card{background:var(--color-bg);border-radius:var(--border-radius);padding:2rem;box-shadow:0 2px 12px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.5rem}.grid-2,.grid-3{display:grid;gap:1.5rem}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.5rem}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.5rem;gap:1.5rem}@media (max-width:768px){.section{padding:3rem 0}.section-title{font-size:1.75rem}.grid-3,.grid-4{grid-template-columns:1fr}}