/* =====================================================
   winning-base.css
   Reset, font, colour variables, utilities
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

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

:root {
    --wc-blue: #1F5FA0;
    --wc-blue-dark: #163d6e;
    --wc-blue-light: #2874b8;
    --wc-yellow: #F8B133;
    --wc-yellow-hover: #d99a2b;
    --wc-dark: #1a1a2e;
    --wc-dark-mid: #16213e;
    --wc-dark-deep: #0f3460;
    --wc-grey-dark: #3a3a4a;
    --wc-grey-mid: #5a5a6a;
    --wc-grey-light: #f5f5f7;
    --wc-grey-border: #e0e0e0;
    --wc-white: #ffffff;
    --wc-text: #333333;
    --wc-text-light: #666666;
    --wc-radius: 8px;
    --wc-radius-pill: 50px;
    --wc-shadow: 0 2px 12px rgba(0,0,0,0.08);
    --wc-shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
    --wc-transition: 0.3s ease;
    --wc-max-width: 1200px;
}

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--wc-text);
    background: var(--wc-white);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}


/* =====================================================
   Global content typography
   Uniform sizes across all pages — heroes excluded
   ===================================================== */

:root {
    --wc-h2-size: 28px;
    --wc-h3-size: 22px;
    --wc-p-size: 16px;
    --wc-p-line: 1.8;
}

@media (max-width: 1024px) {
    :root {
        --wc-h2-size: 26px;
        --wc-h3-size: 20px;
        --wc-p-size: 15px;
    }
}

@media (max-width: 767px) {
    :root {
        --wc-h2-size: 24px;
        --wc-h3-size: 19px;
        --wc-p-size: 15px;
    }
}


/* =====================================================
   Global form input sizing
   Uniform across all form pages
   ===================================================== */

input[type="text"],
input[type="email"],
textarea {
    font-size: 15px;
}
input::placeholder,
textarea::placeholder {
    font-size: 14px;
}

@media (max-width: 1024px) {
    input[type="text"],
    input[type="email"],
    textarea {
        font-size: 15px;
    }
    input::placeholder,
    textarea::placeholder {
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    input[type="text"],
    input[type="email"],
    textarea {
        font-size: 16px;
    }
    input::placeholder,
    textarea::placeholder {
        font-size: 15px;
    }
}
