/*==================================================
  CSP MUSIC GROUP — CONTACT
  Site-consistent CSP typography at a restrained scale.
==================================================*/

.page-contact{
    background:#060606;
    color:#fff;
}

.page-contact .contact-page{
    overflow:hidden;
    background:#060606;
    font-family:var(--font-body,"Inter",sans-serif);
}

.page-contact .contact-page__shell{
    width:min(1160px,90%);
    margin:0 auto;
}

.page-contact .contact-page__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#d71920;
    font-family:var(--font-body,"Inter",sans-serif);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.page-contact .contact-page__eyebrow::before{
    content:"";
    width:32px;
    height:1px;
    background:rgba(215,25,32,.9);
}

.page-contact .contact-page__hero{
    padding:148px 0 96px;
    background:
        radial-gradient(circle at 84% 12%,rgba(150,17,22,.08),transparent 28%),
        linear-gradient(135deg,#0c0c0c 0%,#070707 60%,#040404 100%);
    border-bottom:1px solid rgba(255,255,255,.07);
}

.page-contact .contact-page__hero-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
    gap:96px;
    align-items:start;
}

.page-contact .contact-page__hero h1{
    max-width:500px;
    margin:18px 0 0;
    color:#fff;
    font-family:var(--font-display,"Oswald",sans-serif);
    font-size:clamp(38px,3.5vw,50px);
    font-weight:700;
    line-height:1.02;
    letter-spacing:-.025em;
    text-transform:uppercase;
}

.page-contact .contact-page__intro{
    padding:3px 0 2px 36px;
    border-left:1px solid rgba(215,25,32,.38);
}

.page-contact .contact-page__intro p{
    max-width:600px;
    margin:0 0 17px;
    color:#a0a0a0;
    font-family:var(--font-body,"Inter",sans-serif);
    font-size:15.5px;
    line-height:1.8;
}

.page-contact .contact-page__intro p:first-child{
    color:#d9d9d9;
    font-size:17px;
    line-height:1.65;
}

.page-contact .contact-page__intro p:last-child{
    margin-bottom:0;
    color:#7f7f7f;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.page-contact .contact-page__options{
    padding:100px 0 112px;
    background:#080808;
}

.page-contact .contact-page__option{
    display:grid;
    grid-template-columns:minmax(190px,.42fr) minmax(0,1.58fr);
    gap:64px;
    padding:42px 0;
    border-top:1px solid rgba(255,255,255,.08);
}

.page-contact .contact-page__option:last-child{
    border-bottom:1px solid rgba(255,255,255,.08);
}

.page-contact .contact-page__option-label{
    padding-top:5px;
    color:#7f7f7f;
    font-family:var(--font-body,"Inter",sans-serif);
    font-size:.64rem;
    font-weight:700;
    line-height:1.55;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.page-contact .contact-page__option--primary .contact-page__option-label{
    color:#d71920;
}

.page-contact .contact-page__option-body{
    max-width:720px;
}

.page-contact .contact-page__option-body h2{
    margin:0 0 13px;
    color:#f2f2f2;
    font-family:var(--font-display,"Oswald",sans-serif);
    font-size:clamp(25px,2.15vw,31px);
    font-weight:600;
    line-height:1.08;
    letter-spacing:-.015em;
    text-transform:uppercase;
}

.page-contact .contact-page__option-body p{
    max-width:650px;
    margin:0;
    color:#999;
    font-family:var(--font-body,"Inter",sans-serif);
    font-size:15.5px;
    line-height:1.82;
}

.page-contact .contact-page__phone{
    display:inline-block;
    margin-top:21px;
    color:#fff;
    font-family:var(--font-display,"Oswald",sans-serif);
    font-size:clamp(25px,2.2vw,31px);
    font-weight:600;
    line-height:1;
    letter-spacing:.01em;
    text-decoration:none;
}

.page-contact .contact-page__phone:hover{
    color:#d71920;
}

.page-contact .contact-page__location{
    display:block;
    margin-top:12px;
    color:#727272;
    font-family:var(--font-body,"Inter",sans-serif);
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.page-contact .contact-page__link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:21px;
    padding-bottom:5px;
    color:#ddd;
    font-family:var(--font-body,"Inter",sans-serif);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.09em;
    text-decoration:none;
    text-transform:uppercase;
    border-bottom:1px solid rgba(215,25,32,.65);
}

.page-contact .contact-page__link:hover{
    color:#fff;
    border-color:#d71920;
}

.page-contact .contact-page__link span{
    color:#d71920;
}

.page-contact .contact-page__note{
    padding:64px 0 68px;
    background:#050505;
    border-top:1px solid rgba(255,255,255,.05);
}

.page-contact .contact-page__note-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.page-contact .contact-page__note-inner p{
    margin:0;
    color:#858585;
    font-family:var(--font-body,"Inter",sans-serif);
    font-size:.67rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.page-contact .contact-page__note-inner p span{
    margin:0 9px;
    color:#d71920;
}

@media(max-width:900px){
    .page-contact .contact-page__hero{
        padding-top:128px;
    }

    .page-contact .contact-page__hero-grid{
        grid-template-columns:1fr;
        gap:44px;
    }

    .page-contact .contact-page__intro{
        max-width:680px;
    }

    .page-contact .contact-page__option{
        grid-template-columns:minmax(150px,.35fr) minmax(0,1.65fr);
        gap:42px;
    }
}

@media(max-width:640px){
    .page-contact .contact-page__shell{
        width:min(92%,560px);
    }

    .page-contact .contact-page__hero{
        padding:108px 0 72px;
    }

    .page-contact .contact-page__hero h1{
        font-size:clamp(34px,9vw,42px);
    }

    .page-contact .contact-page__intro{
        padding-left:22px;
    }

    .page-contact .contact-page__options{
        padding:68px 0 78px;
    }

    .page-contact .contact-page__option{
        grid-template-columns:1fr;
        gap:16px;
        padding:32px 0;
    }

    .page-contact .contact-page__option-label{
        padding-top:0;
    }

    .page-contact .contact-page__option-body h2{
        font-size:26px;
    }

    .page-contact .contact-page__note{
        padding:48px 0 52px;
    }

    .page-contact .contact-page__note-inner{
        align-items:flex-start;
        flex-direction:column;
        gap:16px;
    }
}