/* ==========================================================
   ICONVERTIX — GLOBAL DESIGN SYSTEM
   Version 1.0
========================================================== */

:root {
    /* Brand */
    --ivx-white: #ffffff;
    --ivx-paper: #f8f8f6;
    --ivx-line: #e2e3df;
    --ivx-ink: #17191d;
    --ivx-muted: #62676f;
    --ivx-accent: #c86831;
    --ivx-accent-soft: #f5ece6;

    /* Layout */
    --ivx-container: 1280px;

    /* Typography guide
       Micro / labels       : 14px minimum
       Buttons / small text : 15px minimum
       Body                 : 16–18px
       Lead                 : 20–29px
       Card heading         : 22–48px
       Section heading      : 36–74px
       Hero                 : 40–78px
    */
    --ivx-font-micro: 14px;
    --ivx-font-small: 15px;
    --ivx-font-body: 17px;
    --ivx-font-lead: 20px;

    --ivx-header-height: 76px;
}

/* Reset */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    padding: 0;
    background: var(--ivx-white);
    color: var(--ivx-ink);
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: var(--ivx-font-body);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
}

button,
a,
summary {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 3px solid rgba(200, 104, 49, .35);
    outline-offset: 3px;
}

/* Shared container */
.ivx-container {
    width: min(calc(100% - 72px), var(--ivx-container));
    margin-inline: auto;
}

/* Current temporary header support.
   This can be replaced by the final header.css later. */
.site-header {
    width: 100%;
    border-bottom: 1px solid var(--ivx-line);
    background: var(--ivx-white);
}

.site-header__inner {
    width: min(calc(100% - 72px), var(--ivx-container));
    min-height: var(--ivx-header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-inline: auto;
}

.site-brand {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.04em;
}

.site-navigation ul {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-navigation a {
    font-size: 15px;
    font-weight: 600;
}

@media (max-width: 768px) {
    body {
        font-size: 16px;
    }

    .ivx-container,
    .site-header__inner {
        width: min(calc(100% - 28px), var(--ivx-container));
    }

    .site-navigation {
        display: none;
    }
}