


    :root {
        --green: #075b2b;
        --deep: #063b1d;
        --hover: #005016;
        --gold: #f4b900;
        --soft: #f5f8f3;
        --muted: #68736b;
        --ink: #172019;
        --line: #dce8dd;
        --shadow: 0 15px 40px rgba(7, 91, 43, 0.12);
    }

    /* Hero Section - Only Image */
    .contact-hero {
        padding: 0;
        margin: 0;
        background: none;
        position: relative;
    }

    .contact-hero img {
        width: 100%;
        height: auto;
        object-fit: cover;
        display: block;
    }


    .soft {
        background: var(--soft);
    }

    .tag {
        display: block;
        color: var(--green);
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 1.8px;
        text-transform: uppercase;
        margin-bottom: 9px;
    }

    .title {
        font-size: clamp(28px, 4vw, 42px);
        font-weight: 800;
        line-height: 1.15;
    }

    .title em {
        font-family: "Playfair Display";
        font-style: normal;
        color: var(--green);
    }

    .sub {
        color: var(--muted);
        max-width: 650px;
    }

    /* Green bordered information cards */
    .info-card {
        height: 100%;
        background: #fff;
        border: 1.5px solid var(--green);
        border-radius: 18px;
        padding: 28px 20px;
        text-align: center;
        box-shadow: 0 8px 22px rgba(7, 91, 43, 0.07);
        transition: 0.3s;
    }

    .info-card:hover {
        transform: translateY(-7px);
        box-shadow: var(--shadow);
        background: #fbfffb;
    }

    .info-icon {
        height: 58px;
        width: 58px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 16px;
        border-radius: 50%;
        background: var(--green);
        color: #fff;
        font-size: 24px;
    }

    .info-card h5 {
        font-size: 16px;
        font-weight: 800;
        margin-bottom: 9px;
    }

    .info-card p {
        font-size: 13px;
        line-height: 1.65;
        color: var(--muted);
        margin-bottom: 6px;
    }

    .info-card a {
        font-size: 13px;
        color: var(--green);
        font-weight: 800;
        text-decoration: none;
    }

    .info-card a:hover {
        color: var(--hover);
    }

    /* Form */
    .form-panel {
        background: #fff;
        border: 1.5px solid var(--green);
        border-radius: 20px;
        padding: 32px;
        box-shadow: var(--shadow);
    }

    .form-panel .form-label {
        font-size: 12px;
        color: var(--muted);
        font-weight: 800;
    }

    .form-control,
    .form-select {
        min-height: 47px;
        border: 1px solid #cdddcf;
        border-radius: 9px;
        font-size: 14px;
    }

    .form-control:focus,
    .form-select:focus {
        border-color: var(--green);
        box-shadow: 0 0 0 0.2rem rgba(7, 91, 43, 0.12);
    }

    .form-panel textarea {
        resize: vertical;
    }

    .form-heading {
        font-size: 24px;
        font-weight: 800;
    }

    .form-heading em {
        font-family: "Playfair Display";
        font-style: normal;
        color: var(--green);
    }

    /* Map full width */
    .map-section {
        background: #fff;
    }

    .map-card {
        border: 1.5px solid var(--green);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: var(--shadow);
    }

    .map-card iframe {
        display: block;
        width: 100%;
        height: 440px;
        border: 0;
    }

    .map-footer {
        background: var(--green);
        color: #fff;
        padding: 18px 24px;
    }

    .map-footer i {
        color: var(--gold);
        font-size: 22px;
    }

    .map-footer strong {
        font-size: 14px;
    }

    .map-footer span {
        font-size: 13px;
        color: #dcecdf;
    }

    /* Hours */
    .hours-card {
        background: #fff;
        border: 1.5px solid var(--green);
        border-radius: 18px;
        overflow: hidden;
        box-shadow: 0 8px 25px rgba(7, 91, 43, 0.06);
    }

    .hour-row {
        display: flex;
        justify-content: space-between;
        padding: 14px 20px;
        border-bottom: 1px solid var(--line);
        font-size: 14px;
    }

    .hour-row:last-child {
        border-bottom: 0;
    }

    .hour-row.active {
        background: var(--green);
        color: #fff;
        font-weight: 800;
    }

    .hour-row.active span:last-child {
        color: var(--gold);
    }

    .visit-panel {
        background: linear-gradient(125deg, var(--deep), var(--green));
        border-radius: 20px;
        color: #fff;
        padding: 45px 35px;
        text-align: center;
        min-height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .visit-panel h2 {
        font-size: 32px;
        font-weight: 800;
    }

    .visit-panel h2 em {
        font-family: "Playfair Display";
        font-style: normal;
        color: var(--gold);
    }

    .visit-panel p {
        color: #dcecdf;
    }

    .social-links {
        display: flex;
        gap: 10px;
    }

    .social-links a {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #eaf5ec;
        color: var(--green);
        text-decoration: none;
        font-size: 18px;
        transition: 0.25s;
    }

    .social-links a:hover {
        background: var(--green);
        color: #fff;
    }

    @media (max-width: 767px) {
        .form-panel {
            padding: 22px;
        }
        .map-card iframe {
            height: 330px;
        }
        .map-footer {
            padding: 16px;
        }
        .visit-panel {
            padding: 35px 22px;
        }
    }




    