/* 00-base.css */
@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("/assets/builder/tpl/fl/header/fonts/manrope/manrope-cyrillic-ext.woff2") format("woff2");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("/assets/builder/tpl/fl/header/fonts/manrope/manrope-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("/assets/builder/tpl/fl/header/fonts/manrope/manrope-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --fl-ink: #11131a;
    --fl-muted: #62697a;
    --fl-surface: #ffffff;
    --fl-bg: #f6f7fb;
    --fl-line: #e6e8f0;
    --fl-primary: #6757f5;
    --fl-primary-deep: #5143de;
    --fl-accent: #b9f34a;
    --fl-success: #20a875;
    --fl-radius-sm: 14px;
    --fl-radius: 22px;
    --fl-radius-lg: 32px;
    --fl-shadow: 0 24px 80px rgba(35, 31, 83, .10);
}

[data-fl-presence-user] { position: relative; }
.fl-presence-avatar { position: relative; display: inline-grid; flex: 0 0 auto; }
.fl-presence-dot {
    position: absolute !important;
    right: 4%;
    bottom: 4%;
    z-index: 8;
    display: block;
    width: clamp(8px, 22%, 14px) !important;
    height: auto !important;
    aspect-ratio: 1;
    box-sizing: border-box;
    border: 2px solid #11151c !important;
    border-radius: 50% !important;
    background: #35d07f !important;
    box-shadow: 0 0 0 1px rgba(53,208,127,.28), 0 0 12px rgba(53,208,127,.42) !important;
    pointer-events: none;
}
.fl-presence-dot[hidden] { display: none !important; }
[data-theme="light"] .fl-presence-dot { border-color: #fff !important; }
@media (prefers-reduced-motion: no-preference) {
    [data-fl-presence-user].is-online .fl-presence-dot { animation: fl-presence-breathe 2.4s ease-in-out infinite; }
}
@keyframes fl-presence-breathe {
    0%,100% { box-shadow: 0 0 0 1px rgba(53,208,127,.24), 0 0 9px rgba(53,208,127,.28); }
    50% { box-shadow: 0 0 0 2px rgba(53,208,127,.12), 0 0 15px rgba(53,208,127,.52); }
}

html {
    scroll-behavior: smooth;
}

body.fl-site {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    background: var(--fl-bg);
    color: var(--fl-ink);
    font-family: "Manrope", sans-serif;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
}

.fl-header *, .fl-hero *, .fl-section *, .fl-cta *, .fl-auth *, .fl-footer * {
    box-sizing: border-box;
}

.fl-skip-link {
    position: fixed;
    z-index: 10000;
    top: 10px;
    left: 10px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    padding: 0;
    pointer-events: none;
    border-radius: 10px;
    background: var(--fl-surface);
    color: var(--fl-ink);
    font: 620 14px/1.2 "Manrope", sans-serif;
    text-decoration: none;
}

/* Keyboard-only helper, never a visible touch/menu control. */
.fl-skip-link:focus-visible {
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    clip-path: none;
    padding: 10px 14px;
    pointer-events: auto;
    outline: 2px solid var(--fl-primary);
    outline-offset: 3px;
}

.fl-container {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}

.fl-section {
    position: relative;
    padding: 104px 0;
}

.fl-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 17px;
    color: var(--fl-primary-deep);
    font-size: 13px;
    font-weight: 620;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.fl-kicker::before {
    content: "";
    width: 24px;
    height: 2px;
    border-radius: 2px;
    background: var(--fl-accent);
}

.fl-section-title {
    max-width: 790px;
    margin: 0;
    color: var(--fl-ink);
    font-size: clamp(38px, 4.2vw, 58px);
    font-weight: 620;
    line-height: 1.05;
    letter-spacing: -.052em;
}

.fl-section-copy {
    max-width: 620px;
    margin: 20px 0 0;
    color: var(--fl-muted);
    font-size: 17px;
    line-height: 1.65;
}

.fl-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .55s ease, transform .55s cubic-bezier(.22,.61,.36,1);
}

.fl-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes fl-spin { to { transform: rotate(360deg); } }
@keyframes fl-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -7px; } }

.fl-button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: 16px;
    font-size: 15px;
    font-weight: 640;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}

.fl-button:hover { transform: translateY(-2px); }
.fl-button:focus-visible, .fl-header a:focus-visible, .fl-nav-toggle:focus-visible, .fl-hero button:focus-visible, .fl-hero input:focus-visible {
    outline: 3px solid rgba(103, 87, 245, .28);
    outline-offset: 3px;
}

.fl-button--small { min-height: 44px; padding: 0 17px; border-radius: 13px; font-size: 14px; }
.fl-button--dark { background: var(--fl-ink); color: #fff; box-shadow: 0 10px 30px rgba(17, 19, 26, .15); }
.fl-button--dark:hover { background: #292c36; box-shadow: 0 16px 34px rgba(17, 19, 26, .20); }
.fl-button--primary { background: var(--fl-primary); color: #fff; box-shadow: 0 16px 38px rgba(103, 87, 245, .28); }
.fl-button--primary:hover { background: var(--fl-primary-deep); box-shadow: 0 20px 45px rgba(103, 87, 245, .34); }
.fl-button--ghost { border-color: var(--fl-line); background: rgba(255,255,255,.72); color: var(--fl-ink); }
.fl-button--ghost:hover { border-color: #cfd3df; background: #fff; }

@media (max-width: 720px) {
    .fl-container { width: min(100% - 28px, 1240px); }
    .fl-button { min-height: 50px; padding-inline: 18px; }
    .fl-section { padding: 72px 0; }
    .fl-section-title { font-size: clamp(34px, 10.5vw, 45px); }
    .fl-section-copy { margin-top: 15px; font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .fl-button { transition: none; }
    .fl-reveal { opacity: 1; transform: none; transition: none; }
}

/* 01-access.css */
.fl-access-dialog,.fl-access-page{font-family:inherit;color:var(--fl-ink)}
.fl-access-dialog,.fl-access-page,.fl-access-dialog *,.fl-access-page *{box-sizing:border-box}
.fl-access-dialog{display:none;width:min(540px,calc(100vw - 36px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:40px;border:1px solid var(--fl-line);border-radius:20px;background:linear-gradient(140deg,rgba(132,107,255,.08),transparent 50%),var(--fl-surface);color:var(--fl-ink);box-shadow:0 30px 100px #0004}
.fl-access-dialog[open]{display:block;animation:fl-access-enter .26s cubic-bezier(.2,.8,.2,1) both}
.fl-access-dialog::backdrop{background:rgba(10,12,20,.58);backdrop-filter:blur(7px)}
.fl-access-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:36px;height:36px;padding:7px;border:1px solid var(--fl-line);border-radius:10px;background:var(--fl-bg);color:var(--fl-muted);cursor:pointer}
.fl-access-close svg,.fl-access-symbol svg,.fl-access-benefits svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.fl-access-symbol{display:grid;place-items:center;width:64px;height:64px;margin-bottom:25px;border-radius:17px;background:linear-gradient(145deg,#8872ff,#5e49d7);color:#fff;box-shadow:0 10px 30px #7155e52b}.fl-access-symbol svg{width:34px;height:34px}
.fl-access-eyebrow{display:block;margin-bottom:13px;color:var(--fl-primary-deep);font-size:12px;line-height:1.6}
.fl-access-dialog h2{margin:0;font-size:32px;font-weight:500;line-height:1.15;letter-spacing:-.04em;max-width:410px}.fl-access-dialog>p,.fl-access-page__card>p{margin:18px 0 0;color:var(--fl-muted);font-size:15px;line-height:1.8}
.fl-access-benefits{display:flex;gap:12px 20px;flex-wrap:wrap;margin:23px 0 28px;font-size:12px;color:var(--fl-muted)}.fl-access-benefits span{display:inline-flex;align-items:center;gap:7px}.fl-access-benefits svg{width:18px;height:18px;color:var(--fl-primary-deep);flex-shrink:0}
.fl-access-actions{display:flex;gap:10px;flex-wrap:wrap}.fl-access-actions>a{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;flex:1;padding:13px 18px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:500;line-height:1.5;white-space:nowrap;transition:background .2s,transform .2s}
.fl-access-actions>.fl-access-primary{background:#6951ef;color:#fff;border:1px solid #6951ef}.fl-access-actions>.fl-access-primary:hover{background:#5a43db;transform:translateY(-1px)}.fl-access-actions>.fl-access-secondary{color:var(--fl-ink);border:1px solid var(--fl-line);background:var(--fl-bg)}.fl-access-actions>.fl-access-secondary:hover{border-color:var(--fl-primary)}
.fl-access-dialog>p.fl-access-footnote{font-size:11px;margin-top:19px;text-align:center}.fl-access-dialog :focus-visible,.fl-access-page :focus-visible{outline:2px solid var(--fl-primary);outline-offset:4px}
.fl-access-page{padding:95px 0 110px;min-height:65vh;display:grid;align-items:center}.fl-access-page__card{max-width:720px;margin:auto;padding:48px;border:1px solid var(--fl-line);border-radius:20px;background:linear-gradient(135deg,rgba(132,107,255,.1),transparent 65%),var(--fl-surface)}.fl-access-page h1{font-size:clamp(30px,4vw,45px);font-weight:450;letter-spacing:-.04em;line-height:1.15;margin:0}.fl-access-page .fl-access-actions{margin-top:30px;max-width:480px}
@keyframes fl-access-enter{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:540px){.fl-access-dialog{padding:32px 24px;border-radius:17px}.fl-access-dialog h2{font-size:28px}.fl-access-dialog>p{font-size:14px}.fl-access-actions{flex-direction:column}.fl-access-actions>a{width:100%;flex:auto}.fl-access-symbol{width:56px;height:56px}.fl-access-benefits{gap:9px 16px;margin:20px 0}.fl-access-page{padding:45px 0 65px}.fl-access-page__card{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){.fl-access-dialog[open]{animation:none}.fl-access-actions>a{transition:none}}

/* 10-header.css */
.fl-header {
    position: sticky;
    z-index: 1000;
    top: 0;
    padding: 14px 24px 0;
}

.fl-header__inner {
    display: grid;
    width: min(1240px, 100%);
    min-height: 64px;
    margin: 0 auto;
    padding: 9px 10px 9px 18px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 20px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 14px 50px rgba(31, 34, 50, .08);
    backdrop-filter: blur(18px) saturate(150%);
}

.fl-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--fl-ink);
    text-decoration: none;
}

.fl-brand__mark {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 36px;
    overflow: hidden;
    border-radius: 11px;
    background: linear-gradient(145deg, #806fff, #5544e9 72%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.24), 0 9px 20px rgba(103,87,245,.24);
    transform: rotate(-4deg);
}

.fl-brand__mark::before {
    content: "";
    position: absolute;
    top: -1px;
    right: -1px;
    width: 13px;
    height: 13px;
    border-radius: 0 10px 0 7px;
    background: rgba(255,255,255,.72);
}

.fl-brand__mark::after,
.fl-brand__mark i::before,
.fl-brand__mark i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 15px;
    height: 4px;
    border-radius: 9px;
    background: var(--fl-accent);
    transform: translate(-50%, -50%);
}

.fl-brand__mark i::before { transform: translate(-50%, -50%) rotate(90deg); }
.fl-brand__mark i::after { width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.fl-brand__word { font-size: 20px; font-weight: 680; letter-spacing: -.55px; }
.fl-brand__word::first-letter { color: var(--fl-primary); }
.fl-brand__badge { margin-left: -3px; padding: 4px 7px; border-radius: 999px; background: #eeecff; color: var(--fl-primary-deep); font-size: 12px; font-weight: 590; letter-spacing: .055em; text-transform: uppercase; }

.fl-nav { display: flex; min-width: 0; align-items: center; justify-content: center; gap: 4px; }
.fl-nav a,
.fl-nav__placeholder,
.fl-header__login { padding: 10px 10px; border-radius: 10px; color: #454a59; font-size: 13px; font-weight: 540; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: color .2s ease, background .2s ease; }
.fl-nav a:hover, .fl-header__login:hover { background: #f1f2f7; color: var(--fl-ink); }
.fl-nav a[aria-current="page"] { background: #f0efff; color: var(--fl-primary-deep); }
.fl-nav__placeholder { cursor: default; }
.fl-nav .fl-nav__primary-action {
    display: inline-flex;
    min-height: 42px;
    margin-right: 4px;
    padding: 0 15px;
    align-items: center;
    gap: 9px;
    border-radius: 13px;
    background: var(--fl-primary);
    color: #fff;
    font-weight: 630;
    box-shadow: 0 10px 24px rgba(103,87,245,.2);
}
.fl-nav .fl-nav__primary-action:hover { background: var(--fl-primary-deep); color: #fff; transform: translateY(-1px); }
.fl-nav__primary-action > span { font-size: 15px; }
.fl-header__actions { display: flex; min-width: 0; align-items: center; gap: 5px; }
.fl-theme-toggle {
    position: relative;
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    padding: 0;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--fl-line);
    border-radius: 13px;
    background: rgba(255,255,255,.58);
    color: #626878;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.fl-theme-toggle:hover { border-color: #cfcbea; background: #f3f1ff; color: var(--fl-primary-deep); transform: translateY(-1px); }
.fl-theme-toggle:focus-visible { outline: 3px solid rgba(103,87,245,.28); outline-offset: 3px; }
.fl-theme-toggle__sun,
.fl-theme-toggle__moon { position: absolute; display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: opacity .22s ease, transform .28s ease; }
.fl-theme-toggle__sun { color: #cf8216; }
.fl-theme-toggle__moon { color: #d4ceff; opacity: 0; transform: translateY(12px) rotate(-24deg); }
html[data-theme="dark"] .fl-theme-toggle__sun { opacity: 0; transform: translateY(-12px) rotate(35deg); }
html[data-theme="dark"] .fl-theme-toggle__moon { opacity: 1; transform: translateY(0) rotate(0); }
.fl-nav__mobile-actions { display: none; }
.fl-header-profile { display: flex; min-width: 0; padding: 4px 7px 4px 4px; align-items: center; gap: 9px; border: 0; border-radius: 14px; background: transparent; color: var(--fl-ink); font: inherit; text-align: left; text-decoration: none; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.fl-header-profile:hover { background: #f1f2f7; transform: translateY(-1px); }
.fl-header-profile:focus-visible { outline: 3px solid rgba(103,87,245,.24); outline-offset: 2px; }
.fl-header-profile__avatar { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 11px; background: linear-gradient(145deg, #6757f5, #9670fa); color: #fff; font-size: 12px; font-weight: 600; }
.fl-header-profile__avatar img { width: 100%; height: 100%; object-fit: cover; }
.fl-header-profile__copy { display: block; min-width: 0; max-width: 118px; }
.fl-header-profile__copy strong, .fl-header-profile__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fl-header-profile__copy strong { font-size: 11px; font-weight: 590; }
.fl-header-profile__copy small { margin-top: 2px; color: #838895; font-size: 8px; }
.fl-header-profile__chevron { width: 14px; height: 14px; flex: 0 0 auto; fill: none; stroke: #858a97; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.fl-header-account { position: relative; min-width: 0; }
.fl-header-account::after { content: ""; position: absolute; top: 100%; right: 0; width: 100%; height: 9px; }
.fl-header-account__menu {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    right: 0;
    display: grid;
    width: 278px;
    padding: 9px;
    gap: 3px;
    border: 1px solid rgba(224,222,237,.95);
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 24px 65px rgba(31,34,50,.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px) scale(.98);
    transform-origin: top right;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
    backdrop-filter: blur(18px) saturate(145%);
}
.fl-header-account:hover .fl-header-account__menu,
.fl-header-account:focus-within .fl-header-account__menu,
.fl-header-account.is-open .fl-header-account__menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); }
.fl-header-account:hover .fl-header-profile__chevron,
.fl-header-account:focus-within .fl-header-profile__chevron,
.fl-header-account.is-open .fl-header-profile__chevron { transform: rotate(180deg); }
.fl-header-account__menu > a,
.fl-header-account__menu > button,
.fl-header-account__menu > form > button {
    display: grid;
    width: 100%;
    min-height: 49px;
    padding: 7px 9px;
    grid-template-columns: 36px minmax(0,1fr);
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--fl-ink);
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background .18s ease, color .18s ease;
}
.fl-header-account__menu > a:hover,
.fl-header-account__menu > button:hover,
.fl-header-account__menu > form > button:hover { background: #f3f2fa; color: var(--fl-primary-deep); }
.fl-header-account__menu :is(a,button):focus-visible { outline: 3px solid rgba(103,87,245,.22); outline-offset: 1px; }
.fl-header-account__menu > form { margin: 0; }
.fl-header-account__menu > form > input { display: none; }
.fl-header-account__menu strong,
.fl-header-account__menu small { display: block; }
.fl-header-account__menu strong { font-size: 12px; font-weight: 610; line-height: 1.3; }
.fl-header-account__menu small { margin-top: 3px; color: #858a97; font-size: 9px; line-height: 1.3; }
.fl-header-account__icon { display: grid; position: relative; width: 36px; height: 36px; place-items: center; overflow: hidden; border: 1px solid #e6e3f5; border-radius: 11px; background: #f7f6fd; color: #5b4de2; }
.fl-header-account__icon > svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.fl-header-theme-switch > svg { position: absolute; }
.fl-header-account__divider { height: 1px; margin: 4px 6px; background: #eceaf3; }
.fl-header-account__logout { color: #b54658!important; }
.fl-header-account__logout .fl-header-account__icon { border-color: #f2dfe3; background: #fff6f7; color: #c34d61; }
.fl-nav-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; background: #f1f2f7; cursor: pointer; }
.fl-nav-toggle span { display: block; width: 19px; height: 2px; margin: 5px auto; border-radius: 2px; background: var(--fl-ink); transition: transform .2s ease; }

@media (max-width: 1180px) {
    .fl-header__inner { grid-template-columns: auto 1fr auto auto; justify-content: space-between; gap: 10px; }
    .fl-nav-toggle { display: block; grid-column: 4; grid-row: 1; }
    .fl-header__actions { grid-column: 3; grid-row: 1; }
    .fl-header-profile__copy { display: none; }
    .fl-nav { display: none; grid-column: 1 / -1; width: 100%; padding: 8px 0 2px; align-items: stretch; flex-direction: column; }
    .fl-header.is-open .fl-nav { display: flex; }
    .fl-header.is-open .fl-nav-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
    .fl-header.is-open .fl-nav-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
    .fl-nav a, .fl-nav__placeholder { padding: 12px 14px; font-size: 15px; }
    .fl-nav .fl-nav__primary-action { justify-content: space-between; margin: 0 0 5px; padding: 0 14px; }
    .fl-nav .fl-header-profile { padding: 8px; }
}

@media (max-width: 720px) {
    .fl-header { padding: 9px 10px 0; }
    .fl-header__inner { min-height: 58px; padding: 7px 8px 7px 13px; border-radius: 17px; }
    .fl-brand__mark { width: 32px; height: 32px; border-radius: 10px; }
    .fl-brand__word { font-size: 18px; }
    .fl-brand__badge { display: none; }
    .fl-header__actions > .fl-button { display: none; }
    .fl-header__actions { justify-self: end; }
    .fl-header-profile { padding: 3px; }
    .fl-header-profile__avatar { width: 38px; height: 38px; border-radius: 12px; }
    .fl-header-profile__chevron { display: none; }
    .fl-header__login { display: none; }
    .fl-nav__mobile-actions { display: grid; margin-top: 7px; padding-top: 11px; grid-template-columns: 1fr; gap: 7px; border-top: 1px solid var(--fl-line); }
    .fl-nav__mobile-actions .fl-header-profile__copy { display: block; max-width: none; }
    .fl-nav__mobile-actions .fl-header__login { display: flex; }
    .fl-nav__mobile-actions .fl-button { width: 100%; }
}

/* Global header actions and shared account navigation. */
.fl-header-icon {
    position: relative;
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--fl-line);
    border-radius: 13px;
    background: rgba(255,255,255,.58);
    color: #626878;
    text-decoration: none;
    font: inherit;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.fl-header-icon:hover { border-color:#cfcbea; background:#f3f1ff; color:var(--fl-primary-deep); transform:translateY(-1px); }
.fl-header-icon:focus-visible { outline:3px solid rgba(103,87,245,.28); outline-offset:3px; }
.fl-header-icon > svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fl-header-messages > span,
.fl-header-notifications > span,
.fl-header-mobile-messages > b {
    display:grid;
    min-width:19px;
    height:19px;
    padding:0 5px;
    place-items:center;
    border:2px solid rgba(255,255,255,.95);
    border-radius:999px;
    background:#f05f72;
    color:#fff;
    font-size:9px;
    font-weight:720;
    line-height:1;
    font-variant-numeric:tabular-nums;
}
.fl-header-messages > span,
.fl-header-notifications > span { position:absolute; top:-6px; right:-6px; }
.fl-header-messages > span[hidden],
.fl-header-notifications > span[hidden],
.fl-header-mobile-messages > b[hidden] { display:none; }
.fl-header-mobile-messages { display:flex!important; align-items:center; justify-content:space-between; gap:12px; }
.fl-header-mobile-messages > b { position:static; border-width:0; }

.fl-header-notification-center { position:relative; flex:0 0 auto; }
.fl-header-notification-panel,
.fl-header-notification-panel * { box-sizing:border-box; }
.fl-header-notification-panel {
    position:absolute;
    z-index:30;
    top:calc(100% + 10px);
    right:0;
    display:grid;
    width:min(410px,calc(100vw - 28px));
    max-height:min(620px,calc(100dvh - 96px));
    overflow:hidden;
    grid-template-rows:auto minmax(0,1fr) auto auto;
    border:1px solid rgba(222,220,235,.96);
    border-radius:19px;
    background:rgba(255,255,255,.985);
    box-shadow:0 28px 75px rgba(31,34,50,.2);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-7px) scale(.985);
    transform-origin:top right;
    transition:opacity .18s ease,visibility .18s ease,transform .2s ease;
    backdrop-filter:blur(22px) saturate(150%);
}
.fl-header-notification-center.is-open .fl-header-notification-panel { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.fl-header-notification-center.is-open>.fl-header-notifications { border-color:#cfcbea; background:#f3f1ff; color:var(--fl-primary-deep); }
.fl-header-notification-panel>header { display:flex; min-height:82px; padding:16px 17px 14px; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid #ecebf2; }
.fl-header-notification-panel>header>div { min-width:0; }
.fl-header-notification-panel>header small,
.fl-header-notification-panel>header strong,
.fl-header-notification-panel>header span { display:block; }
.fl-header-notification-panel>header small { color:#6757f5; font-size:8px; font-weight:680; letter-spacing:.1em; text-transform:uppercase; }
.fl-header-notification-panel>header strong { margin-top:3px; color:var(--fl-ink); font-size:17px; font-weight:660; letter-spacing:-.025em; }
.fl-header-notification-panel>header span { margin-top:3px; color:#858a97; font-size:9px; }
.fl-header-notification-panel>header>button { flex:0 0 auto; min-height:31px; padding:0 10px; border:0; border-radius:9px; background:#efedff; color:#5749dd; font:610 9px/1 Manrope,sans-serif; cursor:pointer; }
.fl-header-notification-panel>header>button:hover { background:#dfdbff; }
.fl-header-notification-panel>header>button[hidden] { display:none; }
.fl-header-notification-list { min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.fl-header-notification-item { position:relative; display:grid; min-width:0; min-height:94px; padding:13px 15px; grid-template-columns:43px minmax(0,1fr) auto; align-items:start; gap:11px; border-bottom:1px solid #efeff4; color:var(--fl-ink); text-decoration:none; transition:background .18s ease; }
.fl-header-notification-item:hover { background:#f7f6fc; }
.fl-header-notification-item.is-unread { background:#f4f2ff; }
.fl-header-notification-item.is-unread:hover { background:#efecff; }
.fl-header-notification-item.is-unread::before { content:""; position:absolute; top:17px; right:12px; width:7px; height:7px; border-radius:50%; background:#6757f5; box-shadow:0 0 0 3px rgba(103,87,245,.12); }
.fl-header-notification-item__avatar { display:grid; position:relative; width:43px; height:43px; place-items:center; overflow:hidden; border:1px solid #e0dcf4; border-radius:13px; background:linear-gradient(145deg,#ece8ff,#f7f5ff); color:#594add; font-size:10px; font-weight:690; }
.fl-header-notification-item__avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.fl-header-notification-item__type { position:absolute; right:-4px; bottom:-4px; display:grid; width:18px; height:18px; place-items:center; border:2px solid #fff; border-radius:7px; background:#6757f5; color:#fff; font-size:9px; font-style:normal; }
.fl-header-notification-item__copy { min-width:0; padding-right:4px; }
.fl-header-notification-item__copy>span { display:flex; min-width:0; align-items:center; gap:5px; }
.fl-header-notification-item__copy>span strong { overflow:hidden; font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.fl-header-notification-item__copy>span i { color:#9a9eaa; font-size:8px; font-style:normal; }
.fl-header-notification-item__copy>small { display:block; margin-top:3px; overflow:hidden; color:#6757f5; font-size:8px; font-weight:620; text-overflow:ellipsis; white-space:nowrap; }
.fl-header-notification-item__copy>p { display:-webkit-box; margin:6px 0 0; overflow:hidden; color:#666c79; font-size:10px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.fl-header-notification-item>time { padding:2px 11px 0 0; color:#999daa; font-size:8px; white-space:nowrap; }
.fl-header-notification-loading,
.fl-header-notification-empty { grid-row:2; align-self:center; padding:35px 28px; color:#858a97; text-align:center; }
.fl-header-notification-loading[hidden],
.fl-header-notification-empty[hidden] { display:none; }
.fl-header-notification-loading>span { display:block; width:24px; height:24px; margin:0 auto 10px; border:2px solid #dfdcf4; border-top-color:#6757f5; border-radius:50%; animation:fl-notification-spin .75s linear infinite; }
.fl-header-notification-loading p,
.fl-header-notification-empty p { margin:8px 0 0; font-size:9px; line-height:1.55; }
.fl-header-notification-empty>span { display:grid; width:45px; height:45px; margin:0 auto 11px; place-items:center; border-radius:14px; background:#eeecff; color:#5749dd; font-size:18px; }
.fl-header-notification-empty strong { color:var(--fl-ink); font-size:12px; }
@keyframes fl-notification-spin { to { transform:rotate(360deg); } }
.fl-header-notification-panel>footer { display:flex; min-height:48px; padding:8px 12px; align-items:center; justify-content:center; border-top:1px solid #ecebf2; background:#fafafd; }
.fl-header-notification-panel>footer:has(button[hidden]) { display:none; }
.fl-header-notification-panel>footer button { min-height:31px; padding:0 14px; border:0; border-radius:9px; background:transparent; color:#5749dd; font:620 9px/1 Manrope,sans-serif; cursor:pointer; }
.fl-header-notification-panel>footer button:hover { background:#efedff; }
.fl-header-notification-panel>footer button[hidden] { display:none; }
.fl-header-notification-panel>[data-fl-notification-status] { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.fl-account-menu {
    display:grid;
    min-width:0;
    padding:11px;
    gap:4px;
    border:1px solid var(--fl-line);
    border-radius:18px;
    background:rgba(255,255,255,.9);
    box-shadow:0 16px 42px rgba(38,34,82,.05);
    backdrop-filter:blur(16px);
}
.fl-profile-workspace > .fl-account-menu { grid-area:nav; }
.fl-account-menu__label {
    padding:7px 9px 9px;
    color:#747987;
    font-size:10px;
    font-weight:640;
    letter-spacing:.085em;
    text-transform:uppercase;
}
.fl-account-menu__item {
    display:grid;
    min-width:0;
    min-height:60px;
    padding:8px 9px;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    border:1px solid transparent;
    border-radius:13px;
    color:var(--fl-ink);
    text-decoration:none;
    transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease;
}
.fl-account-menu__item:hover { border-color:#dedaf6; background:#f4f2ff; color:var(--fl-primary-deep); transform:translateX(2px); }
.fl-account-menu__item:focus-visible { outline:3px solid rgba(103,87,245,.24); outline-offset:2px; }
.fl-account-menu__item[aria-current="page"] { border-color:#d7d1ff; background:#f1efff; }
.fl-account-menu__icon {
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    border:1px solid #e5e3f5;
    border-radius:11px;
    background:#f7f6fd;
    color:#5a4be2;
}
.fl-account-menu__item[aria-current="page"] .fl-account-menu__icon { border-color:transparent; background:var(--fl-primary); color:#fff; }
.fl-account-menu__icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.fl-account-menu__copy { min-width:0; }
.fl-account-menu__copy strong,
.fl-account-menu__copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fl-account-menu__copy strong { font-size:12px; font-weight:620; line-height:1.3; }
.fl-account-menu__copy small { margin-top:3px; color:#858a97; font-size:9px; line-height:1.35; }
.fl-account-menu__tail { display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.fl-account-menu__tail em { color:#9691a8; font-size:19px; font-style:normal; font-weight:420; }
.fl-account-menu__badge {
    display:grid;
    min-width:24px;
    height:24px;
    padding:0 7px;
    place-items:center;
    border-radius:9px;
    background:#f05f72;
    color:#fff;
    font-size:10px;
    font-weight:720;
    line-height:1;
    font-variant-numeric:tabular-nums;
    box-shadow:0 6px 16px rgba(240,95,114,.22);
}
.fl-account-menu__badge[hidden] { display:none; }

.fl-professional-network {
    min-width:0;
    overflow:hidden;
    border:1px solid var(--fl-line);
    border-radius:18px;
    background:rgba(255,255,255,.9);
    box-shadow:0 15px 42px rgba(38,34,82,.045);
    backdrop-filter:blur(14px);
}
.fl-professional-network > header { display:flex; padding:18px 19px 15px; align-items:flex-start; justify-content:space-between; gap:10px; border-bottom:1px solid #ececf2; }
.fl-professional-network > header span { color:var(--fl-primary-deep); font-size:10px; font-weight:640; letter-spacing:.08em; text-transform:uppercase; }
.fl-professional-network > header h2 { margin:5px 0 0; font-size:16px; font-weight:620; line-height:1.35; letter-spacing:-.02em; }
.fl-professional-network > header a { display:inline-flex; flex:0 0 auto; align-items:center; gap:5px; color:var(--fl-primary-deep); font-size:10px; font-weight:590; text-decoration:none; }
.fl-professional-network > header a b { font-size:13px; font-weight:500; }
.fl-professional-network__stats { display:grid; padding:14px 14px 0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.fl-professional-network__stats > div { min-width:0; padding:12px 9px; border:1px solid #e7e7ed; border-radius:13px; background:#fafafd; }
.fl-professional-network__stats strong,
.fl-professional-network__stats span { display:block; }
.fl-professional-network__stats strong { font-size:23px; font-weight:640; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.fl-professional-network__stats span { margin-top:6px; color:#858a97; font-size:9px; }
.fl-professional-network__people { padding:16px 14px 14px; }
.fl-professional-network__people > div { display:flex; margin-bottom:9px; align-items:center; justify-content:space-between; gap:10px; }
.fl-professional-network__people > div > span { color:#777d8a; font-size:10px; font-weight:580; }
.fl-professional-network__people > div > b { display:grid; min-width:24px; height:24px; padding:0 6px; place-items:center; border-radius:8px; background:#eeecff; color:#5749dd; font-size:10px; }
.fl-professional-network__people ul { display:grid; margin:0; padding:0; gap:2px; list-style:none; }
.fl-professional-network__people li a { display:grid; min-width:0; min-height:47px; padding:5px 6px; grid-template-columns:36px minmax(0,1fr) 12px; align-items:center; gap:9px; border-radius:11px; color:var(--fl-ink); text-decoration:none; transition:background .18s ease; }
.fl-professional-network__people li a:hover { background:#f4f3fb; }
.fl-professional-network__people li img,
.fl-professional-network__people li i { display:grid; width:36px; height:36px; place-items:center; overflow:hidden; border-radius:50%; background:#eeecff; color:#5749dd; object-fit:cover; font-style:normal; font-size:9px; font-weight:650; }
.fl-professional-network__people li .fl-presence-avatar { width:36px; height:36px; overflow:visible; }
.fl-professional-network__people li span { min-width:0; overflow:hidden; font-size:11px; font-weight:570; text-overflow:ellipsis; white-space:nowrap; }
.fl-professional-network__people li b { color:#9995aa; font-size:16px; font-weight:400; }
.fl-professional-network__people > p { margin:4px 4px 2px; color:var(--fl-muted); font-size:10px; line-height:1.55; }

html[data-theme="dark"] .fl-header-icon { border-color:#343945; background:#242832; color:#ccd0d9; }
html[data-theme="dark"] .fl-header-icon:hover { border-color:#5e5684; background:#302c49; color:#c7c0ff; }
html[data-theme="dark"] .fl-header-messages > span { border-color:#171a21; }
html[data-theme="dark"] .fl-header-notifications > span { border-color:#171a21; }
html[data-theme="dark"] .fl-header-notification-center.is-open>.fl-header-notifications { border-color:#5e5684; background:#302c49; color:#c7c0ff; }
html[data-theme="dark"] .fl-header-notification-panel { border-color:#363b47; background:rgba(25,28,36,.985); box-shadow:0 28px 75px rgba(0,0,0,.48); }
html[data-theme="dark"] .fl-header-notification-panel>header,
html[data-theme="dark"] .fl-header-notification-panel>footer,
html[data-theme="dark"] .fl-header-notification-item { border-color:#303540; }
html[data-theme="dark"] .fl-header-notification-panel>header strong,
html[data-theme="dark"] .fl-header-notification-empty strong { color:#eef0f4; }
html[data-theme="dark"] .fl-header-notification-panel>header span,
html[data-theme="dark"] .fl-header-notification-loading,
html[data-theme="dark"] .fl-header-notification-empty { color:#969daa; }
html[data-theme="dark"] .fl-header-notification-panel>header>button,
html[data-theme="dark"] .fl-header-notification-panel>footer button { background:#302c4b; color:#c9c2ff; }
html[data-theme="dark"] .fl-header-notification-panel>footer { background:#171a21; }
html[data-theme="dark"] .fl-header-notification-item { color:#eef0f4; }
html[data-theme="dark"] .fl-header-notification-item:hover { background:#252936; }
html[data-theme="dark"] .fl-header-notification-item.is-unread { background:#292640; }
html[data-theme="dark"] .fl-header-notification-item.is-unread:hover { background:#302c4b; }
html[data-theme="dark"] .fl-header-notification-item__avatar { border-color:#443d68; background:linear-gradient(145deg,#332d50,#29263e); color:#cec7ff; }
html[data-theme="dark"] .fl-header-notification-item__type { border-color:#191c24; }
html[data-theme="dark"] .fl-header-notification-item__copy>p { color:#b7bcc7; }
html[data-theme="dark"] .fl-header-notification-loading>span { border-color:#3d3a55; border-top-color:#988cff; }
html[data-theme="dark"] .fl-header-notification-empty>span { background:#302c4b; color:#c9c2ff; }
html[data-theme="dark"] .fl-header-account__menu { border-color:#363b47; background:rgba(25,28,36,.98); box-shadow:0 24px 65px rgba(0,0,0,.38); }
html[data-theme="dark"] .fl-header-account__menu > a:hover,
html[data-theme="dark"] .fl-header-account__menu > button:hover,
html[data-theme="dark"] .fl-header-account__menu > form > button:hover { background:#252936; color:#c9c2ff; }
html[data-theme="dark"] .fl-header-account__menu small { color:#969daa; }
html[data-theme="dark"] .fl-header-account__icon { border-color:#383d49; background:#222630; color:#bcb4ff; }
html[data-theme="dark"] .fl-header-account__divider { background:#343844; }
html[data-theme="dark"] .fl-header-account__logout { color:#ff9cab!important; }
html[data-theme="dark"] .fl-header-account__logout .fl-header-account__icon { border-color:#59313a; background:#341e24; color:#ff9cab; }
html[data-theme="dark"] .fl-account-menu,
html[data-theme="dark"] .fl-professional-network { border-color:var(--fl-line); background:#191c24; color:var(--fl-ink); box-shadow:0 16px 48px rgba(0,0,0,.16); }
html[data-theme="dark"] .fl-account-menu__label,
html[data-theme="dark"] .fl-account-menu__copy small { color:#969daa; }
html[data-theme="dark"] .fl-account-menu__item:hover { border-color:#48415f; background:#252936; color:#c9c2ff; }
html[data-theme="dark"] .fl-account-menu__item[aria-current="page"] { border-color:#5c5183; background:#292640; }
html[data-theme="dark"] .fl-account-menu__icon { border-color:#383d49; background:#222630; color:#bcb4ff; }
html[data-theme="dark"] .fl-professional-network > header { border-color:#303540; }
html[data-theme="dark"] .fl-professional-network__stats > div { border-color:#303540; background:#15181f; }
html[data-theme="dark"] .fl-professional-network__stats span,
html[data-theme="dark"] .fl-professional-network__people > div > span { color:#969daa; }
html[data-theme="dark"] .fl-professional-network__people > div > b,
html[data-theme="dark"] .fl-professional-network__people li img,
html[data-theme="dark"] .fl-professional-network__people li i { background:#302c4b; color:#c9c2ff; }
html[data-theme="dark"] .fl-professional-network__people li a:hover { background:#252936; }

@media (max-width:1040px) {
    .fl-profile-workspace > .fl-account-menu,
    .fl-account-sidebar > .fl-account-menu { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .fl-profile-workspace > .fl-account-menu .fl-account-menu__label,
    .fl-account-sidebar > .fl-account-menu .fl-account-menu__label { grid-column:1 / -1; }
    .fl-account-sidebar > .fl-account-menu,
    .fl-account-sidebar > .fl-professional-network,
    .fl-profile-sidebar > .fl-professional-network { grid-column:1 / -1; }
}
@media (max-width:700px) {
    .fl-profile-workspace > .fl-account-menu,
    .fl-account-sidebar > .fl-account-menu { grid-template-columns:1fr; }
    .fl-profile-workspace > .fl-account-menu .fl-account-menu__label,
    .fl-account-sidebar > .fl-account-menu .fl-account-menu__label { grid-column:auto; }
    .fl-account-menu__item { min-height:56px; }
}

@media (max-width:720px) {
    .fl-header-notification-panel { position:fixed; top:76px; right:10px; left:10px; width:auto; max-height:calc(100dvh - 88px); border-radius:17px; transform:translateY(-6px) scale(.99); transform-origin:top center; }
    .fl-header-notification-panel>header { min-height:76px; padding:13px 14px; }
    .fl-header-notification-item { min-height:89px; padding:12px 13px; grid-template-columns:40px minmax(0,1fr) auto; gap:9px; }
    .fl-header-notification-item__avatar { width:40px; height:40px; border-radius:12px; }
    .fl-header-notification-item>time { padding-right:9px; }
}

/* Global realtime cards for incoming messages and account activity. */
.fl-chat-notifications,
.fl-chat-notifications * { box-sizing:border-box; }
.fl-chat-notifications {
    position:fixed;
    z-index:24000;
    right:max(22px, env(safe-area-inset-right));
    bottom:max(22px, env(safe-area-inset-bottom));
    display:grid;
    width:min(390px, calc(100vw - 32px));
    max-height:calc(100dvh - 110px);
    overflow-x:visible;
    overflow-y:auto;
    gap:12px;
    overscroll-behavior:contain;
    pointer-events:auto;
    scrollbar-width:thin;
    transition:bottom .22s ease;
}
.fl-chat-notifications:empty { pointer-events:none; }
.fl-chat-notifications [hidden] { display:none!important; }
body:has(.fl-profile-toast-region > .fl-profile-toast:not(.is-leaving)) .fl-chat-notifications,
body:has(.fl-work-toast-region > .fl-work-toast) .fl-chat-notifications { bottom:max(112px, env(safe-area-inset-bottom)); }
.fl-chat-notification {
    position:relative;
    width:100%;
    overflow:visible;
    padding:18px;
    border:1px solid rgba(218,218,230,.96);
    border-radius:17px;
    background:rgba(255,255,255,.97);
    color:#20232d;
    box-shadow:0 24px 70px rgba(33,28,71,.18), 0 3px 12px rgba(33,28,71,.07);
    backdrop-filter:blur(22px) saturate(145%);
    opacity:0;
    pointer-events:auto;
    transform:translate3d(24px,12px,0) scale(.97);
    transform-origin:100% 100%;
    transition:opacity .32s ease, transform .42s cubic-bezier(.2,.8,.2,1), border-color .2s ease, box-shadow .2s ease;
}
.fl-chat-notification::before {
    content:"";
    position:absolute;
    top:18px;
    bottom:18px;
    left:0;
    width:3px;
    border-radius:0 4px 4px 0;
    background:linear-gradient(180deg,#7666f6,#9b8cff);
    box-shadow:0 0 18px rgba(103,87,245,.45);
}
.fl-chat-notification.is-visible { opacity:1; transform:none; }
.fl-chat-notification.is-leaving { opacity:0; transform:translate3d(18px,8px,0) scale(.975); pointer-events:none; }
.fl-chat-notification.is-replying {
    border-color:rgba(113,96,238,.42);
    box-shadow:0 28px 78px rgba(56,43,133,.23), 0 4px 14px rgba(33,28,71,.08);
}
.fl-chat-notification__progress {
    position:absolute;
    right:11px;
    bottom:0;
    left:11px;
    height:2px;
    overflow:hidden;
    border-radius:2px 2px 0 0;
    background:linear-gradient(90deg,rgba(103,87,245,.18),rgba(103,87,245,.72));
    transform:scaleX(1);
    transform-origin:left center;
}
.fl-chat-notification.is-counting .fl-chat-notification__progress {
    animation:fl-chat-notification-progress var(--fl-chat-notification-lifetime, 9000ms) linear forwards;
}
.fl-chat-notification.is-paused .fl-chat-notification__progress { animation-play-state:paused; }
@keyframes fl-chat-notification-progress { to { transform:scaleX(0); } }
.fl-chat-notification__close {
    position:absolute;
    z-index:2;
    top:10px;
    right:10px;
    display:grid;
    width:31px;
    height:31px;
    padding:0;
    place-items:center;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#969aa7;
    cursor:pointer;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}
.fl-chat-notification__close:hover { background:#f0eff8; color:#5548cf; transform:rotate(3deg); }
.fl-chat-notification__close svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.fl-chat-notification__head { display:grid; min-width:0; padding-right:28px; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:12px; }
.fl-chat-notification__avatar {
    display:grid;
    width:48px;
    height:48px;
    overflow:hidden;
    place-items:center;
    border:1px solid #e5e2f8;
    border-radius:50%;
    background:linear-gradient(145deg,#f0edff,#e5e1ff);
    color:#5a4ad7;
    font-size:13px;
    font-weight:680;
    text-decoration:none;
    box-shadow:0 8px 20px rgba(74,60,156,.12);
}
.fl-chat-notification__avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.fl-chat-notification__heading { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; align-items:end; column-gap:10px; }
.fl-chat-notification__heading small { grid-column:1 / -1; margin-bottom:3px; color:#7466dc; font-size:10px; font-weight:650; letter-spacing:.075em; line-height:1.25; text-transform:uppercase; }
.fl-chat-notification__heading > a { overflow:hidden; color:#20232d; font-size:15px; font-weight:650; line-height:1.3; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.fl-chat-notification__heading > a:hover { color:#5c4bdc; }
.fl-chat-notification__heading time { color:#9498a5; font-size:11px; line-height:1.4; font-variant-numeric:tabular-nums; }
.fl-chat-notification__message {
    display:-webkit-box;
    overflow:hidden;
    margin:14px 1px 0;
    color:#4f5360;
    font-size:13px;
    font-weight:430;
    line-height:1.55;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}
.fl-activity-notification__subject {
    display:block;
    overflow:hidden;
    margin:13px 1px -7px;
    color:#303440;
    font-size:12px;
    font-weight:650;
    line-height:1.4;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.fl-activity-notification .fl-chat-notification__actions { justify-content:flex-start; }
.fl-activity-notification--new_follower::before {
    background:linear-gradient(180deg,#45b887,#61d8a4);
    box-shadow:0 0 18px rgba(69,184,135,.38);
}
.fl-chat-notification.is-replying .fl-chat-notification__message { -webkit-line-clamp:2; }
.fl-chat-notification__actions { display:flex; margin-top:14px; align-items:center; justify-content:space-between; gap:10px; }
.fl-chat-notification__actions > a,
.fl-chat-notification__reply-toggle {
    min-height:34px;
    border:0;
    background:transparent;
    color:#696e7c;
    font-family:inherit;
    font-size:11px;
    font-weight:590;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
}
.fl-chat-notification__actions > a { display:inline-flex; align-items:center; }
.fl-chat-notification__actions > a:hover { color:#5547ce; }
.fl-chat-notification__reply-toggle { display:inline-flex; padding:0 12px; align-items:center; gap:7px; border-radius:10px; background:#efedff; color:#5547ce; }
.fl-chat-notification__reply-toggle:hover,
.fl-chat-notification__reply-toggle[aria-expanded="true"] { background:#dedaff; color:#493ac9; }
.fl-chat-notification__reply-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fl-chat-notification__composer { position:relative; margin-top:13px; padding-top:13px; border-top:1px solid #eceaf2; }
.fl-chat-notification__composer[hidden] { display:none; }
.fl-chat-notification__field { display:block; }
.fl-chat-notification__field textarea {
    display:block;
    width:100%;
    min-height:76px;
    max-height:150px;
    resize:vertical;
    margin:0;
    padding:12px 13px;
    border:1px solid #dedde7;
    border-radius:12px;
    outline:0;
    background:#fafafd;
    color:#252832;
    font-family:inherit;
    font-size:13px;
    font-weight:440;
    line-height:1.5;
    box-shadow:inset 0 1px 2px rgba(34,31,60,.025);
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.fl-chat-notification__field textarea::placeholder { color:#999daa; }
.fl-chat-notification__field textarea:focus { border-color:#8173e8; background:#fff; box-shadow:0 0 0 3px rgba(103,87,245,.11); }
.fl-chat-notification__composer-footer { display:flex; margin-top:9px; align-items:center; justify-content:space-between; gap:10px; }
.fl-chat-notification__emoji-wrap { position:relative; }
.fl-chat-notification__emoji-toggle {
    display:grid;
    width:36px;
    height:36px;
    padding:0;
    place-items:center;
    border:1px solid #e2e0e9;
    border-radius:10px;
    background:#f8f7fb;
    font-size:19px;
    line-height:1;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.fl-chat-notification__emoji-toggle:hover,
.fl-chat-notification__emoji-toggle[aria-expanded="true"] { border-color:#b9b1ed; background:#efedff; transform:translateY(-1px); }
.fl-chat-notification__emoji-toggle:disabled { opacity:.5; cursor:wait; transform:none; }
.fl-chat-notification__emoji-picker {
    position:absolute;
    z-index:4;
    bottom:44px;
    left:0;
    display:grid;
    width:266px;
    max-width:calc(100vw - 70px);
    max-height:130px;
    overflow:auto;
    padding:9px;
    grid-template-columns:repeat(6,1fr);
    gap:3px;
    border:1px solid #ddd9ec;
    border-radius:14px;
    background:rgba(255,255,255,.99);
    box-shadow:0 18px 50px rgba(33,28,71,.2);
    overscroll-behavior:contain;
}
.fl-chat-notification__emoji-picker[hidden] { display:none; }
.fl-chat-notification__emoji-picker button { display:grid; width:36px; height:36px; padding:0; place-items:center; border:0; border-radius:9px; background:transparent; font-size:21px; line-height:1; cursor:pointer; }
.fl-chat-notification__emoji-picker button:hover { background:#efedff; transform:scale(1.08); }
.fl-chat-notification__send {
    display:inline-flex;
    min-height:36px;
    padding:0 13px;
    align-items:center;
    gap:8px;
    border:0;
    border-radius:10px;
    background:#6757f5;
    color:#fff;
    font-family:inherit;
    font-size:11px;
    font-weight:620;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(103,87,245,.2);
    transition:background .18s ease,transform .18s ease,opacity .18s ease;
}
.fl-chat-notification__send:hover { background:#5848df; transform:translateY(-1px); }
.fl-chat-notification__send:disabled { opacity:.62; cursor:wait; transform:none; }
.fl-chat-notification__send svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.fl-chat-notification__send.is-loading svg { animation:fl-chat-notification-send .7s ease-in-out infinite alternate; }
@keyframes fl-chat-notification-send { to { transform:translate(2px,-2px); } }
.fl-chat-notification__status { min-height:0; margin:7px 1px 0; color:#6f7480; font-size:10px; line-height:1.35; }
.fl-chat-notification__status:empty { display:none; }
.fl-chat-notification__status.is-error { color:#c94459; }
.fl-chat-notification__status.is-success { color:#25845c; font-weight:590; }
.fl-chat-notifications .fl-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

html[data-theme="dark"] .fl-chat-notification {
    border-color:rgba(67,72,86,.96);
    background:rgba(25,28,36,.97);
    color:#eef0f5;
    box-shadow:0 28px 78px rgba(0,0,0,.43),0 3px 12px rgba(0,0,0,.24);
}
html[data-theme="dark"] .fl-chat-notification.is-replying { border-color:rgba(139,124,255,.54); box-shadow:0 28px 82px rgba(0,0,0,.52),0 0 0 1px rgba(139,124,255,.05); }
html[data-theme="dark"] .fl-chat-notification__close { color:#8e95a3; }
html[data-theme="dark"] .fl-chat-notification__close:hover { background:#2a2e3a; color:#c7c0ff; }
html[data-theme="dark"] .fl-chat-notification__avatar { border-color:#443d68; background:linear-gradient(145deg,#332d50,#29263e); color:#cec7ff; box-shadow:0 8px 20px rgba(0,0,0,.24); }
html[data-theme="dark"] .fl-chat-notification__heading small { color:#a99eff; }
html[data-theme="dark"] .fl-chat-notification__heading > a { color:#eef0f5; }
html[data-theme="dark"] .fl-chat-notification__heading > a:hover { color:#c7c0ff; }
html[data-theme="dark"] .fl-chat-notification__heading time { color:#8f96a4; }
html[data-theme="dark"] .fl-chat-notification__message { color:#c1c5cf; }
html[data-theme="dark"] .fl-activity-notification__subject { color:#eef0f5; }
html[data-theme="dark"] .fl-chat-notification__actions > a { color:#9da4b2; }
html[data-theme="dark"] .fl-chat-notification__actions > a:hover { color:#c7c0ff; }
html[data-theme="dark"] .fl-chat-notification__reply-toggle { background:#302c4b; color:#c7c0ff; }
html[data-theme="dark"] .fl-chat-notification__reply-toggle:hover,
html[data-theme="dark"] .fl-chat-notification__reply-toggle[aria-expanded="true"] { background:#3c365e; color:#e0dcff; }
html[data-theme="dark"] .fl-chat-notification__composer { border-color:#373b47; }
html[data-theme="dark"] .fl-chat-notification__field textarea { border-color:#3a3f4c; background:#15181f; color:#eef0f5; box-shadow:none; }
html[data-theme="dark"] .fl-chat-notification__field textarea::placeholder { color:#777f8e; }
html[data-theme="dark"] .fl-chat-notification__field textarea:focus { border-color:#7e70df; background:#171a22; box-shadow:0 0 0 3px rgba(139,124,255,.12); }
html[data-theme="dark"] .fl-chat-notification__emoji-toggle { border-color:#3b404c; background:#20242d; }
html[data-theme="dark"] .fl-chat-notification__emoji-toggle:hover,
html[data-theme="dark"] .fl-chat-notification__emoji-toggle[aria-expanded="true"] { border-color:#62598a; background:#302c4b; }
html[data-theme="dark"] .fl-chat-notification__emoji-picker { border-color:#424754; background:rgba(28,31,40,.99); box-shadow:0 20px 55px rgba(0,0,0,.5); }
html[data-theme="dark"] .fl-chat-notification__emoji-picker button:hover { background:#343048; }
html[data-theme="dark"] .fl-chat-notification__status { color:#9da4b2; }
html[data-theme="dark"] .fl-chat-notification__status.is-error { color:#ff98a8; }
html[data-theme="dark"] .fl-chat-notification__status.is-success { color:#70d3aa; }

@media (max-width:560px) {
    .fl-chat-notifications { right:12px; bottom:max(12px, env(safe-area-inset-bottom)); left:12px; width:auto; max-height:calc(100dvh - 92px); }
    body:has(.fl-profile-toast-region > .fl-profile-toast:not(.is-leaving)) .fl-chat-notifications,
    body:has(.fl-work-toast-region > .fl-work-toast) .fl-chat-notifications { bottom:max(100px, env(safe-area-inset-bottom)); }
    .fl-chat-notification { padding:16px; border-radius:15px; }
    .fl-chat-notification__head { grid-template-columns:43px minmax(0,1fr); gap:10px; }
    .fl-chat-notification__avatar { width:43px; height:43px; }
    .fl-chat-notification__message { margin-top:11px; font-size:12px; }
    .fl-chat-notification__actions { margin-top:11px; }
    .fl-chat-notification__emoji-picker { grid-template-columns:repeat(6,1fr); }
}
@media (prefers-reduced-motion:reduce) {
    .fl-chat-notification,
    .fl-chat-notification__send,
    .fl-chat-notification__emoji-toggle,
    .fl-chat-notification__emoji-picker button { transition:none!important; }
    .fl-chat-notification__progress,
    .fl-chat-notification__send.is-loading svg { animation:none!important; }
}

/* 99-theme.css */
/* Site-wide dark theme. Light remains the default and keeps the original palette. */
html[data-theme="dark"] {
    color-scheme: dark;
    --fl-ink: #f2f4fa;
    --fl-muted: #a8afbd;
    --fl-surface: #191c24;
    --fl-bg: #101217;
    --fl-line: #2d323d;
    --fl-primary: #8b7cff;
    --fl-primary-deep: #b8afff;
    --fl-success: #4fd6a1;
    --fl-shadow: 0 24px 80px rgba(0, 0, 0, .32);
}

html[data-theme="dark"] body.fl-site { background: #101217; color: var(--fl-ink); }
html[data-theme="dark"] body.fl-site::selection { background: rgba(139,124,255,.42); color: #fff; }
html[data-theme="dark"] .fl-button--dark { background: #2a2f3b; color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
html[data-theme="dark"] .fl-button--dark:hover { background: #393f4d; }
html[data-theme="dark"] .fl-button--ghost { border-color: #363c48; background: rgba(26,29,38,.72); color: var(--fl-ink); }
html[data-theme="dark"] .fl-button--ghost:hover { border-color: #514969; background: #20242d; }
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select { caret-color: #b8afff; }

/* Header and theme control */
html[data-theme="dark"] .fl-header__inner { border-color: rgba(72,77,91,.72); background: rgba(20,23,30,.84); box-shadow: 0 15px 55px rgba(0,0,0,.3); }
html[data-theme="dark"] .fl-brand__badge { background: #292640; color: #c7c0ff; }
html[data-theme="dark"] .fl-nav a,
html[data-theme="dark"] .fl-nav__placeholder,
html[data-theme="dark"] .fl-header__login { color: #c6cad4; }
html[data-theme="dark"] .fl-nav a:hover,
html[data-theme="dark"] .fl-header__login:hover,
html[data-theme="dark"] .fl-header-profile:hover { background: #272b35; color: #fff; }
html[data-theme="dark"] .fl-nav a[aria-current="page"] { background: #302c4b; color: #d2ccff; }
html[data-theme="dark"] .fl-header-profile__copy small { color: #969daa; }
html[data-theme="dark"] .fl-nav .fl-nav__primary-action { background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-nav .fl-nav__primary-action:hover { background: #7b6cf8; color: #fff; }
html[data-theme="dark"] .fl-nav-toggle,
html[data-theme="dark"] .fl-theme-toggle { border-color: #343945; background: #242832; color: #ccd0d9; }
html[data-theme="dark"] .fl-nav-toggle:hover,
html[data-theme="dark"] .fl-theme-toggle:hover { border-color: #5e5684; background: #302c49; color: #c7c0ff; }

/* Hero */
html[data-theme="dark"] .fl-hero {
    background: radial-gradient(circle at 13% 18%,rgba(185,243,74,.09),transparent 30%),radial-gradient(circle at 76% 19%,rgba(139,124,255,.17),transparent 36%),linear-gradient(180deg,#12141a 0%,#101217 78%,#101217 100%);
}
html[data-theme="dark"] .fl-eyebrow { border-color: rgba(139,124,255,.28); background: rgba(26,29,38,.76); color: #cbc5f4; box-shadow: 0 10px 32px rgba(0,0,0,.2); }
html[data-theme="dark"] .fl-search { border-color: #343946; background: rgba(24,27,35,.93); box-shadow: 0 22px 60px rgba(0,0,0,.28); }
html[data-theme="dark"] .fl-search__icon { border-color: #9da4b2; }
html[data-theme="dark"] .fl-search__icon::after { background: #9da4b2; }
html[data-theme="dark"] .fl-search input::placeholder { color: #7f8796; }
html[data-theme="dark"] .fl-search button { background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-search button:hover { background: #7b6cf8; }
html[data-theme="dark"] .fl-popular { color: #9299a7; }
html[data-theme="dark"] .fl-popular button { border-color: #353a46; background: #1a1d25; color: #b6bbc6; }
html[data-theme="dark"] .fl-popular button:hover { border-color: #6d61ae; background: #252936; color: #c9c2ff; }
html[data-theme="dark"] .fl-hero-art::before { border-color: rgba(139,124,255,.17); background: linear-gradient(145deg,rgba(33,36,47,.8),rgba(31,27,55,.62)); box-shadow: inset 0 0 80px rgba(255,255,255,.025); }
html[data-theme="dark"] .fl-match-card,
html[data-theme="dark"] .fl-skill-pill { border-color: rgba(70,75,89,.92); background: rgba(27,30,39,.91); color: var(--fl-ink); box-shadow: 0 24px 65px rgba(0,0,0,.34); }
html[data-theme="dark"] .fl-match-card__top b,
html[data-theme="dark"] .fl-match-card__budget span,
html[data-theme="dark"] .fl-hero__foot span { color: #9299a7; }
html[data-theme="dark"] .fl-match-card__chips span { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-match-card--talent em { background: #17382e; color: #71ddb2; }
html[data-theme="dark"] .fl-match-card--response > span { color: #18200e; }
html[data-theme="dark"] .fl-skill-pill { color: #c1c5cf; }
html[data-theme="dark"] .fl-hero__foot { border-color: #2b303a; }

/* Home sections */
html[data-theme="dark"] .fl-categories,
html[data-theme="dark"] .fl-specialists,
html[data-theme="dark"] .fl-cta { background: #14161c; }
html[data-theme="dark"] .fl-category-card { background: #1a1d25; }
html[data-theme="dark"] .fl-category-card:hover { border-color: #554d7d; box-shadow: 0 22px 55px rgba(0,0,0,.25); }
html[data-theme="dark"] .fl-category-card__icon { background: #302d4c; color: #c5bdff; }
html[data-theme="dark"] .fl-category-card--1 .fl-category-card__icon,
html[data-theme="dark"] .fl-category-card--4 .fl-category-card__icon { background: #29351f; color: #c3ef77; }
html[data-theme="dark"] .fl-category-card--2 .fl-category-card__icon,
html[data-theme="dark"] .fl-category-card--5 .fl-category-card__icon { background: #422b23; color: #ffb48e; }
html[data-theme="dark"] .fl-category-card__arrow { background: #222630; }
html[data-theme="dark"] .fl-category-card:hover .fl-category-card__arrow { background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-category-card__meta { color: #9299a7; }

html[data-theme="dark"] .fl-value { background: linear-gradient(180deg,#101217,#151323); }
html[data-theme="dark"] .fl-value__visual { border-color: rgba(139,124,255,.2); background: radial-gradient(circle at 50% 45%,rgba(39,42,54,.95),rgba(28,25,48,.68) 60%,rgba(139,124,255,.08)); box-shadow: inset 0 0 70px rgba(255,255,255,.018); }
html[data-theme="dark"] .fl-value__core,
html[data-theme="dark"] .fl-value__satellite { border-color: #414653; background: rgba(28,31,40,.9); color: #c5cad4; box-shadow: 0 22px 60px rgba(0,0,0,.3); }
html[data-theme="dark"] .fl-value-list article { background: rgba(26,29,37,.82); }
html[data-theme="dark"] .fl-value-list article:hover { border-color: #554d7d; background: #20232c; }
html[data-theme="dark"] .fl-value-list article > span { background: #302c4b; color: #c9c2ff; }

html[data-theme="dark"] .fl-how { background: #101217; }
html[data-theme="dark"] .fl-how__switch { background: #1a1d25; box-shadow: 0 12px 35px rgba(0,0,0,.2); }
html[data-theme="dark"] .fl-how__switch button[aria-selected="true"] { background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-how__visual { background: rgba(25,28,36,.78); }
html[data-theme="dark"] .fl-how__idea,
html[data-theme="dark"] .fl-how__result,
html[data-theme="dark"] .fl-step { background: #191c24; box-shadow: 0 14px 45px rgba(0,0,0,.18); }
html[data-theme="dark"] .fl-how__idea span,
html[data-theme="dark"] .fl-step__number { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-how__result span,
html[data-theme="dark"] .fl-step:nth-child(2) .fl-step__number { background: #29351f; color: #c3ef77; }
html[data-theme="dark"] .fl-step:nth-child(3) .fl-step__number { background: #422b23; color: #ffb48e; }
html[data-theme="dark"] .fl-how__path i { border-color: #191c24; }

html[data-theme="dark"] .fl-projects { background: #0b0d12; }
html[data-theme="dark"] .fl-project-row > a:hover { color: #18200e; }
html[data-theme="dark"] .fl-cta__panel { background: #5f50dd; box-shadow: 0 35px 90px rgba(0,0,0,.32); }
html[data-theme="dark"] .fl-brief-card { border-color: rgba(103,108,126,.65); background: rgba(25,28,36,.96); color: var(--fl-ink); box-shadow: 0 30px 70px rgba(0,0,0,.34); }
html[data-theme="dark"] .fl-brief-card__roles { background: #111319; }
html[data-theme="dark"] .fl-brief-card__roles button.is-active { background: #2a2e38; color: #fff; }
html[data-theme="dark"] .fl-brief-card label > span,
html[data-theme="dark"] .fl-brief-card__feedback { color: #adb3bf; }
html[data-theme="dark"] .fl-brief-card textarea { background: #12151b; }
html[data-theme="dark"] .fl-brief-card__submit { background: #2c313d; color: #fff; }

html[data-theme="dark"] .fl-footer { background: #090b0f; }
html[data-theme="dark"] .fl-footer__up:hover span { color: #18200e; }

/* Authentication */
html[data-theme="dark"] .fl-auth { background: radial-gradient(circle at 8% 12%,rgba(185,243,74,.08),transparent 28%),radial-gradient(circle at 92% 18%,rgba(139,124,255,.15),transparent 32%),#101217; }
html[data-theme="dark"] .fl-auth__story li { color: #c1c6d0; }
html[data-theme="dark"] .fl-auth__story li span,
html[data-theme="dark"] .fl-auth-role-card i { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-auth__signal div { border-color: #3a3f4b; background: rgba(27,30,39,.83); box-shadow: 0 18px 45px rgba(0,0,0,.24); }
html[data-theme="dark"] .fl-auth__card { border-color: #3a3f4b; background: rgba(25,28,36,.95); box-shadow: 0 28px 90px rgba(0,0,0,.36); }
html[data-theme="dark"] .fl-auth-field > span:first-child,
html[data-theme="dark"] .fl-auth-roles legend { color: #d5d8df; }
html[data-theme="dark"] .fl-auth-field input,
html[data-theme="dark"] .fl-auth-role-card { border-color: #383e4a; background: #14171d; }
html[data-theme="dark"] .fl-auth-field--primary input { border-color: #5b5189; background: #191724; }
html[data-theme="dark"] .fl-auth-field input:focus { background: #191c24; }
html[data-theme="dark"] .fl-auth-password button:hover { background: #302c4b; }
html[data-theme="dark"] .fl-auth-role-options label:hover .fl-auth-role-card,
html[data-theme="dark"] .fl-auth-role-options input:checked + .fl-auth-role-card { background: #211e33; }
html[data-theme="dark"] .fl-auth-check { color: #bdc2cc; }
html[data-theme="dark"] .fl-password-meter i { background: #343945; }
html[data-theme="dark"] .fl-auth-submit { background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-auth-submit--light { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-auth-alert.is-error { border-color: #703945; background: #351d24; color: #ff9eaa; }
html[data-theme="dark"] .fl-auth-alert.is-success { border-color: #27614d; background: #173429; color: #7ee0b9; }
html[data-theme="dark"] .fl-auth-role-card__check { border-color: #4a505d; }
html[data-theme="dark"] .fl-auth-state--success > span { background: #17382e; color: #71ddb2; }
html[data-theme="dark"] .fl-auth-state--error > span { background: #3a2028; color: #ff9eaa; }
html[data-theme="dark"] .fl-profile-status { border-color: #693743; background: #321d23; }
html[data-theme="dark"] .fl-profile-status.is-verified { border-color: #2b624f; background: #173329; }
html[data-theme="dark"] .fl-profile-grid div { background: #14171d; }
html[data-theme="dark"] .fl-profile-note { background: #292640; color: #c9c2ee; }

/* Project catalog, project creation, services */
html[data-theme="dark"] .fl-project-catalog,
html[data-theme="dark"] .fl-project-create,
html[data-theme="dark"] .fl-service-detail { background: #101217; color: var(--fl-ink); }
html[data-theme="dark"] .fl-project-catalog__toolbar,
html[data-theme="dark"] .fl-project-card,
html[data-theme="dark"] .fl-project-catalog__aside > div,
html[data-theme="dark"] .fl-project-catalog__aside section,
html[data-theme="dark"] .fl-project-catalog__empty,
html[data-theme="dark"] .fl-project-form > section,
html[data-theme="dark"] .fl-project-form > footer,
html[data-theme="dark"] .fl-project-create__aside > div,
html[data-theme="dark"] .fl-project-create__aside > section,
html[data-theme="dark"] .fl-project-create__aside > p,
html[data-theme="dark"] .fl-service-author,
html[data-theme="dark"] .fl-service-content,
html[data-theme="dark"] .fl-service-steps,
html[data-theme="dark"] .fl-service-more,
html[data-theme="dark"] .fl-service-detail--empty > div { background: #191c24; border-color: var(--fl-line); color: var(--fl-ink); box-shadow: 0 18px 50px rgba(0,0,0,.16); }
html[data-theme="dark"] .fl-project-catalog__toolbar > label,
html[data-theme="dark"] .fl-project-catalog__toolbar button,
html[data-theme="dark"] .fl-project-card__details,
html[data-theme="dark"] .fl-project-card__rail,
html[data-theme="dark"] .fl-project-catalog__aside p { color: #aeb4c0; }
html[data-theme="dark"] .fl-project-catalog__toolbar > label { background: #12151b; }
html[data-theme="dark"] .fl-project-catalog__toolbar input { color: var(--fl-ink); }
html[data-theme="dark"] .fl-project-catalog__toolbar input::placeholder { color: #818897; }
html[data-theme="dark"] .fl-project-card__rail { background: linear-gradient(180deg, #28233f, #1c1f29); }
html[data-theme="dark"] .fl-project-card__rail i { background: linear-gradient(#7569d6, transparent); }
html[data-theme="dark"] .fl-project-catalog__aside li span { color: #b9bec8; }
html[data-theme="dark"] .fl-project-catalog__toolbar button.is-active { background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-project-card__content > header span,
html[data-theme="dark"] .fl-project-card__tags span,
html[data-theme="dark"] .fl-project-catalog__aside a { background: #242832; border-color: #373c48; color: #c2c7d1; }
html[data-theme="dark"] .fl-project-catalog__alert,
html[data-theme="dark"] .fl-project-create__alert { border-color: #604f31; background: #322817; color: #efca87; }
html[data-theme="dark"] .fl-project-catalog__aside li i,
html[data-theme="dark"] .fl-project-create__aside li i { background: #29351f; color: #c3ef77; }
html[data-theme="dark"] .fl-project-form input,
html[data-theme="dark"] .fl-project-form select,
html[data-theme="dark"] .fl-project-form textarea { border-color: #383e4a; background: #12151b; color: var(--fl-ink); }
html[data-theme="dark"] .fl-project-create__head > div:last-child,
html[data-theme="dark"] .fl-project-create__role { border-color: #3a3f4b; background: #191c24; }
html[data-theme="dark"] .fl-service-crumbs a,
html[data-theme="dark"] .fl-service-crumbs b { color: #aeb4c0; }
html[data-theme="dark"] .fl-service-detail__tags span { border-color: #373c48; background: #20242d; color: #bdc2cc; }
html[data-theme="dark"] .fl-service-author small,
html[data-theme="dark"] .fl-service-content__text,
html[data-theme="dark"] .fl-service-steps li p,
html[data-theme="dark"] .fl-service-more a span { color: #b2b8c3; }
html[data-theme="dark"] .fl-service-author > b { background: #3b301d; color: #f2c878; }
html[data-theme="dark"] .fl-service-more a { background: #15181f; }
html[data-theme="dark"] .fl-service-steps li i { background: #29351f; color: #bdeb74; }
html[data-theme="dark"] .fl-service-order { background: #0c0e13; }

/* Specialist cards */
html[data-theme="dark"] .fl-specialists__filter { background: #24213a; color: #c5bdff; }
html[data-theme="dark"] .fl-talent-card { background: #191c24; box-shadow: 0 16px 48px rgba(0,0,0,.2); }
html[data-theme="dark"] .fl-talent-card__cover { background: linear-gradient(135deg,#302d4c,#443d72); }
html[data-theme="dark"] .fl-talent-card--lime .fl-talent-card__cover { background: linear-gradient(135deg,#26341c,#405c22); }
html[data-theme="dark"] .fl-talent-card--orange .fl-talent-card__cover { background: linear-gradient(135deg,#3b2821,#6a3928); }
html[data-theme="dark"] .fl-talent-card--blue .fl-talent-card__cover { background: linear-gradient(135deg,#1d2d43,#294d78); }
html[data-theme="dark"] .fl-talent-avatar { border-color: #191c24; }
html[data-theme="dark"] .fl-talent-status { background: #17382e; color: #71ddb2; }
html[data-theme="dark"] .fl-talent-card__summary,
html[data-theme="dark"] .fl-talent-card__tags span,
html[data-theme="dark"] .fl-specialists__note { color: #b3b9c4; }
html[data-theme="dark"] .fl-talent-card__proof { color: #979eab; }
html[data-theme="dark"] .fl-talent-card__proof span:first-child { color: #e9bd6a; }
html[data-theme="dark"] .fl-talent-card__body > a span { background: #303541; color: #fff; }

/* Account */
html[data-theme="dark"] .fl-account { background: #101217; }
html[data-theme="dark"] .fl-account__backdrop { border-color: #2a2f39; background: linear-gradient(135deg,#1b192b 0%,#12151b 52%,#15211d 100%); }
html[data-theme="dark"] .fl-account__back,
html[data-theme="dark"] .fl-account-stats article > span,
html[data-theme="dark"] .fl-account-stats article > small { color: #a6acb8; }
html[data-theme="dark"] .fl-account-hero,
html[data-theme="dark"] .fl-account-stats article,
html[data-theme="dark"] .fl-account-panel,
html[data-theme="dark"] .fl-settings-card,
html[data-theme="dark"] .fl-account-nav,
html[data-theme="dark"] .fl-account-profile-card,
html[data-theme="dark"] .fl-account-help { border-color: var(--fl-line); background: #191c24; box-shadow: 0 18px 52px rgba(0,0,0,.17); }
html[data-theme="dark"] .fl-account-hero > a,
html[data-theme="dark"] .fl-contact-grid article > footer > a { border-color: #383e49; background: #20242d; color: var(--fl-ink); }
html[data-theme="dark"] .fl-account-filters { border-color: #343945; background: #12151b; }
html[data-theme="dark"] .fl-account-filters button { color: #a8afbb; }
html[data-theme="dark"] .fl-account-filters button[aria-pressed="true"] { background: #2a2e38; color: #fff; }
html[data-theme="dark"] .fl-project-history > article,
html[data-theme="dark"] .fl-contact-grid > article { border-color: #323742; background: #15181f; }
html[data-theme="dark"] .fl-project-history > article > footer,
html[data-theme="dark"] .fl-contact-privacy,
html[data-theme="dark"] .fl-settings-card--info li { border-color: #303540; }
html[data-theme="dark"] .fl-project-history__status > span,
html[data-theme="dark"] .fl-contact-card__top > span { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-project-history__status > span.is-completed { background: #17382e; color: #71ddb2; }
html[data-theme="dark"] .fl-project-history__status > span.is-cancelled { background: #3a2024; color: #ff9ca8; }
html[data-theme="dark"] .fl-account-person > img,
html[data-theme="dark"] .fl-account-person > i,
html[data-theme="dark"] .fl-contact-card__top > img,
html[data-theme="dark"] .fl-contact-card__top > i,
html[data-theme="dark"] .fl-account-profile-card > img,
html[data-theme="dark"] .fl-account-profile-card > i { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-account-empty { border-color: #454b58; background: #15181f; }
html[data-theme="dark"] .fl-account-empty > span,
html[data-theme="dark"] .fl-settings-card > header > span,
html[data-theme="dark"] .fl-settings-card--info li > i { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-account-empty a,
html[data-theme="dark"] .fl-settings-card form > button { background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-settings-current,
html[data-theme="dark"] .fl-settings-card--role > div { border-color: #343945; background: #14171d; }
html[data-theme="dark"] .fl-email-progress { border-color: #4a4369; background: #211e33; }
html[data-theme="dark"] .fl-email-progress > div { background: #161920; }
html[data-theme="dark"] .fl-settings-card form > label > span { color: #c8ccd5; }
html[data-theme="dark"] .fl-settings-card input,
html[data-theme="dark"] .fl-contact-search { border-color: #383e4a; background: #12151b; color: var(--fl-ink); }
html[data-theme="dark"] .fl-settings-card input[aria-invalid="true"] { background: #28191d; }
html[data-theme="dark"] .fl-account-nav > a > i { background: #252a34; color: #b4bac5; }
html[data-theme="dark"] .fl-account-nav > a[aria-current="page"] { border-color: #514876; background: #292640; }
html[data-theme="dark"] .fl-account-nav > a[aria-current="page"] > i { background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-account-help { background: #15181f; }
html[data-theme="dark"] .fl-account-confirm,
html[data-theme="dark"] .fl-account-toast { border-color: #3b404c; background: rgba(25,28,36,.98); color: var(--fl-ink); }
html[data-theme="dark"] .fl-account-confirm button { border-color: #3b404c; background: #20242d; color: #d0d4dc; }
html[data-theme="dark"] .fl-account :is(.fl-settings-card > header small,.fl-settings-current span,.fl-settings-card--role > div > span,.fl-email-progress > div > span,.fl-email-progress > div > small,.fl-email-progress > p,.fl-settings-card--role > div > small,.fl-contact-grid article > small,.fl-contact-privacy,.fl-account-nav > span,.fl-account-nav > a small,.fl-account-profile-card > div > a,.fl-account-help > span) { color: #969daa; }
html[data-theme="dark"] .fl-account :is(.fl-email-progress > div > small,.fl-settings-card form > label > span,.fl-contact-grid article > footer > a) { color: #c1c6d0; }

/* Public profile, editors and feed */
html[data-theme="dark"] .fl-profile,
html[data-theme="dark"] .fl-public-profile { background: #101217; color: var(--fl-ink); }
html[data-theme="dark"] .fl-profile-cover { background: linear-gradient(135deg,#25223f,#433879 58%,#61519d); }
html[data-theme="dark"] .fl-profile-identity,
html[data-theme="dark"] .fl-profile-side-card,
html[data-theme="dark"] .fl-profile-bento article,
html[data-theme="dark"] .fl-portfolio-card,
html[data-theme="dark"] .fl-service-card,
html[data-theme="dark"] .fl-review-card,
html[data-theme="dark"] .fl-client-budget article,
html[data-theme="dark"] .fl-client-projects > article,
html[data-theme="dark"] .fl-completed-list,
html[data-theme="dark"] .fl-profile-metrics,
html[data-theme="dark"] .fl-profile-placeholder,
html[data-theme="dark"] .fl-profile-empty,
html[data-theme="dark"] .fl-profile-info-card,
html[data-theme="dark"] .fl-profile-compact-info,
html[data-theme="dark"] .fl-profile-completion,
html[data-theme="dark"] .fl-profile-account-nav { border-color: var(--fl-line); background: #191c24; color: var(--fl-ink); box-shadow: 0 16px 48px rgba(0,0,0,.16); }
html[data-theme="dark"] .fl-profile-side-card--accent { background: linear-gradient(145deg,#26223e,#1a1d25); }
html[data-theme="dark"] .fl-profile-metrics > article { border-color: var(--fl-line); background: #191c24; color: var(--fl-ink); box-shadow: 0 14px 36px rgba(0,0,0,.16); }
html[data-theme="dark"] .fl-profile-main > .fl-profile-metrics { scrollbar-color: #51486f #14171d; }
html[data-theme="dark"] .fl-profile-main > .fl-profile-metrics::-webkit-scrollbar { height: 6px; }
html[data-theme="dark"] .fl-profile-main > .fl-profile-metrics::-webkit-scrollbar-track { background: #14171d; }
html[data-theme="dark"] .fl-profile-main > .fl-profile-metrics::-webkit-scrollbar-thumb { border-radius: 999px; background: #51486f; }
html[data-theme="dark"] .fl-profile-identity__copy > p,
html[data-theme="dark"] .fl-profile-meta { color: #a8afbd; }
html[data-theme="dark"] .fl-service-card footer i { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-profile-compact-info > header,
html[data-theme="dark"] .fl-profile-compact-info__rows > article,
html[data-theme="dark"] .fl-profile-info-empty { border-color: #303540; }
html[data-theme="dark"] .fl-profile-compact-info__rows > article > i,
html[data-theme="dark"] .fl-profile-compact-info__logo,
html[data-theme="dark"] .fl-profile-info-card--company > span,
html[data-theme="dark"] .fl-profile-info-empty i,
html[data-theme="dark"] .fl-profile-fact > i,
html[data-theme="dark"] .fl-profile-metrics article > i { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-profile-compact-info__rows [data-profile-skills] em,
html[data-theme="dark"] .fl-profile-slug,
html[data-theme="dark"] .fl-profile-roleline > span { background: #242832; color: #bfc4ce; }
html[data-theme="dark"] .fl-profile-portrait { border-color: #191c24; background: #302c4b; }
html[data-theme="dark"] .fl-profile-portrait > .fl-profile-portrait__edit { border-color: #191c24; background: #6757f5; color: #fff; }
html[data-theme="dark"] .fl-profile-portrait > .fl-profile-portrait__remove { border-color: #191c24; background: #3a2024; color: #ff9ca8; }
html[data-theme="dark"] .fl-profile-online,
html[data-theme="dark"] .fl-profile-roleline > span.is-verified { background: #17382e; color: #71ddb2; }
html[data-theme="dark"] .fl-profile-section__head > button,
html[data-theme="dark"] .fl-profile-name-row > button,
html[data-theme="dark"] .fl-profile-cover__actions button,
html[data-theme="dark"] .fl-profile-compact-info > header button,
html[data-theme="dark"] .fl-profile-account-nav a:hover { border-color: #3b404c; background: #222630; color: #d2d6de; }
html[data-theme="dark"] .fl-profile-account-nav a > i { background: #2a2e38; }
html[data-theme="dark"] .fl-profile-form-grid input,
html[data-theme="dark"] .fl-profile-form-grid textarea,
html[data-theme="dark"] .fl-tag-editor input,
html[data-theme="dark"] .fl-profile-dialog__grid input,
html[data-theme="dark"] .fl-profile-dialog__grid textarea { border-color: #383e4a; background: #12151b; color: var(--fl-ink); }
html[data-theme="dark"] .fl-tag-editor > div,
html[data-theme="dark"] .fl-profile-id-field { border-color: #383e4a; background: #12151b; }
html[data-theme="dark"] .fl-tag-editor [data-profile-tag-list] button { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-company-logo-editor { border-color: #383e4a; background: #14171d; }
html[data-theme="dark"] .fl-company-logo-editor [data-profile-company-logo-preview] { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-company-logo-editor button { border-color: #3b404c; background: #222630; color: #c9c2ff; }
html[data-theme="dark"] .fl-profile-dialog,
html[data-theme="dark"] .fl-confirm-dialog,
html[data-theme="dark"] .fl-media-editor { background: #191c24; color: var(--fl-ink); }
html[data-theme="dark"] .fl-profile-dialog header,
html[data-theme="dark"] .fl-profile-dialog footer,
html[data-theme="dark"] .fl-media-editor header,
html[data-theme="dark"] .fl-media-editor footer { border-color: #303540; background: #191c24; }
html[data-theme="dark"] .fl-profile-dialog footer button,
html[data-theme="dark"] .fl-confirm-dialog button,
html[data-theme="dark"] .fl-media-editor__controls button,
html[data-theme="dark"] .fl-media-editor footer button { border-color: #3b404c; background: #222630; color: #d2d6de; }
html[data-theme="dark"] .fl-media-editor__stage { background: #0e1015; }
html[data-theme="dark"] .fl-profile-toast { border-color: #3b404c; background: rgba(25,28,36,.98); color: var(--fl-ink); }
html[data-theme="dark"] .fl-profile-dialog__email { background: #1c3026; }
html[data-theme="dark"] .fl-profile-dialog__email i { color: #88d4a6; }
html[data-theme="dark"] .fl-profile-dialog__media label { border-color: #383e4a; background: #15181f; }
html[data-theme="dark"] .fl-profile-completion__ring { background: conic-gradient(var(--fl-primary) var(--completion),#343746 0); }
html[data-theme="dark"] .fl-profile-completion__ring::after { background: #191c24; }
html[data-theme="dark"] .fl-profile-completion.is-complete { border-color: #345a2e; background: linear-gradient(155deg,#191c24,#1d2d1c); }
html[data-theme="dark"] .fl-metric-icon.is-reviews::after { background: #3b301d; }
html[data-theme="dark"] .fl-profile-info-card--about p,
html[data-theme="dark"] .fl-profile-compact-info__rows p,
html[data-theme="dark"] .fl-review-card > p { color: #c1c6d0; }
html[data-theme="dark"] .fl-profile-info-card--skills i,
html[data-theme="dark"] .fl-client-projects__top span { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-completed-list__mark { background: #29351f; color: #bdeb74; }
html[data-theme="dark"] .fl-review-card__author > i { background: #3b301d; color: #f2c878; }
html[data-theme="dark"] .fl-profile-alert { border-color: #3b404c; background: #20242d; color: #d2d6de; }
html[data-theme="dark"] .fl-profile-alert.is-error { border-color: #693743; background: #321d23; color: #ff9ca8; }

html[data-theme="dark"] .fl-feed-composer,
html[data-theme="dark"] .fl-feed-list,
html[data-theme="dark"] .fl-feed-empty { border-color: #303540; background: rgba(25,28,36,.96); box-shadow: 0 16px 42px rgba(0,0,0,.16); }
html[data-theme="dark"] .fl-feed-post { border-color: #303540; }
html[data-theme="dark"] .fl-feed-post__text { color: #d5d9e1; }
html[data-theme="dark"] .fl-feed-post__text a { color: #b8afff; border-color: #5b537c; }
html[data-theme="dark"] .fl-feed-post__head > div > p,
html[data-theme="dark"] .fl-feed-comment__body > header time { color: #969daa; }
html[data-theme="dark"] .fl-feed-comment__body > header a { color: #e1e4ea; }
html[data-theme="dark"] .fl-feed-post__role { border-color: #494361; background: #292640; color: #c9c2ff; }
html[data-theme="dark"] .fl-feed-post__actions > button:hover,
html[data-theme="dark"] .fl-feed-post__actions > button[aria-expanded="true"] { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-feed-comments { border-color: #303540; background: #14171d; }
html[data-theme="dark"] .fl-feed-comments > form { border-color: #383e4a; background: #1c2028; }
html[data-theme="dark"] .fl-feed-composer__body > footer,
html[data-theme="dark"] .fl-feed-comment-tools,
html[data-theme="dark"] .fl-feed-comment { border-color: #303540; }
html[data-theme="dark"] .fl-feed-avatar,
html[data-theme="dark"] .fl-feed-author { border-color: #46405f; background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-feed-emoji__panel,
html[data-theme="dark"] .fl-feed-reaction-picker { border-color: #3b404c; background: #20242d; box-shadow: 0 22px 55px rgba(0,0,0,.38); }
html[data-theme="dark"] .fl-feed-emoji__panel button:hover,
html[data-theme="dark"] .fl-feed-emoji-corner:hover,
html[data-theme="dark"] .fl-feed-reaction-picker button:hover,
html[data-theme="dark"] .fl-feed-reaction-picker button[aria-pressed="true"] { background: #302c4b; color: #fff; }
html[data-theme="dark"] .fl-feed-reaction-summary > button { border-color: #3b404c; background: #20242d; color: #b6bcc7; }
html[data-theme="dark"] .fl-feed-reaction-summary > button:hover,
html[data-theme="dark"] .fl-feed-reaction-summary > button[aria-pressed="true"] { border-color: #5a5181; background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-feed-reaction-picker button { color: #c1c6d0; }
html[data-theme="dark"] .fl-feed-draft-og,
html[data-theme="dark"] .fl-feed-og { border-color: #383e4a; background: #15181f; color: var(--fl-ink); }
html[data-theme="dark"] .fl-feed-og__image,
html[data-theme="dark"] .fl-feed-draft-media figure,
html[data-theme="dark"] .fl-feed-media,
html[data-theme="dark"] .fl-feed-media button { background: #242832; }
html[data-theme="dark"] .fl-feed-draft-og strong,
html[data-theme="dark"] .fl-feed-og strong { color: #e1e4ea; }
html[data-theme="dark"] .fl-feed-draft-og em,
html[data-theme="dark"] .fl-feed-og em { color: #a7aeba; }
html[data-theme="dark"] .fl-feed-edit-field textarea { border-color: #383e4a; background: #12151b; color: var(--fl-ink); }
html[data-theme="dark"] .fl-feed-edit-mark { background: #302c4b; color: #c9c2ff; }
html[data-theme="dark"] .fl-feed-comments-more,
html[data-theme="dark"] .fl-feed-more,
html[data-theme="dark"] .fl-feed-login { border-color: #3b404c; background: #1b1f27; color: #b8afff; }
html[data-theme="dark"] .fl-feed-comments-more:hover,
html[data-theme="dark"] .fl-feed-more:hover { border-color: #5a5181; background: #302c4b; }

@media (prefers-reduced-motion: no-preference) {
    html[data-theme="dark"] body.fl-site,
    html[data-theme="dark"] .fl-header__inner { transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
}

/* hero.css */
.fl-hero {
    position: relative;
    min-height: 800px;
    margin-top: -88px;
    padding: 174px 0 44px;
    overflow: hidden;
    background:
        radial-gradient(circle at 13% 18%, rgba(185,243,74,.20), transparent 28%),
        radial-gradient(circle at 76% 19%, rgba(103,87,245,.18), transparent 34%),
        linear-gradient(180deg, #fbfbfe 0%, #f6f7fb 78%, #f6f7fb 100%);
}

.fl-hero__glow { position: absolute; border-radius: 50%; filter: blur(4px); opacity: .62; pointer-events: none; animation: fl-drift 13s ease-in-out infinite alternate; }
.fl-hero__glow--one { top: 100px; left: -120px; width: 350px; height: 350px; background: rgba(185,243,74,.15); }
.fl-hero__glow--two { right: -120px; bottom: 40px; width: 480px; height: 480px; background: rgba(129,111,255,.12); animation-delay: -4s; }
.fl-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(460px, .95fr); gap: 50px; align-items: center; }
.fl-hero__copy { max-width: 700px; }
.fl-eyebrow { display: inline-flex; min-height: 36px; align-items: center; gap: 9px; padding: 0 14px; border: 1px solid rgba(103,87,245,.16); border-radius: 999px; background: rgba(255,255,255,.68); color: #514a85; font-size: 13px; font-weight: 590; letter-spacing: .02em; box-shadow: 0 8px 30px rgba(56,48,119,.06); backdrop-filter: blur(10px); }
.fl-eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: var(--fl-accent); box-shadow: 0 0 0 5px rgba(185,243,74,.22); }
.fl-hero h1 { max-width: 780px; margin: 26px 0 24px; color: var(--fl-ink); font-size: clamp(48px, 5.1vw, 74px); font-weight: 620; line-height: 1.01; letter-spacing: -.048em; }
.fl-hero h1 span { color: transparent; background: linear-gradient(90deg, #6757f5, #9c5cf4, #6757f5); background-size: 200% 100%; background-clip: text; -webkit-background-clip: text; animation: fl-gradient 6s linear infinite; }
.fl-hero__lead { max-width: 610px; margin: 0; color: var(--fl-muted); font-size: 19px; line-height: 1.62; }
.fl-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 31px; }

.fl-search { display: flex; max-width: 690px; margin-top: 28px; padding: 7px; border: 1px solid rgba(103,87,245,.15); border-radius: 20px; background: rgba(255,255,255,.90); box-shadow: 0 22px 60px rgba(42,37,98,.11); backdrop-filter: blur(12px); }
.fl-search__field { display: flex; min-width: 0; flex: 1; align-items: center; gap: 12px; padding: 0 12px; }
.fl-search__icon { position: relative; width: 17px; height: 17px; flex: 0 0 auto; border: 2px solid #7b8090; border-radius: 50%; }
.fl-search__icon::after { content: ""; position: absolute; right: -5px; bottom: -3px; width: 7px; height: 2px; border-radius: 2px; background: #7b8090; transform: rotate(45deg); }
.fl-search input { width: 100%; height: 50px; border: 0; outline: 0; background: transparent; color: var(--fl-ink); font: 450 15px/1.2 "Manrope", sans-serif; }
.fl-search input::placeholder { color: #989dac; }
.fl-search button { min-width: 153px; border: 0; border-radius: 14px; background: var(--fl-ink); color: #fff; font: 620 14px/1 "Manrope", sans-serif; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.fl-search button:hover { background: var(--fl-primary); transform: translateY(-1px); }
.fl-popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; color: #626878; font-size: 13px; }
.fl-popular > span { margin-right: 2px; font-weight: 570; }
.fl-popular button { padding: 7px 10px; border: 1px solid var(--fl-line); border-radius: 999px; background: rgba(255,255,255,.58); color: #5d6270; font: 540 12px/1 "Manrope", sans-serif; cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.fl-popular button:hover { border-color: rgba(103,87,245,.4); background: #fff; color: var(--fl-primary-deep); }
.fl-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.fl-hero-art { position: relative; min-height: 525px; isolation: isolate; }
.fl-hero-art::before { content: ""; position: absolute; z-index: -2; inset: 20px 0 0; border: 1px solid rgba(103,87,245,.10); border-radius: 48% 52% 47% 53% / 52% 42% 58% 48%; background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(238,236,255,.52)); box-shadow: inset 0 0 80px rgba(255,255,255,.7); transform: rotate(-4deg); }
.fl-hero-art__orbit { position: absolute; z-index: -1; inset: 79px 33px 65px 45px; border: 1px dashed rgba(103,87,245,.24); border-radius: 50%; animation: fl-spin 28s linear infinite; }
.fl-match-card { position: absolute; border: 1px solid rgba(255,255,255,.92); background: rgba(255,255,255,.88); box-shadow: var(--fl-shadow); backdrop-filter: blur(18px); }
.fl-match-card--brief { top: 104px; left: 50%; width: min(390px, 78%); padding: 25px; border-radius: 25px; transform: translate3d(-50%,0,0) rotate(-1.5deg); will-change: transform; animation: fl-hero-brief-float 6s ease-in-out infinite; }
.fl-match-card__top { display: flex; align-items: center; gap: 8px; color: var(--fl-muted); font-size: 12px; }
.fl-match-card__top b { margin-left: auto; color: #999eaa; font-weight: 610; }
.fl-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--fl-success); box-shadow: 0 0 0 5px rgba(32,168,117,.12); }
.fl-match-card--brief h2 { margin: 24px 0 20px; color: var(--fl-ink); font-size: 25px; line-height: 1.18; letter-spacing: -.035em; }
.fl-match-card__chips { display: flex; flex-wrap: wrap; gap: 7px; }
.fl-match-card__chips span { padding: 7px 10px; border-radius: 999px; background: #f0effd; color: #6255c6; font-size: 12px; font-weight: 550; }
.fl-match-card__budget { display: flex; margin-top: 23px; padding-top: 18px; align-items: flex-end; justify-content: space-between; border-top: 1px solid var(--fl-line); }
.fl-match-card__budget span { color: #8f94a1; font-size: 12px; }
.fl-match-card__budget strong { font-size: 14px; }
.fl-match-card--talent { right: -1px; bottom: 56px; display: flex; min-width: 238px; padding: 13px 15px; align-items: center; gap: 11px; border-radius: 18px; will-change: transform; animation: fl-hero-float 5.4s ease-in-out -1.7s infinite; }
.fl-avatar { display: grid; width: 43px; height: 43px; flex: 0 0 auto; place-items: center; border-radius: 14px; color: #fff; font-size: 12px; font-weight: 650; }
.fl-avatar--violet { background: linear-gradient(145deg, #b99aff, #6e58ed); }
.fl-match-card--talent div:nth-child(2) { display: grid; gap: 3px; }
.fl-match-card--talent strong { font-size: 12px; }
.fl-match-card--talent span { color: var(--fl-muted); font-size: 12px; }
.fl-match-card--talent em { margin-left: auto; padding: 5px 8px; border-radius: 999px; background: #e9fbf4; color: #16825b; font-size: 12px; font-style: normal; font-weight: 590; }
.fl-match-card--response { left: -5px; top: 62px; display: flex; min-width: 168px; padding: 13px 15px; align-items: center; gap: 11px; border-radius: 17px; will-change: transform; animation: fl-hero-float 5.8s ease-in-out -.8s infinite; }
.fl-match-card--response > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; background: var(--fl-accent); color: var(--fl-ink); font-size: 16px; font-weight: 650; }
.fl-match-card--response div { display: grid; gap: 2px; }
.fl-match-card--response strong { font-size: 12px; font-weight: 620; }
.fl-match-card--response small { color: var(--fl-muted); font-size: 12px; }
.fl-skill-pill { position: absolute; z-index: 2; padding: 9px 13px; border: 1px solid rgba(255,255,255,.9); border-radius: 999px; background: rgba(255,255,255,.85); color: #555b6a; font-size: 12px; font-weight: 550; box-shadow: 0 12px 30px rgba(45,41,91,.10); backdrop-filter: blur(12px); will-change: transform; animation: fl-hero-float 5s ease-in-out infinite; }
.fl-skill-pill--one { left: 42px; bottom: 104px; animation-delay: -2.2s; }
.fl-skill-pill--two { right: 42px; top: 30px; animation-delay: -3.1s; }
.fl-skill-pill--three { left: 130px; bottom: 26px; animation-delay: -1.2s; }
.fl-match-line { position: absolute; z-index: -1; height: 1px; background: linear-gradient(90deg, transparent, rgba(103,87,245,.45), transparent); transform-origin: left; }
.fl-match-line--one { top: 145px; left: 95px; width: 310px; transform: rotate(17deg); }
.fl-match-line--two { right: 82px; bottom: 145px; width: 300px; transform: rotate(-23deg); }
.fl-hero__foot { position: relative; z-index: 2; display: flex; margin-top: 45px; padding-top: 26px; border-top: 1px solid rgba(116,119,139,.16); gap: 46px; }
.fl-hero__foot div { display: flex; align-items: baseline; gap: 8px; }
.fl-hero__foot strong { font-size: 16px; letter-spacing: -.02em; }
.fl-hero__foot span { color: #727887; font-size: 12px; }

@keyframes fl-drift { to { transform: translate3d(30px, -20px, 0) scale(1.08); } }
@keyframes fl-gradient { to { background-position: -200% 0; } }
@keyframes fl-hero-float { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-11px,0); } }
@keyframes fl-hero-brief-float { 0%,100% { transform: translate3d(-50%,0,0) rotate(-1.5deg); } 50% { transform: translate3d(-50%,-13px,0) rotate(-.6deg); } }
@keyframes fl-hero-enter { from { opacity: 0; transform: translate3d(0,24px,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes fl-hero-art-enter { from { opacity: 0; transform: translate3d(32px,12px,0) scale(.965); } to { opacity: 1; transform: translate3d(0,0,0) scale(1); } }
@media (prefers-reduced-motion: no-preference) {
    .fl-hero__copy { animation: fl-hero-enter .72s cubic-bezier(.22,.61,.36,1) both; }
    .fl-hero-art { animation: fl-hero-art-enter .9s .12s cubic-bezier(.22,.61,.36,1) both; }
    .fl-hero__foot { animation: fl-hero-enter .7s .32s cubic-bezier(.22,.61,.36,1) both; }
}
@media (max-width: 1040px) {
    .fl-hero { margin-top: -79px; padding-top: 145px; }
    .fl-hero__grid { grid-template-columns: 1fr; gap: 28px; }
    .fl-hero__copy { max-width: 780px; }
    .fl-hero-art { width: min(620px, 100%); min-height: 470px; margin: 0 auto; }
}

@media (max-width: 720px) {
    .fl-hero { min-height: 0; margin-top: -70px; padding: 123px 0 34px; }
    .fl-eyebrow { min-height: 34px; padding-inline: 11px; font-size: 12px; }
    .fl-hero h1 { margin: 21px 0 18px; font-size: clamp(39px, 12.5vw, 54px); line-height: 1.02; }
    .fl-hero__lead { font-size: 16px; line-height: 1.55; }
    .fl-hero__actions { margin-top: 24px; }
    .fl-hero__actions .fl-button { flex: 1 1 160px; }
    .fl-search { display: grid; margin-top: 20px; }
    .fl-search__field { padding-inline: 10px; }
    .fl-search input { height: 48px; font-size: 14px; }
    .fl-search button { min-height: 46px; }
    .fl-hero-art { min-height: 395px; margin-top: 10px; }
    .fl-hero-art::before { inset: 25px -30px 10px; }
    .fl-match-card--brief { top: 75px; width: 86%; padding: 19px; }
    .fl-match-card--brief h2 { margin: 18px 0 16px; font-size: 21px; }
    .fl-match-card--response { left: -3px; top: 35px; min-width: 150px; }
    .fl-match-card--talent { right: -4px; bottom: 31px; min-width: 214px; }
    .fl-skill-pill--one { left: 8px; bottom: 76px; }
    .fl-skill-pill--two { right: 5px; top: 17px; }
    .fl-skill-pill--three { display: none; }
    .fl-hero__foot { display: grid; grid-template-columns: 1fr 1fr; margin-top: 23px; gap: 15px; }
    .fl-hero__foot div { display: grid; gap: 2px; }
    .fl-hero__foot div:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
    .fl-hero__glow, .fl-hero h1 span, .fl-hero__copy, .fl-hero-art, .fl-hero__foot { animation: none; }
}

/* promo.css */
.fl-promo {
    overflow: hidden;
    padding: 54px 0 82px;
    background: #f6f7fb;
}

.fl-promo__panel {
    position: relative;
    display: grid;
    min-height: 520px;
    padding: 58px;
    overflow: hidden;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .75fr);
    gap: 64px;
    align-items: center;
    border: 1px solid rgba(103, 87, 245, .16);
    border-radius: 36px;
    background:
        linear-gradient(130deg, rgba(255, 255, 255, .94), rgba(244, 241, 255, .92)),
        #fff;
    box-shadow: 0 30px 90px rgba(45, 38, 112, .12);
    isolation: isolate;
}

.fl-promo__panel::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background-image: radial-gradient(rgba(103, 87, 245, .16) .7px, transparent .7px);
    background-size: 15px 15px;
    mask-image: linear-gradient(90deg, transparent 0, #000 25%, #000 100%);
    opacity: .34;
}

.fl-promo__glow {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(3px);
}

.fl-promo__glow--lime {
    width: 310px;
    height: 310px;
    left: -150px;
    bottom: -190px;
    background: rgba(185, 243, 74, .34);
}

.fl-promo__glow--violet {
    width: 480px;
    height: 480px;
    right: -170px;
    top: -210px;
    background: rgba(103, 87, 245, .20);
}

.fl-promo__copy { position: relative; z-index: 2; }

.fl-promo__badge {
    display: inline-flex;
    min-height: 34px;
    padding: 0 13px;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(103, 87, 245, .20);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: #5143de;
    font-size: 12px;
    font-weight: 660;
    letter-spacing: .095em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.fl-promo__badge i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--fl-accent);
    box-shadow: 0 0 0 5px rgba(185, 243, 74, .23);
    animation: fl-promo-pulse 2.4s ease-in-out infinite;
}

.fl-promo__copy h2 {
    max-width: 680px;
    margin: 24px 0 0;
    color: var(--fl-ink);
    font-size: clamp(43px, 5vw, 67px);
    font-weight: 620;
    line-height: 1.01;
    letter-spacing: -.052em;
}

.fl-promo__copy h2 strong {
    display: inline-block;
    color: #6757f5;
    font-size: 1.05em;
    font-weight: 760;
    white-space: nowrap;
}

.fl-promo__copy > p {
    max-width: 610px;
    margin: 23px 0 0;
    color: var(--fl-muted);
    font-size: 17px;
    line-height: 1.65;
}

.fl-promo__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 31px;
}

.fl-promo__button {
    display: inline-flex;
    min-height: 54px;
    padding: 0 21px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
    transition: transform .24s ease, box-shadow .24s ease, background .24s ease, border-color .24s ease;
}

.fl-promo__button:hover { transform: translateY(-2px); }
.fl-promo__button:focus-visible { outline: 3px solid rgba(103, 87, 245, .28); outline-offset: 3px; }
.fl-promo__button--primary { background: #6757f5; color: #fff; box-shadow: 0 15px 34px rgba(103, 87, 245, .26); }
.fl-promo__button--primary:hover { background: #5143de; box-shadow: 0 19px 42px rgba(103, 87, 245, .34); }
.fl-promo__button--secondary { border-color: rgba(103, 87, 245, .18); background: rgba(255, 255, 255, .68); color: var(--fl-ink); }
.fl-promo__button--secondary:hover { border-color: rgba(103, 87, 245, .34); background: #fff; }

.fl-promo__date {
    display: flex;
    margin-top: 22px;
    align-items: center;
    gap: 9px;
    color: #6e7482;
    font-size: 12px;
    font-weight: 560;
}

.fl-promo__date svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: none;
    stroke: #6757f5;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fl-promo__visual {
    position: relative;
    display: grid;
    min-height: 398px;
    place-items: center;
    padding: 46px 34px 34px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 30px;
    background:
        radial-gradient(circle at 18% 18%, rgba(185, 243, 74, .24), transparent 30%),
        linear-gradient(145deg, #7565fa, #5746dd 70%, #4635c7);
    box-shadow: 0 28px 70px rgba(63, 48, 177, .27);
    color: #fff;
    isolation: isolate;
}

.fl-promo__visual::before,
.fl-promo__visual::after {
    content: "";
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.fl-promo__visual::before { width: 330px; height: 330px; right: -150px; top: -160px; }
.fl-promo__visual::after { width: 210px; height: 210px; right: -90px; top: -100px; }

.fl-promo__zero {
    position: absolute;
    left: 28px;
    top: 7px;
    display: flex;
    align-items: flex-start;
    color: rgba(255, 255, 255, .17);
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.fl-promo__zero strong { font-size: 176px; font-weight: 780; letter-spacing: -.09em; }
.fl-promo__zero span { margin: 23px 0 0 6px; font-size: 50px; font-weight: 720; }

.fl-promo-receipt {
    position: relative;
    z-index: 2;
    width: min(100%, 330px);
    margin: 96px 0 0 auto;
    padding: 23px;
    border: 1px solid rgba(255, 255, 255, .50);
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    color: #171923;
    box-shadow: 0 25px 58px rgba(34, 22, 112, .30);
    backdrop-filter: blur(16px);
    transform: rotate(-2deg);
    transition: transform .3s ease;
}

.fl-promo__visual:hover .fl-promo-receipt { transform: rotate(0) translateY(-3px); }
.fl-promo-receipt header,
.fl-promo-receipt > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.fl-promo-receipt header { padding-bottom: 17px; border-bottom: 1px solid #e6e5ef; }
.fl-promo-receipt header span { font-size: 13px; font-weight: 650; }
.fl-promo-receipt header b { padding: 6px 8px; border-radius: 8px; background: #effbd9; color: #3f5a19; font-size: 10px; letter-spacing: .08em; }
.fl-promo-receipt > div { padding: 17px 0; color: #717684; font-size: 12px; }
.fl-promo-receipt > div strong { color: #252832; font-size: 13px; }
.fl-promo-receipt .fl-promo-receipt__total { border-top: 1px dashed #d9d8e3; color: #5143de; }
.fl-promo-receipt .fl-promo-receipt__total strong { color: #5143de; font-size: 29px; letter-spacing: -.04em; }
.fl-promo-receipt footer { display: flex; padding-top: 15px; align-items: center; gap: 8px; border-top: 1px solid #e6e5ef; color: #626877; font-size: 11px; font-weight: 570; }
.fl-promo-receipt footer span { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: #effbd9; color: #42601a; font-size: 11px; font-weight: 720; }

html[data-theme="dark"] .fl-promo { background: #101217; }
html[data-theme="dark"] .fl-promo__panel {
    border-color: rgba(139, 124, 255, .22);
    background: linear-gradient(135deg, rgba(27, 30, 39, .98), rgba(31, 27, 55, .94));
    box-shadow: 0 32px 95px rgba(0, 0, 0, .32);
}
html[data-theme="dark"] .fl-promo__panel::before { opacity: .18; }
html[data-theme="dark"] .fl-promo__glow--lime { background: rgba(185, 243, 74, .12); }
html[data-theme="dark"] .fl-promo__glow--violet { background: rgba(139, 124, 255, .18); }
html[data-theme="dark"] .fl-promo__badge { border-color: rgba(139, 124, 255, .34); background: rgba(30, 33, 43, .76); color: #d0caff; }
html[data-theme="dark"] .fl-promo__copy h2 strong { color: #a89dff; }
html[data-theme="dark"] .fl-promo__button--primary { background: #7969f7; box-shadow: 0 15px 38px rgba(0, 0, 0, .28); }
html[data-theme="dark"] .fl-promo__button--primary:hover { background: #8b7cff; }
html[data-theme="dark"] .fl-promo__button--secondary { border-color: #414654; background: rgba(29, 33, 42, .72); color: #f2f4fa; }
html[data-theme="dark"] .fl-promo__button--secondary:hover { border-color: #5d5487; background: #272b35; }
html[data-theme="dark"] .fl-promo__date { color: #a8afbd; }
html[data-theme="dark"] .fl-promo__date svg { stroke: #b8afff; }
html[data-theme="dark"] .fl-promo__visual { border-color: rgba(139, 124, 255, .32); background: radial-gradient(circle at 18% 18%, rgba(185, 243, 74, .15), transparent 30%), linear-gradient(145deg, #5547bd, #342b7e 72%, #26205f); box-shadow: 0 28px 75px rgba(0, 0, 0, .36); }
html[data-theme="dark"] .fl-promo-receipt { border-color: #454a57; background: rgba(25, 28, 36, .96); color: #f2f4fa; box-shadow: 0 26px 60px rgba(0, 0, 0, .34); }
html[data-theme="dark"] .fl-promo-receipt header,
html[data-theme="dark"] .fl-promo-receipt footer { border-color: #3a3f4b; }
html[data-theme="dark"] .fl-promo-receipt header b,
html[data-theme="dark"] .fl-promo-receipt footer span { background: #29351f; color: #c3ef77; }
html[data-theme="dark"] .fl-promo-receipt > div { color: #a8afbd; }
html[data-theme="dark"] .fl-promo-receipt > div strong { color: #eef0f5; }
html[data-theme="dark"] .fl-promo-receipt .fl-promo-receipt__total { border-color: #454a57; color: #c9c2ff; }
html[data-theme="dark"] .fl-promo-receipt .fl-promo-receipt__total strong { color: #c9c2ff; }
html[data-theme="dark"] .fl-promo-receipt footer { color: #b3b9c4; }

@keyframes fl-promo-pulse {
    0%, 100% { box-shadow: 0 0 0 5px rgba(185, 243, 74, .18); }
    50% { box-shadow: 0 0 0 8px rgba(185, 243, 74, .08); }
}

@media (max-width: 1040px) {
    .fl-promo__panel { grid-template-columns: 1fr; gap: 46px; }
    .fl-promo__visual { width: min(100%, 590px); }
}

@media (max-width: 700px) {
    .fl-promo { padding: 34px 0 58px; }
    .fl-promo__panel { min-height: 0; padding: 31px 20px 20px; gap: 34px; border-radius: 27px; }
    .fl-promo__copy h2 { margin-top: 20px; font-size: clamp(39px, 11vw, 52px); }
    .fl-promo__copy > p { margin-top: 18px; font-size: 15px; }
    .fl-promo__actions { display: grid; margin-top: 25px; }
    .fl-promo__button { width: 100%; min-height: 51px; }
    .fl-promo__date { align-items: flex-start; line-height: 1.5; }
    .fl-promo__visual { min-height: 350px; padding: 32px 18px 18px; border-radius: 23px; }
    .fl-promo__zero { left: 18px; top: 10px; }
    .fl-promo__zero strong { font-size: 140px; }
    .fl-promo__zero span { margin-top: 18px; font-size: 42px; }
    .fl-promo-receipt { margin-top: 88px; padding: 19px; transform: rotate(-1deg); }
}

@media (prefers-reduced-motion: reduce) {
    .fl-promo__badge i { animation: none; }
    .fl-promo-receipt,
    .fl-promo__button { transition: none; }
}

/* categories.css */
.fl-categories { background: #fff; }
.fl-categories__head { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr); gap: 60px; align-items: end; }
.fl-categories__head .fl-section-copy { margin: 0 0 5px; }
.fl-category-grid { display: grid; margin-top: 50px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.fl-category-card { --spot-x: 50%; --spot-y: 50%; position: relative; display: flex; min-height: 260px; padding: 25px; overflow: hidden; flex-direction: column; border: 1px solid var(--fl-line); border-radius: var(--fl-radius); background: #fafbfe; color: var(--fl-ink); text-decoration: none; isolation: isolate; transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.fl-category-card::before { content: ""; position: absolute; z-index: -1; width: 220px; height: 220px; left: calc(var(--spot-x) - 110px); top: calc(var(--spot-y) - 110px); border-radius: 50%; background: radial-gradient(circle, rgba(103,87,245,.18), transparent 66%); opacity: 0; transition: opacity .25s ease; }
.fl-category-card:hover { border-color: rgba(103,87,245,.24); box-shadow: 0 22px 55px rgba(44,38,98,.09); transform: translateY(-5px); }
.fl-category-card:hover::before { opacity: 1; }
.fl-category-card__icon { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 16px; background: #eeeefe; color: var(--fl-primary-deep); font-size: 17px; font-weight: 650; letter-spacing: -.03em; transition: transform .28s ease; }
.fl-category-card:hover .fl-category-card__icon { transform: rotate(-6deg) scale(1.07); }
.fl-category-card--1 .fl-category-card__icon, .fl-category-card--4 .fl-category-card__icon { background: #effbd9; color: #344919; }
.fl-category-card--2 .fl-category-card__icon, .fl-category-card--5 .fl-category-card__icon { background: #fff0e8; color: #a34d23; }
.fl-category-card__arrow { position: absolute; top: 25px; right: 25px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--fl-line); border-radius: 50%; background: rgba(255,255,255,.7); font-size: 14px; transition: color .25s ease, background .25s ease, transform .25s ease; }
.fl-category-card:hover .fl-category-card__arrow { background: var(--fl-ink); color: #fff; transform: rotate(45deg); }
.fl-category-card h3 { margin: auto 0 8px; font-size: 21px; font-weight: 640; line-height: 1.25; letter-spacing: -.02em; }
.fl-category-card p { min-height: 49px; margin: 0; color: var(--fl-muted); font-size: 15px; line-height: 1.6; }
.fl-category-card__meta { margin-top: 14px; color: #767c8b; font-size: 12px; font-weight: 570; text-transform: uppercase; letter-spacing: .065em; }

@media (max-width: 900px) {
    .fl-categories__head { grid-template-columns: 1fr; gap: 18px; }
    .fl-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
    .fl-category-grid { margin-top: 34px; grid-template-columns: 1fr; }
    .fl-category-card { min-height: 215px; }
}

/* video-meetings.css */
.fl-video-meetings {
    overflow: hidden;
    padding: 28px 0 112px;
    background: #fff;
}

.fl-video-meetings__panel {
    position: relative;
    display: grid;
    min-height: 660px;
    padding: 62px;
    overflow: hidden;
    grid-template-columns: minmax(0, .84fr) minmax(520px, 1.16fr);
    gap: 58px;
    align-items: center;
    border: 1px solid rgba(103, 87, 245, .17);
    border-radius: 38px;
    background:
        radial-gradient(circle at 7% 96%, rgba(185, 243, 74, .17), transparent 28%),
        linear-gradient(135deg, #faf9ff 0%, #f4f1ff 56%, #f9fbff 100%);
    box-shadow: 0 32px 100px rgba(46, 38, 113, .12);
    isolation: isolate;
}

.fl-video-meetings__panel::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background-image: radial-gradient(rgba(103, 87, 245, .18) .7px, transparent .7px);
    background-size: 17px 17px;
    mask-image: linear-gradient(110deg, #000 0, transparent 48%);
    opacity: .26;
}

.fl-video-meetings__glow {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(4px);
}

.fl-video-meetings__glow--violet {
    width: 520px;
    height: 520px;
    right: -230px;
    top: -260px;
    background: rgba(103, 87, 245, .18);
}

.fl-video-meetings__glow--lime {
    width: 320px;
    height: 320px;
    left: -190px;
    bottom: -210px;
    background: rgba(185, 243, 74, .27);
}

.fl-video-meetings__copy {
    position: relative;
    z-index: 3;
}

.fl-video-meetings__kicker {
    display: inline-flex;
    min-height: 36px;
    padding: 0 13px;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(103, 87, 245, .20);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: #5143de;
    font-size: 12px;
    font-weight: 680;
    letter-spacing: .09em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.fl-video-meetings__kicker svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fl-video-meetings__copy h2 {
    max-width: 560px;
    margin: 25px 0 0;
    color: var(--fl-ink);
    font-size: clamp(43px, 4.5vw, 63px);
    font-weight: 620;
    line-height: 1.02;
    letter-spacing: -.052em;
}

.fl-video-meetings__copy h2 strong {
    display: block;
    color: #6757f5;
    font-weight: 760;
}

.fl-video-meetings__description {
    max-width: 560px;
    margin: 23px 0 0;
    color: var(--fl-muted);
    font-size: 16px;
    line-height: 1.65;
}

.fl-video-meetings__features {
    display: grid;
    max-width: 560px;
    margin: 28px 0 0;
    padding: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    list-style: none;
}

.fl-video-meetings__features li {
    display: flex;
    min-height: 54px;
    padding: 11px 13px;
    align-items: center;
    gap: 11px;
    border: 1px solid rgba(103, 87, 245, .12);
    border-radius: 15px;
    background: rgba(255, 255, 255, .66);
    color: #292c37;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.3;
    backdrop-filter: blur(12px);
}

.fl-video-meetings__features svg {
    width: 31px;
    height: 31px;
    flex: 0 0 auto;
    padding: 7px;
    border-radius: 10px;
    background: #ece9ff;
    fill: none;
    stroke: #6757f5;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fl-video-meetings__features li:nth-child(2) svg,
.fl-video-meetings__features li:nth-child(4) svg {
    background: #effbd9;
    stroke: #49651e;
}

.fl-video-meetings__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 29px;
}

.fl-video-meetings__button {
    display: inline-flex;
    min-height: 53px;
    padding: 0 20px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 670;
    line-height: 1;
    text-decoration: none;
    transition: transform .24s ease, box-shadow .24s ease, background-color .24s ease, border-color .24s ease;
}

.fl-video-meetings__button:hover { transform: translateY(-2px); }
.fl-video-meetings__button:focus-visible { outline: 3px solid rgba(103, 87, 245, .30); outline-offset: 3px; }
.fl-video-meetings__button--primary { background: #6757f5; color: #fff; box-shadow: 0 16px 36px rgba(103, 87, 245, .25); }
.fl-video-meetings__button--primary:hover { background: #5143de; box-shadow: 0 20px 44px rgba(103, 87, 245, .34); }
.fl-video-meetings__button--secondary { border-color: rgba(103, 87, 245, .18); background: rgba(255, 255, 255, .72); color: var(--fl-ink); }
.fl-video-meetings__button--secondary:hover { border-color: rgba(103, 87, 245, .35); background: #fff; }

.fl-video-meetings__note {
    display: flex;
    margin: 18px 0 0;
    align-items: center;
    gap: 8px;
    color: #717786;
    font-size: 11px;
    font-weight: 570;
    line-height: 1.45;
}

.fl-video-meetings__note svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    padding: 3px;
    border-radius: 50%;
    background: #effbd9;
    fill: none;
    stroke: #47621e;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fl-video-meetings__visual {
    position: relative;
    z-index: 2;
    min-width: 0;
    min-height: 556px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 32px;
    background:
        radial-gradient(circle at 18% 15%, rgba(103, 87, 245, .25), transparent 31%),
        radial-gradient(circle at 84% 86%, rgba(185, 243, 74, .10), transparent 27%),
        #0d1118;
    box-shadow: 0 30px 75px rgba(28, 23, 76, .30);
}

.fl-video-meetings__visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(to bottom, #000, transparent 75%);
    pointer-events: none;
}

.fl-video-meetings__frame {
    position: relative;
    z-index: 2;
    width: calc(100% - 44px);
    margin: 78px 22px 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 23px;
    background: #141922;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .38);
    transform: perspective(900px) rotateY(-1.5deg) rotateX(.5deg);
    transform-origin: center;
    transition: transform .35s ease;
}

.fl-video-meetings__visual:hover .fl-video-meetings__frame { transform: perspective(900px) rotateY(0) rotateX(0) translateY(-2px); }

.fl-video-meetings__frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1400 / 895;
    object-fit: cover;
}

.fl-video-meetings__live {
    position: absolute;
    z-index: 5;
    top: 24px;
    left: 24px;
    display: flex;
    min-height: 36px;
    padding: 0 12px;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    background: rgba(16, 20, 28, .78);
    color: #eef0f5;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    backdrop-filter: blur(16px);
}

.fl-video-meetings__live i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #b9f34a;
    box-shadow: 0 0 0 5px rgba(185, 243, 74, .13), 0 0 18px rgba(185, 243, 74, .44);
    animation: fl-video-meetings-live 2.4s ease-in-out infinite;
}

.fl-video-meetings__live b {
    padding-left: 8px;
    border-left: 1px solid rgba(255, 255, 255, .15);
    color: #aeb5c2;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .03em;
}

.fl-video-meetings__context {
    position: absolute;
    z-index: 5;
    left: 24px;
    bottom: 27px;
    display: flex;
    min-height: 50px;
    max-width: 280px;
    padding: 10px 13px;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 15px;
    background: rgba(17, 21, 29, .82);
    color: #e8ebf1;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .24);
    font-size: 11px;
    font-weight: 630;
    line-height: 1.35;
    backdrop-filter: blur(16px);
}

.fl-video-meetings__context svg {
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    padding: 6px;
    border-radius: 9px;
    background: rgba(185, 243, 74, .14);
    fill: none;
    stroke: #c9f878;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fl-video-meetings__share {
    position: absolute;
    z-index: 6;
    right: 18px;
    bottom: 18px;
    width: 190px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 21px;
    background: #171c25;
    box-shadow: 0 24px 58px rgba(0, 0, 0, .42);
    transform: rotate(2.2deg);
    transition: transform .3s ease;
}

.fl-video-meetings__share:hover { transform: rotate(0) translateY(-4px); }

.fl-video-meetings__share img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
}

.fl-video-meetings__share > span {
    position: absolute;
    right: 9px;
    bottom: 9px;
    display: flex;
    min-height: 30px;
    padding: 0 10px;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    background: rgba(14, 18, 25, .82);
    color: #f1f3f7;
    font-size: 9px;
    font-weight: 680;
    letter-spacing: .03em;
    backdrop-filter: blur(12px);
}

.fl-video-meetings__share > span svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #c9f878;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

html[data-theme="dark"] .fl-video-meetings { background: #101217; }
html[data-theme="dark"] .fl-video-meetings__panel {
    border-color: rgba(139, 124, 255, .22);
    background:
        radial-gradient(circle at 7% 96%, rgba(185, 243, 74, .08), transparent 28%),
        linear-gradient(135deg, #1b1e27 0%, #211d38 58%, #181b24 100%);
    box-shadow: 0 32px 100px rgba(0, 0, 0, .32);
}
html[data-theme="dark"] .fl-video-meetings__panel::before { opacity: .14; }
html[data-theme="dark"] .fl-video-meetings__glow--violet { background: rgba(139, 124, 255, .15); }
html[data-theme="dark"] .fl-video-meetings__glow--lime { background: rgba(185, 243, 74, .10); }
html[data-theme="dark"] .fl-video-meetings__kicker { border-color: rgba(139, 124, 255, .32); background: rgba(28, 31, 41, .72); color: #cdc7ff; }
html[data-theme="dark"] .fl-video-meetings__copy h2 strong { color: #a89dff; }
html[data-theme="dark"] .fl-video-meetings__description { color: #b7bdc9; }
html[data-theme="dark"] .fl-video-meetings__features li { border-color: #393e4b; background: rgba(27, 30, 39, .72); color: #eef0f5; }
html[data-theme="dark"] .fl-video-meetings__features svg { background: #302c4b; stroke: #c9c2ff; }
html[data-theme="dark"] .fl-video-meetings__features li:nth-child(2) svg,
html[data-theme="dark"] .fl-video-meetings__features li:nth-child(4) svg { background: #29351f; stroke: #c7ef7e; }
html[data-theme="dark"] .fl-video-meetings__button--primary { background: #7969f7; box-shadow: 0 16px 38px rgba(0, 0, 0, .28); }
html[data-theme="dark"] .fl-video-meetings__button--primary:hover { background: #8b7cff; }
html[data-theme="dark"] .fl-video-meetings__button--secondary { border-color: #414654; background: rgba(29, 33, 42, .74); color: #f2f4fa; }
html[data-theme="dark"] .fl-video-meetings__button--secondary:hover { border-color: #5d5487; background: #272b35; }
html[data-theme="dark"] .fl-video-meetings__note { color: #a8afbd; }
html[data-theme="dark"] .fl-video-meetings__note svg { background: #29351f; stroke: #c3ef77; }

@keyframes fl-video-meetings-live {
    0%, 100% { box-shadow: 0 0 0 5px rgba(185, 243, 74, .13), 0 0 18px rgba(185, 243, 74, .32); }
    50% { box-shadow: 0 0 0 8px rgba(185, 243, 74, .06), 0 0 22px rgba(185, 243, 74, .50); }
}

@media (max-width: 1140px) {
    .fl-video-meetings__panel { padding: 52px; grid-template-columns: 1fr; gap: 48px; }
    .fl-video-meetings__copy { max-width: 780px; }
    .fl-video-meetings__copy h2,
    .fl-video-meetings__description,
    .fl-video-meetings__features { max-width: 720px; }
    .fl-video-meetings__visual { min-height: 620px; }
    .fl-video-meetings__frame { width: calc(100% - 70px); margin-inline: 35px; }
    .fl-video-meetings__share { width: 220px; }
}

@media (max-width: 700px) {
    .fl-video-meetings { padding: 18px 0 62px; }
    .fl-video-meetings__panel { min-height: 0; padding: 31px 20px 20px; gap: 34px; border-radius: 27px; }
    .fl-video-meetings__copy h2 { margin-top: 21px; font-size: clamp(39px, 11vw, 51px); }
    .fl-video-meetings__description { margin-top: 18px; font-size: 15px; }
    .fl-video-meetings__features { margin-top: 23px; gap: 8px; }
    .fl-video-meetings__features li { min-height: 52px; padding: 9px; gap: 8px; font-size: 11px; }
    .fl-video-meetings__features svg { width: 29px; height: 29px; }
    .fl-video-meetings__actions { display: grid; margin-top: 24px; }
    .fl-video-meetings__button { width: 100%; min-height: 51px; }
    .fl-video-meetings__note { align-items: flex-start; }
    .fl-video-meetings__visual { min-height: 436px; border-radius: 23px; }
    .fl-video-meetings__frame { width: calc(100% - 20px); margin: 66px 10px 0; border-radius: 17px; transform: none; }
    .fl-video-meetings__live { top: 17px; left: 15px; min-height: 33px; padding-inline: 10px; }
    .fl-video-meetings__context { left: 14px; bottom: 17px; min-height: 43px; max-width: calc(100% - 145px); padding: 8px 9px; gap: 7px; font-size: 9px; }
    .fl-video-meetings__context svg { width: 25px; height: 25px; }
    .fl-video-meetings__share { right: 9px; bottom: 9px; width: 125px; border-radius: 16px; transform: rotate(1.3deg); }
    .fl-video-meetings__share > span { right: 6px; bottom: 6px; min-height: 26px; padding-inline: 8px; font-size: 8px; }
}

@media (max-width: 390px) {
    .fl-video-meetings__features { grid-template-columns: 1fr; }
    .fl-video-meetings__visual { min-height: 400px; }
    .fl-video-meetings__live b { display: none; }
    .fl-video-meetings__context { max-width: calc(100% - 126px); }
    .fl-video-meetings__share { width: 112px; }
}

@media (prefers-reduced-motion: reduce) {
    .fl-video-meetings__live i { animation: none; }
    .fl-video-meetings__frame,
    .fl-video-meetings__share,
    .fl-video-meetings__button { transition: none; }
}

/* projects.css */
.fl-projects { overflow: hidden; background: var(--fl-ink); color: #fff; }
.fl-projects .fl-section-title { color: #fff; }
.fl-projects .fl-kicker { color: var(--fl-accent); }
.fl-projects .fl-section-copy { color: #aeb2bf; }
.fl-projects__ticker { position: absolute; top: 0; left: 0; width: 100%; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.28); font-size: 12px; font-weight: 580; letter-spacing: .15em; white-space: nowrap; }
.fl-projects__ticker div { display: flex; width: max-content; will-change: transform; animation: fl-ticker 24s linear infinite; }
.fl-projects__ticker span { display: block; flex: 0 0 auto; padding: 15px 0; }
.fl-projects__ticker i { margin: 0 23px; color: var(--fl-accent); font-style: normal; }
.fl-projects__head { display: grid; margin-top: 10px; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .7fr); gap: 70px; align-items: end; }
.fl-projects__head .fl-section-copy { margin: 0; }
.fl-projects__head .fl-button { margin-top: 26px; }
.fl-button--lime { background: var(--fl-accent); color: #18200e; box-shadow: 0 16px 36px rgba(185,243,74,.12); }
.fl-button--lime:hover { background: #ccff6c; box-shadow: 0 20px 42px rgba(185,243,74,.18); }
.fl-project-list { margin-top: 55px; border-top: 1px solid rgba(255,255,255,.13); }
.fl-project-row { display: grid; min-height: 176px; padding: 27px 0; grid-template-columns: 56px minmax(0, 1fr) auto 48px; align-items: center; gap: 22px; border-bottom: 1px solid rgba(255,255,255,.13); transition: background .25s ease, padding .25s ease; }
.fl-project-row:hover { padding-inline: 15px; background: rgba(255,255,255,.035); }
.fl-project-row__number { align-self: start; padding-top: 4px; color: #8b8f9a; font-size: 12px; font-weight: 580; }
.fl-project-row__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 15px; }
.fl-project-row__category { color: var(--fl-accent); font-size: 12px; font-weight: 590; letter-spacing: .09em; text-transform: uppercase; }
.fl-project-row__eyebrow time { color: #8f95a2; font-size: 11px; font-weight: 540; }
.fl-project-row h3 { max-width: 590px; margin: 10px 0 15px; color: #fff; font-size: 24px; font-weight: 620; line-height: 1.28; letter-spacing: -.02em; }
.fl-project-row__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fl-project-row__tags span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #c7cad2; font-size: 12px; }
.fl-project-row__facts { display: flex; gap: 40px; }
.fl-project-row__facts span { display: grid; min-width: 110px; gap: 6px; }
.fl-project-row__facts small { color: #aeb2bf; font-size: 12px; }
.fl-project-row__facts strong { color: #f2f3f6; font-size: 14px; font-weight: 620; white-space: nowrap; }
.fl-project-row > a { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; color: #fff; text-decoration: none; transition: background .22s ease, color .22s ease, transform .22s ease; }
.fl-project-row > a:hover { background: var(--fl-accent); color: var(--fl-ink); transform: rotate(45deg); }
.fl-projects__note { display: flex; margin: 17px 0 0; align-items: center; gap: 9px; color: #bfc3ce; font-size: 12px; }
.fl-projects__note i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--fl-accent); box-shadow: 0 0 0 5px rgba(185,243,74,.10); }
.fl-projects__empty { display: grid; min-height: 190px; margin-top: 55px; padding: 30px; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 22px; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: rgba(255,255,255,.035); }
.fl-projects__empty > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; background: rgba(185,243,74,.12); color: var(--fl-accent); font-size: 20px; }
.fl-projects__empty h3 { margin: 0; color: #fff; font-size: 23px; font-weight: 620; letter-spacing: -.025em; }
.fl-projects__empty p { margin: 8px 0 0; color: #aeb2bf; font-size: 14px; line-height: 1.6; }
.fl-projects__empty > a { display: inline-flex; min-height: 48px; padding: 0 18px; align-items: center; justify-content: center; gap: 10px; border-radius: 14px; background: var(--fl-accent); color: #18200e; font-size: 13px; font-weight: 660; text-decoration: none; }
.fl-projects__empty > a:hover { background: #ccff6c; }
@keyframes fl-ticker { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }

@media (max-width: 900px) {
    .fl-projects__head { grid-template-columns: 1fr; gap: 20px; }
    .fl-project-row { grid-template-columns: 38px minmax(0,1fr) 43px; }
    .fl-project-row__facts { grid-column: 2; grid-row: 2; }
    .fl-project-row > a { grid-column: 3; grid-row: 1 / 3; }
    .fl-projects__empty { grid-template-columns: 48px minmax(0,1fr); }
    .fl-projects__empty > a { grid-column: 2; justify-self: start; }
}
@media (max-width: 620px) {
    .fl-project-row { min-height: 0; padding: 25px 0; grid-template-columns: 1fr 40px; gap: 16px; }
    .fl-project-row__number { display: none; }
    .fl-project-row__facts { grid-column: 1; grid-row: 2; gap: 15px; }
    .fl-project-row__facts span { min-width: 0; }
    .fl-project-row > a { grid-column: 2; grid-row: 1 / 3; }
    .fl-project-row h3 { font-size: 20px; }
    .fl-project-row__eyebrow { display: grid; gap: 7px; }
    .fl-projects__empty { padding: 23px 20px; grid-template-columns: 1fr; }
    .fl-projects__empty > span { width: 43px; height: 43px; }
    .fl-projects__empty > a { grid-column: 1; width: 100%; justify-self: stretch; }
}

/* project-safety.css */
.fl-safety{color:var(--fl-ink)}
.fl-safety *{box-sizing:border-box}.fl-safety h2,.fl-safety h3,.fl-safety p{margin:0}
.fl-safety__panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px 68px;padding:48px;border:1px solid var(--fl-line);border-radius:18px;background:linear-gradient(125deg,rgba(135,115,255,.08),transparent 60%),var(--fl-surface)}
.fl-safety__intro{align-self:center}.fl-safety__kicker{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:var(--fl-primary);font-size:12px;letter-spacing:.02em}.fl-safety svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.fl-safety h2{max-width:600px;font-size:clamp(30px,3.8vw,50px);line-height:1.12;font-weight:450;letter-spacing:-.045em}.fl-safety__intro>p{max-width:580px;margin-top:23px;color:var(--fl-muted);font-size:16px;line-height:1.8}
.fl-safety__link{display:inline-flex;align-items:center;gap:16px;color:var(--fl-primary);font-size:14px;font-weight:500;text-decoration:none;line-height:1.5;white-space:nowrap}.fl-safety__link:hover{text-decoration:underline;text-underline-offset:5px}.fl-safety__link:focus-visible{outline:2px solid var(--fl-primary);outline-offset:6px}.fl-safety__intro>.fl-safety__link{margin-top:25px}.fl-safety__footnote{display:block;margin-top:18px;max-width:380px;color:var(--fl-muted);font-size:12px;line-height:1.6}
.fl-safety__flow{display:grid;gap:12px;list-style:none;padding:0;margin:0}.fl-safety__flow li{display:grid;grid-template-columns:28px minmax(0,1fr) 26px;gap:15px;align-items:start;padding:24px;border:1px solid var(--fl-line);border-radius:12px;background:var(--fl-bg)}.fl-safety__number{padding-top:3px;color:var(--fl-primary);font-size:12px;font-weight:500}.fl-safety__flow small{display:block;margin-bottom:8px;font-size:10px;line-height:1.5;color:var(--fl-muted);letter-spacing:.06em;text-transform:uppercase}.fl-safety__flow h3{font-size:19px;font-weight:500;letter-spacing:-.025em;line-height:1.3}.fl-safety__flow p{margin-top:9px;font-size:13px;line-height:1.75;color:var(--fl-muted)}.fl-safety__flow svg{margin-top:2px;color:var(--fl-primary)}
.fl-safety__dispute{grid-column:1/-1;display:flex;align-items:center;gap:22px;padding-top:30px;border-top:1px solid var(--fl-line)}.fl-safety__dispute-icon{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border:1px solid var(--fl-line);border-radius:10px;color:var(--fl-primary);background:var(--fl-bg)}.fl-safety__dispute>div{flex:1;min-width:0}.fl-safety__dispute h3{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.02em}.fl-safety__dispute p{margin-top:8px;font-size:13px;line-height:1.8;color:var(--fl-muted);max-width:850px}
@media(max-width:1000px){.fl-safety__panel{gap:30px;padding:32px}.fl-safety__flow li{padding:20px;gap:10px}.fl-safety__dispute{align-items:flex-start;flex-wrap:wrap}.fl-safety__dispute>.fl-safety__link{margin-left:72px}}
@media(max-width:720px){
    .fl-safety__panel{grid-template-columns:1fr;padding:24px;gap:28px;border-radius:14px}
    .fl-safety__intro>p{font-size:15px;margin-top:18px}
    .fl-safety__kicker{font-size:11px;margin-bottom:19px}
    .fl-safety__flow li{padding:19px 16px;grid-template-columns:25px minmax(0,1fr) 23px}
    .fl-safety__flow h3{font-size:18px}
    /* Give the copy its own full-width row; icon and CTA must not squeeze it. */
    .fl-safety__dispute{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:start;gap:16px;padding-top:25px}
    .fl-safety__dispute-icon{width:42px;height:42px}
    .fl-safety__dispute>div{width:100%;min-width:0}
    .fl-safety__dispute h3{font-size:19px;line-height:1.4}
    .fl-safety__dispute p{font-size:14px;line-height:1.75}
    .fl-safety__dispute>.fl-safety__link{margin-left:0;max-width:100%;white-space:normal}
    .fl-safety__footnote{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.fl-safety *{scroll-behavior:auto!important}}

/* how.css */
.fl-how { background: #f6f7fb; }
.fl-how__layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(450px,1fr); gap: 84px; align-items: start; }
.fl-how__intro { position: sticky; top: 120px; }
.fl-how__switch { display: inline-flex; margin-top: 30px; padding: 5px; border: 1px solid var(--fl-line); border-radius: 14px; background: #fff; box-shadow: 0 12px 35px rgba(38,38,76,.06); }
.fl-how__switch button { min-height: 46px; padding: 0 20px; border: 0; border-radius: 10px; background: transparent; color: var(--fl-muted); font: 600 14px/1 "Manrope", sans-serif; cursor: pointer; transition: color .2s ease, background .2s ease, box-shadow .2s ease; }
.fl-how__switch button[aria-selected="true"] { background: var(--fl-ink); color: #fff; box-shadow: 0 7px 18px rgba(17,19,26,.18); }
.fl-how__visual { position: relative; display: flex; width: min(450px,100%); min-height: 116px; margin-top: 52px; padding: 18px; align-items: center; justify-content: space-between; border: 1px solid var(--fl-line); border-radius: 24px; background: rgba(255,255,255,.6); overflow: hidden; }
.fl-how__idea, .fl-how__result { position: relative; z-index: 2; display: grid; width: 84px; height: 80px; place-items: center; gap: 3px; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(49,45,99,.09); }
.fl-how__idea span, .fl-how__result span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 10px; background: #f0efff; color: var(--fl-primary); font-size: 13px; }
.fl-how__result span { background: #effbd9; color: #3f5a18; }
.fl-how__idea strong, .fl-how__result strong { font-size: 12px; font-weight: 620; }
.fl-how__path { position: absolute; left: 95px; right: 95px; top: 50%; height: 1px; background: linear-gradient(90deg,#7868f6,#b9f34a); }
.fl-how__path i { position: absolute; top: -4px; left: 0; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: var(--fl-primary); box-shadow: 0 0 0 3px rgba(103,87,245,.14); opacity: 0; will-change: left, transform, opacity; animation: fl-path-dot 4s linear infinite; }
.fl-how__path i:nth-child(2) { animation-delay: -1.35s; }
.fl-how__path i:nth-child(3) { animation-delay: -2.7s; }
.fl-how__panel { display: grid; gap: 12px; }
.fl-how__panel[hidden] { display: none; }
.fl-step { display: grid; min-height: 164px; padding: 29px; grid-template-columns: 55px 1fr; gap: 19px; border: 1px solid var(--fl-line); border-radius: var(--fl-radius); background: #fff; box-shadow: 0 14px 45px rgba(49,46,93,.05); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.fl-step:hover { border-color: rgba(103,87,245,.24); box-shadow: 0 20px 55px rgba(49,46,93,.09); transform: translateX(6px); }
.fl-step__number { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 15px; background: #f0efff; color: var(--fl-primary-deep); font-size: 12px; font-weight: 630; }
.fl-step:nth-child(2) .fl-step__number { background: #effbd9; color: #3f5a18; }
.fl-step:nth-child(3) .fl-step__number { background: #fff0e8; color: #a34d23; }
.fl-step h3 { margin: 3px 0 9px; font-size: 21px; font-weight: 640; line-height: 1.25; letter-spacing: -.02em; }
.fl-step p { max-width: 440px; margin: 0; color: var(--fl-muted); font-size: 15px; line-height: 1.62; }
@keyframes fl-path-dot {
    0% { left: 0; opacity: 0; transform: scale(.72); }
    8% { opacity: 1; transform: scale(1); }
    88% { opacity: 1; transform: scale(1); }
    100% { left: calc(100% - 9px); opacity: 0; transform: scale(.72); }
}

@media (max-width: 960px) {
    .fl-how__layout { grid-template-columns: 1fr; gap: 40px; }
    .fl-how__intro { position: static; }
}
@media (max-width: 560px) {
    .fl-how__switch { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .fl-how__switch button { padding-inline: 10px; }
    .fl-how__visual { min-height: 100px; margin-top: 34px; }
    .fl-how__idea, .fl-how__result { width: 72px; height: 67px; }
    .fl-how__path { left: 80px; right: 80px; }
    .fl-step { min-height: 0; padding: 22px; grid-template-columns: 44px 1fr; gap: 14px; }
    .fl-step__number { width: 40px; height: 40px; }
}

/* value.css */
.fl-value { overflow: hidden; background: linear-gradient(180deg,#f6f7fb,#f3f1ff); }
.fl-value__layout { display: grid; grid-template-columns: minmax(420px,.9fr) minmax(0,1fr); gap: 86px; align-items: center; }
.fl-value__visual { position: relative; min-height: 590px; border: 1px solid rgba(103,87,245,.11); border-radius: 42px; background: radial-gradient(circle at 50% 45%,rgba(255,255,255,.95),rgba(243,241,255,.65) 60%,rgba(103,87,245,.06)); box-shadow: inset 0 0 70px rgba(255,255,255,.75); will-change: transform; animation: fl-value-visual-float 7.5s ease-in-out infinite; }
.fl-value__visual::before { content: ""; position: absolute; inset: 22px; border-radius: 30px; background-image: radial-gradient(rgba(103,87,245,.18) .7px,transparent .7px); background-size: 14px 14px; mask-image: linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent); opacity: .45; }
.fl-value__ring { position: absolute; left: 50%; top: 50%; border: 1px dashed rgba(103,87,245,.22); border-radius: 50%; transform: translate(-50%,-50%) rotate(0deg); animation: fl-value-spin 30s linear infinite; }
.fl-value__ring--outer { width: 390px; height: 390px; }
.fl-value__ring--inner { width: 255px; height: 255px; animation-direction: reverse; animation-duration: 21s; }
.fl-value__core { position: absolute; left: 50%; top: 50%; display: grid; width: 170px; height: 170px; place-items: center; align-content: center; gap: 8px; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: rgba(255,255,255,.88); box-shadow: 0 30px 70px rgba(59,49,143,.16); transform: translate(-50%,-50%); backdrop-filter: blur(12px); }
.fl-value__core .fl-brand__mark { width: 42px; height: 42px; }
.fl-value__core strong { font-size: 17px; font-weight: 630; letter-spacing: -.02em; }
.fl-value__core small { color: var(--fl-muted); font-size: 12px; }
.fl-value__satellite { position: absolute; z-index: 2; padding: 10px 14px; border: 1px solid rgba(255,255,255,.9); border-radius: 999px; background: rgba(255,255,255,.84); color: #555a69; font-size: 12px; font-weight: 570; box-shadow: 0 13px 35px rgba(42,38,90,.10); will-change: transform; animation: fl-value-satellite-float 5.5s ease-in-out infinite; }
.fl-value__satellite--one { left: 8%; top: 21%; }
.fl-value__satellite--two { right: 7%; top: 28%; animation-delay: -1.4s; }
.fl-value__satellite--three { left: 14%; bottom: 21%; animation-delay: -2.6s; }
.fl-value__satellite--four { right: 12%; bottom: 16%; animation-delay: -3.7s; }
.fl-value-list { display: grid; margin-top: 38px; grid-template-columns: 1fr 1fr; gap: 10px; }
.fl-value-list article { min-height: 186px; padding: 22px; border: 1px solid var(--fl-line); border-radius: 20px; background: rgba(255,255,255,.74); transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.fl-value-list article:hover { border-color: rgba(103,87,245,.24); background: #fff; transform: translateY(-4px); }
.fl-value-list article > span { display: inline-flex; padding: 6px 9px; border-radius: 8px; background: #efedff; color: var(--fl-primary-deep); font-size: 12px; font-weight: 590; letter-spacing: .045em; }
.fl-value-list h3 { margin: 30px 0 8px; font-size: 19px; font-weight: 630; line-height: 1.3; letter-spacing: -.015em; }
.fl-value-list p { margin: 0; color: var(--fl-muted); font-size: 14px; line-height: 1.62; }

@keyframes fl-value-visual-float { 0%,100% { transform: translate3d(0,0,0) rotate(-.25deg); } 50% { transform: translate3d(0,-12px,0) rotate(.25deg); } }
@keyframes fl-value-satellite-float { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-9px,0); } }
@keyframes fl-value-spin { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(360deg); } }

@media (max-width: 1040px) {
    .fl-value__layout { grid-template-columns: 1fr; gap: 50px; }
    .fl-value__visual { width: min(600px,100%); min-height: 500px; margin: 0 auto; }
}
@media (max-width: 560px) {
    .fl-value__visual { min-height: 390px; }
    .fl-value__ring--outer { width: 290px; height: 290px; }
    .fl-value__ring--inner { width: 200px; height: 200px; }
    .fl-value__core { box-sizing: border-box; width: 145px; height: 145px; grid-template-columns: minmax(0,1fr); padding: 14px; gap: 5px; text-align: center; }
    .fl-value__core .fl-brand__mark { width: 34px; height: 34px; }
    .fl-value__core strong { min-width: 0; width: 100%; font-size: 16px; line-height: 1.2; text-align: center; }
    .fl-value__core small { min-width: 0; max-width: 100%; font-size: 11px; line-height: 1.3; text-align: center; }
    .fl-value__satellite--one { left: 3%; }
    .fl-value__satellite--two { right: 2%; }
    .fl-value-list { grid-template-columns: 1fr; }
    .fl-value-list article { min-height: 150px; }
}

/* specialists.css */
.fl-specialists { background: #fff; }
.fl-specialists__head { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(300px,.7fr); gap: 60px; align-items: end; }
.fl-specialists__head .fl-section-copy { margin: 0 0 5px; }
.fl-specialists__filter { display: none; margin-top: 26px; padding: 13px 15px; border: 1px solid rgba(103,87,245,.16); border-radius: 13px; background: #f7f6ff; color: #5e54a4; font-size: 14px; font-weight: 570; }
.fl-specialists__filter.is-active { display: block; }
.fl-talent-grid { display: grid; margin-top: 50px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.fl-talent-card { min-width: 0; overflow: hidden; border: 1px solid var(--fl-line); border-radius: 26px; background: #fff; box-shadow: 0 16px 48px rgba(43,41,82,.06); transition: transform .28s ease, box-shadow .28s ease, opacity .55s ease; }
.fl-talent-card:hover { box-shadow: 0 26px 65px rgba(43,41,82,.12); transform: translateY(-6px); }
.fl-talent-card[hidden] { display: none; }
.fl-talent-card__cover { position: relative; height: 132px; overflow: hidden; background: linear-gradient(135deg,#ece9ff,#d7d1ff); }
.fl-talent-card__cover > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fl-talent-card__cover.has-image::after { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg,rgba(20,19,41,.02),rgba(20,19,41,.22)); }
.fl-talent-card--lime .fl-talent-card__cover { background: linear-gradient(135deg,#f2ffda,#d9f99b); }
.fl-talent-card--orange .fl-talent-card__cover { background: linear-gradient(135deg,#fff0e7,#ffd5bd); }
.fl-talent-card--blue .fl-talent-card__cover { background: linear-gradient(135deg,#e7f2ff,#c8e0ff); }
.fl-talent-card__body { padding: 0 24px 24px; }
.fl-talent-card__identity { position: relative; display: grid; margin-top: -28px; grid-template-columns: 58px minmax(0,1fr); gap: 12px; align-items: start; }
.fl-talent-card__identity > div:not(.fl-talent-avatar) { min-width: 0; padding-top: 34px; }
.fl-talent-avatar { position: relative; z-index: 3; display: grid; width: 58px; height: 58px; overflow: hidden; place-items: center; border: 4px solid #fff; border-radius: 19px; background: linear-gradient(145deg,#8c78ff,#5c49e6); color: #fff; font-size: 14px; font-weight: 600; box-shadow: 0 10px 25px rgba(55,45,136,.22); }
.fl-talent-avatar img { width: 100%; height: 100%; object-fit: cover; }
.fl-talent-card--lime .fl-talent-avatar { background: linear-gradient(145deg,#b9f34a,#75a719); color: #1c2908; box-shadow: 0 10px 25px rgba(91,129,21,.16); }
.fl-talent-card--orange .fl-talent-avatar { background: linear-gradient(145deg,#ff9d67,#db6331); }
.fl-talent-card--blue .fl-talent-avatar { background: linear-gradient(145deg,#77aef5,#3f73d2); }
.fl-talent-card__identity h3 { margin: 0 0 4px; font-size: 19px; font-weight: 590; letter-spacing: -.015em; }
.fl-talent-card__identity p { margin: 0; overflow-wrap: anywhere; color: var(--fl-muted); font-size: 12px; line-height: 1.4; }
.fl-talent-status { display: inline-flex; width: max-content; max-width: 100%; margin: 10px 0 0 70px; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 999px; background: #e9fbf4; color: #16825b; font-size: 11px; font-weight: 580; line-height: 1.3; }
.fl-talent-status i { width: 5px; height: 5px; border-radius: 50%; background: var(--fl-success); }
.fl-talent-card__summary { min-height: 69px; margin: 16px 0 17px; color: #454a59; font-size: 14px; line-height: 1.62; }
.fl-talent-card__proof { display: flex; margin: -4px 0 14px; align-items: center; justify-content: space-between; gap: 6px 10px; flex-wrap: wrap; color: #818694; font-size: 10px; }
.fl-talent-card__proof span:first-child { color: #93620f; }
.fl-talent-card__proof > span { display: inline-flex; align-items: center; gap: 5px; }
.fl-talent-card__proof svg { flex: 0 0 16px; }
.fl-talent-card__proof span:last-child { margin-left: auto; text-align: right; }
.fl-talent-card__tags { display: flex; min-height: 55px; flex-wrap: wrap; align-content: flex-start; gap: 6px; }
.fl-talent-card__tags span { padding: 6px 9px; border: 1px solid var(--fl-line); border-radius: 999px; color: #646a79; font-size: 12px; font-weight: 520; }
.fl-talent-card__body > a { display: flex; margin-top: 20px; padding-top: 17px; align-items: center; justify-content: space-between; border-top: 1px solid var(--fl-line); color: var(--fl-ink); font-size: 13px; font-weight: 590; text-decoration: none; }
.fl-talent-card__body > a span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--fl-ink); color: #fff; transition: transform .2s ease, background .2s ease; }
.fl-talent-card__body > a:hover span { background: var(--fl-primary); transform: rotate(45deg); }
.fl-specialists__empty { margin-top: 24px; padding: 26px; border: 1px dashed #cfd3df; border-radius: 18px; color: var(--fl-muted); text-align: center; font-size: 13px; line-height: 1.6; }
.fl-specialists__note { margin: 17px 0 0; color: #676d7b; font-size: 12px; }

@media (prefers-reduced-motion: no-preference) {
    .fl-talent-card.fl-reveal:nth-child(2) { transition-delay: .08s; }
    .fl-talent-card.fl-reveal:nth-child(3) { transition-delay: .16s; }
    .fl-talent-card__cover > img { transition: transform .65s cubic-bezier(.22,.61,.36,1); }
    .fl-talent-card:hover .fl-talent-card__cover > img { transform: scale(1.035); }
}

@media (max-width: 960px) {
    .fl-specialists__head { grid-template-columns: 1fr; gap: 18px; }
    .fl-talent-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) { .fl-talent-grid { margin-top: 34px; grid-template-columns: 1fr; } .fl-talent-status { margin-left: 70px; } }

/* cta.css */
.fl-cta { padding: 80px 0; background: #fff; }
.fl-cta__panel { position: relative; display: grid; min-height: 530px; padding: 68px; overflow: hidden; grid-template-columns: minmax(0,1fr) minmax(400px,.72fr); gap: 70px; align-items: center; border-radius: 36px; background: var(--fl-primary); color: #fff; box-shadow: 0 35px 90px rgba(71,57,190,.25); isolation: isolate; }
.fl-cta__panel::before, .fl-cta__panel::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); }
.fl-cta__panel::before { width: 550px; height: 550px; left: -220px; top: -300px; background: rgba(185,243,74,.16); }
.fl-cta__panel::after { width: 600px; height: 600px; right: -270px; bottom: -380px; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.02); }
.fl-cta .fl-kicker { color: var(--fl-accent); }
.fl-cta__copy h2 { max-width: 650px; margin: 0; color: #fff; font-size: clamp(42px,4.7vw,66px); font-weight: 620; line-height: 1.03; letter-spacing: -.045em; }
.fl-cta__copy > p { max-width: 590px; margin: 22px 0 0; color: rgba(255,255,255,.73); font-size: 16px; line-height: 1.65; }
.fl-cta__promise { display: flex; margin-top: 42px; align-items: center; gap: 10px; color: rgba(255,255,255,.8); font-size: 12px; font-weight: 570; text-transform: uppercase; letter-spacing: .055em; }
.fl-cta__promise span { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: #fff; font-size: 12px; }
.fl-cta__promise b { font-weight: inherit; }
.fl-cta__promise i { width: 22px; height: 1px; background: rgba(255,255,255,.25); }
.fl-brief-card { padding: 26px; border: 1px solid rgba(255,255,255,.4); border-radius: 26px; background: rgba(255,255,255,.94); color: var(--fl-ink); box-shadow: 0 30px 70px rgba(38,29,113,.26); backdrop-filter: blur(20px); transform: rotate(1.2deg); transition: transform .3s ease; }
.fl-brief-card:hover { transform: rotate(0); }
.fl-brief-card__top { display: flex; align-items: center; justify-content: space-between; }
.fl-brief-card__top strong { font-size: 19px; font-weight: 640; }
.fl-brief-card__top > span { padding: 6px 9px; border-radius: 999px; background: #effbd9; color: #44621a; font-size: 12px; font-weight: 590; text-transform: uppercase; letter-spacing: .06em; }
.fl-brief-card__roles { display: grid; margin-top: 22px; padding: 4px; grid-template-columns: 1fr 1fr; border-radius: 12px; background: #f0f1f5; }
.fl-brief-card__roles button { min-height: 48px; padding: 0 12px; border: 0; border-radius: 10px; background: transparent; color: var(--fl-muted); font: 600 14px/1 "Manrope",sans-serif; cursor: pointer; }
.fl-brief-card__roles button.is-active { background: #fff; color: var(--fl-ink); box-shadow: 0 5px 15px rgba(38,39,56,.08); }
.fl-brief-card label { display: grid; margin-top: 20px; gap: 9px; }
.fl-brief-card label > span { color: #666c7a; font-size: 14px; font-weight: 580; }
.fl-brief-card textarea { width: 100%; min-height: 126px; padding: 15px; resize: vertical; border: 1px solid var(--fl-line); border-radius: 14px; outline: 0; background: #fafafe; color: var(--fl-ink); font: 440 15px/1.6 "Manrope",sans-serif; transition: border-color .2s ease, box-shadow .2s ease; }
.fl-brief-card textarea:focus { border-color: rgba(103,87,245,.55); box-shadow: 0 0 0 4px rgba(103,87,245,.10); }
.fl-brief-card textarea::placeholder { color: #a4a8b3; }
.fl-brief-card__submit { display: flex; width: 100%; min-height: 54px; margin-top: 12px; padding: 0 17px; align-items: center; justify-content: space-between; border: 0; border-radius: 13px; background: var(--fl-ink); color: #fff; font: 630 15px/1 "Manrope",sans-serif; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.fl-brief-card__submit:hover { background: var(--fl-primary-deep); transform: translateY(-1px); }
.fl-brief-card__feedback { margin: 11px 0 0; color: #666c7a; font-size: 12px; line-height: 1.45; text-align: center; }
.fl-brief-card__feedback.is-ready { color: #16825b; font-weight: 600; }

@media (max-width: 1040px) {
    .fl-cta__panel { grid-template-columns: 1fr; }
    .fl-brief-card { width: min(560px,100%); }
}
@media (max-width: 700px) {
    .fl-cta { padding: 50px 0; }
    .fl-cta__panel { min-height: 0; padding: 34px 20px; gap: 38px; border-radius: 26px; }
    .fl-cta__copy h2 { font-size: clamp(38px,11vw,52px); }
    .fl-cta__promise { display: grid; grid-template-columns: 30px 1fr; margin-top: 30px; }
    .fl-cta__promise i { display: none; }
    .fl-brief-card { padding: 20px; transform: none; }
}

/* footer.css */
.fl-footer { padding: 72px 0 24px; background: var(--fl-ink); color: #fff; }
.fl-footer__top { display: grid; padding-bottom: 65px; grid-template-columns: minmax(280px,.8fr) minmax(0,1.3fr); gap: 80px; border-bottom: 1px solid rgba(255,255,255,.11); }
.fl-footer .fl-brand { color: #fff; }
.fl-footer__brand > p { max-width: 310px; margin: 20px 0 0; color: #a8acb7; font-size: 14px; line-height: 1.65; }
.fl-footer__support { display: flex; width: fit-content; max-width: 100%; margin-top: 19px; padding: 9px 13px 9px 9px; align-items: center; gap: 11px; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; background: rgba(255,255,255,.035); color: #e9ebf1; text-decoration: none; }
.fl-footer__support-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 8px; background: rgba(185,243,74,.09); color: var(--fl-accent); }
.fl-footer__support-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.fl-footer__support-copy { min-width: 0; }
.fl-footer__support-copy small { display: block; margin-bottom: 2px; color: #a8acb7; font-size: 11px; line-height: 1.4; }
.fl-footer__support-copy > span { display: block; font-size: 14px; font-weight: 470; line-height: 1.5; overflow-wrap: anywhere; }
.fl-footer__support:hover { border-color: rgba(185,243,74,.4); background: rgba(185,243,74,.065); color: #fff; }
.fl-footer__support:focus-visible { outline: 2px solid var(--fl-accent); outline-offset: 4px; }
.fl-footer__support + .fl-footer__up { margin-top: 24px; }
.fl-footer__up { display: inline-flex; margin-top: 34px; align-items: center; gap: 10px; color: #fff; font-size: 12px; font-weight: 600; text-decoration: none; text-transform: uppercase; letter-spacing: .07em; }
.fl-footer__up span { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; transition: background .2s ease, color .2s ease, transform .2s ease; }
.fl-footer__up:hover span { background: var(--fl-accent); color: var(--fl-ink); transform: translateY(-3px); }
.fl-footer__nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; }
.fl-footer__nav > div { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.fl-footer__nav strong { margin-bottom: 8px; color: #9195a0; font-size: 12px; font-weight: 590; letter-spacing: .09em; text-transform: uppercase; }
.fl-footer__nav a { color: #d8dae0; font-size: 14px; font-weight: 470; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.fl-footer__nav a:hover { color: var(--fl-accent); transform: translateX(3px); }
.fl-footer__bottom { display: flex; padding-top: 22px; align-items: center; justify-content: space-between; gap: 20px; color: #afb3bd; font-size: 12px; }
.fl-footer__bottom i { color: var(--fl-accent); font-style: normal; }
.fl-footer__legal{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.fl-footer__legal a,.fl-footer__legal button{color:inherit;font:inherit;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.fl-footer__legal a:hover,.fl-footer__legal button:hover{color:#fff}.fl-footer__legal :focus-visible{outline:2px solid var(--fl-accent);outline-offset:5px}

@media (max-width: 820px) {
    .fl-footer__top { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 560px) {
    .fl-footer { padding-top: 56px; }
    .fl-footer__nav { grid-template-columns: 1fr 1fr; row-gap: 40px; }
    .fl-footer__bottom { align-items: flex-start; flex-direction: column; }
}

/* cookies.css */
.fl-cookie-card[hidden]{display:none!important}
.fl-cookie-card{position:fixed;z-index:1180;left:22px;bottom:22px;box-sizing:border-box;width:min(400px,calc(100vw - 44px));max-height:75dvh;overflow-y:auto;padding:19px;border:1px solid var(--fl-line,#363945);border-radius:12px;color:var(--fl-text,#f4f4fa);background:var(--fl-surface,#1d2029);box-shadow:0 16px 48px #0003;font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}
.fl-cookie-card__head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.fl-cookie-card__head h2{margin:0;font-family:inherit;font-size:17px;font-weight:500;line-height:1.3}.fl-cookie-card__mark{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:8px;background:#8b71ec1c;color:#9d85f2}.fl-cookie-card__mark svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.fl-cookie-card p{margin:0;font-family:inherit;font-size:13px;line-height:1.55}.fl-cookie-card__links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px!important}.fl-cookie-card__links a{font-size:12px;color:var(--fl-muted,#c0bbc9);text-decoration:underline;text-underline-offset:3px}.fl-cookie-card__actions{display:flex;justify-content:flex-end;margin-top:13px}
.fl-cookie-card__copy--mobile,.fl-cookie-card__mobile-details{display:none}
.fl-cookie-card__actions button{min-height:40px;padding:9px 20px;border:1px solid transparent;border-radius:8px;background:#6757f5;color:#fff;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;cursor:pointer}.fl-cookie-card__actions button:hover{filter:brightness(1.08)}.fl-cookie-card__actions button:focus-visible{outline:2px solid #a08bea;outline-offset:3px}.fl-cookie-card__actions button:disabled{opacity:.55;cursor:default;filter:none}
.fl-cookie-card__status:empty{display:none}.fl-cookie-card .fl-cookie-card__status{font-size:12px;margin-top:10px}.fl-cookie-card__status.is-error{color:#ef8c93}.fl-cookie-noscript{padding:12px 20px;font-size:13px;text-align:center}.fl-cookie-noscript a{color:inherit}
[data-theme=light] .fl-cookie-card{color:#242532;background:#fff;border-color:#dedee8;box-shadow:0 14px 44px #32344a1c}[data-theme=light] .fl-cookie-card a{color:#605971}[data-theme=light] .fl-cookie-card__status.is-error{color:#aa3545}
@media(max-width:720px){
    .fl-cookie-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));width:auto;max-height:60dvh;padding:12px 14px;border-radius:10px}
    .fl-cookie-card__head{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
    .fl-cookie-card__copy--desktop,.fl-cookie-card__links{display:none}
    .fl-cookie-card .fl-cookie-card__copy--mobile{display:block;grid-column:1/-1;font-size:12px;line-height:1.5}
    .fl-cookie-card .fl-cookie-card__mobile-details{display:block;min-width:0;align-self:center;font-size:12px;line-height:1.4}
    .fl-cookie-card__mobile-details a{display:inline-flex;min-height:44px;align-items:center;color:var(--fl-muted,#c0bbc9);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
    .fl-cookie-card__actions{margin-top:0;align-self:center}
    .fl-cookie-card__actions button{min-height:44px;padding:9px 16px;font-size:12px;white-space:nowrap}
    .fl-cookie-card .fl-cookie-card__status{grid-column:1/-1;margin-top:0}
}
.fl-cookie-card__mobile-details a:focus-visible{outline:2px solid #a08bea;outline-offset:3px;border-radius:3px}
@media(max-width:950px){html.fl-cookie-panel-open .fl-chat-notifications,html.fl-cookie-panel-open .fl-pay-toast-host,html.fl-cookie-panel-open .fl-profile-toast-region,html.fl-cookie-panel-open .fl-work-toast-region,html.fl-cookie-panel-open .fl-messages-toast,html.fl-cookie-panel-open .fl-account-toast{bottom:calc(var(--fl-cookie-panel-height,0px) + 26px)!important;max-height:calc(100dvh - var(--fl-cookie-panel-height,0px) - 120px)}}