
        :root {
            --primary: #004a59;
            --accent: #e4bfb6;
            --dark: #000;
            --light: #fff;
            --font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            --font-serif: "Cormorant Garamond", Georgia, serif;
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: var(--font-main); line-height: 1.6; color: #333; background: #fdfdfd; }

        header { background: var(--primary); color: var(--light); padding: 1rem 0; text-align: center; }
        .logo { width: 150px; display: block; margin: 0 auto 10px; }
        nav { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; padding: 10px; }
        nav a { color: var(--light); text-decoration: none; font-weight: 600; font-size: 0.9rem; }
        nav a:hover { color: var(--accent); }

        .hero { 
            height: 60vh; 
            background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('/assets/banner.jpeg');
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--light);
            text-align: center;
        }

        .container { max-width: 1100px; margin: 0 auto; padding: 40px 20px; }
        
        .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
        
        .card { background: var(--light); border-radius: 8px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .card img { width: 100%; height: 250px; object-fit: cover; }
        .content { padding: 20px; }

        footer { background: var(--dark); color: var(--light); text-align: center; padding: 40px; margin-top: 50px; }

        @media (max-width: 768px) {
            .hero { height: 40vh; }
        }
    