@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap');

:root {
    --bg: #050816;
    --bg-deep: #030611;
    --surface: rgba(14, 20, 38, .72);
    --surface-strong: #0d1325;
    --line: rgba(148, 163, 184, .14);
    --line-soft: rgba(148, 163, 184, .09);
    --text: #eef0ff;
    --muted: #8d96b2;
    --muted-2: #68718d;
    --primary: #7168ff;
    --primary-bright: #8f87ff;
    --primary-soft: rgba(113, 104, 255, .16);
    --cyan: #45d6ff;
    --container: 1104px;
    --font-heading: 'Manrope', 'Inter', system-ui, sans-serif;
    --font-body: 'Inter', system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-width: 320px;
    background: var(--bg-deep);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body::selection { background: rgba(113, 104, 255, .35); color: #fff; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img, svg { display: block; }
[hidden] { display: none !important; }

.skip-link {
    position: fixed;
    left: 16px;
    top: 12px;
    z-index: 9999;
    transform: translateY(-160%);
    border-radius: 8px;
    background: #fff;
    color: #111827;
    padding: 10px 14px;
    transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.page-shell { position: relative; overflow: hidden; min-height: 100vh; background: var(--bg-deep); }
.page-stars {
    pointer-events: none;
    position: absolute;
    inset: 0 0 auto;
    height: 850px;
    opacity: .34;
    background-image:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.44) 0 1px, transparent 1.4px),
        radial-gradient(circle at 80% 28%, rgba(255,255,255,.3) 0 1px, transparent 1.4px),
        radial-gradient(circle at 53% 12%, rgba(146,140,255,.42) 0 1px, transparent 1.4px);
    background-size: 130px 130px, 190px 190px, 250px 250px;
    -webkit-mask-image: linear-gradient(#000, transparent 92%);
    mask-image: linear-gradient(#000, transparent 92%);
}
.page-aurora {
    pointer-events: none;
    position: absolute;
    border-radius: 50%;
    filter: blur(110px);
}
.page-aurora--top {
    top: -300px;
    left: 50%;
    width: 880px;
    height: 720px;
    transform: translateX(-33%);
    background: radial-gradient(circle, rgba(92, 76, 255, .27), rgba(92,76,255,.06) 50%, transparent 70%);
}

.site-container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }

.site-header { position: relative; z-index: 20; padding-top: 14px; }
.site-header.is-scrolled .header-bar { background: rgba(7, 10, 24, .86); box-shadow: 0 14px 46px rgba(0,0,0,.28); }
.header-bar {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(126, 135, 175, .16);
    border-radius: 10px;
    background: rgba(11, 16, 33, .62);
    padding: 8px 10px 8px 12px;
    backdrop-filter: blur(18px);
    transition: background .2s ease, box-shadow .2s ease;
}
.brand-mark { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
.brand-icon-wrap {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(133, 126, 255, .28);
    border-radius: 9px;
    background: linear-gradient(145deg, rgba(123,111,255,.22), rgba(13,19,37,.9));
    box-shadow: inset 0 1px rgba(255,255,255,.08), 0 8px 20px rgba(75,63,223,.14);
}
.brand-icon-wrap img { width: 28px; height: 28px; object-fit: contain; }
.brand-name { color: #dfe2f5; font-size: 13px; letter-spacing: -.01em; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.header-link { color: #9da5be; font-size: 12px; font-weight: 600; padding: 8px 10px; transition: color .2s ease; }
.header-link:hover { color: #fff; }

.button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 0 18px;
    font-size: 13px;
    font-weight: 650;
    white-space: nowrap;
    cursor: pointer;
    transition: transform .18s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.button:hover { transform: translateY(-1px); }
.button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.button--small { min-height: 32px; border-radius: 6px; padding-inline: 12px; font-size: 11px; }
.button--primary {
    color: #fff;
    background: linear-gradient(180deg, #8078ff 0%, #6559ed 100%);
    border-color: rgba(170,164,255,.28);
    box-shadow: inset 0 1px rgba(255,255,255,.22), 0 10px 30px rgba(86,70,238,.22);
}
.button--primary:hover { background: linear-gradient(180deg, #918aff, #7166f8); box-shadow: inset 0 1px rgba(255,255,255,.26), 0 14px 38px rgba(86,70,238,.3); }
.button--secondary {
    color: #aab2c9;
    border-color: rgba(137,146,178,.14);
    background: linear-gradient(180deg, rgba(21,28,51,.92), rgba(12,17,34,.86));
    box-shadow: inset 0 1px rgba(255,255,255,.045);
}
.button--secondary:hover { color: #fff; border-color: rgba(138,133,255,.28); background: #131a31; }

.hero-section { position: relative; z-index: 1; padding: 66px 0 74px; }
.hero-inner { text-align: center; }
.hero-copy { max-width: 820px; margin-inline: auto; }
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 19px;
    border: 1px solid rgba(134, 127, 255, .18);
    border-radius: 999px;
    background: rgba(31, 31, 71, .32);
    padding: 6px 10px;
    color: #9fa5c7;
    font-size: 11px;
    font-weight: 600;
}
.hero-badge span { width: 6px; height: 6px; border-radius: 50%; background: #7d74ff; box-shadow: 0 0 15px #7d74ff; }
.hero-copy h1 {
    max-width: 780px;
    margin: 0 auto;
    background: linear-gradient(90deg, #e7e9fb 4%, #b5b5ec 38%, #f1f2ff 58%, #a19bf9 84%, #e8eaff);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-family: var(--font-heading);
    font-size: clamp(42px, 5.2vw, 66px);
    font-weight: 650;
    line-height: 1.06;
    letter-spacing: -.055em;
    animation: title-shift 9s linear infinite;
}
@keyframes title-shift { to { background-position: 200% center; } }
.hero-copy > p { max-width: 660px; margin: 18px auto 0; color: #8e96b4; font-size: 15px; line-height: 1.75; }
.hero-actions { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }

.hero-media-wrap { position: relative; max-width: 1104px; margin: 66px auto 0; }
.hero-media-glow {
    position: absolute;
    left: 50%;
    bottom: -90px;
    width: 70%;
    height: 180px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(81,70,237,.44), rgba(72,59,214,.12) 44%, transparent 72%);
    filter: blur(38px);
}
.hero-media {
    position: relative;
    aspect-ratio: 1104 / 576;
    overflow: hidden;
    border: 1px solid rgba(116, 124, 162, .17);
    border-radius: 14px;
    background:
        radial-gradient(circle at 58% 20%, rgba(102,91,255,.18), transparent 31%),
        linear-gradient(180deg, #11182b, #070b16 72%);
    box-shadow: 0 42px 100px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.04);
}
.media-grid { position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(149,157,197,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(149,157,197,.16) 1px, transparent 1px); background-size: 48px 48px; }
.media-vignette { position: absolute; inset: 0; box-shadow: inset 0 0 170px 70px rgba(2,4,12,.9); }
.operator-scene { position: absolute; inset: 0; }
.scene-window {
    position: absolute;
    border: 1px solid rgba(140,148,185,.15);
    border-radius: 11px;
    background: rgba(8,13,27,.78);
    box-shadow: 0 25px 60px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.025);
    backdrop-filter: blur(7px);
}
.scene-window--left { left: 5.5%; top: 16%; width: 28%; height: 44%; transform: rotateY(12deg) rotateZ(-2deg); }
.window-bar { display: flex; gap: 5px; align-items: center; height: 32px; border-bottom: 1px solid rgba(146,154,188,.1); padding: 0 12px; }
.window-bar i { width: 6px; height: 6px; border-radius: 50%; background: #343d58; }
.window-bar i:nth-child(1) { background: #765fff; }
.code-lines { display: grid; gap: 12px; padding: 22px 18px; }
.code-lines span { width: var(--w); height: 5px; border-radius: 99px; background: linear-gradient(90deg, rgba(116,105,255,.72), rgba(83,217,255,.24)); box-shadow: 0 0 16px rgba(110,100,255,.2); }
.scene-person { position: absolute; left: 40%; top: 8%; width: 22%; height: 72%; filter: drop-shadow(0 28px 35px rgba(0,0,0,.55)); }
.person-head { position: absolute; top: 0; left: 50%; width: 35%; aspect-ratio: 1; transform: translateX(-50%); border-radius: 48% 52% 45% 55%; background: linear-gradient(145deg, #242b3c, #0e131f); box-shadow: inset -10px -4px 18px rgba(0,0,0,.45); }
.person-head::after { content: ''; position: absolute; right: -14%; top: 38%; width: 38%; height: 11%; border-top: 3px solid #323a4b; border-right: 3px solid #323a4b; transform: rotate(6deg); }
.person-body { position: absolute; left: 5%; right: 5%; bottom: 0; height: 76%; border-radius: 45% 45% 12% 12% / 27% 27% 10% 10%; background: linear-gradient(115deg, #181f30, #080c16 58%, #171d2c); }
.scene-laptop { position: absolute; left: 24%; right: 18%; bottom: 8%; height: 54%; perspective: 1000px; }
.laptop-screen { height: 88%; overflow: hidden; border: 2px solid #222b43; border-radius: 12px 12px 5px 5px; background: #080d1b; box-shadow: 0 30px 70px rgba(0,0,0,.65), 0 0 60px rgba(75,65,225,.14); transform: rotateX(-2deg); }
.screen-top { display: flex; height: 38px; align-items: center; gap: 8px; border-bottom: 1px solid rgba(148,157,193,.1); padding: 0 12px; color: #8993af; font-size: 10px; }
.screen-top img { width: 24px; height: 24px; object-fit: contain; }
.screen-top b { margin-left: auto; color: #61d7a4; font-size: 8px; letter-spacing: .12em; }
.screen-content { display: grid; grid-template-columns: 48px 1fr; height: calc(100% - 38px); }
.screen-sidebar { display: grid; align-content: start; gap: 14px; border-right: 1px solid rgba(148,157,193,.08); padding: 18px 12px; }
.screen-sidebar i { width: 22px; height: 7px; border-radius: 3px; background: #252d45; }
.screen-sidebar i:first-child { background: #7068f7; box-shadow: 0 0 16px rgba(112,104,247,.48); }
.screen-main { padding: 15px; }
.screen-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.screen-metrics span { height: 48px; border: 1px solid rgba(132,142,180,.11); border-radius: 7px; background: linear-gradient(145deg, rgba(31,39,68,.76), rgba(12,18,34,.7)); }
.screen-chart { height: calc(100% - 60px); margin-top: 12px; border: 1px solid rgba(132,142,180,.1); border-radius: 8px; background: linear-gradient(rgba(255,255,255,.015), transparent); padding: 10px; }
.screen-chart svg { width: 100%; height: 100%; }
.laptop-base { position: absolute; left: -4%; right: -4%; bottom: 0; height: 12%; border-radius: 3px 3px 18px 18px; background: linear-gradient(180deg, #3a4255, #151a27 44%, #090c13); box-shadow: 0 12px 28px rgba(0,0,0,.58); }
.scene-window--right { right: 4.5%; top: 18%; width: 25%; padding: 15px; transform: rotateY(-12deg) rotateZ(2deg); }
.activity-row { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(141,149,185,.08); }
.activity-row:last-child { border-bottom: 0; }
.activity-row > span { width: 9px; height: 9px; border-radius: 50%; background: #6d65f8; box-shadow: 0 0 13px #6d65f8; }
.activity-row b, .activity-row small { display: block; }
.activity-row b { color: #bdc3da; font-size: 9px; }
.activity-row small { color: #66708a; font-size: 7px; margin-top: 2px; }
.watch-demo { position: absolute; left: 50%; top: 50%; z-index: 6; display: inline-flex; align-items: center; gap: 8px; transform: translate(-50%,-50%); border: 1px solid rgba(133,127,255,.24); border-radius: 999px; background: rgba(7,11,24,.82); padding: 7px 12px 7px 7px; color: #c3c7dc; font-size: 11px; font-weight: 600; box-shadow: 0 12px 28px rgba(0,0,0,.42); backdrop-filter: blur(12px); }
.watch-icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #8078ff, #5249d7); box-shadow: 0 0 20px rgba(111,100,255,.55); }
.watch-icon svg { width: 13px; height: 13px; fill: #fff; }
.watch-demo small { color: #717b96; font-size: 9px; }

.section { position: relative; padding: 92px 0; }
.section-heading { max-width: 730px; margin: 0 auto 54px; text-align: center; }
.section-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; background: linear-gradient(90deg, #756cff, #a9a5ff); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 11px; font-weight: 600; }
.section-kicker span { width: 32px; height: 1px; background: linear-gradient(90deg, transparent, rgba(148,141,255,.55)); }
.section-kicker span:last-child { transform: rotate(180deg); }
.section-heading h2 {
    margin: 0;
    background: linear-gradient(90deg, #e5e7f8, #aaaee0, #f4f4ff, #9b96f1, #e5e7f8);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-family: var(--font-heading);
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 650;
    line-height: 1.12;
    letter-spacing: -.045em;
}
.section-heading p { max-width: 670px; margin: 15px auto 0; color: #818aa8; font-size: 14px; line-height: 1.7; }
.section-divider { height: 1px; margin-bottom: 86px; background: linear-gradient(90deg, transparent, rgba(128,138,178,.2), transparent); }

.workflow-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.workflow-card { --mouse-x: 50%; --mouse-y: 50%; position: relative; overflow: hidden; min-height: 430px; border: 1px solid rgba(127,137,176,.15); border-radius: 14px; background: linear-gradient(145deg, rgba(15,21,39,.96), rgba(8,12,24,.94)); box-shadow: inset 0 1px rgba(255,255,255,.025); }
.workflow-card::before { content: ''; pointer-events: none; position: absolute; left: var(--mouse-x); top: var(--mouse-y); width: 280px; height: 280px; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle, rgba(100,88,255,.28), transparent 68%); opacity: 0; transition: opacity .3s ease; }
.workflow-card:hover::before { opacity: 1; }
.workflow-visual { position: relative; height: 270px; overflow: hidden; border-bottom: 1px solid rgba(128,138,178,.08); background: radial-gradient(circle at 50% 48%, rgba(89,76,232,.19), transparent 52%); }
.workflow-content { position: relative; z-index: 2; padding: 22px; }
.mini-pill { display: inline-flex; border: 1px solid rgba(130,123,255,.2); border-radius: 999px; background: rgba(89,78,218,.1); padding: 4px 8px; color: #8f88ff; font-size: 9px; font-weight: 600; }
.workflow-content h3 { margin: 14px 0 0; color: #d6d9eb; font-family: var(--font-heading); font-size: 17px; font-weight: 600; }
.workflow-content p { margin: 8px 0 0; color: #737d9a; font-size: 12px; line-height: 1.65; }
.workflow-visual--keys .key-node { position: absolute; display: grid; width: 66px; height: 56px; place-items: center; border: 1px solid rgba(132,141,180,.15); border-radius: 9px; background: rgba(20,27,48,.92); color: #8189a5; font-size: 10px; letter-spacing: .16em; box-shadow: 0 18px 36px rgba(0,0,0,.35); }
.key-node--a { left: 48px; top: 74px; }
.key-node--b { right: 54px; top: 74px; }
.key-node--c { left: 50%; bottom: 45px; transform: translateX(-50%); background: rgba(85,74,219,.28) !important; color: #b7b2ff !important; box-shadow: 0 0 42px rgba(102,89,255,.3) !important; }
.workflow-visual--keys i { position: absolute; height: 1px; transform-origin: left center; background: linear-gradient(90deg, rgba(114,105,255,.6), transparent); }
.workflow-visual--keys i:nth-last-child(3) { left: 104px; top: 102px; width: 120px; transform: rotate(28deg); }
.workflow-visual--keys i:nth-last-child(2) { right: 102px; top: 104px; width: 115px; transform: rotate(152deg); }
.workflow-visual--keys i:nth-last-child(1) { left: 50%; top: 130px; width: 62px; transform: rotate(90deg); }
.workflow-visual--scale { display: grid; place-items: center; }
.scale-orbit { display: flex; align-items: center; gap: 12px; }
.scale-orbit span, .scale-orbit b { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(127,137,176,.14); border-radius: 50%; background: rgba(14,20,37,.86); color: #616b86; font-size: 10px; }
.scale-orbit b { width: 56px; height: 56px; color: #d5d7f2; background: radial-gradient(circle at 50% 35%, rgba(118,107,255,.48), rgba(20,25,47,.96)); box-shadow: 0 0 45px rgba(102,91,255,.42); }
.scale-bar { position: absolute; left: 50%; bottom: 46px; width: 90px; height: 7px; transform: translateX(-50%); border-radius: 99px; background: linear-gradient(90deg, transparent, rgba(127,119,255,.75), transparent); }
.workflow-visual--flow { display: grid; place-items: center; }
.flow-center { position: relative; z-index: 2; display: grid; width: 72px; height: 72px; place-items: center; border: 1px solid rgba(131,124,255,.3); border-radius: 14px; background: linear-gradient(145deg, rgba(91,80,221,.44), rgba(15,21,39,.96)); box-shadow: 0 0 48px rgba(95,82,242,.4); }
.flow-center svg { width: 30px; height: 30px; fill: rgba(112,104,255,.1); stroke: #bbb6ff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.workflow-visual--flow > span { position: absolute; width: 64px; height: 48px; border: 1px solid rgba(128,138,178,.1); border-radius: 8px; background: rgba(14,20,36,.7); }
.workflow-visual--flow > span:nth-of-type(1) { left: 24px; top: 72px; }
.workflow-visual--flow > span:nth-of-type(2) { right: 24px; top: 72px; }
.workflow-visual--flow > span:nth-of-type(3) { left: 26px; bottom: 44px; }
.workflow-visual--flow > span:nth-of-type(4) { right: 26px; bottom: 44px; }

.controls-section { padding-top: 26px; }
.controls-glow { pointer-events: none; position: absolute; width: 420px; height: 420px; border-radius: 50%; filter: blur(100px); opacity: .17; background: #584df1; }
.controls-glow--left { left: -260px; top: 45%; }
.controls-glow--right { right: -300px; bottom: 0; }
.control-orbit { position: relative; max-width: 780px; height: 330px; margin: 0 auto 58px; }
.orbit-haze { position: absolute; left: 50%; top: 46%; width: 430px; height: 240px; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle, rgba(109,98,255,.48), rgba(72,62,214,.12) 45%, transparent 72%); filter: blur(20px); }
.orbit-line { position: absolute; top: 47%; width: 270px; height: 170px; border: 1px dashed rgba(130,123,255,.35); border-radius: 50%; }
.orbit-line--left { left: 90px; }
.orbit-line--right { right: 90px; }
.orbit-core { position: absolute; left: 50%; top: 47%; z-index: 3; display: grid; width: 96px; height: 96px; place-items: center; transform: translate(-50%,-50%); border: 1px solid rgba(132,125,255,.3); border-radius: 18px; background: linear-gradient(145deg, rgba(90,79,220,.56), rgba(17,23,42,.98)); box-shadow: 0 0 50px rgba(96,84,243,.5), 0 24px 55px rgba(0,0,0,.42); }
.orbit-core img { width: 62px; height: 62px; object-fit: contain; }
.orbit-label { position: absolute; z-index: 2; display: grid; height: 34px; place-items: center; border: 1px solid rgba(126,136,175,.12); border-radius: 6px; background: rgba(17,24,45,.94); color: #58627d; font-size: 9px; letter-spacing: .2em; box-shadow: 0 10px 30px rgba(0,0,0,.32); }
.orbit-label--one { left: 130px; top: 18px; width: 130px; }
.orbit-label--two { left: 74px; top: 136px; width: 190px; }
.orbit-label--three { right: 74px; top: 136px; width: 190px; }
.orbit-label--four { right: 120px; bottom: 20px; width: 130px; }
.orbit-avatar { position: absolute; z-index: 4; display: grid; width: 38px; height: 38px; place-items: center; border: 2px solid #1b2239; border-radius: 50%; background: linear-gradient(145deg, #9da5bc, #343d57); color: #0b1020; font-size: 11px; font-weight: 800; box-shadow: 0 10px 24px rgba(0,0,0,.4); }
.orbit-avatar--one { left: 185px; top: 72px; }
.orbit-avatar--two { left: 154px; bottom: 60px; }
.orbit-avatar--three { right: 178px; top: 52px; }
.orbit-avatar--four { right: 150px; bottom: 76px; }
.feature-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px 56px; }
.feature-list article svg { width: 23px; height: 23px; margin-bottom: 12px; fill: rgba(112,104,255,.35); stroke: #8179ff; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.feature-list h3 { margin: 0; color: #d6d9eb; font-family: var(--font-heading); font-size: 14px; font-weight: 600; }
.feature-list p { margin: 7px 0 0; color: #727c99; font-size: 12px; line-height: 1.65; }

.testimonials-section { padding-top: 30px; }
.filter-pills { display: flex; width: max-content; max-width: 100%; flex-wrap: wrap; justify-content: center; gap: 4px; margin: 0 auto 46px; border: 1px solid rgba(126,136,175,.11); border-radius: 999px; background: rgba(20,27,48,.58); padding: 4px; }
.filter-pills button { min-height: 31px; border: 0; border-radius: 999px; background: transparent; padding: 0 12px; color: #707a96; font-size: 10px; font-weight: 600; cursor: pointer; transition: color .2s ease, background .2s ease; }
.filter-pills button.is-active { color: #d6d9eb; background: linear-gradient(180deg, rgba(31,40,69,.94), rgba(13,19,36,.94)); box-shadow: inset 0 0 0 1px rgba(130,123,255,.22), 0 8px 18px rgba(0,0,0,.2); }
.testimonial-grid { columns: 3; column-gap: 16px; }
.testimonial-card { break-inside: avoid; margin-bottom: 16px; border: 1px solid rgba(126,136,175,.14); border-radius: 12px; background: linear-gradient(145deg, rgba(15,21,39,.9), rgba(8,12,24,.92)); padding: 20px; box-shadow: inset 0 1px rgba(255,255,255,.02); transition: border-color .2s ease, transform .2s ease; }
.testimonial-card:hover { transform: translateY(-2px); border-color: rgba(126,119,255,.28); }
.testimonial-brand { color: #8179ff; font-family: var(--font-heading); font-size: 15px; font-style: italic; font-weight: 700; letter-spacing: -.03em; }
.testimonial-card blockquote { margin: 16px 0 22px; color: #8c95b0; font-size: 12px; line-height: 1.7; }
.testimonial-card footer { display: flex; align-items: center; gap: 10px; }
.testimonial-avatar { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #9da5bc, #39425c); color: #0b1020; font-size: 10px; font-weight: 800; }
.testimonial-card footer b, .testimonial-card footer small { display: block; }
.testimonial-card footer b { color: #cdd1e4; font-size: 10px; font-weight: 600; }
.testimonial-card footer small { margin-top: 2px; color: #616b86; font-size: 9px; }

.cta-section { padding: 20px 0 104px; }
.cta-box { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 52px; overflow: hidden; min-height: 250px; border: 1px solid rgba(133,126,255,.18); border-radius: 14px; background: linear-gradient(120deg, rgba(20,27,52,.97), rgba(10,15,31,.96) 56%, rgba(28,24,73,.92)); padding: 42px 46px; box-shadow: inset 0 1px rgba(255,255,255,.035), 0 35px 80px rgba(0,0,0,.3); }
.cta-illustration { position: absolute; right: -80px; bottom: -170px; width: 500px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(113,102,255,.28), transparent 66%); }
.cta-illustration::before { content: ''; position: absolute; inset: 70px; border: 1px dashed rgba(126,119,255,.25); border-radius: 50%; }
.cta-box > div:not(.cta-illustration) { position: relative; z-index: 2; }
.cta-box h2 { max-width: 590px; margin: 0; color: #e1e3f3; font-family: var(--font-heading); font-size: clamp(28px,4vw,43px); font-weight: 650; line-height: 1.15; letter-spacing: -.04em; }
.cta-box p { margin: 13px 0 0; color: #7c86a3; font-size: 13px; }
.cta-actions { display: flex; flex-direction: column; gap: 8px; min-width: 180px; }

.site-footer { position: relative; overflow: hidden; border-top: 1px solid rgba(126,136,175,.09); background: #030610; }
.footer-illustration { pointer-events: none; position: absolute; left: 50%; top: -180px; width: 800px; height: 400px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(ellipse, rgba(86,74,231,.18), transparent 70%); filter: blur(18px); }
.footer-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.4fr repeat(3,.65fr); gap: 40px; padding: 62px 0 28px; }
.footer-brand p { max-width: 340px; margin: 18px 0 0; color: #66708a; font-size: 12px; line-height: 1.7; }
.footer-column { display: grid; align-content: start; gap: 10px; }
.footer-column h3 { margin: 0 0 4px; color: #cfd3e4; font-size: 12px; font-weight: 600; }
.footer-column a { color: #66708a; font-size: 11px; transition: color .2s ease; }
.footer-column a:hover { color: #b7bdd2; }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 20px; margin-top: 20px; border-top: 1px solid rgba(126,136,175,.08); padding-top: 22px; color: #505a74; font-size: 10px; }

.js [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .72s cubic-bezier(.2,.75,.2,1), transform .72s cubic-bezier(.2,.75,.2,1); }
.js [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 920px) {
    .hero-section { padding-top: 58px; }
    .hero-media-wrap { margin-top: 52px; }
    .workflow-grid { grid-template-columns: 1fr; max-width: 620px; margin-inline: auto; }
    .workflow-card { min-height: 390px; }
    .workflow-visual { height: 240px; }
    .feature-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .testimonial-grid { columns: 2; }
    .cta-box { grid-template-columns: 1fr; }
    .cta-actions { flex-direction: row; min-width: 0; }
    .footer-grid { grid-template-columns: 1.25fr repeat(3,.75fr); gap: 24px; }
}

@media (max-width: 700px) {
    .site-container { width: min(calc(100% - 28px), var(--container)); }
    .site-header { padding-top: 8px; }
    .header-bar { min-height: 50px; border-radius: 9px; }
    .brand-name { display: none; }
    .hero-section { padding: 48px 0 60px; }
    .hero-badge { margin-bottom: 16px; }
    .hero-copy h1 { font-size: clamp(39px, 12vw, 54px); }
    .hero-copy > p { font-size: 14px; }
    .hero-actions { display: grid; grid-template-columns: 1fr; max-width: 320px; margin-inline: auto; margin-top: 24px; }
    .hero-media-wrap { margin-top: 42px; }
    .hero-media { aspect-ratio: 4 / 3; }
    .scene-window--left { left: 2%; top: 12%; width: 31%; }
    .scene-window--right { right: 2%; top: 12%; width: 31%; padding: 8px; }
    .activity-row { gap: 6px; padding: 7px 0; }
    .activity-row b { font-size: 7px; }
    .activity-row small { font-size: 6px; }
    .scene-person { left: 38%; width: 26%; }
    .scene-laptop { left: 12%; right: 10%; bottom: 4%; height: 55%; }
    .screen-main { padding: 8px; }
    .screen-metrics span { height: 30px; }
    .screen-chart { height: calc(100% - 40px); }
    .section { padding: 74px 0; }
    .section-divider { margin-bottom: 68px; }
    .section-heading { margin-bottom: 40px; }
    .section-heading h2 { font-size: 34px; }
    .control-orbit { height: 270px; transform: scale(.82); margin: -22px -10% 30px; }
    .feature-list { grid-template-columns: 1fr; gap: 30px; }
    .testimonial-grid { columns: 1; }
    .filter-pills { border-radius: 12px; }
    .cta-section { padding-bottom: 70px; }
    .cta-box { padding: 32px 24px; }
    .cta-actions { flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; }
}

@media (max-width: 460px) {
    .header-link { padding-inline: 6px; }
    .button--small { padding-inline: 10px; }
    .hero-copy h1 { font-size: 39px; }
    .hero-media { aspect-ratio: 1 / 1; }
    .scene-window--left, .scene-window--right { display: none; }
    .scene-person { left: 31%; width: 38%; }
    .scene-laptop { left: 5%; right: 5%; bottom: 6%; height: 54%; }
    .watch-demo { font-size: 9px; }
    .workflow-card { min-height: 380px; }
    .control-orbit { transform: scale(.68); margin: -48px -25% 4px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand, .footer-bottom { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .js [data-reveal] { opacity: 1; transform: none; }
}


/* Integrated workflow video */
.hero-media--video {
    background: #050816;
}
.workflow-video {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #050816;
    object-fit: cover;
}
.video-caption {
    max-width: 720px;
    margin: 18px auto 0;
    color: #737d9a;
    font-size: 12px;
    line-height: 1.65;
    text-align: center;
}
.workflow-video:focus-visible {
    outline: 2px solid #8f87ff;
    outline-offset: 4px;
}

/* Language selector */
.landing-language-dropdown {
    position: relative;
    margin: 0;
}
.landing-language-dropdown > summary {
    list-style: none;
}
.landing-language-dropdown > summary::-webkit-details-marker {
    display: none;
}
.landing-language-trigger {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .20);
    border-radius: 50%;
    background: rgba(17, 23, 40, .82);
    color: #dfe4f2;
    cursor: pointer;
    user-select: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.landing-language-trigger:hover,
.landing-language-dropdown[open] .landing-language-trigger {
    border-color: rgba(167, 139, 250, .72);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .14);
    transform: translateY(-1px);
}
.landing-language-trigger:focus-visible {
    outline: 2px solid #8f87ff;
    outline-offset: 3px;
}
.landing-language-current-flag {
    display: block;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(139, 124, 255, .32);
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .24);
}
.landing-language-menu {
    position: absolute;
    z-index: 60;
    top: calc(100% + 10px);
    right: 0;
    min-width: 188px;
    overflow: hidden;
    padding: 6px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 14px;
    background: rgba(10, 15, 29, .98);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .42);
    backdrop-filter: blur(18px);
}
.landing-language-option-form {
    margin: 0;
}
.landing-language-option {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #dfe4f2;
    font: inherit;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease;
}
.landing-language-option:hover,
.landing-language-option:focus-visible {
    background: rgba(139, 92, 246, .12);
    color: #fff;
    outline: none;
}
.landing-language-option.is-active {
    background: rgba(139, 92, 246, .16);
    color: #fff;
    font-weight: 600;
}
.landing-language-option-flag {
    display: block;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border: 1px solid rgba(139, 124, 255, .28);
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
}
.landing-language-check {
    margin-left: auto;
    color: #a78bfa;
    font-size: 15px;
}
@media (max-width: 620px) {
    .landing-language-trigger {
        width: 38px;
        height: 38px;
    }
    .landing-language-current-flag {
        width: 28px;
        height: 28px;
        font-size: 19px;
    }
    .landing-language-menu {
        right: -4px;
    }
}
