:root {
    --dark: #08090b;
    --light: #ffffff;
    --soft: #f5f6f8;

    --blue: #1d66f5;
    --purple: #8155ff;
    --magenta: #d14ce8;

    --text: #0a0a0c;
    --muted: #62646a;
    --muted-light: #a7a9b0;

    --border: #e4e5ea;
    --border-dark: #25262b;

    --display: "Barlow Condensed", sans-serif;
    --body: "Inter", sans-serif;

    --radius: 14px;
    --section: 112px;
    --max: 1240px;
}


/* =========================================================
   RESET / DOCUMENT
   ========================================================= */

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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    overflow-x: clip;

    background: var(--light);
    color: var(--text);

    font-family: var(--body);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.inquiry-modal-open {
    overflow: hidden;
}

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

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

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

button {
    color: inherit;
}

p {
    color: var(--muted);
    line-height: 1.7;
}

h1,
h2,
h3 {
    margin-top: 0;

    font-family: var(--display);
    letter-spacing: -0.02em;
}

h1,
h2 {
    font-weight: 800;
    line-height: 0.94;
}

h3 {
    font-weight: 700;
    line-height: 1.05;
}


/* =========================================================
   LAYOUT
   ========================================================= */

.site-container {
    width: 100%;
    max-width: var(--max);
}

.section-light,
.page-section {
    padding: var(--section) 0;
    background: var(--light);
}

.section-soft {
    padding: var(--section) 0;
    background: var(--soft);
}

.section-dark {
    padding: var(--section) 0;
    background: var(--dark);
    color: var(--light);
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.skip-link {
    position: fixed;
    top: -60px;
    left: 12px;
    z-index: 3000;

    padding: 10px 14px;

    border-radius: 8px;

    background: #ffffff;
    color: #000000;
}

.skip-link:focus {
    top: 12px;
}

:focus-visible {
    outline: 3px solid rgba(29, 102, 245, 0.28);
    outline-offset: 3px;
}


/* =========================================================
   TYPOGRAPHY / SECTION LABELS
   ========================================================= */

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 22px;

    color: #44474e;

    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.eyebrow i {
    display: inline-block;

    width: 34px;
    height: 2px;

    background: linear-gradient(
        90deg,
        var(--blue),
        var(--purple)
    );
}

.eyebrow-light {
    color: #d8d9de;
}

.section-heading {
    max-width: 790px;
    margin-bottom: 58px;
}

.section-heading h2,
.page-hero h1,
.final-cta h2 {
    margin: 0 0 20px;

    font-size: clamp(2.8rem, 5vw, 4.8rem);
}

.section-heading p,
.page-hero p {
    max-width: 690px;

    font-size: 1.08rem;
}

.section-heading-dark p {
    color: var(--muted-light);
}


/* =========================================================
   INLINE LINKS
   ========================================================= */

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding-bottom: 3px;

    border-bottom: 1px solid currentColor;

    color: #111111;

    font-weight: 700;
}

.section-dark .text-link {
    color: #ffffff;
}

.text-link-button,
.section-inline-link {
    padding: 0;

    border: 0;
    background: transparent;

    font: inherit;
    cursor: pointer;
}

.text-link-button {
    display: inline-flex;

    border-bottom: 1px solid currentColor;

    color: #111111;
    font-weight: 700;
}

.section-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #111111;
    font-weight: 700;
}
