/* Explain: Base reset and typography defaults, including font application and background gradients. */
* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background: var(--background-color);
}

body {
    min-width: 320px;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 4%, rgba(196, 31, 85, 0.06), transparent 30rem),
        radial-gradient(circle at 88% 78%, rgba(196, 31, 85, 0.05), transparent 34rem),
        var(--background-color);
}

html,
body,
button,
input,
textarea,
select,
optgroup,
option,
label,
small,
strong,
em,
p,
a,
li,
span,
blockquote,
figcaption,
summary {
    font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-font {
    font-family: var(--font-heading);
}

.brand-font {
    font-family: var(--font-brand);
    letter-spacing: 0.14em;
}

.thmanyahsans-black {
    font-family: '._thmanyahsans-Black', 'Thmanyah Sans', 'Cairo', sans-serif;
    font-weight: 900;
    color: var(--text-color);
}

.thmanyahsans-bold {
    font-family: '._thmanyahsans-Bold', 'Thmanyah Sans', 'Cairo', sans-serif;
    font-weight: 700;
}

::selection {
    color: #ffffff;
    background: var(--primary-color);
}

a,
button,
input,
textarea,
select {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 4px;
}

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