.video-container {
    height: 252px;
    position: relative;
    border: 0;
}

.hero-vid {
    height: 100%;
    width: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    font-family: 'object-fit: cover;';
    position: relative;
    z-index: -1;
}

.video-container::after {
    content: '';
    display: none;
    height: 100%;
    width: 100%;
    position: absolute;
    right: 0px;
    top: 0px;
    background: linear-gradient(to right,  rgba(59,33,98,0.65) 0%,rgba(59,33,98,0.65) 22%,rgba(59,33,98,0) 100%);
}

.play-bttn {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    z-index: 1;
    border: none;
    display: none;
}

.masthead__content {
    background: linear-gradient(35deg,  rgba(59,33,98,1) 0%,rgba(40,9,87,1) 100%);
    padding: 48px 0;
    z-index: 2;
    position: relative;
}

.masthead__content h1 {
    color: #fff;
    font-size: 4.4rem;
    line-height: 1.295em;
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .video-container {
        height: 100%;
        width: 100%;
        border: 0;
        position: absolute;
        right: 0px;
        top: 0px;
    }

    .video-container::after {
        display: block;
    }

    .masthead__content {
        background: transparent;
        padding: 100px 0;
    }

    .masthead__content h1 {
        font-size: 6.2rem;
        line-height: 1.20em;
        margin-bottom: 14px;
    }
}

@media (min-width: 1200px) {

    .masthead__content {
        padding: 209px 0;
    }

    .masthead__content h1 {
        font-size: 8rem;
        line-height: 1.20em;
        margin-bottom: 21px;
    }
}
/* Contact form in the hero: below the title on mobile/tablet, a full-height column on the right from 1200px */

.masthead__content--has-form {
    padding-bottom: 0;
}

.masthead__form {
    margin: 48px -22px 0;
    padding: 40px 22px 32px;
    background: var(--secondary-color);
}

.masthead__form-title {
    margin-bottom: 20px;
    padding: 0;
    font-size: 3rem;
    line-height: 1.2em;
    text-align: center;
    color: var(--primary-color);
}

.masthead__form-title::after {
    display: none;
}

@media (min-width: 768px) {
    .masthead__form {
        margin: 100px -52px 0;
        padding: 50px 52px 40px;
    }
}

@media (min-width: 1025px) {
    .masthead__form {
        margin-left: -63px;
        margin-right: -63px;
        padding-left: 63px;
        padding-right: 63px;
    }
}

@media (min-width: 1200px) {
    .masthead__content--has-form {
        padding: 0;
    }

    .masthead__content--has-form .container {
        display: flex;
        align-items: stretch;
        gap: 48px;
    }

    .masthead__content--has-form .masthead__text {
        flex: 1;
        min-width: 0;
        align-self: center;
        padding: 160px 0;
    }

    .masthead__form {
        flex: 0 0 48%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 64px 0; /* the hero video shows above and below the panel */
        padding: 48px 56px;
    }

    .masthead__form-title {
        text-align: left;
    }
}

/* Compact version of the contact form for the hero (the Contact page keeps the full layout) */

/* Text fields carry the same text as a placeholder, so their labels are hidden visually but kept for screen readers */
.masthead__form .form-col:has(input[type="text"], input[type="email"], input[type="tel"], textarea) p > label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.masthead__form .form-col p > br {
    display: none;
}

.masthead__form .form-col p {
    margin-bottom: 0;
}

.masthead__form .form-col {
    margin-bottom: 10px;
}

.masthead__form input[type="text"],
.masthead__form input[type="email"],
.masthead__form input[type="tel"] {
    height: 44px;
}

.masthead__form textarea {
    height: 70px;
}

/* Radio group labels and options */
.masthead__form .form-col p > label,
.masthead__form .wpcf7-radio,
.masthead__form .wpcf7-radio label {
    padding-bottom: 4px;
    font-size: 1.5rem;
}

.masthead__form .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 16px;
}

.masthead__form .wpcf7-radio .wpcf7-list-item {
    margin: 0;
}

/* Radio groups take the full width so their options fit on one or two lines */
.masthead__form .row > [class*="col-"]:has(.wpcf7-radio) {
    flex: 0 0 100%;
    max-width: 100%;
}

/* SMS consent and the reCAPTCHA note: legal small print */
.masthead__form .row > p:has(input[type="checkbox"]) {
    margin-bottom: 12px;
}

.masthead__form .wpcf7-checkbox label {
    padding-bottom: 0;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.4em;
}

.masthead__form small {
    display: block;
    font-size: 1.1rem;
    line-height: 1.4em;
}

/* Full-width container: 665px panel whose right edge lines up with the header's Contact Us button, which sticks out
   47px past the container's content edge */
@media (min-width: 1367px) {
    .masthead__form {
        flex-basis: 665px;
        margin-right: -47px;
    }
}
