/* Contact Page - Glacier Design System Implementation */
/* Simple Hero Section with Background Image */
.glacier-hero-simple {
    background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url('/assets/klcc-in-the-clouds.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: grayscale(100%);
    padding: 120px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.glacier-hero-title {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 11.4px;
    text-align: center;
    margin: 0;
    color: rgb(0, 0, 0);
    text-transform: uppercase;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8);
}
/* Project Form Section */
.glacier-form-section {
    background: rgb(247, 247, 247);
    padding: 80px 0;
}
/* Form Container */
.glacier-form-container {
    background: rgb(255, 255, 255);
    border: 1px solid rgb(237, 237, 237);
    border-radius: 0;
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 40px;
}

.glacier-contact-form {
    display: grid;
    gap: 30px;
}

.glacier-form-title {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 2px;
    text-align: center;
    margin: 0 0 10px;
    color: rgb(0, 0, 0);
}

.glacier-form-description {
    font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 25px;
    text-align: center;
    color: rgb(0, 0, 0);
    margin: 0 0 40px;
}
/* Form Layout */
.glacier-form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 768px) {
    .glacier-form-row {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .glacier-checkbox-row {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

.glacier-form-group {
    display: flex;
    flex-direction: column;
}

.glacier-form-label {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgb(0, 0, 0);
    margin-bottom: 8px;
    display: block;
}
/* Form Inputs */
.glacier-form-input,
.glacier-form-select,
.glacier-form-textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid rgb(237, 237, 237);
    background: rgb(248, 248, 248);
    font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: rgb(0, 0, 0);
    transition: all 0.3s ease;
}

.glacier-form-input:focus,
.glacier-form-select:focus,
.glacier-form-textarea:focus {
    outline: none;
    border-color: rgb(0, 0, 0);
    background: rgb(255, 255, 255);
}

.glacier-form-textarea {
    resize: vertical;
    min-height: 120px;
}
/* Checkbox Groups */
.glacier-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.glacier-checkbox-item {
    display: flex;
    align-items: center;
    padding: 8px 0;
    cursor: pointer;
}

.glacier-checkbox-item input[type="checkbox"] {
    margin-right: 12px;
    margin-top: 0;
    width: 16px;
    height: 16px;
}

.glacier-checkbox-label {
    font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    color: rgb(0, 0, 0);
    cursor: pointer;
}
/* Submit Section */
.glacier-form-submit-section {
    text-align: center;
    margin-top: 20px;
}

.glacier-btn-primary {
    background: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    border: none;
    padding: 20px 40px;
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.glacier-btn-primary:hover {
    background: rgb(51, 51, 51);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.glacier-btn-icon {
    font-size: 16px;
}

.glacier-form-disclaimer {
    font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 300;
    line-height: 18px;
    color: rgb(0, 0, 0);
    max-width: 500px;
    margin: 20px auto 0;
}
/* Section 2: Contact Methods */
.glacier-contact-methods-section {
    background: rgb(255, 255, 255);
    padding: 80px 0;
}

.glacier-section-header {
    text-align: center;
    margin-bottom: 60px;
}

.glacier-section-title {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 28.5px;
    font-weight: 400;
    line-height: 34.2px;
    letter-spacing: 11.4px;
    text-align: center;
    margin: 0 0 20px;
    color: rgb(0, 0, 0);
    text-transform: uppercase;
}

.glacier-section-description {
    font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 25px;
    color: rgb(0, 0, 0);
    margin: 0;
}
/* Contact Methods Grid */
.glacier-contact-methods-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    max-width: 1000px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .glacier-contact-methods-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.glacier-contact-card {
    background: rgb(255, 255, 255);
    border: 1px solid rgb(237, 237, 237);
    padding: 40px 30px;
    text-align: center;
    transition: all 0.3s ease;
}

.glacier-contact-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.glacier-contact-label {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgb(132, 225, 31);
    margin-bottom: 20px;
    display: block;
}

.glacier-contact-card-title {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 15px;
    color: rgb(0, 0, 0);
}

.glacier-contact-clickable {
    display: block;
    text-decoration: none;
    color: rgb(0, 0, 0);
    transition: all 0.3s ease;
    cursor: pointer;
}

.glacier-contact-clickable:hover {
    color: rgb(132, 225, 31);
    transform: translateY(-2px);
}

.glacier-contact-card-description {
    font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: rgb(0, 0, 0);
    margin: 0 0 20px;
}

.glacier-contact-card-link {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    color: rgb(0, 0, 0);
    text-decoration: none;
    transition: color 0.3s ease;
}

.glacier-contact-card-link:hover {
    color: rgb(132, 225, 31);
}
/* Contact Actions */
.contact-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.glacier-contact-action {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgb(255, 255, 255);
    background: rgb(0, 0, 0);
    text-decoration: none;
    padding: 8px 16px;
    transition: all 0.3s ease;
    display: inline-block;
}

.glacier-contact-action:hover {
    background: rgb(132, 225, 31);
    transform: translateY(-2px);
}
/* Greyscale Social Media Icons */
.glacier-social-icons {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.social-icon {
    display: inline-block;
    width: 32px;
    height: 32px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 0.3s ease;
}

.social-icon:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-2px);
}
/* Social Media Icon Backgrounds */
.social-icon.facebook {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
}

.social-icon.instagram {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E");
}

.social-icon.linkedin {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");
}

.social-icon.youtube {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}
/* Section 3: FAQ */
.glacier-faq-section {
    background: rgb(247, 247, 247);
    padding: 80px 0;
}

.glacier-faq-container {
    max-width: 800px;
    margin: 0 auto;
}

.glacier-faq-item {
    background: rgb(255, 255, 255);
    border: 1px solid rgb(237, 237, 237);
    margin-bottom: 2px;
}

.glacier-faq-question {
    width: 100%;
    background: none;
    border: none;
    padding: 30px 40px;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}

.glacier-faq-question:hover {
    background: rgb(248, 248, 248);
}

.glacier-faq-question[aria-expanded="true"] {
    background: rgb(248, 248, 248);
}

.glacier-faq-question-text {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    color: rgb(0, 0, 0);
}

.glacier-faq-icon {
    font-family: "Dosis", "Helvetica", "Arial", sans-serif;
    font-size: 24px;
    font-weight: 300;
    color: rgb(0, 0, 0);
    transition: transform 0.3s ease;
}

.glacier-faq-question[aria-expanded="true"] .glacier-faq-icon {
    transform: rotate(45deg);
}

.glacier-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.glacier-faq-answer.active {
    max-height: 500px;
}

.glacier-faq-answer-content {
    padding: 0 40px 40px;
}

.glacier-faq-answer-content p {
    font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 25px;
    color: rgb(0, 0, 0);
    margin: 0;
}

/* Enhanced FAQ Interactions */
.glacier-faq-question:focus {
    outline: 2px solid rgb(132, 225, 31);
    outline-offset: 2px;
}

.glacier-faq-question.touch-active {
    background: rgb(240, 240, 240);
}

/* Form Validation Styles */
.glacier-form-group.error .glacier-form-input,
.glacier-form-group.error .glacier-form-select,
.glacier-form-group.error .glacier-form-textarea {
    border-color: #ef4444;
    background: #fef2f2;
}

.glacier-form-group.error .glacier-form-label {
    color: #ef4444;
}

.glacier-form-group.error::after {
    content: "This field is required";
    font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
    font-size: 12px;
    color: #ef4444;
    margin-top: 4px;
    display: block;
}

/* Success state for forms */
.glacier-form-group.success .glacier-form-input,
.glacier-form-group.success .glacier-form-select,
.glacier-form-group.success .glacier-form-textarea {
    border-color: #10b981;
    background: #f0fdf4;
}

/* Contact Card Clickable Enhancement */
.glacier-contact-clickable {
    transition: all 0.3s ease;
    cursor: pointer;
}

.glacier-contact-clickable:hover {
    color: rgb(132, 225, 31);
}

/* FAQ Animation Enhancement for better UX */
.glacier-faq-answer {
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.glacier-faq-answer.active {
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Mobile Responsiveness */
@media (max-width: 767px) {
    .glacier-hero-simple {
        padding: 80px 0;
    }
    
    .glacier-hero-title {
        font-size: 24px;
        line-height: 30px;
        letter-spacing: 8px;
    }
    
    .glacier-form-section {
        padding: 60px 0;
    }
    
    .glacier-form-container {
        padding: 40px 20px;
        margin: 0 20px;
    }
    
    .glacier-section-title {
        font-size: 24px;
        line-height: 30px;
        letter-spacing: 8px;
    }
    
    .glacier-contact-methods-section,
    .glacier-faq-section {
        padding: 60px 0;
    }
    
    .glacier-contact-card {
        padding: 30px 20px;
    }
    
    .glacier-faq-question {
        padding: 20px;
    }
    
    .glacier-faq-answer-content {
        padding: 0 20px 30px;
    }
    
    .glacier-btn-primary {
        padding: 15px 30px;
        font-size: 11px;
    }
}
/* Container Override for Contact Page */
.glacier-hero-simple .container,
.glacier-form-section .container,
.glacier-contact-methods-section .container,
.glacier-faq-section .container {
    max-width: 1200px;
    padding: 0 20px;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .glacier-hero-simple .container,
    .glacier-form-section .container,
    .glacier-contact-methods-section .container,
    .glacier-faq-section .container {
        padding: 0 11.25px;
    }
}