/* ==========================================================
   PrimeTech Solutions
   typography.css
   Typography System v1.0
   ========================================================== */

/* =========================
   Base Typography
========================= */

body{
    font-family:var(--font-body);
    font-size:var(--fs-base);
    color:var(--text);
    line-height:1.75;
    letter-spacing:.2px;
}

/* =========================
   Headings
========================= */

h1,h2,h3,h4,h5,h6{
    font-family:var(--font-heading);
    color:var(--text);
    font-weight:700;
    line-height:1.2;
    letter-spacing:-0.02em;
    margin-bottom:1rem;
}

h1{
    font-size:var(--fs-hero);
}

h2{
    font-size:var(--fs-2xl);
}

h3{
    font-size:1.45rem;
}

h4{
    font-size:1.2rem;
}

h5{
    font-size:1rem;
}

h6{
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.08em;
}

/* =========================
   Paragraph
========================= */

p{
    color:var(--text-muted);
    margin-bottom:1rem;
    max-width:70ch;
}

/* =========================
   Links
========================= */

a{
    transition:var(--transition);
}

a:hover{
    color:var(--color-primary);
}

/* =========================
   Section Titles
========================= */

.section-title{
    text-align:center;
    margin-bottom:4rem;
}

.section-title span{
    display:inline-block;
    color:var(--color-primary);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.82rem;
    font-weight:700;
    margin-bottom:12px;
}

.section-title h2{
    margin-bottom:18px;
}

.section-title h2 span{
    color:var(--color-primary);
    text-transform:none;
    letter-spacing:normal;
    font-size:inherit;
}

/* =========================
   Hero
========================= */

.hero h1{
    margin-bottom:1.25rem;
}

.hero p{
    font-size:1.08rem;
}

/* =========================
   Lists
========================= */

ul li{
    color:var(--text-muted);
    margin-bottom:.8rem;
}

ol{
    padding-left:1.4rem;
}

ol li{
    margin-bottom:.8rem;
}

/* =========================
   Small Text
========================= */

small{
    color:var(--text-light);
    font-size:.82rem;
}

/* =========================
   Blockquote
========================= */

blockquote{
    border-left:4px solid var(--color-primary);
    padding-left:1.2rem;
    color:var(--text-muted);
    margin:2rem 0;
    font-style:italic;
}

/* =========================
   Utility Classes
========================= */

.text-center{
    text-align:center;
}

.text-left{
    text-align:left;
}

.text-right{
    text-align:right;
}

.text-primary{
    color:var(--color-primary);
}

.text-muted{
    color:var(--text-muted);
}

.uppercase{
    text-transform:uppercase;
}

.fw-400{
    font-weight:400;
}

.fw-500{
    font-weight:500;
}

.fw-600{
    font-weight:600;
}

.fw-700{
    font-weight:700;
}

.fw-800{
    font-weight:800;
}

/* =========================
   Responsive Typography
========================= */

@media (max-width:992px){

    h1{
        font-size:clamp(2.3rem,8vw,3.8rem);
    }

    h2{
        font-size:2rem;
    }

    h3{
        font-size:1.3rem;
    }

    p{
        max-width:100%;
    }
}

@media (max-width:576px){

    h1{
        font-size:2.2rem;
    }

    h2{
        font-size:1.7rem;
    }

    .section-title{
        margin-bottom:3rem;
    }
}
