@charset "UTF-8";
/* Base */
:root{
/*spacing scale (multiples of 6/12) */
    --s6: 6px;
    --s12: 12px;
    --s16: 16px;
    --s24: 24px;
    --s36: 36px;
    --s48: 48px;
    --s60: 60px;
    --s72: 72px;
    --s84: 84px;
    --s96: 96px;
    --s108: 108px;
/* Layout */
    --max: 1200px;
/* Type */
    --font-head: "itc-american-typewriter", "Georgia", serif;
    --font-body: "acumin-pro", "Arial", sans-serif;
}

*{box-sizing: border-box;}

body{
    margin: 0;
}

img{
    display: block;
    max-width: 100%;
    height: auto;
}

figure{
    margin: 0;
    padding: 0;
}



/* Shared: Navigation + Footer */
nav, footer{
    background-color: black;
    color: white;
    display: flex;
    justify-content: space-between;
    padding: var(--s24) var(--s36);
}

nav{
    align-items: flex-start;
}

footer{
    align-items: baseline;
}

/* Shared Logo Sizing */
nav img, footer img{
    height: 30px;
    width: auto;
}

/* Shared Link List */
nav ul, footer ul{
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--s60);
}

/* Shared Link Style*/
nav a:link, footer a:link, nav a:visited, footer a:visited{
    color: white;
    text-decoration: none;
    font-family: var(--font-head);
    font-weight: 500;
    font-style: normal;
    font-size: var(--s24);
    text-transform: uppercase;
}

nav a:hover, footer a:hover, nav a:active, footer a:active{
    text-decoration: underline;
}

/* Footer Left Block */
footer div{
    display: flex;
    flex-direction: column;
    gap: var(--s12);
}

footer p{
    margin: 0;
    font-family: var(--font-body);
    font-weight: 400;
    font-style: normal;
    font-size: var(--s12);
}

/* Home Header Hero */
.home-header{
    display: grid;
    justify-items: center;
    align-content: center;
    text-align: center;

    min-height: 100vh;
    margin: 0;
    padding: 0;

    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url(../media/hero/hero-image.jpg);
    background-size: cover;
    background-position: center;
}

.home-header h1{
    margin: 0;
    color: white;
    font-family: var(--font-head);
    font-weight: 500;
    font-style: normal;
    font-size: var(--s108);
    text-transform: uppercase;
}

.home-header p{
    margin-top: var(--s24);
    color: white;
    font-family: var(--font-body);
    font-weight: 400;
    font-style: normal;
    font-size: var(--s24);
}

.home-header a:link, .home-header a:visited{
    margin-top: var(--s84);
    display: inline-block;
    padding: var(--s24) var(--s36);
    border-radius: 100px;

    background-color: white;
    color: black;
    text-decoration: none;

    font-family: var(--font-body);
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    text-transform: uppercase;
}

.home-header a:hover, .home-header a:active{
    font-weight: 700;
}

/* Main: Shared Typography */
main h2{
    margin: 0;
    color: black;
    font-family: var(--font-head);
    font-weight: 500;
    font-style: normal;
    font-size: var(--s36);
    text-transform: uppercase;
}

main p{
    margin-top: var(--s12);
    color: black;
    font-family: var(--font-body);
    font-weight: 400;
    font-style: normal;
    font-size: var(--s16);
}

/* Main: Home */
.home-main{
    max-width: var(--max);
    margin: 0 auto;
    padding: var(--s96);
}

/* Cast Page */
.cast-header{
    max-width: var(--max);
    margin: 0 auto;
    padding: var(--s36) var(--s72) 0;
}
.cast-header h1{
    margin: 0;
    color: black;
    font-family: var(--font-head);
    font-weight: 500;
    font-style: normal;
    font-size: var(--s60);
    text-transform: uppercase;
}

/* Cast List Spacing*/
main{
    max-width: var(--max);
    margin: 0 auto;
    padding: var(--s36) var(--s72);
}

/* Cast Member Rows */
.cast-member{
    display: grid;
    grid-template-columns: 300px 1fr;
    column-gap: var(--s24);
    margin-bottom: var(--s48);
    align-items: start;

    background-color: rgb(231, 231, 231);
    border-radius: 40px;
    overflow: hidden;
}

.cast-member img{
    width: 100%;
    height: auto;
}

.cast-text h2{
    margin: 0;
}

.cast-text p{
    margin: var(--s12) 0 0 0;
    max-width: 600px;
}

.cast-text h2 a:link, .cast-text h2 a:visited{
    text-decoration: none;
    color: black;
}

.cast-text h2 a:hover, .cast-text h2 a:active{
    text-decoration: underline;
}

.cast-text{
    padding: var(--s48) var(--s48) var(--s36) var(--s24);
}