/* =========================================================
   BASE / TYPOGRAPHY / LAYOUT
   ========================================================= */

body.quantestate-site {
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: -0.02em;
}

body.quantestate-site h1,
body.quantestate-site h2,
body.quantestate-site h3,
body.quantestate-site h4,
body.quantestate-site h5,
body.quantestate-site h6 {
    color: var(--qe-text);
    font-weight: 650;
    letter-spacing: -0.045em;
    line-height: 1.16;
}

body.quantestate-site h1 { font-size: clamp(42px, 5vw, 76px); }
body.quantestate-site h2 { font-size: clamp(32px, 3.5vw, 52px); }
body.quantestate-site h3 { font-size: clamp(20px, 2.1vw, 25px); }

.qe-wrap {
    width: min(calc(100% - (var(--qe-gutter) * 2)), var(--qe-container));
    margin-inline: auto;
}

.qe-section {
    position: relative;
    padding: 120px 0;
}

.qe-section--soft {
    background: var(--qe-bg-soft);
}

.qe-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: var(--qe-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.qe-lead {
    max-width: 760px;
    color: var(--qe-text-soft);
    font-size: clamp(18px, 1.4vw, 22px);
    line-height: 1.7;
}

.qe-muted { color: var(--qe-text-soft); }
.qe-center { text-align: center; }

.qe-grid {
    display: grid;
    gap: 24px;
}

.qe-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qe-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.qe-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
