/* assets/css/main.css */
:root {
    --clr-primary:    #2563EB;
    --clr-secondary:  #7C3AED;
    --clr-white:      #FFFFFF;
    --clr-dark:       #111827;
    --clr-gray:       #F3F4F6;
    --clr-gray-text:  #6B7280;
    --clr-border:     #E5E7EB;
    --clr-amber:      #F59E0B;
    --clr-whatsapp:   #25D366;
    --gradient:       linear-gradient(135deg, #2563EB 0%, #7C3AED 100%);
    --gradient-hover: linear-gradient(135deg, #1D4ED8 0%, #6D28D9 100%);
    --shadow-sm:      0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
    --shadow-md:      0 4px 16px rgba(37,99,235,.12);
    --shadow-lg:      0 20px 40px rgba(37,99,235,.15);
    --radius-sm:      8px;
    --radius-md:      12px;
    --radius-lg:      20px;
    --radius-pill:    999px;
    --font-heading:   'Poppins', sans-serif;
    --font-body:      'Inter', sans-serif;
    --transition:     0.25s ease;
    --container:      1200px;
    --section-py:     96px;
}

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

html { scroll-behavior: smooth; font-size: 16px; }

body {
    font-family: var(--font-body);
    color: var(--clr-dark);
    background: var(--clr-white);
    line-height: 1.7;
    transition: background var(--transition), color var(--transition);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.25;
    color: var(--clr-dark);
}
h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.5rem); }

p { color: var(--clr-gray-text); font-size: 1rem; }

a { text-decoration: none; color: var(--clr-primary); transition: color var(--transition); }
a:hover { color: var(--clr-secondary); }

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

.container {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: 1.5rem;
}

.section { padding-block: var(--section-py); }

.section-label {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--clr-primary);
    background: rgba(37,99,235,.08);
    padding: .3rem .75rem;
    border-radius: var(--radius-pill);
    margin-bottom: 1rem;
}

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

.section-subtitle {
    font-size: 1.1rem;
    max-width: 560px;
}

.text-center { text-align: center; }
.text-center .section-subtitle { margin-inline: auto; }
