/* =========================================================
   GOLDWISEMAN GLOBAL DESIGN SYSTEM
========================================================= */


/* =========================================================
   BRAND VARIABLES
========================================================= */

:root {

    /* BRAND COLORS */

    --gw-primary: #1f4f78;
    --gw-primary-dark: #173b5a;

    --gw-secondary: #7a286c;
    --gw-secondary-dark: #5e1e53;

    --gw-accent: #c49a45;


    /* TEXT */

    --gw-heading: #17212b;
    --gw-text: #4d5965;
    --gw-muted: #6f7983;

    --gw-white: #ffffff;


    /* BACKGROUNDS */

    --gw-bg: #ffffff;
    --gw-bg-light: #f6f8fa;
    --gw-bg-soft: #eef2f5;
    --gw-bg-dark: #1f2e40;


    /* BORDERS */

    --gw-border: #dde2e6;


    /* WIDTH */

    --gw-container: 1400px;


    /* SPACING */

    --gw-section-padding: 70px;
    --gw-section-padding-mobile: 48px;


    /* RADIUS */

    --gw-radius: 12px;
    --gw-radius-small: 7px;


    /* SHADOW */

    --gw-shadow:
        0 8px 22px rgba(0, 0, 0, 0.12);


    /* FONT */

    --gw-font:
        "Inter",
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;
}


/* =========================================================
   BASIC RESET
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0;

    font-family: var(--gw-font);

    font-size: 17px;

    line-height: 1.65;

    color: var(--gw-text);

    background: var(--gw-bg);

    -webkit-font-smoothing: antialiased;

    text-rendering: optimizeLegibility;
}


/* =========================================================
   HEADINGS
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;

    color: var(--gw-heading);

    font-family: var(--gw-font);

    font-weight: 700;
}


h1 {
    font-size: clamp(40px, 5vw, 60px);

    line-height: 1.1;

    letter-spacing: -0.02em;
}


h2 {
    font-size: clamp(30px, 3.2vw, 40px);

    line-height: 1.25;

    letter-spacing: -0.015em;
}


h3 {
    font-size: 22px;

    line-height: 1.35;
}


h4 {
    font-size: 19px;

    line-height: 1.4;
}


/* =========================================================
   PARAGRAPHS
========================================================= */

p {
    margin-top: 0;

    margin-bottom: 18px;
}


p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   LINKS
========================================================= */

a {
    color: var(--gw-primary);

    text-decoration: none;
}


a:hover {
    color: var(--gw-primary-dark);
}


/* =========================================================
   STRONG / BOLD
========================================================= */

strong,
b {
    font-weight: 700;
}


/* =========================================================
   LISTS
========================================================= */

ul,
ol {
    margin-top: 0;

    margin-bottom: 20px;

    padding-left: 24px;
}


li {
    margin-bottom: 7px;
}


/* =========================================================
   IMAGES
========================================================= */

img {
    max-width: 100%;

    height: auto;
}


/* =========================================================
   STANDARD CONTAINER
========================================================= */

.gw-container,
.gw-section-inner {
    width: 100%;

    max-width: var(--gw-container);

    margin-left: auto;

    margin-right: auto;
}


/* =========================================================
   GENERAL SECTION SPACING
========================================================= */

.gw-section {
    width: 100%;

    padding:
        var(--gw-section-padding)
        30px;
}


/* =========================================================
   BACKGROUND UTILITY COLORS
========================================================= */

.gw-bg-white {
    background: var(--gw-white);
}


.gw-bg-light {
    background: var(--gw-bg-light);
}


.gw-bg-soft {
    background: var(--gw-bg-soft);
}


.gw-bg-dark {
    background: var(--gw-bg-dark);

    color: var(--gw-white);
}


/* =========================================================
   STANDARD BUTTON
========================================================= */

.gw-btn {
    display: inline-block;

    padding: 14px 26px;

    border: 0;

    border-radius: 7px;

    background: var(--gw-primary);

    color: var(--gw-white);

    font-family: var(--gw-font);

    font-size: 16px;

    font-weight: 700;

    line-height: 1.2;

    text-decoration: none;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.gw-btn:hover {
    background: var(--gw-primary-dark);

    color: var(--gw-white);

    transform: translateY(-1px);
}


/* SECONDARY BUTTON */

.gw-btn-secondary {
    background: var(--gw-secondary);
}


.gw-btn-secondary:hover {
    background: var(--gw-secondary-dark);
}


/* =========================================================
   FORMS
========================================================= */

input,
textarea,
select,
button {
    font-family: var(--gw-font);
}


input,
textarea,
select {
    width: 100%;

    padding: 12px 14px;

    border: 1px solid var(--gw-border);

    border-radius: var(--gw-radius-small);

    background: #ffffff;

    color: var(--gw-text);

    font-size: 16px;
}


input:focus,
textarea:focus,
select:focus {
    outline: none;

    border-color: var(--gw-primary);

    box-shadow:
        0 0 0 3px rgba(31, 79, 120, 0.12);
}


/* =========================================================
   CARDS
========================================================= */

.gw-card {
    background: #ffffff;

    border: 1px solid var(--gw-border);

    border-radius: var(--gw-radius);

    box-shadow: var(--gw-shadow);
}


/* =========================================================
   SMALL TEXT
========================================================= */

.gw-small {
    font-size: 14px;

    color: var(--gw-muted);
}


/* =========================================================
   CENTERED SECTION HEADING
========================================================= */

.gw-section-title {
    max-width: 1100px;

    margin: 0 auto 15px;

    text-align: center;
}


.gw-section-intro {
    max-width: 950px;

    margin: 0 auto 45px;

    text-align: center;

    font-size: 18px;

    line-height: 1.65;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    body {
        font-size: 16px;
    }

}


@media (max-width: 600px) {

    .gw-section {
        padding:
            var(--gw-section-padding-mobile)
            20px;
    }


    h1 {
        font-size: 36px;
    }


    h2 {
        font-size: 29px;
    }


    h3 {
        font-size: 20px;
    }

}