/* ===========
   GLOBAL
============== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}



html{
    scroll-behavior:smooth;
    background:#000;
}

body{
    background:
        linear-gradient(
            rgba(0,0,0,.92),
            rgba(0,0,0,.92)
        ),
        url("../images/paper-texture.png");
    background-repeat:repeat;
    background-size:auto, 900px;
    background-position:center;
    color:var(--gold);
    font-family:'Manrope', sans-serif;
    position:relative;
}

body::after{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
        repeating-radial-gradient(
            circle at 0 0,
            rgba(255,255,255,.035) 0,
            rgba(255,255,255,.035) 1px,
            transparent 1px,
            transparent 3px
        );
    opacity:.16;
    mix-blend-mode:soft-light;
    z-index:999;
}   

:root{

    --gold:#C7A86B;
    --gold-dark:#9C7A43;
    --gold-light:#EDDFCA;

    --black:#060606;
    --panel:#111111;

}

/* ===========
HEADER
============== */

header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120px;
    background:#000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    z-index:9999;
    border-bottom:1px solid var(--gold-dark);
    padding:0 20px;
}

/* ===========
BUTTON
============== */
.btn{

    display:inline-block;

    padding:14px 36px;

    border:1px solid var(--gold);

    color:var(--gold);

    text-transform:uppercase;

    text-decoration:none;

    transition:.3s;

}

.btn:hover{

    background:var(--gold);

    color:#111;

}

/* ===========
MENU BUTTON
============== */

#menuBtn{

    background:none;
    border:none;

    color:var(--gold);

    font-size:30px;

    cursor:pointer;

    transition:.3s;

}

#menuBtn:hover{

    color:white;

}

/* ===========
LOGO
============== */

.logo{

    height:100px;

    width:auto;

    transition:.35s;

}

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

.header-right{

    display:flex;
    gap:18px;

}

.header-right a{

    color:var(--gold);
    font-size:24px;

    transition:.3s;

}

.header-right a:hover{

    color:white;

}

/* ===========
SIDE MENU
============== */

#sideMenu{

    position:fixed;

    top:40px;
    left:-280px;

    width:260px;
    height:100vh;

    background:#111;

    border-right:1px solid var(--gold-dark);

    transition:.35s;

    z-index:1000;

    padding:100px 30px;
    
    box-shadow:8px 0 30px rgba(0,0,0,.6);

    background:linear-gradient(
    180deg,
    #161616,
    #0c0c0c);
}

#sideMenu.active{

    left:0;

}

#sideMenu h2{

    margin-bottom:40px;

}

#sideMenu ul{

    list-style:none;

}

#sideMenu li{

    margin:20px 0;

}

#sideMenu a{

    display:block;
    padding:14px 0;
    color:var(--gold);
    text-decoration:none;
    border-bottom:1px solid rgba(199,168,107,.18);
    transition:.25s;
    
    font-family:'Manrope',sans-serif;
    font-weight:500;
    letter-spacing:.5px;

}

#sideMenu a:hover{

    padding-left:10px;

    color:white;

}

/* ===========
OVERLAY
============== */

#overlay{

    position:fixed;

    width:100%;
    height:100%;

    top:0;
    left:0;

    background:rgba(0,0,0,.65);

    display:none;

    z-index:900;

}

#overlay.active{

    display:block;

}

/* ===========
MAIN
============== */

main{

    margin-top:120px;
    position:relative;
}

main::after{
    content:"";
    position:absolute;
    inset:0;

    pointer-events:none;

    background:
        repeating-radial-gradient(
            circle at 0 0,
            rgba(255,255,255,.035) 0,
            rgba(255,255,255,.035) 1px,
            transparent 1px,
            transparent 3px
        );

    opacity:.18;
    mix-blend-mode:soft-light;

    z-index:10;
}

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

.hero{
    height:72vh;
    background-image:
        linear-gradient(
            rgba(5,5,5,.18),
            rgba(5,5,5,.42)
        ),
        url("../images/hero-bg.png");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    position:relative;
}

.hero h2{
    font-size:36px;
    letter-spacing:7px;
    margin-bottom:12px;
}

.hero h1{
    font-size:5rem;
    line-height:.94;
    text-transform:uppercase;
    letter-spacing:4px;
    margin-bottom:12px;
}

.hero p{
    font-size:21px;
    color:var(--gold-light);
    letter-spacing:.4px;
    margin-top:6px;
    line-height:1.6;
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
    url("../images/paper-texture.png"),
    radial-gradient(
        ellipse at center,
        rgba(0,0,0,.10) 0%,
        rgba(0,0,0,.34) 58%,
        rgba(0,0,0,.72) 100%
    );
    background-size:900px, auto;
    background-repeat:repeat, no-repeat;
    background-position:center, center; 
    opacity:.18;
    pointer-events:none;
}

.hero::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:8%;
    bottom:10%;
    background:url("../images/fingerprint.png") no-repeat center;
    background-size:contain;
    opacity:0.55;
    transform:rotate(-8deg);
    pointer-events:none;
    z-index:1;
}

.hero-overlay{
    position:relative;
    z-index:2;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color:var(--gold);
    text-align:center;
    transform:translateY(10px);
}

/* ==========================
   CASE DIVIDER
========================== */

.case-divider{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:80px;
    padding-bottom:35px;
}

.case-divider::before,
.case-divider::after{
    content:"";
    width:220px;
    height:1px;
    background:var(--gold-dark);
}

.case-divider span{
    margin:0 28px;
    color:var(--gold);
    font-size:20px;
}


/* ==========================
   FOOTER
========================== */

.site-footer{
    position:relative;
    background:
    radial-gradient(
        ellipse at center,
        rgba(40,30,18,.10) 0%,
        rgba(0,0,0,.82) 75%
    ),
    linear-gradient(
        rgba(0,0,0,.82),
        rgba(0,0,0,.90)
    ),
    url("../images/paper-texture.png");
    background-repeat:repeat;
    background-size:900px;
    background-position:center;
    border-top:1px solid rgba(199,168,107,.35);
    overflow:hidden;
}   

.site-footer::before{    
    content:"";
    position:absolute;
    left:-10px;
    bottom:70px;
    width:450px;
    height:280px;
    background:url("../images/confidential-stamp.png") no-repeat center;
    background-size:contain;
    opacity:.20;
    transform:rotate(-17deg);
    pointer-events:none;
    z-index:0;
}

.footer-container{
    position:relative;
    z-index:2;
    background:transparent;
    max-width:1400px;
    margin:auto;
    padding:60px 70px 55px;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:start;
    text-align:left;
}

.footer-container::before,
.footer-container::after{
    content:"";
    position:absolute;
    top:40px;
    bottom:20px;
    width:1px;
    background:linear-gradient(
        transparent,
        rgba(199,168,107,.24),
        transparent
    );
}

.footer-container::before{
    left:33.3333%;
}

.footer-container::after{
    left:66.6667%;
}

.footer-left{
    background:transparent;
    min-width:0;
    padding-right:40px;
}

.footer-center{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    min-height:260px;
    padding:0 40px;
}

.footer-center h3{
    font-family:'Bebas Neue',sans-serif;
    font-size:24px;
    font-weight:400;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--gold);
    margin:0 0 8px;
    margin-bottom:18px;
}

.footer-center p{
    margin:0;
}

.footer-bureau{
    font-family:'Manrope',sans-serif;
    font-size:.95rem;
    font-weight:500;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:var(--gold);
    margin:0 0 22px;
}

.footer-tagline{
    font-family:'Manrope',sans-serif;
    font-size:.95rem;
    line-height:1.8;
    letter-spacing:.5px;
    text-transform:none;
    color:#b8aa8a;
    margin:0;
}

.footer-right{
    background:transparent;
    width:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding-left:40px;    
}

.footer-left h3,
.footer-right h3{
    font-family:'Bebas Neue',sans-serif;
    font-size:24px;
    font-weight:400;
    letter-spacing:3px;
    color:var(--gold);
    margin-bottom:24px;
}

.footer-left ul{
    list-style:none;
}

.footer-left li{
    margin:14px 0;
}

.footer-left li::before{
    content:">";
    margin-right:8px;
    color:var(--gold-dark);
}

.footer-left a{
    position:relative;
    color:var(--gold-light);
    font-size:15px;
    letter-spacing:.4px;
    transition:.25s;
}

.footer-left a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:1px;
    background:var(--gold);
    transition:.3s;
}

.footer-left a:hover{
    color:#ffffff;
    padding-left:8px;
}

.footer-left a:hover::after{
    width:100%;
}

.footer-social{
    margin-top:32px;
    display:flex;
    justify-content:flex-start;
    gap:18px;
}

.footer-social a{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--gold-dark);
    border-radius:50%;
    color:var(--gold);
    font-size:22px;
    transition:transform .25s ease,
               background-color .25s ease,
               color .25s ease;
}

.footer-social a:hover{
    background:var(--gold);
    color:#000;
    transform:translateY(-2px);
}

/* ==========================
   FOOTER INFO
========================== */

.footer-center-line{
    width:70px;
    height:1px;
    background:var(--gold);
    margin:14px auto 12px;
}

.footer-bureau p{
    color:#b5a17d;
    font-size:15px;
    line-height:2;
    letter-spacing:.4px;
    text-align:center;
    margin:0;   
}

.footer-bottom{
    text-align:center;
    padding:32px 40px 34px;
    border-top:1px solid rgba(199,168,107,.15);
}

.footer-info,
.footer-container,
.footer-bottom{
    position:relative;
    z-index:2;
}

.footer-case{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    font-family:'Bebas Neue',sans-serif;
    letter-spacing:4px;
    color:var(--gold);
    font-size:24px;
    margin-bottom:14px;
}

.footer-case span{
    width:140px;
    height:1px;
    background:rgba(199,168,107,.35);
}

.footer-copy{
    color:#7d7d7d;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
}

/* ===========
FONT
============== */
.hero h1,
.hero h2,
#sideMenu h2{

    font-family:'Bebas Neue',sans-serif;

    letter-spacing:3px;

    font-weight:400;

}

/* ===========
CONTENT
============== */


.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:36px;
    padding:54px 40px 40px;
    
    position:relative;
    background:
    linear-gradient(
        118deg,
        transparent 0%,
        transparent 47.8%,
        rgba(115,28,22,.10) 48%,
        rgba(115,28,22,.10) 48.15%,
        transparent 48.35%,
        transparent 100%
    ),
    linear-gradient(
        rgba(0,0,0,.90),
        rgba(0,0,0,.94)
    ),
    url("../images/paper-texture.png");
    background-repeat:repeat;
    background-size:900px;
    background-position:center;
}

.cards::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(
            ellipse at center,
            transparent 45%,
            rgba(0,0,0,.32) 100%
        );
    z-index:0;
}

.cards::after{
    content:"EVIDENCE ARCHIVE // 404";
    position:absolute;

    top:18px;
    left:40px;

    font-family:'Manrope',sans-serif;
    font-size:8px;
    font-weight:500;
    letter-spacing:3px;
    text-transform:uppercase;

    color:rgba(199,168,107,.20);

    padding-left:14px;

    border-left:1px solid rgba(199,168,107,.18);

    pointer-events:none;
    z-index:0;
}

.card{
    background:#111;
    border:1px solid rgba(199,168,107,.28);
    padding:36px;
    min-height:230px;
    transition:transform .3s ease,
           border-color .3s ease,
           box-shadow .3s ease;
}

.cards .card{
    position:relative;
    z-index:1;    
    background:
        linear-gradient(
            rgba(17,17,17,.90),
            rgba(10,10,10,.94)
        ),
        url("../images/paper-texture.png");
    background-size:auto, 700px;
    background-position:center, center;
    background-repeat:no-repeat, repeat;
}

.cards .card::after{
    content:"CASE FILE // 404";
    position:absolute;
    top:16px;
    right:18px;

    font-family:'Manrope',sans-serif;
    font-size:9px;
    font-weight:500;
    letter-spacing:2px;
    text-transform:uppercase;

    color:rgba(199,168,107,.22);

    pointer-events:none;
}  

.cards .card:nth-child(1)::after{
    content:"CASE FILE // 404-01";
}

.cards .card:nth-child(2)::after{
    content:"CASE FILE // 404-02";
}

.cards .card:nth-child(3)::after{
    content:"CASE FILE // 404-03";
}

.card:hover{
    transform:translateY(-3px);
    border-color:var(--gold);
    box-shadow:0 15px 40px rgba(0,0,0,.45);
}

.card:hover i{
    transform:translateY(-2px);
    filter:drop-shadow(0 0 6px rgba(199,168,107,.22));
}

.card i{
    font-size:40px;
    color:var(--gold);
    margin-bottom:18px;
    transition:
        transform .3s ease,
        filter .3s ease;
}

.cards .card h3{
    font-family:'Bebas Neue',sans-serif;
    font-size:24px;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:14px;
}

.card p{
    font-size:15px;
    line-height:1.6;
    color:var(--gold-light);
    margin:0;
    letter-spacing:.2px;
}

.divider{
    width:140px;
    height:1px;
    background:var(--gold);
    margin:28px auto;
}

.gold-btn{
    margin-top:30px;
    border:1px solid var(--gold);
    color:var(--gold);
    padding:16px 48px;
    text-decoration:none;
    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
    font-family:'Bebas Neue',sans-serif;
    font-size:24px;
    letter-spacing:3px;
    text-transform:uppercase;
}

.gold-btn:hover{
    background:var(--gold);
    color:#000;
    box-shadow:
        0 0 0 1px rgba(199,168,107,.18),
        0 8px 24px rgba(0,0,0,.35);
    transform:translateY(-2px);
}

.btn{   
    font-family:'Manrope',sans-serif;
    font-weight:600;
    letter-spacing:1px;
}

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

@media (max-width:768px){

    
    header{
        height:84px;
    }

    .logo{

        height:64px;

    }

    main{
        max-width:1500px;
        margin:auto;
        margin-top:0px;
    }

    .hero{
        width:100%;
        margin-left:0;
        margin-right:0;
    }

    .hero h1{
        font-size:3.6rem;
        letter-spacing:2px;
        line-height:.95;
        text-shadow:
            0 0 10px rgba(199,168,107,.2),
            0 0 25px rgba(0,0,0,.8);
    }
    
    .hero h2{
        font-size:26px;
    }
    
    .hero p{
        font-size:18px;
        line-height:1.5;
    }

    .cards{
        padding:28px 20px 20px;
        gap:24px;
    }
    
    .cards::after{
        top:8px;
        left:20px;
    }
    
    .card{
        min-height:180px;
        padding:32px 24px;
    }

    .card p{
        max-width:100%;
    }
    
    .card i{
        font-size:36px;
        margin-bottom:16px;
    }  
    
    .cards .card{
        text-align:center;
    }

    .cards .card p{
        font-size:.9rem;
        line-height:1.6;
    }
    
    .cards .card h3{
        font-size:22px;
        letter-spacing:1.5px;
        margin-bottom:12px;
    }
 
    
    .gold-btn{
        padding:14px 34px;
        font-size:21px;
        letter-spacing:2.5px;
    }
    
    .hero{
        min-height:460px;
    }
    
    .hero::after{
        width:130px;
        height:130px;
        right:4%;
        bottom:8%;
        opacity:.55;
    }
    
    body::after{
        opacity:.10;
    }
    
    .hero-content{
        width:calc(100% - 32px);
        max-width:100%;
        padding:70px 20px 55px;
    }
    
    .hero p{
        font-size:1rem;
        line-height:1.5;
        margin-bottom:26px;
    }

    .hero .gold-btn{
        padding:14px 28px;
        font-size:.95rem;
        letter-spacing:2px;
        margin-top:24px;
    }
    
    .divider{
        margin:22px auto;
    }
    
    .footer-container{
        grid-template-columns:1fr;
        gap:35px;
        text-align:center;
    }
    
    .footer-left{
        padding-right:0;
        text-align:center;
    }

    .footer-left li{
        margin:12px 0;
    }  
    
    .footer-left a{
        font-size:14px;
    }
    
    .footer-center{
        border-top:1px solid rgba(199,168,107,.18);
        border-bottom:1px solid rgba(199,168,107,.18);
        padding:32px 0 36px;
    }
    
    .footer-center h3{
        font-size:22px;
        letter-spacing:3px;
    }

    .footer-right{  
        width:100%;
        padding-left:0;
        align-items:center;
        text-align:center;
    }
    
    .footer-left h3,
    .footer-right h3{
        font-size:22px;
        letter-spacing:2.5px;
        margin-bottom:20px;
    }
    
    .footer-container::before,
    .footer-container::after{
        display:none;
    }

    .footer-social{

        justify-content:center;

    }
    
    .footer-case{
        letter-spacing: 2px;
        font-size:18px;
        gap:12px;
    }

    .footer-case span{
        width:70px;
    }
    
    .footer-copy{
        font-size:11px;
        letter-spacing:.8px;
    }    
    
    .site-footer::before{
        left:-30px;
        bottom:10px;
        width:270px;
        height:180px;
        opacity:.2;
    }
}


/* ===== Added colour consistency ===== */
h1,h2,h3,h4,h5,h6{color:var(--gold);}
p{color:var(--gold-light);line-height:1.8;}
a{color:var(--gold);text-decoration:none;}
a:hover{color:#fff;}
.card{color:var(--gold-light);}


/* ==========================
   ABOUT PAGE
========================== */

.about-page{
    margin-top:120px;
    position:relative;
    background:
        linear-gradient(
            rgba(0,0,0,.88),
            rgba(0,0,0,.94)
        ),
        url("../images/paper-texture.png");
    background-size:auto, 900px;
    background-repeat:repeat;
}

.about-hero{
    min-height:430px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:90px 28px 80px;
    position:relative;
    background:
        radial-gradient(
            ellipse at center,
            rgba(115,28,22,.10),
            transparent 65%
        );
}

.about-hero-inner{
    width:100%;
    max-width:900px;
}

.about-eyebrow,
.about-section-label{
    color:var(--gold-dark);
    font-family:'Manrope',sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
}

.about-hero h1{
    margin:20px 0 24px;
    color:var(--gold);
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(3.2rem,7vw,6rem);
    font-weight:400;
    letter-spacing:3px;
    line-height:.98;
    text-transform:uppercase;
}

.about-divider{
    width:90px;
    height:1px;
    margin:0 auto 25px;
    background:var(--gold);
}

.about-intro{
    max-width:720px;
    margin:0 auto;
    color:var(--gold-light);
    font-size:18px;
    line-height:1.8;
    letter-spacing:.2px;
}

.about-content{
    max-width:1180px;
    margin:0 auto;
    padding:30px 40px 90px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:70px 80px;
}

.about-section{
    position:relative;
    padding:34px 0 0;
    border-top:1px solid rgba(199,168,107,.28);
}

.about-section::before{
    content:"";
    position:absolute;
    top:-1px;
    left:0;
    width:70px;
    height:1px;
    background:var(--gold);
}

.about-section-label{
    margin-bottom:22px;
}

.about-section h2{
    margin-bottom:22px;
    color:var(--gold);
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(2rem,3.2vw,3rem);
    font-weight:400;
    letter-spacing:2px;
    line-height:1.05;
    text-transform:uppercase;
}

.about-section p:not(.about-section-label){
    margin-bottom:18px;
    color:var(--gold-light);
    font-size:15px;
    line-height:1.8;
    letter-spacing:.2px;
}

.about-section-wide{
    grid-column:1 / -1;
    max-width:720px;
}

.about-closing{
    padding:75px 28px 100px;
    border-top:1px solid rgba(199,168,107,.22);
    text-align:center;
    background:
        linear-gradient(
            118deg,
            transparent 0%,
            transparent 47.8%,
            rgba(115,28,22,.08) 48%,
            rgba(115,28,22,.08) 48.15%,
            transparent 48.35%,
            transparent 100%
        );
}

.about-closing p{
    margin-bottom:18px;
    color:var(--gold-dark);
    font-size:12px;
    font-weight:600;
    letter-spacing:4px;
    text-transform:uppercase;
}

.about-closing h2{
    color:var(--gold);
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(2.5rem,5vw,4.5rem);
    font-weight:400;
    letter-spacing:3px;
    line-height:1;
    text-transform:uppercase;
}

.about-page .about-section{
    padding-top:38px;
}

.about-page .about-section::after{
    content:"CASE FILE // ABOUT-404";
    position:absolute;
    top:16px;
    right:0;
    color:rgba(199,168,107,.20);
    font-family:'Manrope',sans-serif;
    font-size:8px;
    font-weight:500;
    letter-spacing:2px;
    text-transform:uppercase;
    pointer-events:none;
}

.about-page .about-section:nth-child(2)::after{
    content:"EVIDENCE // MATERIALS";
}

.about-page .about-section:nth-child(3)::after{
    content:"PROCEDURE // 03";
}

.about-page .about-section-label{
    margin-bottom:24px;
}

.about-page .about-section h2{
    margin-bottom:26px;
}

.about-page .about-section p:not(.about-section-label){
    max-width:680px;
}

.about-page .about-closing{
    padding-top:90px;
    padding-bottom:120px;
}

@media (max-width:768px){
    .about-page{
        margin-top:84px;
    }

    .about-hero{
        min-height:390px;
        padding:75px 24px 65px;
    }

    .about-hero h1{
        font-size:3.45rem;
        letter-spacing:2px;
    }

    .about-intro{
        font-size:16px;
        line-height:1.7;
    }

    .about-content{
        grid-template-columns:1fr;
        gap:48px;
        padding:20px 24px 65px;
    }

    .about-section{
        padding-top:28px;
    }

    .about-section-wide{
        grid-column:auto;
        max-width:none;
    }

    .about-section h2{
        font-size:2.35rem;
    }

    .about-section p:not(.about-section-label){
        font-size:14px;
        line-height:1.75;
    }

    .about-closing{
        padding:60px 24px 75px;
    }

    .about-closing h2{
        font-size:2.8rem;
        letter-spacing:2px;
    }

    .about-page .about-section{
        padding-top:32px;
    }

    .about-page .about-section::after{
        top:12px;
        right:0;
        font-size:7px;
        letter-spacing:1.5px;
    }

    .about-page .about-section-label{
        margin-bottom:20px;
    }

    .about-page .about-section h2{
        margin-bottom:22px;
    }

    .about-page .about-closing{
        padding-top:70px;
        padding-bottom:95px;
    }
}

/* ==========================
   CONTACT PAGE
========================== */

.contact-page{
    margin-top:120px;
    position:relative;
    background:
        linear-gradient(
            rgba(0,0,0,.88),
            rgba(0,0,0,.94)
        ),
        url("../images/paper-texture.png");
    background-size:auto,900px;
    background-repeat:repeat;
}

.contact-hero{
    min-height:410px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:85px 28px 75px;
    text-align:center;
    background:
        radial-gradient(
            ellipse at center,
            rgba(115,28,22,.10),
            transparent 65%
        );
}

.contact-hero-inner{
    width:100%;
    max-width:850px;
}

.contact-eyebrow,
.contact-section-label{
    color:var(--gold-dark);
    font-family:'Manrope',sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
}

.contact-hero h1{
    margin:20px 0 24px;
    color:var(--gold);
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(3.6rem,7vw,6rem);
    font-weight:400;
    letter-spacing:3px;
    line-height:.95;
    text-transform:uppercase;
}

.contact-divider{
    width:90px;
    height:1px;
    margin:0 auto 25px;
    background:var(--gold);
}

.contact-intro{
    max-width:680px;
    margin:0 auto;
    color:var(--gold-light);
    font-size:17px;
    line-height:1.8;
}

.contact-form-section{
    max-width:1180px;
    margin:0 auto;
    padding:35px 40px 105px;
    display:grid;
    grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);
    gap:70px;
    border-top:1px solid rgba(199,168,107,.24);
}

.contact-form-heading{
    padding-top:8px;
}

.contact-section-label{
    margin-bottom:24px;
}

.contact-form-heading h2{
    margin-bottom:24px;
    color:var(--gold);
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(2.3rem,4vw,3.5rem);
    font-weight:400;
    letter-spacing:2px;
    line-height:1.02;
    text-transform:uppercase;
}

.contact-form-heading > p:last-child{
    max-width:350px;
    color:var(--gold-light);
    font-size:15px;
    line-height:1.8;
}

.contact-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:25px 22px;
}



.contact-field{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.contact-field-full{
    grid-column:1 / -1;
}

.contact-field label{
    color:var(--gold);
    font-family:'Manrope',sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.contact-field label span,
.contact-form-bottom p span{
    color:var(--gold-dark);
}

.contact-field input,
.contact-field textarea{
    width:100%;
    border:1px solid rgba(199,168,107,.32);
    border-radius:0;
    outline:none;
    background:rgba(10,10,10,.72);
    color:var(--gold-light);
    font-family:'Manrope',sans-serif;
    font-size:15px;
    line-height:1.6;
    padding:14px 16px;
    transition:border-color .25s ease,box-shadow .25s ease;
}

.contact-field input{
    min-height:52px;
}

.contact-field textarea{
    min-height:170px;
    resize:vertical;
}

.contact-field input::placeholder,
.contact-field textarea::placeholder{
    color:rgba(239,231,214,.42);
}

.contact-field input:focus,
.contact-field textarea:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 1px rgba(199,168,107,.14);
}

.contact-form-bottom{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-top:5px;
}

.contact-form-bottom p{
    margin:0;
    color:rgba(239,231,214,.52);
    font-size:12px;
    line-height:1.5;
}

.contact-form-bottom .gold-btn{
    background:transparent;
    color:var(--gold);
    border:1px solid var(--gold);
    cursor:pointer;
}

.contact-form-bottom .gold-btn:hover{
    background:var(--gold);
    color:#000;
}

/* Contact form submission status */
.contact-form-status{
    display:none;
    margin:0;
    font-family:'Manrope',sans-serif;
    font-size:.8rem;
    line-height:1.5;
    letter-spacing:.2px;
}
.contact-form-status.is-visible{
    display:block;
}
.contact-form-status.is-success{
    color:var(--gold);
}
.contact-form-status.is-error{
    color:#c98b82;
}
.contact-form.is-submitting .gold-btn{
    opacity:.65;
    cursor:wait;
}

.contact-form-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
}

.contact-form-bottom .contact-form-status{
    display:none;
    flex:1 1 100%;
    width:100%;
    margin:0;
    order:3;
}

.contact-form-status.is-sending{
    color:var(--gold-light);
}

.contact-form-bottom .contact-form-status.is-visible{
    display:block;
}

.contact-form-bottom .gold-btn{
    order:2;
}

/* Contact form spam-protection field */
.contact-honeypot{
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
}

@media (max-width:768px){
    .contact-page{
        margin-top:84px;
    }

    .contact-hero{
        min-height:370px;
        padding:72px 24px 62px;
    }

    .contact-hero h1{
        font-size:3.6rem;
        letter-spacing:2px;
    }

    .contact-intro{
        font-size:15px;
        line-height:1.7;
    }

    .contact-form-section{
        grid-template-columns:1fr;
        gap:42px;
        padding:28px 24px 75px;
    }

    .contact-form-heading h2{
        font-size:2.65rem;
    }

    .contact-form-heading > p:last-child{
        font-size:14px;
        line-height:1.75;
    }

    .contact-form{
        grid-template-columns:1fr;
        gap:22px;
    }

    .contact-field-full{
        grid-column:auto;
    }

    .contact-form-bottom{
        grid-column:auto;
        align-items:flex-start;
        flex-direction:column;
        gap:18px;
    }

    .contact-form-bottom .gold-btn{
        width:100%;
    }

    .contact-form-status{
        width:100%;
        text-align:center;
    }
}

/* ==========================
   CONTACT FORM AUTOFILL
========================== */

/* Chrome, Edge, Safari and other WebKit-based browsers */
.contact-form input:-webkit-autofill,
.contact-form input:-webkit-autofill:hover,
.contact-form input:-webkit-autofill:focus,
.contact-form input:-webkit-autofill:active,
.contact-form textarea:-webkit-autofill,
.contact-form textarea:-webkit-autofill:hover,
.contact-form textarea:-webkit-autofill:focus,
.contact-form textarea:-webkit-autofill:active{
    -webkit-text-fill-color:var(--gold-light) !important;
    -webkit-box-shadow:0 0 0 1000px #0a0a0a inset !important;
    box-shadow:0 0 0 1000px #0a0a0a inset !important;
    background-color:#0a0a0a !important;
    color:var(--gold-light) !important;
    caret-color:var(--gold-light);
    transition:background-color 9999s ease-in-out 0s;
}

/* Firefox */
.contact-form input:-moz-autofill,
.contact-form textarea:-moz-autofill{
    color:var(--gold-light) !important;
    background-color:#0a0a0a !important;
}
