/* @import url(utilities/dev.css); */
html {
    box-sizing: border-box;
    font-family: sans-serif;
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    box-sizing: inherit
}

:root {
    --nav-bar-height: 48px;
    --color-text-highlight: oklch(75.676% 0.16597 61.917 / 0.20);
    --gap: 1rem;
    --color-body-home: oklch(0.5 0.19 333.78 / 0.1);
    --color-body-home-tint: oklch(from var(--color-body-home) l c h / calc(l / 2));
    ;
    --color-body-web: oklch(0.5 0.19 333.78 / 0.1);
    --color-body-home: oklch(0.5 0.19 333.78 / 0.1);
    --color-body-home: oklch(0.5 0.19 333.78 / 0.1);
}

:is(h1, h2, h3, h4, h5, h6, ul) {
    font-family: "reross-quadratic", sans-serif;
}

:is(p, small) {
    font-family: "rigid-square", sans-serif;
    line-height: 1.8;
    /* max-width: 65ch; */
}

body {
    margin: 0;
    padding-top: var(--nav-bar-height);
    /* padding-bottom: 80vh; */
}

/* body.program-2025-fall-web-design {
    background-color: oklch(0.76 0.17 129.22 / 0.2);
}

body.program-2025-fall-design-print {
    background-color: oklch(0.39 0.13 338.63 / .2);
}

body.program-2025-fall-digital-media {
    background-color: oklch(0.85 0.17 85.27 / .2);
}

body.program-2025-fall-photography {
    background-color: oklch(0.53 0.14 250.38 / .2);
}

body.home-2025-fall,
body.archive-2025-fall {
    background-color: oklch(0.5 0.19 333.78 / 0.2);
} */
/* body.sp-2025-fall-web-design .card-link {
    border: 8px solid oklch(0.58 0.16 150.36);
    border-radius: 8px;
} */
.wrapper {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    padding: 1rem;
}

.wrapper-center {
    display: grid;
    grid-template-columns: minmax(auto, 1024px);
    justify-content: center;
}

.nav-bar {
    position: fixed;
    height: var(--nav-bar-height);
    inset: 0 0 auto 0;
    box-shadow: 0 0 8px hsla(0, 0%, 0%, 0.5);
    background: whitesmoke;
    z-index: 999;
}

.nav-bar ul {
    display: flex;
    /* gap: var(--gap); */
    list-style: none;
    margin: 0;
    padding: 0 var(--gap);
    background: whitesmoke;
}

.nav-bar ul>li {
    margin: 0;
    padding: 0;
    display: flex;
    /* align-items: center; */
}

nav ul>li>ul {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    background: whitesmoke;
}

nav ul>li>ul>li {
    display: none;
}

nav ul>li:hover>ul>li {
    display: block;
}

nav ul>li>a {
    display: flex;
    padding: 0;
    text-decoration: none;
    color: black;
    align-items: center;
    font-size: 1.4rem;
}

nav ul>li>a:hover {
    background: lightgray;
}

header.hero {
    /* background: url(images/2024-12-12/hero.webp) no-repeat center center; */
    background: var(--hero) no-repeat 0 0 / cover;
    background-size: cover;
    height: 50vh;
    display: grid;
    /* justify-content: center; */
    /* align-items: center; */
}

header.hero.hero-program {
    /* background: var(--hero-image) no-repeat 0 0 / contain;
    height: 20vh; */
    background: var(--hero) no-repeat 0 0 / cover;
    height: 150px;
    /* scale 150 250 500 */
}

p span:first-of-type {
    font-weight: bold;
    font-size: 1.2em;
}

/* p span {
    background-color: oklch(0.85 0.17 85.27 / 0.5);
} */
.grid {
    display: grid;
    gap: var(--gap);
}

.cards {
    list-style: none;
    padding-left: 0;
    display: grid;
    gap: var(--gap);
}

.card-figure {
    margin: 0;
    padding: 0;
    display: grid;
    gap: calc(var(--gap) * .5);
}

.card-figure img {
    width: 100%;
    height: auto;
    object-fit: contain;
    aspect-ratio: 1/1;
}

.card-figure figcaption {
    text-indent: 0;
    text-align: center;
    font-size: 1.4rem;
}

.card-archive {
    aspect-ratio: 16/9;
    height: 128px;
    background: var(--hero) no-repeat 0 0 / cover;
}

footer small {
    text-align: center;
    color: gray
}

@media screen and (min-width: 650px) {
    header.hero.hero-program {
        height: 250px;
    }

    .nav-bar ul {
        gap: var(--gap);
    }

    nav ul>li>a {
        padding: 0 var(--gap);
    }

    .grid-c2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-c3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (min-width: 1025px) {
    header.hero.hero-program {
        height: 500px;
        height: 350px;
    }
}

header.hero a {
    margin: 0;
    text-indent: -9999px;
    height: calc(var(--gap) * 2);
    width: calc(var(--gap) * 2);
    margin-top: calc(var(--gap) * -3);
    justify-self: center;
    background: url(images/icon-chevron-down.svg) no-repeat center center / contain;
}

header.hero h1 {
    margin: 0;
    text-indent: -9999px;
    height: 50vh;
    background: var(--hero-h1) no-repeat center / contain;
}

#programs {
    scroll-margin-top: calc(var(--nav-bar-height) + 1rem);
}

.cards {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: calc(var(--gap) * 3);
}

.card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    text-indent: -9999px;
    /* background-color: lightblue; */
    background-image: var(--card);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    aspect-ratio: 40/22;
    transition: all .3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card-link[href="#"] {
    pointer-events: none;
    cursor: default;
    position: relative;

    /* overflow: hidden; */
    &::after {
        text-indent: 0;
        content: "Link Coming Soon";
        position: absolute;
        inset: 0 0 auto 0;
        translate: 30% 130%;
        transform-origin: center;
        rotate: 45deg;
        text-align: center;
        font-size: 1.2rem;
        color: inherit;
        background-color: oklch(97.015% 0.00011 271.152 / 0.9);
        line-height: 2;
    }
}

.cards li:has(.card-link[href="#"]) {
    overflow: hidden;
    order: 9999;
}

.card-link:hover {
    scale: 1.1;
}

/* .showcases {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
} */
@media screen and (min-width: 768px) {
    header.hero {
        /* padding-top: 4rem; */
        height: 80vh;
    }

    header.hero h1 {
        height: 80vh;
    }

    /* .programs ul {
    grid-template-columns: repeat(2, 1fr);
} */
    /* .showcases {
    grid-template-columns: repeat(2, 1fr);
} */
}