        :root {
            --background: #ffffff; --background-light: #f8f9fa; --foreground: #212529; --muted-foreground: #6c757d;
            --primary-blue: hsl(206, 90%, 54%); --primary-green: hsl(158, 77%, 52%); --card-border: #e9ecef;
            --card-bg: #ffffff; --header-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); --radius-lg: 16px;
        }
        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body { font-family: 'Inter', sans-serif; background: var(--background-light); color: var(--foreground); line-height: 1.6; }
        .container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
        .text-gradient { background: linear-gradient(90deg, var(--primary-blue), var(--primary-green)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

        /* Page Header */
        .page-header { background: white; padding: 4rem 0; text-align: center; border-bottom: 1px solid var(--card-border); }
        .page-header h1 { font-size: 3rem; font-weight: 700; }
        .page-header p { font-size: 1.2rem; color: var(--muted-foreground); max-width: 700px; margin: 0.5rem auto 0; }

        /* Contact Section */
        .contact-section { padding: 5rem 0; background: white; }
        .contact-layout { display: grid; grid-template-columns: 1fr 1.5fr; gap: 4rem; align-items: flex-start; }
        
        /* Left Column: Contact Details */
        .contact-details h2 { font-size: 2rem; margin-bottom: 1.5rem; }
        .contact-info-block { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 2rem; }
        .contact-info-block .icon { font-size: 1.5rem; color: var(--primary-blue); margin-top: 5px; }
        .contact-info-block h4 { font-size: 1.1rem; margin-bottom: 0.25rem; }
        .contact-info-block p, .contact-info-block a { color: var(--muted-foreground); text-decoration: none; }
        .contact-info-block a:hover { color: var(--primary-blue); }

        /* Right Column: Contact Form */
        .contact-form-wrapper h2 { font-size: 2rem; margin-bottom: 1.5rem; }
        .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
        .form-group { display: flex; flex-direction: column; }
        .form-group.full-width { grid-column: 1 / -1; }
        .form-group label { font-weight: 500; margin-bottom: 0.5rem; }
        .form-group input, .form-group select, .form-group textarea {
            width: 100%; padding: 12px; border-radius: 8px; border: 1px solid var(--card-border); 
            background: var(--background-light); font-size: 1rem; font-family: 'Inter', sans-serif;
        }
        .form-group textarea { resize: vertical; min-height: 120px; }
        .btn { padding: 14px 28px; border-radius: 8px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; cursor: pointer; transition: all 0.3s ease; font-size: 1rem; }
        .btn-primary { background: var(--primary-blue); color: white; }
        .btn-primary:hover { background: hsl(206, 90%, 48%); transform: translateY(-2px); }

        /* Map Section */
        .map-section iframe { width: 100%; height: 400px; border: 0; }

        /* FAQ Section */
        .faq-section { padding: 5rem 0; }
        .faq-section h2 { text-align: center; font-size: 2.5rem; margin-bottom: 3rem; }
        .faq-container { max-width: 800px; margin: 0 auto; }
        .faq-item { background: white; border: 1px solid var(--card-border); border-radius: 8px; margin-bottom: 1rem; }
        .faq-item summary { font-size: 1.1rem; font-weight: 500; padding: 1.5rem; cursor: pointer; list-style: none; /* Hide default arrow */ display: flex; justify-content: space-between; align-items: center; }
        .faq-item summary::after { content: '\f078'; /* Font Awesome chevron-down */ font-family: 'Font Awesome 6 Free'; font-weight: 900; transition: transform 0.3s ease; }
        .faq-item[open] summary::after { transform: rotate(180deg); }
        .faq-item .faq-answer { padding: 0 1.5rem 1.5rem; color: var(--muted-foreground); }