/* ==========================================================================
   ServiceIsDown Contact V1
   Restrained content-page design matching About / Methodology.
   ========================================================================== */

.contact-v1 {
    background:#fff;
    color:var(--sid-ink);
}

.contact-v1-kicker {
    margin:0 0 12px;
    color:var(--sid-blue);
    font-size:.67rem;
    line-height:1.35;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.contact-v1-hero {
    padding:78px 0 70px;
    border-bottom:1px solid var(--sid-border);
}

.contact-v1-hero__grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);
    gap:90px;
    align-items:end;
}

.contact-v1-hero h1 {
    max-width:700px;
    margin:0;
    font-size:clamp(2.75rem,4.5vw,4rem);
    line-height:1.01;
    font-weight:720;
    letter-spacing:-.055em;
}

.contact-v1-hero__intro {
    display:grid;
    gap:14px;
    padding-bottom:4px;
}

.contact-v1-hero__intro p {
    margin:0;
    color:#5d6777;
    font-size:.86rem;
    line-height:1.72;
}

.contact-v1-hero__intro .contact-v1-note {
    padding-top:14px;
    border-top:1px solid var(--sid-border);
    color:var(--sid-subtle);
    font-size:.77rem;
}

.contact-v1-section {
    padding:74px 0 82px;
    border-bottom:1px solid var(--sid-border);
}

.contact-v1-layout {
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:74px;
    align-items:start;
}

.contact-v1-sidebar > div:first-child > span {
    display:block;
    margin-bottom:11px;
    color:var(--sid-subtle);
    font-size:.62rem;
    font-weight:700;
}

.contact-v1-contact-card {
    margin-top:31px;
    padding-top:20px;
    border-top:1px solid var(--sid-border-strong);
}

.contact-v1-contact-card small {
    display:block;
    margin-bottom:7px;
    color:var(--sid-subtle);
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.contact-v1-contact-card a {
    color:var(--sid-ink);
    font-size:.9rem;
    font-weight:700;
    text-decoration:none;
}

.contact-v1-contact-card p,
.contact-v1-help p,
.contact-v1-form__footer p,
.contact-v1-info p {
    margin:8px 0 0;
    color:#5d6777;
    font-size:.76rem;
    line-height:1.65;
}

.contact-v1-help {
    margin-top:34px;
    padding:18px 0 0;
    border-top:1px solid var(--sid-border);
}

.contact-v1-help strong {
    display:block;
    font-size:.79rem;
    line-height:1.45;
}

.contact-v1-form-wrap {
    max-width:760px;
}

.contact-v1-alert {
    display:grid;
    gap:4px;
    margin-bottom:20px;
    padding:15px 17px;
    border:1px solid var(--sid-border);
    border-radius:8px;
    font-size:.76rem;
}

.contact-v1-alert strong {
    font-size:.79rem;
}

.contact-v1-alert--success {
    border-color:#b8dfcd;
    background:#f4fbf7;
}

.contact-v1-alert--error {
    border-color:#f2c3c7;
    background:#fff7f7;
}

.contact-v1-form {
    display:grid;
    gap:20px;
}

.contact-v1-form__row {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.contact-v1-form label {
    display:grid;
    gap:8px;
}

.contact-v1-form label > span {
    color:var(--sid-ink);
    font-size:.72rem;
    font-weight:700;
}

.contact-v1-form input,
.contact-v1-form select,
.contact-v1-form textarea {
    width:100%;
    border:1px solid var(--sid-border-strong);
    border-radius:7px;
    background:#fff;
    color:var(--sid-ink);
    font:inherit;
    font-size:.82rem;
    outline:none;
    transition:border-color .15s ease, box-shadow .15s ease;
}

.contact-v1-form input,
.contact-v1-form select {
    min-height:44px;
    padding:0 12px;
}

.contact-v1-form textarea {
    min-height:180px;
    padding:12px;
    resize:vertical;
    line-height:1.55;
}

.contact-v1-form input:focus,
.contact-v1-form select:focus,
.contact-v1-form textarea:focus {
    border-color:#9aaafb;
    box-shadow:0 0 0 3px rgba(49,94,251,.08);
}

.contact-v1-form__footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding-top:4px;
}

.contact-v1-form__footer p {
    max-width:470px;
    margin:0;
    color:var(--sid-subtle);
    font-size:.7rem;
}

.contact-v1-form button {
    min-height:42px;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 17px;
    border:1px solid var(--sid-ink);
    border-radius:7px;
    background:var(--sid-ink);
    color:#fff;
    font:inherit;
    font-size:.77rem;
    font-weight:700;
    cursor:pointer;
}

.contact-v1-info {
    padding:45px 0;
    background:#fafbfc;
    border-bottom:1px solid var(--sid-border);
}

.contact-v1-info__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid var(--sid-border-strong);
}

.contact-v1-info article {
    padding:20px 26px 0;
    border-left:1px solid var(--sid-border);
}

.contact-v1-info article:first-child {
    padding-left:0;
    border-left:0;
}

.contact-v1-info article > span {
    display:block;
    margin-bottom:13px;
    color:var(--sid-subtle);
    font-size:.62rem;
    font-weight:700;
}

.contact-v1-info strong {
    display:block;
    font-size:.8rem;
}

@media (max-width:900px) {
    .contact-v1-hero__grid,
    .contact-v1-layout {
        grid-template-columns:1fr;
        gap:34px;
    }

    .contact-v1-sidebar {
        max-width:560px;
    }

    .contact-v1-form-wrap {
        max-width:none;
    }
}

@media (max-width:650px) {
    .contact-v1-hero {
        padding:58px 0 56px;
    }

    .contact-v1-hero h1 {
        font-size:clamp(2.4rem,10vw,3.2rem);
    }

    .contact-v1-section {
        padding:56px 0 62px;
    }

    .contact-v1-form__row,
    .contact-v1-info__grid {
        grid-template-columns:1fr;
    }

    .contact-v1-form__footer {
        align-items:stretch;
        flex-direction:column;
    }

    .contact-v1-form button {
        width:100%;
    }

    .contact-v1-info article,
    .contact-v1-info article:first-child {
        padding:18px 0;
        border-left:0;
        border-top:1px solid var(--sid-border);
    }

    .contact-v1-info article:first-child {
        border-top:0;
    }
}
