/* =====================================
   LETHAL APE: POCKET EDITION
   COMIC LANDING PAGE
===================================== */


/* ===============================
   VARIABLES
================================ */

:root {

    --red:#d74747;
    --dark-red:#8f2525;

    --background:#090909;
    --surface:#151515;
    --card:#1c1c1c;

    --text:#ffffff;
    --text-muted:#cccccc;

    --border:4px solid #000;

    --shadow:8px 8px 0 #000;

}






/* ===============================
   RESET
================================ */


* {

    margin:0;
    padding:0;
    box-sizing:border-box;

}


html {

    scroll-behavior:smooth;

}



body {

    font-family:Arial, sans-serif;

    color:var(--text);

    background:var(--background);

    overflow-x:hidden;

}





img {

    max-width:100%;

}



@font-face {

font-family:"CreepyCrawlers";

src:url("../assets/fonts/creepycrawlers.ttf");

font-weight:normal;

}




/* ===============================
   HALFTONE BACKGROUND
================================ */


.halftone {


position:fixed;

inset:0;

pointer-events:none;

z-index:-1;

background-image:

radial-gradient(

rgba(215,71,71,.22) 2px,

transparent 2px

);


background-size:

22px 22px;


mask-image:

linear-gradient(
black,
transparent
);


}







/* ===============================
   TYPOGRAPHY
================================ */


h1,
h2,
h3 {


font-family:'Anton',sans-serif;

text-transform:uppercase;

letter-spacing:2px;

}



h1 {


font-family:"CreepyCrawlers";

font-size:110px;

line-height:.85;

}



h1 span {


display:block;

color:var(--red);

}




h2 {

font-family:"CreepyCrawlers";

font-size:65px;

text-align:center;

margin-bottom:60px;


}





h2:after {


content:"";

display:block;

width:120px;

height:8px;

background:var(--red);

margin:20px auto;


}





p {

    font-size:20px;

    line-height:1.7;

    color:var(--text-muted);

}








/* ===============================
   NAV
================================ */

nav {

position:fixed;
top:0;
width:100%;

padding:25px 8%;

display:flex;
justify-content:space-between;
align-items:center;

background:rgba(10,10,10,.85);

backdrop-filter:blur(15px);

z-index:50;

border-bottom:2px solid #333;

}



.logo img {

width:170px;

}



.nav-links {

    display:flex;

    gap:35px;

}



.nav-links a {

    text-decoration:none;

    color:white;

    font-weight:bold;

    text-transform:uppercase;

}



.nav-links a:hover {

    color:var(--red);

}



.menu {

    display:none;

    font-size:30px;

    background:none;

    border:none;

}





.menu {


display:none;

font-size:30px;

background:none;

border:none;


}









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


.hero {


min-height:100vh;

display:flex;

align-items:center;

padding:

150px 8% 80px;


position:relative;


background:

linear-gradient(

135deg,

#050505 0%,

#1b0808 45%,

#d74747 140%

);


overflow:hidden;


}




.hero:before {


content:"";

position:absolute;

width:600px;

height:600px;


right:-200px;

top:-200px;


background:

radial-gradient(

circle,

#d74747,

transparent 70%

);
}



.hero-content {


width:50%;

z-index:2;


}



.hero-content p {


font-size:28px;

margin:

40px 0;


}



.hero-image {


width:50%;

z-index:2;

}



.hero-image img {


width:650px;


filter:

drop-shadow(
15px 15px 0 #111
);


}









/* ===============================
   BUTTONS
================================ */


.buttons {


display:flex;

gap:20px;

flex-wrap:wrap;


}



.store {


background:white;

padding:10px 20px;

border:

3px solid black;


box-shadow:

5px 5px 0 black;


}



.store img {


height:55px;


}




.store-large {


display:inline-block;


padding:20px 50px;


background:var(--red);


color:white;


border:

3px solid black;


box-shadow:

6px 6px 0 black;


font-weight:bold;


text-decoration:none;


transition:.2s;


}



.store-large:hover {


transform:

translateY(-5px);


}




.scroll {


display:block;

margin-top:40px;

color:white;

font-weight:bold;


}









/* ===============================
   SECTIONS
================================ */


section {

    padding:120px 10%;

    background:
    linear-gradient(
        180deg,
        #090909,
        #160808
    );

}









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


.text {


max-width:900px;

margin:auto;

text-align:center;


}



.text p {


margin-bottom:25px;


}









/* ===============================
   FEATURES
================================ */


.feature-grid {


display:grid;


grid-template-columns:

repeat(4,1fr);


gap:30px;


}



.feature {

    background:var(--card);

    color:white;

    border:var(--border);

    padding:40px;

    box-shadow:var(--shadow);

}



.feature:hover {


transform:

translateY(-10px);


}



.feature h3 {


font-size:28px;

margin-bottom:20px;


}









/* ===============================
   GALLERY
================================ */


#gallery-grid {


display:grid;


grid-template-columns:

repeat(3,1fr);


gap:30px;


}




#gallery-grid img {


border:

var(--border);


box-shadow:

var(--shadow);


cursor:pointer;


}









/* ===============================
   DOWNLOAD
================================ */


#download {


text-align:center;


background:

linear-gradient(
135deg,
#120000,
#250808
);


}









/* ===============================
   FAQ
================================ */

#faq-container {

    max-width:900px;
    margin:auto;

}


.faq {

    border:3px solid #000;

    margin-bottom:20px;

    background:var(--card);

    box-shadow:var(--shadow);

}


.faq button {

    width:100%;

    padding:25px;

    background:var(--card);

    color:var(--red);

    border:none;

    text-align:left;

    font-size:22px;

    font-weight:bold;

    cursor:pointer;

}


.faq-answer {

    padding:25px;

    display:none;

    color:var(--text-muted);

    background:#111;

    border-top:3px solid #000;

}


.faq-answer p {

    color:var(--text-muted);

}









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


footer {


background:#111;

color:white;


text-align:center;


padding:70px;


}



footer img {


width:200px;


}



footer a {


color:white;

margin:15px;

text-decoration:none;


}



/* ===============================
   LIGHTBOX
================================ */


.lightbox {

    position:fixed;

    inset:0;

    width:100vw;

    height:100vh;

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

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    pointer-events:none;

    transition:.3s ease;

    z-index:9999;

}



.lightbox.active {

    opacity:1;

    pointer-events:auto;

}



.lightbox img {

    max-width:85vw;

    max-height:85vh;

    object-fit:contain;

    border:5px solid white;

    box-shadow:

    10px 10px 0 #000;

}



.lightbox .close {

    position:absolute;

    top:30px;

    right:40px;

    font-size:60px;

    color:white;

    background:none;

    border:none;

    cursor:pointer;

}

/* ===============================
   LEGAL TEXT FIXES
================================ */


.legal-card p,
.legal-card li {

    color:var(--text-muted);

}


.legal-card h2 {

    font-family:"CreepyCrawlers";

    color:var(--red);

    font-size:35px;

    text-align:left;

    margin-bottom:25px;

}


.legal-card h3 {

    font-family:'Anton', sans-serif;

    color:white;

    font-size:25px;

    margin-top:35px;

    margin-bottom:15px;

    text-transform:uppercase;

}


.legal-card ul {

    color:var(--text-muted);

}


.legal-card strong {

    color:white;

}


/* =====================================
   LEGAL PAGES
===================================== */


.legal-page {

    background:
    linear-gradient(
        135deg,
        #090909,
        #250808
    );

}



.legal {

    max-width:1000px;

    margin:auto;

    padding:180px 20px 100px;

}



.legal h1 {

    font-family:"CreepyCrawlers";

    font-size:90px;

    text-align:center;

    color:var(--red);

    text-shadow:
    5px 5px 0 #000;

}



.updated {

    text-align:center;

    margin-bottom:60px;

    color:var(--text-muted);

}



.legal-card {

    background:#151515;

    color:white;

    border:4px solid #000;

    padding:40px;

    margin-bottom:30px;

    box-shadow:8px 8px 0 #000;

}



.legal-card h2 {

    font-family:"CreepyCrawlers";

    color:var(--red);

    font-size:40px;

    text-align:left;

    margin-bottom:25px;

}



.legal-card h2:after {

    margin-left:0;

}



.legal-card h3 {

    font-family:'Anton', sans-serif;

    color:white;

    font-size:25px;

    margin-top:30px;

    margin-bottom:15px;

}



.legal-card p,
.legal-card li {

    color:var(--text-muted);

}



.legal-card ul {

    margin:20px 40px;

    line-height:2;

}



.legal-card strong {

    color:white;

}



@media(max-width:900px){

    .legal h1 {

        font-size:55px;

    }


    .legal-card {

        padding:25px;

    }

}


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


@media(max-width:900px){



.nav-links {


display:none;


}



.menu {


display:block;


}



.hero {


flex-direction:column;

text-align:center;


}



.hero-content,
.hero-image {


width:100%;


}



h1 {


font-size:70px;


}



.hero-image img {


width:350px;


}



.feature-grid {


grid-template-columns:1fr;


}



#gallery-grid {


grid-template-columns:1fr;


}


.legal-card p,
.legal-card li {
    color: #cccccc;
}


.legal-card h2 {
    color: var(--red);
}


.legal-card h3 {
    color:white;
}


.legal-card strong {
    color:white;
}



}