/* ================================================================
   TGT THEME: BASE STYLES
   - File: assets/css/main.css
   - Defines the foundational styles for the entire site.
   - Includes a modern CSS reset, global typography rules, and
     basic layout primitives for content.
   - All variables are pulled from variables.css.
   ================================================================ */


/* 1. MODERN CSS RESET (NORMALIZE)
   ---------------------------------------------------------------- */

/*
 * 1. Use a more intuitive box-sizing model.
 * 2. Remove default margin from all elements.
 */
*,
*::before,
*::after {
    box-sizing: border-box; /* 1 */
    margin: 0; /* 2 */
}

/*
 * 1. Allow percentage-based heights in the application.
 * 2. Add accessible line-height.
 * 3. Improve text rendering.
 */
html,
body {
    height: 100%; /* 1 */
}

body {
    line-height: 1.6; /* 2 */
    -webkit-font-smoothing: antialiased; /* 3 */
    font-family: var(--tgt-font-family-body);
    font-size: var(--tgt-font-size-base);
    color: var(--tgt-color-text-body);
    background-color: var(--tgt-color-white);
}

/*
 * Improve media defaults.
 */
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

/*
 * Remove built-in form typography styles.
 */
input, button, textarea, select {
    font: inherit;
}

/*
 * Avoid text overflows.
 */
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}


/* 2. GLOBAL TYPOGRAPHY SCALE
   ---------------------------------------------------------------- */

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    font-family: var(--tgt-font-family-heading);
    color: var(--tgt-color-text-dark);
    font-weight: var(--tgt-font-weight-bold);
    line-height: 1.2;
    margin-bottom: var(--tgt-space-sm);
}

h1, .h1 { font-size: var(--tgt-font-size-xxl); }
h2, .h2 { font-size: var(--tgt-font-size-xl); }
h3, .h3 { font-size: var(--tgt-font-size-lg); }
h4, .h4 { font-size: var(--tgt-font-size-md); }

p {
    margin-bottom: var(--tgt-space-md);
}

p:last-child {
    margin-bottom: 0;
}

a {
    color: var(--tgt-color-accent);
    text-decoration: none;
    transition: color var(--tgt-transition-default);
}

a:hover {
    color: var(--tgt-color-gold);
    text-decoration: underline;
}

strong, b {
    font-weight: var(--tgt-font-weight-bold);
    color: var(--tgt-color-text-dark);
}

ul, ol {
    padding-left: var(