/* ==========================================================================
   HZN Elements — tokens, shared helpers, section classes and widget styles.
   Source of truth for the look: horizons/Agency/New site html/index-v3.html
   ========================================================================== */

:root {
    /* colour */
    --hzn-dawn: #1b1240;  --hzn-ink: #120b2c;  --hzn-night: #0d0722;
    --hzn-violet: #5c3580; --hzn-violet-b: #8c52ff; --hzn-peri: #999bff; --hzn-magenta: #be4c91;
    --hzn-rose: #d94f6a;  --hzn-coral: #ff625b; --hzn-terra: #e0704d; --hzn-terra-text: #b8522c;
    --hzn-amber: #e8952a; --hzn-amber-text: #c8781c; --hzn-gold: #f4b731; --hzn-pale: #fde9a2; --hzn-lemon: #fdff99;
    --hzn-navy: #263b66;
    --hzn-cream: #fdf8f3; --hzn-cream-dim: #f6ede2; --hzn-surface: #ffffff; --hzn-border: #ecddd0;
    --hzn-text: #17100a; --hzn-sub: #6b4f35; --hzn-muted: #86684b;
    --hzn-on-dark: #f7efe6; --hzn-on-dark-sub: #c9bcd9; --hzn-on-dark-mute: #a497c0;
    --hzn-sunrise-r: linear-gradient(90deg, #fde9a2 0%, #f4b731 12%, #e8952a 26%, #e0704d 40%, #d94f6a 52%, #a04a76 66%, #5c3580 82%, #1b1240 100%);
    --hzn-sunrise: linear-gradient(90deg, #1b1240 0%, #5c3580 18%, #a04a76 34%, #d94f6a 48%, #e0704d 60%, #e8952a 74%, #f4b731 88%, #fde9a2 100%);

    /* type */
    --hzn-font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --hzn-hand: 'Caveat', cursive;
    --hzn-fs-h2: clamp(2.1rem, 3.9vw, 3.4rem);
    --hzn-fs-statement: clamp(1.6rem, 2.8vw, 2.5rem);
    --hzn-fs-h3: clamp(1.25rem, 1.6vw, 1.5rem);
    --hzn-fs-sub: clamp(1.15rem, 1.55vw, 1.4rem);
    --hzn-fs-lede: clamp(1.06rem, 1.25vw, 1.2rem);
    --hzn-fs-small: 14px;

    /* spacing */
    --hzn-gutter: clamp(20px, 4vw, 56px);
    --hzn-wrap: 1240px;
    --hzn-sec: clamp(72px, 8vw, 120px);
    --hzn-gap-head: clamp(36px, 4vw, 60px);
    --hzn-gap-close: clamp(48px, 5vw, 80px);

    /* shape + motion */
    --hzn-r-sm: 12px; --hzn-r-md: 20px; --hzn-r-lg: 30px;
    --hzn-ease: cubic-bezier(.22, .61, .36, 1);
    --hzn-ease-out: cubic-bezier(.16, 1, .3, 1);
}

@media (max-width: 767px) {
    :root { --hzn-sec: 64px; }
}

/* ── Section containers (classes set on the outer Elementor container) ─────
   Padding lives in the container variables so the editor's own Padding control still wins. */
.e-con.hzn-sec {
    --padding-top: var(--hzn-sec);
    --padding-bottom: var(--hzn-sec);
    --padding-left: var(--hzn-gutter);
    --padding-right: var(--hzn-gutter);
    --gap: 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --widgets-spacing: 0px;
    --widgets-spacing-row: 0px;
    --widgets-spacing-column: 0px;
    --kit-widget-spacing: 0px;
    position: relative;
    color: var(--hzn-text);
    font-family: var(--hzn-font);
}
.e-con.hzn-sec > .e-con-inner { position: relative; z-index: 1; }

.e-con.hzn-sec--hero {
    --padding-top: clamp(128px, 17vh, 180px);
    --padding-bottom: clamp(36px, 4vw, 56px);
    background-color: var(--hzn-cream);
    overflow: hidden;
}
.e-con.hzn-sec--hero::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--hzn-sunrise-r); z-index: 3; }
.e-con.hzn-sec--hero::after {
    content: ""; position: absolute; inset: -20% -20% auto 40%; height: 80%; pointer-events: none;
    background: radial-gradient(50% 52% at 78% 26%, rgba(244, 183, 49, .1), transparent 68%);
}
.e-con.hzn-sec--journey { --padding-bottom: clamp(48px, 5vw, 72px); background-color: var(--hzn-cream); overflow: hidden; }
.e-con.hzn-sec--system { --padding-top: clamp(48px, 5vw, 80px); background-image: linear-gradient(180deg, var(--hzn-cream) 0%, var(--hzn-cream-dim) 100%); }
.e-con.hzn-sec--proof { background-color: var(--hzn-dawn); overflow: clip; }
.e-con.hzn-sec--proof::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(60% 40% at 82% 8%, rgba(140, 82, 255, .2), transparent 62%),
                radial-gradient(50% 40% at 6% 92%, rgba(232, 149, 42, .14), transparent 64%);
}
.e-con.hzn-sec--origin { background-color: var(--hzn-cream); overflow: hidden; }
.e-con.hzn-sec--start { background-image: linear-gradient(180deg, var(--hzn-cream-dim), var(--hzn-cream) 46%); }
.e-con.hzn-sec--contact {
    --padding-bottom: clamp(64px, 7vw, 96px);
    background-color: var(--hzn-night);
    overflow: hidden;
}
.e-con.hzn-sec--contact::before {
    content: ""; position: absolute; left: 50%; top: -38%; width: min(1000px, 120%); aspect-ratio: 1; transform: translateX(-50%);
    border-radius: 50%; pointer-events: none; filter: blur(14px);
    background: radial-gradient(circle, rgba(244, 183, 49, .17), rgba(217, 79, 106, .08) 40%, transparent 64%);
}
.e-con.hzn-sec--contact::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--hzn-sunrise-r); opacity: .7; }

.hzn-dark { color: var(--hzn-on-dark); }

/* Widgets fill their container (BUG-039) */
.e-con > .elementor-widget[class*="elementor-widget-hzn-"] { width: 100%; max-width: 100%; }

/* Hello Elementor reset.css: neutralise its button/link hover colours inside our blocks (BUG-040) */
.hzn-sec a:hover, .hzn-sec a:active { color: inherit; }

/* ── Shared type ─────────────────────────────────────────────────────── */
.hzn-eyebrow {
    display: inline-flex; align-items: center; gap: 12px; margin: 0 0 20px;
    font-family: var(--hzn-font); font-size: 15px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; line-height: 1.3;
    color: var(--hzn-terra-text);
}
.hzn-eyebrow::before { content: ""; flex: none; width: 32px; height: 2px; border-radius: 2px; background: var(--hzn-sunrise-r); }
.hzn-dark .hzn-eyebrow { color: var(--hzn-gold); }

.hzn-h2 { margin: 0; font-family: var(--hzn-font); font-size: var(--hzn-fs-h2); font-weight: 800; line-height: 1.05; letter-spacing: -.032em; color: var(--hzn-text); }
.hzn-dark .hzn-h2 { color: var(--hzn-on-dark); }
.hzn-sub { margin: 16px 0 0; font-size: var(--hzn-fs-sub); font-weight: 700; line-height: 1.35; letter-spacing: -.015em; color: var(--hzn-violet); }
.hzn-dark .hzn-sub { color: var(--hzn-pale); }
.hzn-lede { margin: 16px 0 0; font-size: var(--hzn-fs-lede); line-height: 1.7; color: var(--hzn-sub); max-width: 60ch; }
.hzn-dark .hzn-lede { color: var(--hzn-on-dark-sub); }
.hzn-lede strong, .hzn-lede b { color: var(--hzn-text); font-weight: 700; }
.hzn-dark .hzn-lede strong, .hzn-dark .hzn-lede b { color: var(--hzn-on-dark); }
.hzn-note { margin: 0; font-size: var(--hzn-fs-small); font-weight: 600; color: var(--hzn-muted); }
.hzn-dark .hzn-note { color: var(--hzn-on-dark-mute); }

/* ── Buttons (scoped with an ancestor to beat Hello's reset — BUG-040) ── */
.hzn-sec .hzn-btn,
.hzn-header .hzn-btn,
.hzn-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px;
    padding: 14px 30px; border-radius: 999px; border: 0; cursor: pointer; text-decoration: none;
    font-family: var(--hzn-font); font-size: 16px; font-weight: 700; letter-spacing: -.005em; line-height: 1.2; text-align: center;
    transition: background-color .3s var(--hzn-ease), color .3s var(--hzn-ease), box-shadow .3s var(--hzn-ease), transform .3s var(--hzn-ease-out);
}
.hzn-sec .hzn-btn--primary, .hzn-header .hzn-btn--primary { background-color: var(--hzn-dawn); color: #f7efe6; }
.hzn-sec .hzn-btn--primary:hover, .hzn-header .hzn-btn--primary:hover { background-color: var(--hzn-violet); color: #f7efe6; transform: translateY(-1px); }
.hzn-sec .hzn-btn--ghost { background-color: transparent; color: var(--hzn-violet); box-shadow: inset 0 0 0 1.5px rgba(92, 53, 128, .3); }
.hzn-sec .hzn-btn--ghost:hover { color: var(--hzn-violet); box-shadow: inset 0 0 0 1.5px var(--hzn-violet); background-color: rgba(92, 53, 128, .05); }
.hzn-dark .hzn-btn--primary, .hzn-sec.hzn-dark .hzn-btn--primary { background-color: var(--hzn-pale); color: var(--hzn-dawn); }
.hzn-dark .hzn-btn--primary:hover, .hzn-sec.hzn-dark .hzn-btn--primary:hover { background-color: #fff; color: var(--hzn-dawn); }
.hzn-btn--block { width: 100%; }

/* ── Icons (BUG-025/026): line icons keep fill:none; FA icons use fill ─── */
.hzn-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 0; color: inherit; }
.hzn-icon svg { width: 1em; height: 1em; }
.hzn-icon svg[fill="none"], .hzn-icon svg[fill="none"] * { fill: none; stroke: currentColor; }
.hzn-icon .e-font-icon-svg, .hzn-icon .e-font-icon-svg * { fill: currentColor; }
.hzn-icon i { color: currentColor; }

/* ── Scroll reveal + page-load rise ──────────────────────────────────── */
.hzn-js [data-hzn-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--hzn-ease-out), transform .8s var(--hzn-ease-out); }
.hzn-js [data-hzn-reveal].is-visible { opacity: 1; transform: none; }
.hzn-rise { animation: hzn-rise .9s var(--hzn-ease-out) both; }
.hzn-rise.d1 { animation-delay: .08s; } .hzn-rise.d2 { animation-delay: .18s; } .hzn-rise.d3 { animation-delay: .28s; }
.hzn-rise.d4 { animation-delay: .38s; } .hzn-rise.d5 { animation-delay: .48s; }
@keyframes hzn-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* Editor: never hide content behind an animation (BUG-010) */
.elementor-editor-active [data-hzn-reveal],
.elementor-editor-preview [data-hzn-reveal] { opacity: 1 !important; transform: none !important; }
.elementor-editor-active .hzn-rise { animation: none !important; }

/* ==========================================================================
   hzn-hero
   ========================================================================== */
.hzn-hero { position: relative; z-index: 1; font-family: var(--hzn-font); }
.hzn-hero .hzn-eyebrow { margin: 0; }
.hzn-hero__title {
    margin: clamp(22px, 3.4vh, 40px) 0 0; color: var(--hzn-dawn); font-family: var(--hzn-font); font-weight: 800;
    font-size: clamp(2.6rem, 5.2vw, 4.6rem); line-height: .98; letter-spacing: -.05em;
}
.hzn-hero__l2 { display: block; padding-left: .4em; white-space: nowrap; }
.hzn-hero__nb { white-space: nowrap; }
.hzn-hero__dot { color: var(--hzn-rose); }
.hzn-hero__lead { margin: clamp(22px, 3vh, 32px) 0 0; font-size: clamp(1.2rem, 1.9vw, 1.6rem); font-weight: 700; letter-spacing: -.022em; line-height: 1.3; color: var(--hzn-violet); }
.hzn-hero__rule { height: 2px; margin: clamp(30px, 4.5vh, 44px) 0; background: var(--hzn-sunrise-r); transform-origin: 0 50%; }
.hzn-js .hzn-hero__rule { transform: scaleX(0); animation: hzn-rule 1.2s .45s var(--hzn-ease-out) forwards; }
.elementor-editor-active .hzn-hero__rule { transform: none !important; animation: none !important; }
@keyframes hzn-rule { to { transform: scaleX(1); } }
.hzn-hero__cols { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(32px, 5vw, 80px); align-items: start; }
.hzn-hero__body { font-size: clamp(1.06rem, 1.2vw, 1.15rem); line-height: 1.75; color: var(--hzn-sub); max-width: 54ch; }
.hzn-hero__body p { margin: 0 0 1em; } .hzn-hero__body p:last-child { margin-bottom: 0; }
.hzn-hero__body b, .hzn-hero__body strong { color: var(--hzn-dawn); font-weight: 700; }
.hzn-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; max-width: 440px; }
.hzn-hero__actions .hzn-btn { min-width: 240px; }
.hzn-hero__actions .hzn-note { flex-basis: 100%; text-align: right; margin-top: 4px; }
.hzn-hero__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: clamp(44px, 6vh, 72px); }
.hzn-pill {
    display: inline-flex; align-items: center; gap: 13px; margin: 0; padding: 11px 22px 11px 12px; border-radius: 999px;
    background: var(--hzn-surface); box-shadow: 0 0 0 1px var(--hzn-border); font-size: 15px; color: var(--hzn-sub);
}
.hzn-pill b, .hzn-pill strong { color: var(--hzn-dawn); font-weight: 700; }
.hzn-pill__ico { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--hzn-violet); color: #fff; font-size: 16px; }
.hzn-pill__ico svg { width: 16px; height: 16px; }
.hzn-sec .hzn-cue { display: inline-flex; align-items: center; gap: 12px; font-size: var(--hzn-fs-small); font-weight: 600; color: var(--hzn-muted); text-decoration: none; transition: color .3s; }
.hzn-sec .hzn-cue:hover { color: var(--hzn-violet); }
.hzn-cue span { width: 46px; height: 1.5px; background: var(--hzn-border); position: relative; overflow: hidden; }
.hzn-cue span::after { content: ""; position: absolute; inset: 0; background: var(--hzn-violet); transform-origin: 0 50%; transform: scaleX(0); transition: transform .5s var(--hzn-ease-out); }
.hzn-cue:hover span::after { transform: scaleX(1); }

/* ==========================================================================
   hzn-section-head
   ========================================================================== */
.hzn-head { max-width: 880px; margin-bottom: var(--hzn-gap-head); font-family: var(--hzn-font); }
.hzn-head--split { max-width: none; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 5vw, 80px); align-items: end; }
.hzn-head--divider { padding-bottom: var(--hzn-gap-head); border-bottom: 1px solid var(--hzn-border); }
.hzn-dark .hzn-head--divider { border-bottom-color: rgba(247, 239, 230, .12); }
.hzn-head__side .hzn-sub { margin-top: 0; }
.hzn-head__note { margin: 0; font-size: var(--hzn-fs-lede); line-height: 1.7; color: var(--hzn-sub); max-width: 44ch; }
.hzn-head__note strong, .hzn-head__note b { color: var(--hzn-dawn); font-weight: 700; }
.hzn-head__side .hzn-sub + .hzn-head__note { margin-top: 12px; }
.hzn-head__note--rule { padding-left: 22px; border-left: 2px solid; border-image: var(--hzn-sunrise-r) 1; }
.hzn-dark .hzn-head__note { color: var(--hzn-on-dark-sub); }
.hzn-dark .hzn-head__note strong, .hzn-dark .hzn-head__note b { color: var(--hzn-on-dark); }

/* ==========================================================================
   hzn-statement
   ========================================================================== */
.hzn-statement { position: relative; margin-top: var(--hzn-gap-close); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--hzn-border); font-family: var(--hzn-font); }
.hzn-statement::before { content: ""; position: absolute; top: -1px; left: 0; width: 96px; height: 2px; background: var(--hzn-sunrise-r); }
.hzn-statement--plain { border-top: 0; padding-top: 0; }
.hzn-statement--plain::before { display: none; }
.hzn-statement p { margin: 0; font-size: var(--hzn-fs-statement); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.hzn-statement__l1 { color: var(--hzn-dawn); }
.hzn-statement__l2 { color: var(--hzn-violet); }
.hzn-statement--indent .hzn-statement__l2 { padding-left: clamp(16px, 4vw, 72px); }
.hzn-dark .hzn-statement { border-top-color: rgba(247, 239, 230, .16); }
.hzn-dark .hzn-statement__l1 { color: #fff; }
.hzn-dark .hzn-statement__l2 { color: var(--hzn-pale); }

/* ==========================================================================
   hzn-journey-map
   ========================================================================== */
.hzn-map { font-family: var(--hzn-font); }
.hzn-map__svg { max-width: 1000px; margin: 0 auto; }
.hzn-map__svg svg { width: 100%; height: auto; display: block; overflow: visible; }
.hzn-map .cx-link { fill: none; stroke-linecap: round; stroke-width: 1.6; stroke-dasharray: 7 9; opacity: .34; transition: opacity .4s, stroke-width .4s; }
.hzn-map .cx-flow { fill: none; stroke-linecap: round; stroke-width: 2.4; opacity: 0; stroke-dasharray: 12 190; transition: opacity .5s; }
.hzn-map.is-live .cx-flow { opacity: .95; animation: hzn-flow 4.6s linear infinite; }
@keyframes hzn-flow { to { stroke-dashoffset: -404; } }
.hzn-map .cx-node circle.disc { transform-box: fill-box; transform-origin: center; transition: transform .7s var(--hzn-ease-out), filter .3s; }
.hzn-js .hzn-map .cx-node circle.disc { transform: scale(0); }
.hzn-js .hzn-map.is-live .cx-node circle.disc { transform: scale(1); }
.hzn-map .cx-node:hover circle.disc, .hzn-map .cx-node.on circle.disc { filter: brightness(1.06) saturate(1.1); }
.hzn-map .cx-node text { font-family: var(--hzn-font); font-weight: 700; letter-spacing: -.01em; pointer-events: none; transition: opacity .6s var(--hzn-ease); }
.hzn-js .hzn-map .cx-node text { opacity: 0; }
.hzn-js .hzn-map.is-live .cx-node text { opacity: 1; }
.hzn-map .cx-node .ring { fill: none; stroke-width: 1.4; opacity: 0; transform-box: fill-box; transform-origin: center; transition: opacity .4s, transform .6s var(--hzn-ease-out); }
.hzn-map .cx-node:hover .ring, .hzn-map .cx-node.on .ring { opacity: .5; transform: scale(1.13); }
.hzn-map .cx-node .glyph { opacity: .9; pointer-events: none; }
.hzn-map .cx-n1 circle.disc { transition-delay: .05s; } .hzn-map .cx-n2 circle.disc { transition-delay: .17s; } .hzn-map .cx-n3 circle.disc { transition-delay: .29s; }
.hzn-map .cx-n4 circle.disc { transition-delay: .41s; } .hzn-map .cx-n5 circle.disc { transition-delay: .53s; } .hzn-map .cx-n6 circle.disc { transition-delay: .65s; }
.elementor-editor-active .hzn-map .cx-node circle.disc { transform: scale(1) !important; }
.elementor-editor-active .hzn-map .cx-node text { opacity: 1 !important; }
.hzn-map__chips { display: none; list-style: none; margin: 0; padding: 0; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.hzn-map__chips li { display: flex; align-items: center; gap: 10px; padding: 13px 14px; border-radius: 14px; background: var(--hzn-surface); box-shadow: inset 0 0 0 1px var(--hzn-border); font-size: 15px; font-weight: 700; line-height: 1.25; color: var(--hzn-dawn); }
.hzn-map__chips li::before { content: ""; flex: none; width: 12px; height: 12px; border-radius: 50%; background: var(--c); }
.hzn-map__chips li.is-last { grid-column: 1 / -1; justify-content: center; background: #fefde6; box-shadow: inset 0 0 0 1px #ece79a; }
.hzn-map__cap { max-width: 52ch; margin: clamp(20px, 2.5vw, 32px) auto 0; text-align: center; font-size: var(--hzn-fs-lede); font-weight: 600; line-height: 1.6; color: var(--hzn-violet); }
@media (max-width: 900px) {
    .hzn-map__svg { display: none; }
    .hzn-map__chips { display: grid; }
    .hzn-map__cap { text-align: left; margin-left: 0; }
}
@media (max-width: 480px) { .hzn-map__chips { grid-template-columns: 1fr 1fr; } }

/* ==========================================================================
   hzn-system-cards
   ========================================================================== */
.hzn-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); font-family: var(--hzn-font); }
.hzn-card {
    --a: var(--hzn-violet-b);
    position: relative; overflow: hidden; display: flex; flex-direction: column;
    background: var(--hzn-surface); border-radius: var(--hzn-r-md); padding: clamp(26px, 2.6vw, 36px);
    box-shadow: 0 0 0 1px var(--hzn-border), 0 30px 60px -48px rgba(27, 18, 64, .5);
    transition: transform .4s var(--hzn-ease-out), box-shadow .4s var(--hzn-ease-out);
}
.hzn-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--a); }
.hzn-card:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--hzn-border), 0 40px 70px -46px rgba(27, 18, 64, .55); }
.hzn-card__ico { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; margin-bottom: 22px; background: var(--hzn-cream-dim); color: var(--a); font-size: 26px; }
.hzn-card__ico svg { width: 26px; height: 26px; }
.hzn-card__label { margin: 0 0 10px; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hzn-sub); }
.hzn-card__q { margin: 0 0 24px; font-family: var(--hzn-font); font-size: var(--hzn-fs-h3); font-weight: 800; line-height: 1.2; letter-spacing: -.022em; color: var(--hzn-dawn); }
.hzn-card__caps { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: auto 0 0; padding: 20px 0 0; border-top: 1px solid var(--hzn-border); }
.hzn-card__caps li { font-size: 14px; font-weight: 600; padding: 7px 14px; border-radius: 999px; background: var(--hzn-cream-dim); color: var(--hzn-violet); box-shadow: inset 0 0 0 1px var(--hzn-border); }
@supports (color: color-mix(in srgb, red, blue)) {
    .hzn-card__ico { background: color-mix(in srgb, var(--a) 13%, #fff); }
    .hzn-card__label { color: color-mix(in srgb, var(--a) 62%, #1b1240); }
    .hzn-card__caps li { background: color-mix(in srgb, var(--a) 9%, #fff); color: color-mix(in srgb, var(--a) 62%, #1b1240); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--a) 22%, transparent); }
}
.hzn-connect { position: relative; height: 72px; margin-top: 20px; }
.hzn-connect svg { width: 100%; height: 100%; overflow: visible; }
.hzn-connect .base { fill: none; stroke: var(--hzn-border); stroke-width: 1.5; stroke-linecap: round; }
.hzn-connect .draw { fill: none; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 1400; stroke-dashoffset: 0; transition: stroke-dashoffset 1.2s var(--hzn-ease-out); }
.hzn-js .hzn-connect .draw { stroke-dashoffset: 1400; }
.hzn-js .hzn-connect.is-live .draw { stroke-dashoffset: 0; }
.hzn-connect__label { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 6px 16px; border-radius: 999px; background: var(--hzn-cream-dim); font-size: var(--hzn-fs-small); font-weight: 700; color: var(--hzn-violet); transition: opacity .6s .5s; }
.hzn-js .hzn-connect__label { opacity: 0; }
.hzn-js .hzn-connect.is-live .hzn-connect__label { opacity: 1; }
.elementor-editor-active .hzn-connect .draw { stroke-dashoffset: 0 !important; }
.elementor-editor-active .hzn-connect__label { opacity: 1 !important; }
@media (max-width: 1024px) {
    .hzn-cards { grid-template-columns: 1fr; max-width: 640px; }
    .hzn-connect { display: none; }
}

/* ==========================================================================
   hzn-proof
   ========================================================================== */
.hzn-proof { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 88px); align-items: start; color: var(--hzn-on-dark); font-family: var(--hzn-font); }
.hzn-proof__steps { display: flex; flex-direction: column; gap: clamp(48px, 5vw, 80px); padding-bottom: clamp(40px, 6vw, 96px); }
.hzn-step { position: relative; padding-left: 52px; transition: opacity .3s var(--hzn-ease); }
.hzn-js .hzn-step { opacity: .4; }
.hzn-js .hzn-step.is-active { opacity: 1; }
.hzn-step__n { position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size: 15px; font-weight: 800; color: var(--hzn-on-dark); box-shadow: inset 0 0 0 1.5px rgba(247, 239, 230, .3); transition: background .3s, color .3s, box-shadow .3s; }
.hzn-step.is-active .hzn-step__n { background: var(--hzn-gold); color: var(--hzn-dawn); box-shadow: 0 0 0 6px rgba(244, 183, 49, .16); }
.hzn-step__title { margin: 0 0 14px; padding-top: 2px; font-family: var(--hzn-font); font-size: clamp(1.4rem, 2vw, 1.8rem); font-weight: 800; letter-spacing: -.026em; line-height: 1.15; color: var(--hzn-on-dark); }
.hzn-step__text { margin: 0; color: var(--hzn-on-dark-sub); font-size: 16.5px; line-height: 1.7; max-width: 46ch; }
.hzn-step__text b, .hzn-step__text strong { color: var(--hzn-on-dark); font-weight: 700; }
.hzn-step__points { display: grid; gap: 20px; margin: 0; }
.hzn-step__text + .hzn-step__points { margin-top: 18px; }
.hzn-step__points dt { margin: 0 0 6px; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hzn-gold); }
.hzn-step__points dd { margin: 0; color: var(--hzn-on-dark-sub); font-size: 16.5px; line-height: 1.7; max-width: 46ch; }

.hzn-proof__aside { position: sticky; top: 96px; }
.hzn-panel { border-radius: var(--hzn-r-lg); padding: clamp(22px, 2.4vw, 32px); background: linear-gradient(160deg, rgba(247, 239, 230, .075), rgba(247, 239, 230, .02)); box-shadow: inset 0 0 0 1px rgba(247, 239, 230, .14), 0 50px 100px -60px #000; }
.hzn-panel__top { margin: 0 0 20px; }
.hzn-panel__title { display: block; font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--hzn-pale); }
.hzn-panel__tag { display: block; margin-top: 4px; font-size: var(--hzn-fs-small); font-weight: 600; color: var(--hzn-on-dark-mute); }
.hzn-panel__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hzn-panel__item { grid-column: 1 / -1; border-radius: var(--hzn-r-sm); background: rgba(13, 7, 34, .42); box-shadow: inset 0 0 0 1px rgba(247, 239, 230, .1); transition: box-shadow .3s var(--hzn-ease), transform .3s var(--hzn-ease-out), background .3s; }
.hzn-panel__item--half { grid-column: span 1; }
.hzn-panel__item.is-hot { box-shadow: inset 0 0 0 1.5px rgba(244, 183, 49, .7), 0 12px 30px -18px rgba(244, 183, 49, .5); background: rgba(244, 183, 49, .07); }
.hzn-stat.is-hot { transform: translateY(-2px); }
.hzn-stat { padding: 18px; }
.hzn-stat__v { margin: 0; font-size: clamp(1.8rem, 2.7vw, 2.4rem); font-weight: 800; letter-spacing: -.03em; line-height: 1; color: var(--hzn-pale); }
.hzn-stat--lilac .hzn-stat__v { color: #d9c2ff; }
.hzn-stat__k { margin: 8px 0 0; font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--hzn-on-dark-sub); }
.hzn-stat__k small { display: block; font-size: 13px; color: var(--hzn-on-dark-mute); }
.hzn-chart { padding: 18px 18px 14px; }
.hzn-chart__t { margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--hzn-on-dark-sub); }
.hzn-chart__t span { color: var(--hzn-on-dark-mute); font-weight: 500; }
.hzn-chart svg { width: 100%; height: auto; display: block; overflow: visible; }
.hzn-chart .ln { fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 600; stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s var(--hzn-ease-out); }
.hzn-js .hzn-chart .ln { stroke-dashoffset: 600; }
.hzn-js .hzn-panel.is-live .ln { stroke-dashoffset: 0; }
.hzn-chart .ln.b { transition-delay: .15s; }
.hzn-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; font-size: 13px; color: var(--hzn-on-dark-mute); }
.hzn-legend span { display: inline-flex; align-items: center; gap: 6px; }
.hzn-legend i { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.hzn-legend .mark i { width: 12px; height: 0; border-radius: 0; border-top: 1.5px dashed var(--hzn-amber); }
.hzn-bars { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 10px; align-items: end; height: 140px; margin-top: 4px; }
.hzn-bar { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 7px; height: 100%; }
.hzn-bar__fill { width: 100%; height: var(--h); border-radius: 7px 7px 3px 3px; transition: height .7s var(--hzn-ease-out); }
.hzn-js .hzn-bar__fill { height: 0; }
.hzn-js .hzn-panel.is-live .hzn-bar__fill { height: var(--h); }
.hzn-bar__n { font-size: 14px; font-weight: 800; letter-spacing: -.02em; color: var(--hzn-on-dark); }
.hzn-bar__l { font-size: 13px; font-weight: 600; color: var(--hzn-on-dark-mute); }
.elementor-editor-active .hzn-chart .ln { stroke-dashoffset: 0 !important; }
.elementor-editor-active .hzn-bar__fill { height: var(--h) !important; }
.elementor-editor-active .hzn-step { opacity: 1 !important; }
@media (max-width: 1024px) {
    .hzn-proof { grid-template-columns: 1fr; gap: 48px; }
    .hzn-proof__steps { padding-bottom: 0; gap: 44px; }
    .hzn-js .hzn-step { opacity: 1; }
    .hzn-step .hzn-step__n { background: var(--hzn-gold); color: var(--hzn-dawn); box-shadow: none; }
    .hzn-proof__aside { position: static; }
    .hzn-panel { max-width: 640px; }
    .hzn-panel__item.is-hot { box-shadow: inset 0 0 0 1px rgba(247, 239, 230, .1); background: rgba(13, 7, 34, .42); transform: none; }
}
@media (max-width: 767px) { .hzn-stat { padding: 16px 14px; } }
@media (max-width: 480px) {
    .hzn-panel__item--half { grid-column: 1 / -1; }
    .hzn-step { padding-left: 46px; }
}

/* ==========================================================================
   hzn-founders
   ========================================================================== */
.hzn-founders { display: grid; grid-template-columns: 1fr auto 1fr; gap: clamp(24px, 3.5vw, 56px); align-items: center; font-family: var(--hzn-font); }
.hzn-founders__name { display: block; margin: 0 0 10px; font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--hzn-terra-text); }
.hzn-founders__person--left .hzn-founders__name { color: #6d3fd1; }
.hzn-founders__title { margin: 0 0 12px; font-family: var(--hzn-font); font-size: var(--hzn-fs-h3); font-weight: 800; letter-spacing: -.024em; line-height: 1.2; color: var(--hzn-dawn); }
.hzn-founders__text { margin: 0; font-size: 16.5px; line-height: 1.75; color: var(--hzn-sub); }
.hzn-founders__person--left { text-align: right; }
.hzn-founders__photo { position: relative; width: clamp(220px, 24vw, 300px); margin: 0; }
.hzn-founders__photo img { display: block; width: 100%; height: auto; filter: drop-shadow(0 24px 24px rgba(27, 18, 64, .14)); }
.hzn-founders__photo::after { content: ""; position: absolute; left: 14%; right: 14%; bottom: 2px; height: 14px; border-radius: 50%; background: radial-gradient(ellipse at 50% 50%, rgba(27, 18, 64, .17), transparent 72%); }
@media (max-width: 1024px) {
    .hzn-founders { grid-template-columns: 1fr 1fr; gap: 28px 32px; }
    .hzn-founders__photo { grid-column: 1 / -1; grid-row: 1; justify-self: center; width: min(260px, 64%); }
    .hzn-founders__person--left { text-align: left; }
}
@media (max-width: 767px) { .hzn-founders { grid-template-columns: 1fr; } }

/* ==========================================================================
   hzn-big-stat
   ========================================================================== */
.hzn-bigstat {
    position: relative; overflow: hidden; margin-top: var(--hzn-gap-head); text-align: center; font-family: var(--hzn-font);
    padding: clamp(36px, 4.5vw, 64px) clamp(20px, 3vw, 40px); border-radius: var(--hzn-r-lg); background: var(--hzn-surface);
    box-shadow: 0 0 0 1px var(--hzn-border), 0 30px 70px -50px rgba(27, 18, 64, .5);
}
.hzn-bigstat::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--hzn-sunrise-r); }
.hzn-bigstat--plain { background: transparent; box-shadow: none; padding-left: 0; padding-right: 0; }
.hzn-bigstat--plain::before { display: none; }
.hzn-bigstat__lead { max-width: 50ch; margin: 0 auto clamp(20px, 2.5vw, 30px); font-size: var(--hzn-fs-sub); font-weight: 700; line-height: 1.4; letter-spacing: -.018em; color: var(--hzn-violet); }
.hzn-bigstat__nums { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 2.4vw, 34px); }
.hzn-bigstat__n { font-size: clamp(2.9rem, 8vw, 6.4rem); font-weight: 800; letter-spacing: -.05em; line-height: .9; color: var(--hzn-violet); }
.hzn-bigstat__n--to { color: var(--hzn-rose); }
.hzn-bigstat__arrow { width: clamp(36px, 6vw, 92px); height: 22px; flex: none; }
.hzn-bigstat__arrow svg { width: 100%; height: 100%; overflow: visible; }
.hzn-bigstat__arrow path { fill: none; stroke: var(--hzn-rose); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 120; stroke-dashoffset: 0; transition: stroke-dashoffset 1s .4s var(--hzn-ease-out); }
.hzn-js .hzn-bigstat__arrow path { stroke-dashoffset: 120; }
.hzn-js .hzn-bigstat.is-live .hzn-bigstat__arrow path { stroke-dashoffset: 0; }
.elementor-editor-active .hzn-bigstat__arrow path { stroke-dashoffset: 0 !important; }
.hzn-bigstat__label { margin: 16px 0 0; font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--hzn-muted); }

/* ==========================================================================
   hzn-quote
   ========================================================================== */
.hzn-quote { max-width: 760px; margin: var(--hzn-gap-close) auto 0; text-align: center; font-family: var(--hzn-font); }
.hzn-quote--left { margin-left: 0; text-align: left; }
.hzn-quote__pre { margin: 0; font-size: var(--hzn-fs-lede); color: var(--hzn-sub); }
.hzn-quote__q { margin: 4px 0 0; font-family: var(--hzn-hand); font-weight: 600; font-size: clamp(3rem, 6.2vw, 5rem); line-height: 1.05; color: var(--hzn-violet); }
.hzn-quote__after { max-width: 46ch; margin: 20px auto 0; font-size: var(--hzn-fs-lede); line-height: 1.7; color: var(--hzn-sub); }
.hzn-quote--left .hzn-quote__after { margin-left: 0; }
.hzn-quote__kicker { display: block; margin-top: 10px; font-size: 1.12em; font-weight: 700; color: var(--hzn-dawn); letter-spacing: -.015em; }

/* ==========================================================================
   hzn-steps
   ========================================================================== */
.hzn-steps { position: relative; font-family: var(--hzn-font); }
.hzn-steps__line { position: absolute; left: 12%; right: 12%; top: 52px; height: 2px; background: var(--hzn-border); overflow: hidden; }
.hzn-steps__line b { position: absolute; inset: 0; background: var(--hzn-sunrise-r); transform-origin: 0 50%; transition: transform 1.4s var(--hzn-ease-out); }
.hzn-js .hzn-steps__line b { transform: scaleX(0); }
.hzn-js .hzn-steps.is-live .hzn-steps__line b { transform: scaleX(1); }
.elementor-editor-active .hzn-steps__line b { transform: none !important; }
.hzn-steps__list { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); }
.hzn-st { background: var(--hzn-surface); border-radius: var(--hzn-r-md); padding: clamp(24px, 2.6vw, 34px); box-shadow: 0 0 0 1px var(--hzn-border), 0 26px 50px -44px rgba(27, 18, 64, .5); }
.hzn-st__n { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 18px; font-size: 15px; font-weight: 800; color: #fff; background: var(--hzn-violet); box-shadow: 0 0 0 6px var(--hzn-surface); }
.hzn-st:nth-child(3n+2) .hzn-st__n { background: var(--hzn-rose); }
.hzn-st:nth-child(3n+3) .hzn-st__n { background: var(--hzn-amber-text); }
.hzn-st__title { margin: 0 0 8px; font-family: var(--hzn-font); font-size: var(--hzn-fs-h3); font-weight: 800; letter-spacing: -.022em; line-height: 1.2; color: var(--hzn-dawn); }
.hzn-st__text { margin: 0; font-size: 16.5px; line-height: 1.7; color: var(--hzn-sub); }
@media (max-width: 1024px) {
    .hzn-steps__list { grid-template-columns: 1fr; max-width: 640px; }
    .hzn-steps__line { display: none; }
}

/* ==========================================================================
   hzn-facts
   ========================================================================== */
.hzn-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: clamp(20px, 2.4vw, 32px) 0 0; background: var(--hzn-border); border-radius: var(--hzn-r-md); overflow: hidden; box-shadow: 0 0 0 1px var(--hzn-border); font-family: var(--hzn-font); }
.hzn-fact { display: flex; flex-direction: column; gap: 8px; padding: clamp(20px, 2.2vw, 28px); background: var(--hzn-cream); }
.hzn-fact__k { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 700; color: var(--hzn-muted); }
.hzn-fact__k .hzn-icon { color: var(--hzn-terra); font-size: 17px; }
.hzn-fact__k .hzn-icon svg { width: 17px; height: 17px; }
.hzn-fact__v { margin: 0; font-size: clamp(1.05rem, 1.3vw, 1.18rem); font-weight: 700; line-height: 1.35; letter-spacing: -.018em; color: var(--hzn-dawn); }
.hzn-fact--hl { background: #fdf2e0; }
.hzn-fact--hl .hzn-fact__v { background: linear-gradient(100deg, var(--hzn-violet), var(--hzn-rose) 60%, var(--hzn-amber-text)); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (max-width: 1024px) { .hzn-facts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .hzn-facts { grid-template-columns: 1fr; } }

/* ==========================================================================
   hzn-cta
   ========================================================================== */
.hzn-cta { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: var(--hzn-gap-close); text-align: center; font-family: var(--hzn-font); }
.hzn-cta__btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.hzn-cta--left { align-items: flex-start; text-align: left; }
.hzn-cta--left .hzn-cta__btns { justify-content: flex-start; }

/* ==========================================================================
   hzn-contact (closing CTA + form)
   ========================================================================== */
.hzn-contact { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 88px); align-items: start; color: var(--hzn-on-dark); font-family: var(--hzn-font); }
.hzn-contact__title { margin: 0; font-family: var(--hzn-font); font-size: var(--hzn-fs-h2); font-weight: 800; line-height: 1.05; letter-spacing: -.032em; color: var(--hzn-on-dark); }
.hzn-contact__lede { margin: 16px 0 0; font-size: var(--hzn-fs-lede); line-height: 1.7; color: var(--hzn-on-dark-sub); max-width: 60ch; }
.hzn-contact__list { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.hzn-contact__list li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: var(--hzn-on-dark-sub); }
.hzn-contact__list .hzn-icon { width: 28px; height: 28px; border-radius: 50%; flex: none; background: rgba(253, 233, 162, .12); box-shadow: inset 0 0 0 1px rgba(253, 233, 162, .3); color: var(--hzn-pale); }
.hzn-contact__list .hzn-icon svg { width: 13px; height: 13px; }
.hzn-contact__card { position: relative; overflow: hidden; border-radius: var(--hzn-r-lg); padding: clamp(24px, 3vw, 40px); background: rgba(247, 239, 230, .05); box-shadow: inset 0 0 0 1px rgba(247, 239, 230, .14), 0 40px 90px -60px #000; }
.hzn-contact__fine { margin: 14px 0 0; text-align: center; font-size: 14px; color: var(--hzn-on-dark-mute); }
.hzn-contact__empty { margin: 0; padding: 18px; border-radius: 12px; font-size: 15px; color: var(--hzn-on-dark-sub); box-shadow: inset 0 0 0 1px rgba(247, 239, 230, .2); }
@media (max-width: 1024px) { .hzn-contact { grid-template-columns: 1fr; } }

/* Forminator (form design "none"), scoped to the widget, never to a form ID */
.hzn-contact__form .forminator-ui { margin: 0 !important; font-family: var(--hzn-font); }
.hzn-contact__form .forminator-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0 0 18px; }
.hzn-contact__form .forminator-row > .forminator-col { width: auto; max-width: none; padding: 0; }
.hzn-contact__form .forminator-row > .forminator-col-12,
.hzn-contact__form .forminator-row-last > .forminator-col { grid-column: 1 / -1; }
.hzn-contact__form .forminator-field { display: flex; flex-direction: column; gap: 8px; }
.hzn-contact__form .forminator-label { display: block; margin: 0; font-size: 14px; font-weight: 600; color: var(--hzn-on-dark-sub); }
.hzn-contact__form .forminator-required { color: var(--hzn-gold); }
.hzn-contact__form input.forminator-input,
.hzn-contact__form textarea.forminator-textarea,
.hzn-contact__form select.forminator-select--field {
    box-sizing: border-box; width: 100%; min-height: 50px; padding: 14px 16px;
    font-family: var(--hzn-font); font-size: 16px; line-height: 1.4; color: var(--hzn-on-dark);
    background-color: rgba(13, 7, 34, .5); border: 0; border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(247, 239, 230, .18);
    transition: box-shadow .3s var(--hzn-ease), background-color .3s;
}
.hzn-contact__form textarea.forminator-textarea { min-height: 96px; resize: vertical; line-height: 1.55; }
.hzn-contact__form select.forminator-select--field {
    padding-right: 40px; cursor: pointer; -webkit-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23c9bcd9' stroke-width='1.8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 16px center;
}
.hzn-contact__form select.forminator-select--field option { color: #17100a; }
.hzn-contact__form input.forminator-input::placeholder,
.hzn-contact__form textarea.forminator-textarea::placeholder { color: #8b7fa6; }
.hzn-contact__form input.forminator-input:focus,
.hzn-contact__form textarea.forminator-textarea:focus,
.hzn-contact__form select.forminator-select--field:focus {
    outline: none; background-color: rgba(13, 7, 34, .72);
    box-shadow: inset 0 0 0 1.5px rgba(244, 183, 49, .85), 0 0 0 4px rgba(244, 183, 49, .12);
}
.hzn-contact__form .forminator-has_error input.forminator-input,
.hzn-contact__form .forminator-has_error textarea.forminator-textarea,
.hzn-contact__form .forminator-has_error select.forminator-select--field { box-shadow: inset 0 0 0 1.5px rgba(255, 98, 91, .9); }
.hzn-contact__form .forminator-description,
.hzn-contact__form .forminator-error-message { display: block; margin-top: 2px; font-size: 13px; color: var(--hzn-on-dark-mute); }
.hzn-contact__form .forminator-error-message { color: #ff9a95; }
.hzn-contact__form .forminator-button-submit {
    display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin-top: 4px; padding: 14px 30px;
    font-family: var(--hzn-font); font-size: 16px; font-weight: 700; color: var(--hzn-dawn); background-color: var(--hzn-pale);
    border: 0; border-radius: 999px; cursor: pointer; transition: background-color .3s var(--hzn-ease), transform .3s var(--hzn-ease-out);
}
.hzn-contact__form .forminator-button-submit:hover,
.hzn-contact__form .forminator-button-submit:focus { color: var(--hzn-dawn); background-color: #fff; transform: translateY(-1px); }
.hzn-contact__form .forminator-response-message { margin: 0 0 18px; padding: 16px 18px; border-radius: 12px; font-size: 15px; color: var(--hzn-on-dark); background: rgba(244, 183, 49, .1); box-shadow: inset 0 0 0 1px rgba(244, 183, 49, .4); }
.hzn-contact__form .forminator-response-message:empty,
.hzn-contact__form .forminator-response-message[aria-hidden="true"] { display: none; }
.hzn-contact__form .forminator-response-message p { margin: 0; color: inherit; }
@media (max-width: 767px) { .hzn-contact__form .forminator-row { grid-template-columns: 1fr; } }

/* ── Image helper ────────────────────────────────────────────────────── */
.hzn-img-cover { width: 100%; height: 100%; object-fit: cover; object-position: var(--hzn-img-x, 50%) var(--hzn-img-y, 50%); }

/* ── Tablet / phone overrides for the hero ───────────────────────────── */
@media (max-width: 1024px) {
    .hzn-hero__title { font-size: clamp(2.6rem, 7.4vw, 4.4rem); }
    .hzn-hero__l2 { white-space: normal; padding-left: 0; }
    .hzn-hero__cols { grid-template-columns: 1fr; gap: 28px; }
    .hzn-hero__actions { justify-content: flex-start; max-width: none; }
    .hzn-hero__actions .hzn-note { text-align: left; }
    .hzn-head--split { grid-template-columns: 1fr; gap: 20px; align-items: start; }
}
@media (max-width: 767px) {
    .e-con.hzn-sec--hero { --padding-top: 104px; }
    .hzn-hero__title { font-size: clamp(2.3rem, 11vw, 3.2rem); line-height: 1.02; }
    .hzn-hero__actions { flex-direction: column; align-items: stretch; }
    .hzn-hero__actions .hzn-btn { width: 100%; min-width: 0; }
    .hzn-hero__foot { flex-direction: column; align-items: flex-start; gap: 16px; }
    .hzn-sec .hzn-cue { display: none; }
    .hzn-pill { font-size: 14px; padding: 10px 18px 10px 10px; border-radius: 18px; }
    .hzn-statement--indent .hzn-statement__l2 { padding-left: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .hzn-rise, .hzn-hero__rule, .hzn-map.is-live .cx-flow { animation: none !important; }
    .hzn-js [data-hzn-reveal], .hzn-js .hzn-hero__rule { opacity: 1; transform: none; }
    .hzn-js .hzn-map .cx-node circle.disc { transform: scale(1); }
    .hzn-js .hzn-map .cx-node text, .hzn-js .hzn-connect__label { opacity: 1; }
    .hzn-js .hzn-chart .ln, .hzn-js .hzn-connect .draw, .hzn-js .hzn-bigstat__arrow path { stroke-dashoffset: 0; }
    .hzn-js .hzn-bar__fill { height: var(--h); }
    .hzn-js .hzn-steps__line b { transform: none; }
    * { transition-duration: .001s !important; }
}
