@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root{
    --blue-night:#17263B;
    --blue:#243B5A;
    --gold:#D7B77A;
    --ivory:#F7F3EA;
    --text:#455367;
}

/* RESET */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"Inter",sans-serif;
    background:var(--ivory);
    color:var(--text);
    line-height:1.8;
}

.container{
    width:min(1062px,92%);
    margin:auto;
}

/* PAGE */

#contact-page{

    padding:126px 0 45px;

}

/* HEADER */

.page-header{
    text-align:center;
    margin-bottom:45px;
}

.page-header h1{
    margin:22px 0;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(2.5rem,5vw,4rem);
    font-weight:600;
    color:var(--blue-night);
    line-height:1.1;
}

.title-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
}

.title-divider span:first-child,
.title-divider span:last-child{
    width:90px;
    height:1px;
    background:rgba(215,183,122,.45);
}

.ornament{
    color:var(--gold);
    font-size:.85rem;
}

/* CONTACT */

.contact-container{

    width:min(810px,92%);

    margin:0 auto 108px;
}

.contact-form{

    background:#fff;

    padding:54px;

    border-radius:16.2px;

    box-shadow:
    0 22.5px 49.5px rgba(0,0,0,.08);

    position:relative;
}

.contact-form::before{

    content:"";

    position:absolute;

    top:16.2px;
    left:16.2px;

    width:100%;
    height:100%;

    border:0.9px solid rgba(215,183,122,.45);

    border-radius:16.2px;

    z-index:-1;
}

/* GRID */

.form-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25.2px;
}

.form-group{

    display:flex;

    flex-direction:column;

    margin-bottom:25.2px;
}

.form-group label{

    margin-bottom:9px;

    font-size:0.81rem;

    font-weight:600;

    letter-spacing:0.045em;

    color:var(--blue-night);

    text-transform:uppercase;
}

/* INPUTS */

.form-group input,
.form-group textarea{

    width:100%;

    padding:14.4px 16.2px;

    border:0.9px solid rgba(23,38,59,.15);

    border-radius:9px;

    background:#fff;

    font-size:0.9rem;

    font-family:"Inter",sans-serif;

    color:var(--text);

    transition:.3s;
}

.form-group textarea{

    resize:vertical;

    min-height:162px;
}

.form-group input:focus,
.form-group textarea:focus{

    outline:none;

    border-color:var(--gold);

    box-shadow:
    0 0 0 3.6px rgba(215,183,122,.15);
}

/* CAPTCHA */

.cf-turnstile{

    margin:31.5px 0;
}

/* BUTTON */

.btn-contact{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14.4px 37.8px;

    border:none;

    border-radius:45px;

    background:var(--blue-night);

    color:#fff;

    font-size:0.855rem;

    font-weight:500;

    letter-spacing:0.045em;

    cursor:pointer;

    transition:.35s;
}

.btn-contact:hover{

    background:var(--gold);

    color:var(--blue-night);

    transform:translateY(-1.8px);

    box-shadow:
    0 13.5px 27px rgba(23,38,59,.15);
}

/* ANIMATION */

.contact-form{

    animation:fadeUp .8s ease both;
}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(31.5px);
    }

    to{

        opacity:1;

        transform:none;
    }

}

/* RESPONSIVE */

@media(max-width:810px){

    .contact-form{

        padding:36px 27px;
    }

    .form-grid{

        grid-template-columns:1fr;
    }

}

@media(max-width:630px){

    #contact-page{

        padding:117px 18px 63px;
    }

    .page-header h1{

        font-size:2.25rem;
    }

    .contact-form{

        padding:31.5px 22.5px;
    }

}

@media(max-width:405px){

    .hero-contact h1{

        font-size:1.8rem;
    }

    .btn-contact{

        width:100%;
    }

}