/* -------------------------------
   1. CSS Reset
---------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

html,
body {
    overflow-y: hidden;
    height: 100dvh;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    background-color: var(--color-bg);
    color: var(--color-text);
    text-align: center;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100dvh;
}

/*for footer*/
body::after {
    display: static;
    height: fit-content;
}


/* -------------------------------
   2. CSS Variables
---------------------------------- */
:root {
    --color-bg: #fffcf2;
    --color-text: #292725;
    --color-primary: #007acc;
    --color-secondary: #005fa3;
    --color-accent: #ffcc00;

    --font-size-base: 16px;
    --font-size-h1: 2.25rem;
    --font-size-h2: 1.75rem;
    --font-size-h3: 1.25rem;

    --radius: 6px;
    --shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* -------------------------------
   3. Layout
---------------------------------- */

header {
    text-align: start;
    width: 50vw;
}

header h1 {
    font-size: var(--font-size-h1);
    margin-bottom: 1rem;
    letter-spacing: -0.055em;
}

header p {
    font-size: var(--font-size-base);
    text-wrap: stable;
}

footer {
    position: absolute;
    bottom: 5px;
    display: static;
    height: fit-content;
    width: 100%;
}

.no-wrap {
    text-wrap: nowrap;
}

/* =========================================================
   1. Small Devices (≥480px)
   ========================================================= */
@media (max-width: 576px) {
    :root {
        --font-size-base: 17px;
        --font-size-h1: 3.50rem;
    }

    header h1 {
        line-height: 42px;
    }
}

@media (min-width: 576px) {
    :root {
        --font-size-base: 17px;
        --font-size-h1: 3.50rem;
    }

    header h1 {
        line-height: 50px;
    }
}


/* =========================================================
   2. Medium Devices / Tablets (≥768px)
   ========================================================= */
@media (min-width: 768px) {
    :root {
        --font-size-base: 19px;
        --font-size-h1: 4rem;
    }

    header {
        width: 30vw;
    }

    header h1 {
        line-height: 54px;
        letter-spacing: -0.055em;
    }
}


/* =========================================================
   3. Large Devices / Laptops (≥1024px)
   ========================================================= */
@media (min-width: 992px) {
    :root {
        --font-size-base: 21px;
        --font-size-h1: 5.6rem;
    }

    header h1 {
        line-height: 74px;
    }
}

/* =========================================================
   4. Extra Large Devices / Desktops (≥1280px)
   ========================================================= */
@media (min-width: 1200px) {
    :root {
        --font-size-base: 28px;
        --font-size-h1: 7.5rem;
    }

    header {
        width: 45vw;
    }

    header h1 {
        line-height: 100px;
    }
}


/* =========================================================
   🖥️ 6. Ultra-Wide Displays (≥1600px)
   ========================================================= */
@media (min-width: 1400px) {

    header {
        width: 20vw;
    }
}


/* -------------------------------
   (optional)
---------------------------------- */
@media (prefers-color-scheme: dark) {
    :root {
        --color-bg: #403d39;
        --color-text: #fbfbf2;
        --color-primary: #339cff;
        --color-secondary: #007acc;
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }
}
