:root {
    --cmx-color-black: #111111;
    --cmx-color-ink: #1b1b1b;
    --cmx-color-text: #262626;
    --cmx-color-muted: #6b6b6b;
    --cmx-color-soft: #f7f7f5;
    --cmx-color-line: #e7e4df;
    --cmx-color-white: #ffffff;
    --cmx-color-orange: #e8661f;
    --cmx-color-orange-dark: #c94f12;
    --cmx-color-orange-soft: #fff2e9;

    --cmx-font-cinema: "DM Serif Display", Georgia, serif;
    --cmx-font-ui: "Poppins", Arial, sans-serif;
    --cmx-font-info: "Inter", Arial, sans-serif;

    --cmx-page-max: 1180px;
    --cmx-page-gutter: clamp(18px, 4vw, 40px);

    --cmx-radius-xs: 4px;
    --cmx-radius-sm: 6px;
    --cmx-radius-md: 8px;

    --cmx-shadow-subtle: 0 14px 34px rgba(17, 17, 17, 0.07);
    --cmx-transition: 160ms ease;
}

body {
    color: var(--cmx-color-text);
    background: var(--cmx-color-white);
    font-family: var(--cmx-font-info);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
.cmx-type-cinema {
    color: var(--cmx-color-black);
    font-family: var(--cmx-font-cinema);
    font-style: normal;
    letter-spacing: 0;
}

h1 {
    font-size: clamp(40px, 5vw, 68px);
    font-weight: 600;
    line-height: 0.95;
}

h2 {
    font-size: clamp(32px, 3.6vw, 48px);
    font-weight: 500;
    line-height: 1;
}

h3 {
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 500;
    line-height: 1.08;
}

a {
    color: inherit;
    text-decoration-color: rgba(232, 102, 31, 0.42);
    text-underline-offset: 0.18em;
    transition: color var(--cmx-transition), text-decoration-color var(--cmx-transition);
}

a:hover {
    color: var(--cmx-color-orange);
    text-decoration-color: currentColor;
}

.cmx-page-shell {
    width: min(100%, var(--cmx-page-max));
    margin-inline: auto;
    padding-inline: var(--cmx-page-gutter);
}

.cmx-section-label,
.cmx-nav-label,
.cmx-chip,
.cmx-button,
.cmx-data {
    font-family: var(--cmx-font-ui);
    letter-spacing: 0;
}

.cmx-section-label {
    color: var(--cmx-color-orange);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.cmx-button {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid var(--cmx-color-black);
    border-radius: var(--cmx-radius-sm);
    background: var(--cmx-color-black);
    color: var(--cmx-color-white);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background var(--cmx-transition), border-color var(--cmx-transition), color var(--cmx-transition);
}

.cmx-button:hover {
    border-color: var(--cmx-color-orange);
    background: var(--cmx-color-orange);
    color: var(--cmx-color-white);
}

.cmx-button--accent {
    border-color: var(--cmx-color-orange);
    background: var(--cmx-color-orange);
}

.cmx-button--accent:hover {
    border-color: var(--cmx-color-orange-dark);
    background: var(--cmx-color-orange-dark);
}

.cmx-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 10px;
    border: 1px solid var(--cmx-color-line);
    border-radius: var(--cmx-radius-xs);
    background: var(--cmx-color-white);
    color: var(--cmx-color-ink);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}

.cmx-data {
    color: var(--cmx-color-black);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.cmx-text {
    color: var(--cmx-color-text);
    font-family: var(--cmx-font-info);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.68;
}

.cmx-text-strong {
    color: var(--cmx-color-ink);
    font-family: var(--cmx-font-info);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.55;
}

@media (max-width: 767px) {
    h1 {
        font-size: clamp(38px, 12vw, 44px);
        line-height: 0.98;
    }

    h2 {
        font-size: clamp(30px, 9vw, 34px);
        line-height: 1.04;
    }

    h3 {
        font-size: clamp(22px, 7vw, 26px);
    }

    .cmx-text {
        font-size: 16px;
        line-height: 1.62;
    }

    .cmx-text-strong {
        font-size: 17px;
    }
}
