/* ═══════════════════════════════════════════════════════════
   SwipeLink – NEW / 01 Hero
   Rekonštrukcia podľa referenčného screenshotu.
   Všetky desktopové rozmery sú odmerané z referencie a prepočítané
   na obsahový kontejner šírky 1200 px (mierka 5,06 px / px predlohy).
   ═══════════════════════════════════════════════════════════ */

:root {
    /* farby odmerané zo screenshotu */
    --bg:          #FDFDFD;
    --ink:         #0C0C0C;   /* nadpis, primárny text */
    --ink-2:       #1A1A1A;   /* nav, wordmark */
    --body:        #5A5C5E;   /* odstavec */
    --muted:       #8A8A8A;   /* breadcrumb, drobné labely */
    --muted-2:     #A8A8A8;   /* trust logá */
    --muted-3:     #B4B4B4;   /* trust label */
    --line:        #E7E7E7;   /* okraj hlavnej karty */
    --line-2:      #ECECEC;   /* okraj vnútorných kariet */
    --line-3:      #F1F1F1;   /* deliace linky */

    --lime:        #CDF413;
    --lime-ink:    #101010;   /* text na limetke */

    --black:       #121211;   /* čierna analytická karta */

    /* kompozícia – odmerané pozície (kontejner 1200 px).
       Geometria je vždy rovnaká; na menších obrazovkách sa celá
       kompozícia len preškáluje mierkou --k. */
    --k:           1;
    --stage-w:     461px;
    --stage-h:     465px;
    --stage-full:  600px;   /* výška vrátane plávajúcich kariet */
    --ac-w:        300px;
    --ac-h:        172px;
    --ac-x:        -167px;
    --ac-y:        402px;
    --ac-rot:      -3deg;
    --kpi-w:       241px;
    --kpi-h:       125px;
    --kpi-x:       220px;
    --kpi-y:       475px;

    --title-size:  66.4px;

    --sh-card:     0 1px 2px rgba(16,16,16,.02), 0 18px 40px -28px rgba(16,16,16,.14);
    --sh-float:    0 2px 4px rgba(16,16,16,.03), 0 26px 50px -26px rgba(16,16,16,.20);
    --sh-black:    0 3px 8px rgba(16,16,16,.06), 0 34px 60px -28px rgba(16,16,16,.34);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
ul { margin: 0; padding: 0; list-style: none; }
p  { margin: 0; }

:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 3px; }

/* centrovaný obsahový kontejner */
.shell {
    width: 100%;
    max-width: 1240px;   /* 1200 px obsahu + 2x20 px padding */
    margin: 0 auto;
    padding: 0 20px;
}

/* ═══════════════════════ HEADER ═══════════════════════ */
.hdr {
    background: var(--bg);
    position: relative;
    z-index: 20;
}
.hdr__inner {
    display: flex;
    align-items: center;
    gap: 28px;
    padding-top: 50px;
    padding-bottom: 52px;
}

/* ── logo ── */
.logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: none;
}
/* oficiálna značka – assets/logo.svg (znak + wordmark v jednom SVG) */
.logo__img {
    display: block;
    height: 26px;
    width: auto;
    flex: none;
}
.logo__tag {
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: -.01em;
    color: #C4C4C4;
    margin-left: -1px;
}

/* ── navigácia ── */
.nav {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0 auto;
}
.nav a {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -.008em;
    color: #262626;
    transition: color .18s ease;
}
.nav a:hover { color: #8A8A8A; }

/* ── pravá strana ── */
.hdr__right {
    display: flex;
    align-items: center;
    gap: 22px;
    flex: none;
}
.hdr__login {
    font-size: 13px;
    font-weight: 500;
    color: #4A4A4A;
    transition: color .18s ease;
}
.hdr__login:hover { color: var(--ink); }

.burger {
    display: none;
    width: 36px; height: 36px;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 6px;
    cursor: pointer;
    padding: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.burger span { display: block; width: 14px; height: 1.5px; background: var(--ink); }

/* ═══════════════════════ TLAČIDLÁ ═══════════════════════ */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 0;
    cursor: pointer;
    white-space: nowrap;
    transition: background .18s ease, transform .18s ease;
}
.btn--lime {
    background: var(--lime);
    color: var(--lime-ink);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: -.01em;
    height: 34px;
    padding: 0 15px;
    border-radius: 6px;
}
.btn--lime:hover { background: #C2E80F; }
.btn--lime:active { transform: translateY(1px); }
.btn__arw { width: 10px; height: 10px; flex: none; }

.btn--lg {
    height: 50px;
    padding: 0 22px;
    min-width: 137px;
    font-size: 14.5px;
    font-weight: 600;
    border-radius: 7px;
    gap: 14px;
}
.btn--lg .btn__arw { width: 12px; height: 12px; }

/* ═══════════════════════ HERO ═══════════════════════ */
.hero {
    position: relative;
    overflow-x: clip;
    padding-bottom: 96px;
}
.hero__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) calc(var(--stage-w) * var(--k));
    gap: 40px;
    align-items: start;
}

/* ─────────── breadcrumb ─────────── */
.crumb {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 25px 0 42px;
    font-size: 9.5px;
    font-weight: 500;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--muted);
}
.crumb__dot {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--lime);
    flex: none;
}
.crumb__sep { color: #CFCFCF; }

/* ─────────── nadpis ─────────── */
.title {
    margin: 0;
    font-size: var(--title-size);
    line-height: .95;
    font-weight: 700;
    letter-spacing: -.038em;
    color: var(--ink);
}
.title em {
    font-style: italic;
    font-weight: 500;
    color: var(--lime);
    letter-spacing: -.012em;
}
/* "biznis." – plný limetkový blok, text biely */
.title__box {
    display: inline-block;
    background: var(--lime);
    color: #fff;
    padding: 0 .13em;
    border-radius: 3px;
    letter-spacing: -.045em;
    line-height: .82;
}

/* ─────────── odstavec ─────────── */
.lede {
    margin: 27px 0 0;
    max-width: 470px;
    font-size: 16px;
    line-height: 25px;
    color: var(--body);
    letter-spacing: -.006em;
}
.lede strong { color: var(--ink); font-weight: 600; }
.lede br { display: inline; }

/* ─────────── CTA ─────────── */
.actions {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 52.5px;
}
.play {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -.012em;
    color: #1E1E1E;
    transition: opacity .18s ease;
}
.play:hover { opacity: .6; }
.play__ico { display: inline-flex; color: #1E1E1E; }
.play__ico svg { width: 9px; height: 11px; display: block; }

/* ─────────── trust strip ─────────── */
.trust { margin-top: 55px; }
.trust__label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .01em;
    color: var(--muted-3);
    margin-bottom: 30px;
}
.trust__row {
    display: flex;
    align-items: center;
    gap: 47.5px;
    flex-wrap: wrap;
}
.trust__row li {
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--muted-2);
    white-space: nowrap;
}

/* ═══════════════════════ PRODUKTOVÁ KOMPOZÍCIA ═══════════════════════ */
.stage-wrap {
    position: relative;
    width: calc(var(--stage-w) * var(--k));
    height: calc(var(--stage-h) * var(--k));
}
.stage {
    position: absolute;
    top: 0;
    right: 10px;
    width: var(--stage-w);
    height: var(--stage-h);
    transform: scale(var(--k, 1));
    transform-origin: top right;
}

/* ─────────── 1. HLAVNÝ DASHBOARD ─────────── */
.dash {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 11px;
    box-shadow: var(--sh-card);
    padding: 16px 22px 0;
    display: flex;
    flex-direction: column;
}

.dash__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--line-3);
    flex: none;
}
.dash__path {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: -.005em;
    color: #8E8E8E;
}
.dash__path svg { width: 11px; height: 11px; flex: none; }
.dash__meta { font-size: 10px; font-weight: 500; color: #B0B0B0; letter-spacing: .02em; }

.dash__body { flex: 1 1 auto; padding-top: 15px; }

/* riadok s ľavým žliabkom pre ikonu */
.row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    margin-bottom: 23.5px;
}
.row--tight  { margin-bottom: 5px; }
.row--flush  { margin-bottom: 21px; }
/* sekcny label je jediny obsah riadku – vlastny margin by sa zdvojil */
.row--tight .row__section { margin-bottom: 0; }
.row:last-child { margin-bottom: 8px; }
.row__gutter { display: block; }

.dot-lime {
    width: 19px; height: 19px;
    border-radius: 50%;
    background: var(--lime);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}
.dot-lime svg { width: 11px; height: 11px; display: block; }
.dot-lime--sm { width: 14px; height: 14px; }
.dot-lime--sm svg { width: 9px; height: 9px; }

.ico-sq {
    display: block;
    width: 11px; height: 11px;
    border: 1.4px solid #C9C9C9;
    border-radius: 3px;
    margin-top: 2px;
}

.row__tag {
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 5px;
}
.row__tag b    { color: #A6C40D; font-weight: 700; }
.row__tag span { color: #B6B6B6; font-weight: 500; }

.row__text {
    font-size: 12.5px;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: -.012em;
    color: #2B2B2B;
    max-width: 30ch;
}

.row__section {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .01em;
    color: #4F4F4F;
    margin-bottom: 13px;
}
.row__section span { color: #B6B6B6; font-weight: 500; }
.row__section--split {
    margin-bottom: 8px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.row__section--split .row__section-t { display: inline-flex; gap: 4px; }
.row__section--split b { font-size: 10px; font-weight: 600; color: #9C9C9C; flex: none; }

/* ── 2×2 mriežka info kariet ── */
.stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.stat {
    border: 1px solid var(--line-2);
    border-radius: 7px;
    padding: 9px 11px;
    background: #fff;
    transition: border-color .18s ease, background .18s ease;
}
.stat:hover { border-color: #DEDEDE; background: #FCFCFC; }
.stat__k {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #A8A8A8;
    margin-bottom: 5px;
}
.stat__v {
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: -.018em;
    color: #1A1A1A;
    font-variant-numeric: tabular-nums;
}
.stat__v i { font-style: normal; font-weight: 500; color: #9C9C9C; font-size: 11px; }

/* ── checklist ── */
.checks { display: grid; gap: 9px; }
.checks li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: -.012em;
    color: #2B2B2B;
}

/* ── spodné vstupné pole ── */
.dash__field {
    flex: none;
    margin: 0 0 14px;
    border: 1px solid var(--line-2);
    border-radius: 8px;
    padding: 9px 13px;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: -.005em;
    color: #BDBDBD;
}

/* ─────────── 2. ČIERNA ANALYTICKÁ KARTA ─────────── */
.ac {
    position: absolute;
    z-index: 3;
    left: var(--ac-x);
    top: var(--ac-y);
    width: var(--ac-w);
    height: var(--ac-h);
    transform: rotate(var(--ac-rot));
    background: var(--black);
    border-radius: 12px;
    box-shadow: var(--sh-black);
    padding: 26px 22px 0;
    overflow: hidden;
    color: #fff;
}
.ac__label {
    font-size: 9.5px;
    font-weight: 500;
    letter-spacing: .04em;
    color: #86877E;
}
.ac__label span { color: #5E5F58; }

.ac__num {
    margin-top: 6px;
    font-size: 38px;
    font-weight: 600;
    letter-spacing: -.045em;
    line-height: 1;
    color: #fff;
    font-variant-numeric: tabular-nums;
}
.ac__num i {
    font-style: normal;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: -.02em;
    color: #6E6F67;
    margin-left: 1px;
}

.ac__sub {
    margin-top: 8px;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: -.005em;
    color: #7C7D75;
}

.ac__chart {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 82px;
}
.ac__chart svg { display: block; width: 100%; height: 100%; }
.ac__line {
    fill: none;
    stroke: var(--lime);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ac__area { fill: url(#acFill); }
.acFill0 { stop-color: #CDF413; stop-opacity: .30; }
.acFill1 { stop-color: #CDF413; stop-opacity: .07; }
.acFill2 { stop-color: #CDF413; stop-opacity: 0; }

/* ─────────── 3. KPI KARTA ─────────── */
.kpi {
    position: absolute;
    z-index: 2;
    left: var(--kpi-x);
    top: var(--kpi-y);
    width: var(--kpi-w);
    height: var(--kpi-h);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 11px;
    box-shadow: var(--sh-float);
    padding: 15px 17px 22px;
    display: flex;
    flex-direction: column;
}
.kpi__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.kpi__label {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #9C9C9C;
}
.kpi__label span { font-weight: 500; color: #BDBDBD; letter-spacing: .06em; }
.kpi__ico { color: #C9C9C9; display: inline-flex; flex: none; }
.kpi__ico svg { width: 11px; height: 11px; }

.kpi__num {
    margin-top: 7px;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: 1;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.kpi__num i {
    font-style: normal;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -.02em;
    color: #B0B0B0;
    margin-left: 1px;
}
.kpi__sub {
    margin-top: 6px;
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: -.005em;
    color: #8E8E8E;
}
.kpi__track {
    margin-top: auto;
    height: 9px;
    border-radius: 4px;
    background: #F1F1F1;
    overflow: hidden;
}
.kpi__track span {
    display: block;
    height: 100%;
    width: 0;
    border-radius: 4px;
    background: var(--lime);
    transition: width 1.1s cubic-bezier(.22,.68,.32,1);
}
.kpi__track span.is-on { width: var(--fill); }

/* ═══════════════════════ RESPONZÍVNE ═══════════════════════ */
/* Kompozícia sa nedeformuje – mení sa iba mierka --k.
   Hodnoty nižšie sú bezpečný CSS fallback; na skladanom layoute ich
   JS dopočíta presne na dostupnú šírku. */

@media (max-width: 1180px) {
    :root { --k: .92; --title-size: 60px; }
    .nav { gap: 22px; }
}

@media (max-width: 1060px) {
    :root { --k: .82; --title-size: 53px; }
    .hdr__inner { gap: 18px; }
    .nav { gap: 15px; }
    .nav a { font-size: 12.5px; }
}

/* ── tablet a menej: kompozícia ide pod text, vrstvenie zostáva ── */
@media (max-width: 991px) {
    :root {
        --k: 1;
        --title-size: 56px;
        /* Na šírke jedného stĺpca sa čierna karta a KPI karta nezmestia
           vedľa seba ako na desktope, preto idú pod seba – vrstvenie nad
           dashboardom aj proporcie kariet zostávajú zachované. */
        --ac-x:   0px;
        --ac-y:   396px;
        --kpi-x:  220px;
        --kpi-y:  588px;
        --stage-full: 718px;
    }
    .nav { display: none; }
    .burger { display: inline-flex; }
    .hdr__inner { padding-top: 30px; padding-bottom: 34px; justify-content: space-between; }

    .hero { padding-bottom: 72px; }
    .hero__inner { grid-template-columns: minmax(0, 1fr); gap: 0; }

    .crumb { margin-top: 0; }
    .trust { margin-top: 46px; }

    .stage-wrap {
        width: 100%;
        max-width: var(--stage-w);
        height: calc(var(--stage-full) * var(--k));
        margin-top: 60px;
    }
    .stage {
        left: 0;
        right: auto;
        transform-origin: top left;
    }
}

@media (max-width: 720px) {
    :root { --title-size: 44px; }
    .shell { padding: 0 18px; }
    .lede { font-size: 15px; line-height: 24px; }
    .lede br { display: none; }      /* na úzkych šírkach nech text tečie */
    .actions { margin-top: 40px; gap: 26px; }
    .trust__row { gap: 26px; }
    .trust__row li { font-size: 12.5px; }
    .trust__label { margin-bottom: 24px; }
}

@media (max-width: 560px) {
    :root { --title-size: 38px; }
    .hdr__login { display: none; }
    .hdr__inner { padding-top: 22px; padding-bottom: 26px; }
    .stage-wrap { margin-top: 44px; }
    .actions { flex-direction: column; align-items: stretch; gap: 18px; }
    .play { justify-content: flex-start; }
    .trust__row { gap: 16px 22px; }
}

@media (max-width: 400px) {
    :root { --title-size: 33px; }
    .logo__tag { display: none; }
}

/* ═══════════════════════ PRÍSTUPNOSŤ ═══════════════════════ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}
