/* =========================================================
   AGDC CONTACT PAGE
   Matches AGDC About Us visual system
   ========================================================= */

.agdc-contact-page {

    --agdc-black: #050505;
    --agdc-white: #ffffff;
    --agdc-orange: #db5821;
    --agdc-gray: #777777;
    --agdc-light: #f6f6f4;
    --agdc-border: #dedede;

    position: relative;

    width: 100%;

    overflow: hidden;

    background: var(--agdc-white);

    color: var(--agdc-black);

    font-family: inherit;
}


/* =========================================================
   GLOBAL CONTACT PAGE SAFETY
   ========================================================= */

.agdc-contact-page *,
.agdc-contact-page *::before,
.agdc-contact-page *::after {
    box-sizing: border-box;
}

.agdc-contact-page img {
    display: block;
    max-width: 100%;
}

.agdc-contact-page h1,
.agdc-contact-page h2,
.agdc-contact-page h3,
.agdc-contact-page p {
    margin-top: 0;
}

.agdc-contact-page a {
    text-decoration: none;
}


/* =========================================================
   CONTAINER
   Same width as About Us
   ========================================================= */

.agdc-contact-container {
    width: min(1180px, calc(100% - 80px));
    margin-inline: auto;
}


/* =========================================================
   KICKER
   Same style as About Us
   ========================================================= */

.agdc-contact-kicker {
    display: block;

    margin-bottom: 15px;

    color: var(--agdc-orange);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.6px;
    line-height: 1.2;

    text-transform: uppercase;
}


/* =========================================================
   EXACT ABOUT US REVEAL ANIMATION
   ========================================================= */

.agdc-reveal {

    opacity: 0;

    transform: translateY(55px);

    transition:
        opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);

    will-change: opacity, transform;
}


.agdc-reveal-left {
    transform: translateX(-55px);
}


.agdc-reveal-right {
    transform: translateX(55px);
}


.agdc-reveal-up {
    transform: translateY(55px);
}


.agdc-reveal.is-visible {
    opacity: 1;

    transform: translate(0, 0);
}


/* =========================================================
   SAME STAGGER SYSTEM AS ABOUT
   ========================================================= */

.agdc-reveal.is-visible:nth-child(1) {
    transition-delay: 0s;
}

.agdc-reveal.is-visible:nth-child(2) {
    transition-delay: .12s;
}

.agdc-reveal.is-visible:nth-child(3) {
    transition-delay: .24s;
}

.agdc-reveal.is-visible:nth-child(4) {
    transition-delay: .36s;
}


/* =========================================================
   HERO
   ========================================================= */

.agdc-contact-hero {

    position: relative;

    min-height: 760px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(5,5,5,.98) 0%,
            rgba(5,5,5,.92) 35%,
            rgba(5,5,5,.45) 65%,
            rgba(5,5,5,.18) 100%
        ),
        var(--agdc-contact-hero-image)
        center center / cover no-repeat;

    color: var(--agdc-white);
}


.agdc-contact-hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.35),
            transparent 70%
        );

    pointer-events: none;
}


.agdc-contact-hero-content {

    position: relative;

    z-index: 2;

    width: min(570px, 100%);

    padding: 70px 0;
}


.agdc-contact-hero-title {

    margin: 0 0 30px;

    color: var(--agdc-white);

    font-size: clamp(66px, 7.2vw, 108px);

    font-weight: 900;

    letter-spacing: -5px;

    line-height: .82;

    text-transform: uppercase;
}


.agdc-contact-hero-title em {

    display: block;

    color: var(--agdc-orange);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: .95em;

    font-style: italic;

    font-weight: 400;

    letter-spacing: -3px;

    line-height: .9;
}


.agdc-contact-hero-text {

    max-width: 390px;

    margin: 0 0 28px;

    color: rgba(255,255,255,.68);

    font-size: 15px;

    line-height: 1.8;
}


.agdc-contact-line {

    display: block;

    width: 70px;

    height: 2px;

    background: var(--agdc-orange);
}


/* =========================================================
   CONTACT INFORMATION
   ========================================================= */

.agdc-contact-information {

    padding: 110px 0;

    background: var(--agdc-white);
}


.agdc-contact-information-grid {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 85px;

    align-items: start;
}


/* =========================================================
   SECTION HEADINGS
   Same visual scale as About Us
   ========================================================= */

.agdc-contact-heading h2 {

    margin: 0 0 25px;

    color: var(--agdc-black);

    font-size: clamp(44px, 5vw, 68px);

    font-weight: 900;

    letter-spacing: -3px;

    line-height: .91;

    text-transform: uppercase;
}


.agdc-contact-heading h2 em {

    color: var(--agdc-orange);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-style: italic;

    font-weight: 400;
}


.agdc-contact-heading p {

    max-width: 510px;

    margin: 0;

    color: #555;

    font-size: 14px;

    line-height: 1.9;
}


/* =========================================================
   FORM
   ========================================================= */

.agdc-contact-form {

    margin-top: 42px;
}


.agdc-contact-form-field {

    margin-bottom: 21px;
}


.agdc-contact-form-field label {

    display: block;

    margin-bottom: 8px;

    color: #202020;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.agdc-contact-form-field label span {

    color: var(--agdc-orange);
}


.agdc-contact-form-field input,
.agdc-contact-form-field select,
.agdc-contact-form-field textarea {

    width: 100%;

    padding: 15px 16px;

    border: 1px solid #dedede;

    border-radius: 8px;

    outline: none;

    background: #fff;

    color: #222;

    font-family: inherit;

    font-size: 13px;

    line-height: 1.5;

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}


.agdc-contact-form-field textarea {

    min-height: 145px;

    resize: vertical;
}


.agdc-contact-form-field input::placeholder,
.agdc-contact-form-field textarea::placeholder {

    color: #888;

    opacity: 1;
}


.agdc-contact-form-field input:focus,
.agdc-contact-form-field select:focus,
.agdc-contact-form-field textarea:focus {

    border-color: var(--agdc-orange);

    box-shadow:
        0 0 0 4px rgba(219,88,33,.08);

    transform: translateY(-1px);
}


/* =========================================================
   BUTTONS
   Same rounded premium style
   ========================================================= */

.agdc-contact-submit,
.agdc-contact-black-button,
.agdc-contact-outline-button {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 20px;

    min-height: 52px;

    padding: 0 27px;

    border: 0;

    border-radius: 999px;

    font-family: inherit;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.7px;

    text-transform: uppercase;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}


.agdc-contact-submit {

    background: var(--agdc-orange);

    color: #fff;
}


.agdc-contact-submit:hover {

    background: #050505;

    color: var(--agdc-orange);

    transform: translateY(-3px);
}


.agdc-contact-submit span:last-child,
.agdc-contact-black-button span,
.agdc-contact-outline-button span {

    font-size: 17px;
}


/* =========================================================
   CONTACT DETAILS
   ========================================================= */

.agdc-contact-details-column {

    position: relative;

    padding: 42px;

    background: var(--agdc-light);
}


.agdc-contact-details-inner {

    position: relative;

    z-index: 2;
}


/* =========================================================
   DETAILS
   ========================================================= */

.agdc-contact-detail {

    display: flex;

    align-items: flex-start;

    gap: 20px;

    margin-top: 30px;
}


.agdc-contact-detail-icon {

    flex: 0 0 48px;

    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid #d0d0d0;

    border-radius: 50%;

    background: #fff;

    color: #111;

    font-size: 21px;
}


.agdc-contact-detail-content h3,
.agdc-contact-social-block h3 {

    margin: 3px 0 7px;

    color: #111;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.agdc-contact-detail-content p {

    margin: 0;

    color: #555;

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   SOCIAL
   ========================================================= */

.agdc-contact-social-block {

    display: flex;

    align-items: center;

    gap: 25px;

    margin-top: 38px;
}


.agdc-contact-social-links {

    display: flex;

    gap: 9px;
}


.agdc-contact-social-links a {

    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #050505;

    color: #fff;

    font-size: 13px;

    font-weight: 800;

    transition:
        background .3s ease,
        transform .3s ease;
}


.agdc-contact-social-links a:hover {

    background: var(--agdc-orange);

    transform: translateY(-3px);
}


/* =========================================================
   LOCATION
   ========================================================= */

.agdc-contact-location {

    display: grid;

    grid-template-columns:
        minmax(360px, .8fr)
        minmax(0, 1.7fr);

    min-height: 430px;

    background: var(--agdc-black);
}


.agdc-contact-location-content {

    display: flex;

    align-items: center;

    padding: 70px 0;

    color: #fff;
}


.agdc-contact-location-text {

    max-width: 400px;
}


.agdc-contact-location-text h2 {

    margin: 0;

    color: #fff;

    font-size: clamp(50px, 6vw, 78px);

    font-weight: 900;

    letter-spacing: -4px;

    line-height: .85;

    text-transform: uppercase;
}


.agdc-contact-location-text h2 em {

    color: var(--agdc-orange);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-style: italic;

    font-weight: 400;
}


.agdc-contact-location-text p {

    max-width: 360px;

    margin: 25px 0;

    color: rgba(255,255,255,.68);

    font-size: 14px;

    line-height: 1.8;
}


.agdc-contact-outline-button {

    border: 1px solid rgba(255,255,255,.7);

    background: transparent;

    color: #fff;
}


.agdc-contact-outline-button:hover {

    border-color: var(--agdc-orange);

    background: var(--agdc-orange);

    transform: translateY(-3px);
}


.agdc-contact-map {

    min-height: 430px;
}


.agdc-contact-map iframe {

    display: block;

    width: 100%;
    height: 100%;

    min-height: 430px;

    border: 0;

    filter: grayscale(.15);
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.agdc-contact-cta {

    position: relative;

    min-height: 500px;

    overflow: hidden;

    background: var(--agdc-orange);

    color: #fff;
}


.agdc-contact-cta-background {

    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle at 85% 50%,
            rgba(255,255,255,.12),
            transparent 35%
        );

    pointer-events: none;
}


.agdc-contact-cta-grid {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 45px;

    min-height: 500px;
}


.agdc-contact-cta-image {

    align-self: end;

    display: flex;

    align-items: center;

    height: 500px;
}


.agdc-contact-cta-image img {

    display: block;

    width: 100%;

    max-width: 600px;

    height: auto;

    object-fit: contain;

    object-position: center center;
}


.agdc-contact-cta-content {

    padding: 70px 0;
}


.agdc-contact-cta-content .agdc-contact-kicker {

    color: #fff;
}


.agdc-contact-cta-content h2 {

    margin: 0 0 18px;

    color: #050505;

    font-size: clamp(50px, 5.5vw, 78px);

    font-weight: 900;

    letter-spacing: -4px;

    line-height: .9;

    text-transform: uppercase;
}


.agdc-contact-cta-content p {

    max-width: 430px;

    margin: 0 0 27px;

    color: rgba(0,0,0,.72);

    font-size: 15px;

    line-height: 1.8;
}


.agdc-contact-black-button {

    background: #050505;

    color: #fff;
}


.agdc-contact-black-button:hover {

    background: #fff;

    color: #050505;

    transform: translateY(-3px);
}


/* =========================================================
   FORM MESSAGE
   ========================================================= */

.agdc-contact-form-message {

    min-height: 24px;

    margin-top: 15px;

    font-size: 13px;
}


.agdc-contact-form-message.success {
    color: #24833a;
}


.agdc-contact-form-message.error {
    color: #c62828;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .agdc-contact-container {
        width: min(100% - 50px, 1050px);
    }

    .agdc-contact-information-grid {
        gap: 50px;
    }

    .agdc-contact-details-column {
        padding: 35px;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .agdc-contact-container {
        width: min(100% - 48px, 720px);
    }


    .agdc-contact-hero {

        min-height: 650px;

        background-position: 65% center;
    }


    .agdc-contact-information-grid {

        grid-template-columns: 1fr;

        gap: 65px;
    }


    .agdc-contact-details-column {
        padding: 45px;
    }


    .agdc-contact-location {

        grid-template-columns: 1fr;
    }


    .agdc-contact-location-content {

        min-height: 360px;
    }


    .agdc-contact-map,
    .agdc-contact-map iframe {

        min-height: 380px;
    }


    .agdc-contact-cta-grid {

        grid-template-columns: 1fr;

        gap: 0;

        min-height: auto;
    }


    .agdc-contact-cta-content {

        order: 1;

        padding: 75px 0 30px;
    }


    .agdc-contact-cta-image {

        order: 2;

        height: auto;
    }


    .agdc-contact-cta-image img {

        width: 100%;

        max-width: 600px;

        margin: 0 auto;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 620px) {

    .agdc-contact-container {

        width: calc(100% - 36px);
    }


    .agdc-contact-hero {

        min-height: 600px;

        align-items: flex-end;

        background-position: 62% center;
    }


    .agdc-contact-hero-content {

        padding: 75px 0 65px;
    }


    .agdc-contact-hero-title {

        margin-bottom: 24px;

        font-size: clamp(58px, 18vw, 82px);

        letter-spacing: -4px;
    }


    .agdc-contact-hero-text {

        font-size: 15px;
    }


    .agdc-contact-information {

        padding: 75px 0;
    }


    .agdc-contact-heading h2 {

        font-size: clamp(40px, 12vw, 58px);

        letter-spacing: -2.5px;
    }


    .agdc-contact-details-column {

        padding: 35px 25px;
    }


    .agdc-contact-detail {

        gap: 14px;
    }


    .agdc-contact-detail-icon {

        flex-basis: 45px;

        width: 45px;
        height: 45px;
    }


    .agdc-contact-social-block {

        display: block;
    }


    .agdc-contact-social-links {

        margin-top: 15px;
    }


    .agdc-contact-location-content {

        padding: 70px 0;
    }


    .agdc-contact-map,
    .agdc-contact-map iframe {

        min-height: 330px;
    }


    .agdc-contact-cta-content {

        padding: 65px 0 25px;
    }


    .agdc-contact-cta-content h2 {

        font-size: clamp(48px, 14vw, 68px);

        letter-spacing: -3px;
    }


    .agdc-contact-cta-image {

        height: auto;
    }


    .agdc-contact-cta-image img {

        width: 125%;

        max-width: none;

        margin-left: -12%;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .agdc-contact-container {

        width: calc(100% - 28px);
    }


    .agdc-contact-hero-content {

        padding-top: 60px;
    }


    .agdc-contact-hero-title {

        font-size: clamp(48px, 17vw, 68px);

        letter-spacing: -3px;
    }


    .agdc-contact-location-text h2 {

        font-size: clamp(48px, 17vw, 68px);
    }


    .agdc-contact-detail-content p {

        font-size: 12px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .agdc-reveal {

        opacity: 1 !important;

        transform: none !important;

        transition: none !important;
    }

}


/* =========================================================
   PRINT
   ========================================================= */

@media print {

    .agdc-reveal {

        opacity: 1 !important;

        transform: none !important;
    }

}