@font-face {
    font-family: PlantagenetCherokee;
    src: url("/PlantagenetCherokee.woff") format("woff"), url("/PlantagenetCherokee.ttf") format("truetype");
}

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

:root {
    --spacing: 7px;
    --border-radius: 15px;
    --text-width: min(100%, 65rem);

    /* @media (prefers-color-scheme: light) */
    --main-color: hsl(46, 88%, 90%);
    --accent-color: hsl(46, 88%, 83%);
    --headline-color: black;
    --text-color: #222;
    @media (prefers-color-scheme: dark) {
        --main-color: hsl(249, 11%, 12%);
        --accent-color: hsl(249, 11%, 9%);
        --headline-color: #ddd;
        --text-color: #ccc;
    }

    color-scheme: light dark;
    background-color: var(--main-color);
    font-family: system-ui, verdana;
    line-height: 1.5;
    font-size: 1.1rem;
}

h1,
h2,
h3 {
    color: var(--headline-color);
    line-height: 1.1;
    margin: 0 auto;
    width: var(--text-width);
}

header {
    background-color: var(--accent-color);
    > div {
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: min(100%, 600px);
        & img {
            margin: 0 var(--spacing) 0 calc(var(--spacing) * 2);
            width: 170px;
            padding: calc(var(--spacing) * 2);
            background-color: hsl(0, 0%, 0%, 0.5);
            border-radius: var(--border-radius);
        }
    }
}

nav {
    margin: 0 calc(var(--spacing) * 2);
    > ul {
        list-style: none;
        & li {
            font-size: 0.9rem;
            border-radius: 7px;
        }
        & li:hover {
            @media (prefers-color-scheme: light) {
                background-color: white;
            }
            @media (prefers-color-scheme: dark) {
                background-color: black;
            }
        }
        & a {
            display: inline-block;
            width: 100%;
            height: 100%;
            color: unset;
            text-decoration: none;
            padding: calc(var(--spacing) / 1);
        }
    }
}

main {
    margin: 0 auto;
    width: min(160ch, 100%);
}

article {
    padding: var(--spacing);
}

p,
blockquote {
    color: var(--text-color);
    margin: 0 auto;
    margin-top: var(--spacing);
    width: var(--text-width);
    text-wrap: balance;
}

blockquote {
    text-align: center;
    font-family: PlantagenetCherokee, serif;
    font-size: 1.7rem;
    font-style: italic;
    border-left: solid green 2px;
    line-height: 0.9;
    padding-bottom: var(--spacing);
}

blockquote:before {
    content: open-quote;
    color: green;
    font-size: 3rem;
    position: relative;
    right: 0.2rem;
}
blockquote:after {
    content: close-quote;
    color: green;
    font-size: 3rem;
    position: relative;
    top: 0.4rem;
}

#welcome {
    background-image: url("/images/bg1.jpg");
    background-size: cover;
    background-color: hsl(120, 100%, 8%);
    color: #ccc;
    text-align: center;
    > h2 {
        font-family: PlantagenetCherokee, serif;
        font-size: 2.6rem;
        color: #ddd;
        text-wrap: balance;
    }
    > img {
        max-width: min(600px, 100%);
        height: auto;
        padding: calc(var(--spacing) * 3);
        background-color: hsla(0, 0%, 0%, 0.5);
        border-radius: var(--border-radius);
    }
    > p {
        color: #ccc;
        font-size: 1.3rem;
        font-weight: bold;
        text-wrap: balance;
    }
    > a {
        text-decoration: none;
        display: inline-block;
        color: green;
        margin: calc(var(--spacing) * 2);
        padding: var(--spacing);
        font-weight: bold;
        background-color: lightgrey;
        border: none;
        border-radius: 6px;
    }
}

#contact {
    background-image: url("/images/bg4.jpg");
    background-size: cover;
    background-color: hsl(120, 100%, 8%);
    text-align: center;

    > img {
        max-width: min(600px, 100%);
        height: auto;
        padding: calc(var(--spacing) * 3);
        background-color: hsla(0, 0%, 0%, 0.5);
        border-radius: var(--border-radius);
    }
    > h3 {
        font-family: PlantagenetCherokee, serif;
        font-size: 2rem;
        color: #eee;
    }
    > p {
        color: #ccc;
        margin: var(--spacing) auto;
        width: fit-content;
        font-size: x-large;
        font-weight: bold;
        padding: calc(var(--spacing) * 2);
        background-color: hsla(0, 0%, 0%, 0.6);
        border-radius: var(--border-radius);
    }
    > a {
        margin: var(--spacing) auto;
        display: block;
        width: fit-content;
        text-decoration: none;
        color: #ddd;
        font-size: 1.3rem;
        font-weight: bold;
        padding: calc(var(--spacing) * 2);
        background-color: hsla(0, 0%, 0%, 0.5);
        border-radius: var(--border-radius);
        > span {
            color: green;
            font-size: 32px;
            vertical-align: sub;
            margin-right: var(--spacing);
        }
    }
}

#about {
    text-align: center;
    > h2 {
        margin-block: var(--spacing);
        font-family: PlantagenetCherokee, serif;
        font-size: 2rem;
    }
}

#card {
    background-color: var(--accent-color);
    margin: var(--spacing) auto;
    border-radius: var(--border-radius);
    overflow: hidden;
    padding-bottom: var(--spacing);
    width: fit-content;
    text-align: center;
    > img {
        width: min(100%, 500px);
        max-width: 500px; /* necessary for the width: fit-content of the parent to work */
    }
    > div {
        line-height: 1;
        font-size: 0.9rem;
    }
}

#studiopics {
    > img {
        width: min(calc(100% - var(--spacing)), 400px);
        border-radius: var(--border-radius);
        margin: calc(var(--spacing) / 2);
    }
}

#qualification {
    > h1 {
        font-family: PlantagenetCherokee, serif;
        font-size: 2rem;
    }
    > div {
        margin-top: var(--spacing);
        display: flex;
        flex-wrap: wrap;
        column-gap: var(--spacing);
        justify-content: center;
        align-items: center;
        > a {
            width: min(100%, 360px);
            height: fit-content;
        }
    }
}

#pricing {
    text-align: center;
    text-wrap: balance;
    word-wrap: break-word;
    font-size: 1rem;
    > h1 {
        font-family: PlantagenetCherokee, serif;
        font-size: 2.8rem;
    }
    > div {
        background-color: var(--accent-color);
        border-radius: var(--border-radius);
        padding: var(--spacing);
        margin: var(--spacing) auto;
        > h2 {
            font-family: PlantagenetCherokee, serif;
            margin-block: var(--spacing);
            font-style: italic;
            text-decoration: underline;
            font-size: 1.6rem;
        }
        > span {
            display: inline-block;
            margin: calc(var(--spacing) / 2);
            padding: var(--spacing);
            background-color: var(--main-color);
            border-radius: var(--border-radius);
        }
        > ul {
            width: fit-content;
            text-align: left;
            margin: 0 auto;
        }
        > table {
            margin: 0 auto;
            width: var(--text-width);
            & td {
                padding: var(--spacing);
                border-radius: 15px;
            }
            & tr:nth-child(2n) {
                > td {
                    background-color: var(--main-color);
                }
            }
            & td:nth-child(2n) {
                text-align: right;
                width: 6ch;
            }
            & td:nth-child(2n + 1) {
                text-align: left;
            }
        }
    }
}

img {
    max-width: 100%;
}

footer {
    background-color: var(--accent-color);
    padding-block: var(--spacing);
    > div {
        font-size: 0.9rem;
        text-align: center;
    }
}
