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

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

:root {
    /* Neutrals — the dominant palette */
    --color-white:     #ffffff;
    --color-off-white: #F7F7F5;
    --color-grey-100:  #F0F0EE;
    --color-grey-200:  #E2E2DF;
    --color-grey-300:  #C8C8C4;
    --color-grey-400:  #9A9A96;
    --color-grey-500:  #6A6A66;
    --color-dark:      #1C1E1C;
    --color-dark-2:    #2A2E2A;

    /* Text */
    --color-text:      #1C1E1C;
    --color-muted:     #5A5E5A;

    /* Green — accent only (buttons, labels, checkmarks) */
    --color-green:     #2A6B38;
    --color-green-h:   #215630;
    --color-green-tint:#EAF3EC;

    /* Red — logo accent, used very sparingly */
    --color-red:       #C8231A;

    /* Spacing */
    --sp-1:  0.25rem;  --sp-2:  0.5rem;   --sp-3:  0.75rem;
    --sp-4:  1rem;     --sp-5:  1.25rem;  --sp-6:  1.5rem;
    --sp-8:  2rem;     --sp-10: 2.5rem;   --sp-12: 3rem;
    --sp-16: 4rem;     --sp-20: 5rem;     --sp-24: 6rem;
    --sp-32: 8rem;

    /* Type scale */
    --fs-xs:   0.75rem;   --fs-sm:   0.875rem;  --fs-base: 1rem;
    --fs-lg:   1.125rem;  --fs-xl:   1.25rem;   --fs-2xl:  1.5rem;
    --fs-3xl:  1.875rem;  --fs-4xl:  2.25rem;   --fs-5xl:  3rem;
    --fs-6xl:  3.75rem;   --fs-7xl:  4.5rem;

    --radius: 0px;
    --ease-fast: 150ms ease;
    --ease-base: 250ms ease;
    --ease-slow: 400ms ease;
    --container-max: 1180px;
    --container-pad: var(--sp-6);
}

html { scroll-behavior: smooth; }

body {
    font-family: 'Plus Jakarta Sans', Helvetica, Arial, sans-serif;
    font-size: var(--fs-base);
    line-height: 1.65;
    color: var(--color-text);
    background: var(--color-white);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

h1, h2, h3, h4 { line-height: 1.08; font-weight: 800; letter-spacing: 0.01em; text-transform: uppercase; color: var(--color-dark); }
h1 { font-size: clamp(2.6rem, 5.5vw, var(--fs-7xl)); }
h2 { font-size: clamp(1.9rem, 3.5vw, var(--fs-5xl)); }
h3 { font-size: clamp(1.15rem, 2vw, var(--fs-2xl)); }

p { max-width: 62ch; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
ul, ol { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
