:root {
    --fx-color-bg: #ffffff;
    --fx-color-text: #1a1d21;
    --fx-color-heading: #0e1013;
    --fx-color-accent: #2f6fed;
    --fx-color-on-accent: #ffffff;
    --fx-color-muted: #6b7280;
    --fx-font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
    --fx-font-size-base: 16px;
    --fx-font-size-h1: 2.4rem;
    --fx-font-size-h2: 1.6rem;
    --fx-space-s: 0.5rem;
    --fx-space-m: 1rem;
    --fx-space-l: 2rem;
    --fx-space-xl: 4rem;
    --fx-radius-m: 8px;
    --fx-content-width: 1080px;
}

* { box-sizing: border-box; margin: 0; }
body { background: var(--fx-color-bg); color: var(--fx-color-text); font-family: var(--fx-font-family); font-size: var(--fx-font-size-base); }
.fx-area { max-width: var(--fx-content-width); margin: 0 auto; padding: 0 var(--fx-space-m); }
img { max-width: 100%; }

/* cards */
.fx-cards { padding: var(--fx-space-l) 0; }
.fx-cards__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--fx-space-m); margin-top: var(--fx-space-m); }
.fx-cards__card { border: 1px solid color-mix(in srgb, var(--fx-color-muted) 30%, transparent); border-radius: var(--fx-radius-m); padding: var(--fx-space-m); }

/* contacts */
.fx-contacts { padding: var(--fx-space-l) 0; }
.fx-contacts dt { font-weight: 600; margin-top: var(--fx-space-s); color: var(--fx-color-heading); }

/* cta */
.fx-cta { text-align: center; padding: var(--fx-space-xl) 0; }
.fx-cta__btn { display: inline-block; margin-top: var(--fx-space-m); background: var(--fx-color-accent); color: var(--fx-color-on-accent); padding: var(--fx-space-s) var(--fx-space-l); border-radius: var(--fx-radius-m); text-decoration: none; }

/* footer_simple */
.fx-footer { padding: var(--fx-space-l) 0; color: var(--fx-color-muted); border-top: 1px solid color-mix(in srgb, var(--fx-color-muted) 30%, transparent); }

/* form_embed */
.fx-form { display: grid; gap: var(--fx-space-m); max-width: 480px; padding: var(--fx-space-l) 0; }
.fx-form__field { display: grid; gap: var(--fx-space-s); }
.fx-form__field input, .fx-form__field textarea { padding: var(--fx-space-s); border: 1px solid color-mix(in srgb, var(--fx-color-muted) 40%, transparent); border-radius: var(--fx-radius-m); font: inherit; }
.fx-form__submit { background: var(--fx-color-accent); color: var(--fx-color-on-accent); border: 0; padding: var(--fx-space-s) var(--fx-space-l); border-radius: var(--fx-radius-m); cursor: pointer; }
.fx-form__ok { color: #15803d; } .fx-form__error { color: #b91c1c; }

/* header_simple */
.fx-header { display: flex; justify-content: space-between; align-items: center; padding: var(--fx-space-m) 0; }
.fx-header__logo { font-weight: 700; color: var(--fx-color-heading); text-decoration: none; }
.fx-header__nav a { color: var(--fx-color-text); margin-left: var(--fx-space-m); text-decoration: none; }

/* hero_split */
.fx-hero { display: flex; gap: var(--fx-space-l); padding: var(--fx-space-xl) 0; }
.fx-hero h1 { font-size: var(--fx-font-size-h1); color: var(--fx-color-heading); }
.fx-hero__cta { background: var(--fx-color-accent); color: var(--fx-color-on-accent); padding: var(--fx-space-s) var(--fx-space-m); border-radius: var(--fx-radius-m); }

/* text */
.fx-text { padding: var(--fx-space-m) 0; line-height: 1.6; }
.fx-text h2 { font-size: var(--fx-font-size-h2); color: var(--fx-color-heading); margin-bottom: var(--fx-space-s); }
