/* Self-hosted fonts (CSP: font-src 'self') */
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/inter-latin-400-normal.woff2') format('woff2');
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/inter-latin-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/inter-latin-700-normal.woff2') format('woff2');
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2');
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/assets/fonts/plus-jakarta-sans-latin-800-normal.woff2') format('woff2');
}
@font-face {
    font-family: "Source Serif 4";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/source-serif-4-latin-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: "Source Serif 4";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/source-serif-4-latin-700-normal.woff2') format('woff2');
}
@font-face {
    font-family: Fraunces;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/fraunces-latin-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: Fraunces;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/fraunces-latin-700-normal.woff2') format('woff2');
}

:root {
    --lp-primary: #4a7c59;
    --lp-bg: #fdfbf7;
    --lp-text: #1c1917;
    --lp-muted: #57534e;
    --lp-card: #ffffff;
    --lp-border: color-mix(in srgb, var(--lp-primary) 16%, #e7e5e4);
    --lp-shadow: 0 22px 60px rgba(28, 25, 23, .12);
    --lp-shadow-sm: 0 10px 28px rgba(28, 25, 23, .08);
    --lp-radius: 1.35rem;
    --lp-radius-sm: .9rem;
    --lp-heading: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif;
    --lp-body-font: Inter, ui-sans-serif, system-ui, sans-serif;
    --lp-max: 70rem;
    --lp-space-1: .5rem;
    --lp-space-2: .85rem;
    --lp-space-3: 1.25rem;
    --lp-space-4: 2rem;
    --lp-space-5: 3.25rem;
    --lp-space-6: 4.5rem;
    --lp-display: clamp(2.2rem, 5vw, 3.6rem);
    --lp-h2: clamp(1.55rem, 3vw, 2.15rem);
    --lp-lead: 1.125rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body.lp-body {
    margin: 0;
    color: var(--lp-text);
    font-family: var(--lp-body-font);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    background:
        radial-gradient(1100px 520px at 8% -8%, color-mix(in srgb, var(--lp-primary) 18%, transparent), transparent 58%),
        radial-gradient(900px 420px at 100% 0%, color-mix(in srgb, var(--lp-primary) 10%, transparent), transparent 55%),
        var(--lp-bg);
}

.lp-preview-bar {
    background: #1c1917;
    color: #fff;
    text-align: center;
    padding: .55rem 1rem;
    font-size: .85rem;
}

.lp-main {
    width: min(100% - 2rem, var(--lp-max));
    margin: 0 auto;
    padding: var(--lp-space-5) 0 var(--lp-space-6);
}

.lp-section { margin-bottom: var(--lp-space-5); }
.lp-section__head { max-width: 40rem; margin-bottom: var(--lp-space-3); }

.lp-kicker {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 0 0 .55rem;
    padding: .28rem .7rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--lp-primary) 12%, #fff);
    color: var(--lp-primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.lp-hook {
    margin: 0 0 .75rem;
    color: var(--lp-primary);
    font-weight: 700;
    font-size: .95rem;
}

.lp-display,
.lp-hero h1,
.lp-section h2,
.lp-checkout h2,
.lp-offer h2,
.lp-warranty h2,
.lp-ps h2 {
    font-family: var(--lp-heading);
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 .75rem;
}

.lp-display { font-size: var(--lp-display); font-weight: 800; }
.lp-section h2,
.lp-checkout h2,
.lp-offer h2,
.lp-warranty h2,
.lp-ps h2 { font-size: var(--lp-h2); font-weight: 800; }

.lp-lead {
    margin: 0 0 1.2rem;
    color: var(--lp-muted);
    font-size: var(--lp-lead);
}

.lp-btn,
.lp-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 3.1rem;
    padding: .85rem 1.45rem;
    border: 0;
    border-radius: 999px;
    background: var(--lp-primary);
    color: #fff;
    font: inherit;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--lp-primary) 35%, transparent);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.lp-btn:hover,
.lp-form button:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
}
.lp-btn--ghost {
    background: transparent;
    color: var(--lp-primary);
    border: 1.5px solid color-mix(in srgb, var(--lp-primary) 40%, transparent);
    box-shadow: none;
}
.lp-btn--hero,
.lp-btn--checkout,
.lp-btn--offer { width: 100%; max-width: 22rem; }
.lp-btn--ghost {
    background: transparent;
    color: var(--lp-primary);
    border: 1.5px solid color-mix(in srgb, var(--lp-primary) 40%, transparent);
    box-shadow: none;
}
.lp-hero-price {
    display: flex;
    align-items: baseline;
    gap: .65rem;
    margin: 0 0 1rem;
    font-family: var(--lp-heading);
}
.lp-hero-price s { color: var(--lp-muted); font-size: 1.1rem; }
.lp-hero-price strong { font-size: 2rem; color: var(--lp-primary); }
.lp-trust-inline {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .85rem;
    margin: .9rem 0 0;
    color: var(--lp-muted);
    font-size: .82rem;
}
.lp-trust-inline__item {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}
.lp-trust-inline__item::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--lp-primary);
    opacity: .7;
}
.lp-play-badge {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 4.2rem;
    height: 4.2rem;
    margin: -2.1rem 0 0 -2.1rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--lp-primary) 92%, #000);
    box-shadow: 0 12px 28px rgba(0,0,0,.28);
}
.lp-play-badge::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-35%, -50%);
    border-style: solid;
    border-width: .7rem 0 .7rem 1.15rem;
    border-color: transparent transparent transparent #fff;
}
.lp-dual-cta {
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px dashed var(--lp-border);
    text-align: center;
}
.lp-dual-cta__label {
    margin: 0 0 .65rem;
    color: var(--lp-muted);
    font-size: .9rem;
}
.lp-ps__card {
    max-width: 40rem;
    margin-inline: auto;
    background: color-mix(in srgb, var(--lp-primary) 6%, #fff);
    border: 1px solid var(--lp-border);
    border-radius: calc(var(--lp-radius) + .15rem);
    box-shadow: var(--lp-shadow-sm);
    padding: 1.4rem 1.35rem;
}
.lp-warranty__copy { min-width: 0; }
.lp-form input.has-error { border-color: #b91c1c; }
.lp-cards--grid { grid-template-columns: 1fr; }
.lp-value-stack { position: relative; }
.lp-value-stack__rows { display: grid; gap: .55rem; margin-bottom: 1.2rem; }

/* Hero */
.lp-hero--split {
    display: grid;
    gap: var(--lp-space-4);
    align-items: center;
    margin-bottom: var(--lp-space-5);
}
.lp-hero__copy { order: 1; }
.lp-hero__visual { order: 2; }

.lp-stats {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    padding: 0;
    margin: 0 0 1.25rem;
}
.lp-stats li {
    background: color-mix(in srgb, var(--lp-card) 80%, var(--lp-primary));
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius-sm);
    padding: .75rem .7rem;
}
.lp-stats strong {
    display: block;
    font-family: var(--lp-heading);
    font-size: 1.05rem;
    font-weight: 800;
}
.lp-stats span {
    display: block;
    margin-top: .15rem;
    color: var(--lp-muted);
    font-size: .78rem;
}

.lp-trust-inline {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .85rem;
    margin: .9rem 0 0;
    color: var(--lp-muted);
    font-size: .82rem;
}
.lp-trust-inline__item {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}
.lp-trust-inline__item::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--lp-primary);
    opacity: .7;
}

.lp-hero-price {
    display: flex;
    align-items: baseline;
    gap: .65rem;
    margin: 0 0 1rem;
    font-family: var(--lp-heading);
}
.lp-hero-price s { color: var(--lp-muted); font-size: 1.1rem; }
.lp-hero-price strong { font-size: 2rem; color: var(--lp-primary); }

/* Mockups */
.lp-mockup {
    position: relative;
    margin-inline: auto;
    width: min(100%, 26rem);
}
.lp-mockup__frame {
    position: relative;
    border-radius: calc(var(--lp-radius) + .25rem);
    padding: 1rem;
    background:
        linear-gradient(160deg, color-mix(in srgb, var(--lp-primary) 18%, #fff), #fff 55%),
        var(--lp-card);
    box-shadow: var(--lp-shadow);
    border: 1px solid var(--lp-border);
}
.lp-mockup__frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--lp-radius-sm);
}

.lp-mockup--book .lp-mockup__frame {
    transform: perspective(900px) rotateY(-8deg) rotateX(2deg);
    padding: 1.1rem 1.1rem 1.1rem 1.45rem;
    border-left: 10px solid color-mix(in srgb, var(--lp-primary) 55%, #1c1917);
}
.lp-mockup--player .lp-mockup__frame {
    border-radius: 1.6rem;
    aspect-ratio: 16 / 11;
    padding: .85rem;
}
.lp-mockup--player .lp-mockup__frame img { aspect-ratio: 16 / 10; }
.lp-mockup--stack .lp-mockup__frame {
    transform: rotate(2deg);
    box-shadow:
        var(--lp-shadow),
        14px 18px 0 color-mix(in srgb, var(--lp-primary) 12%, #fff),
        28px 34px 0 color-mix(in srgb, var(--lp-primary) 8%, #fff);
}
.lp-mockup--docs .lp-mockup__frame {
    transform: rotate(-1deg);
    border-style: dashed;
}
.lp-mockup--vault .lp-mockup__frame {
    background: linear-gradient(160deg, #0f172a, #1e293b);
    border-color: #334155;
}
.lp-mockup--vault .lp-mockup__frame img { border-radius: 1rem; }
.lp-mockup--device .lp-mockup__frame {
    border-radius: 1.8rem;
    padding: .7rem;
}
.lp-mockup--wave .lp-mockup__frame {
    border-radius: 50%;
    padding: 1.15rem;
}
.lp-mockup--wave .lp-mockup__frame img { border-radius: 50%; }
.lp-mockup--board .lp-mockup__frame {
    background: #fef9c3;
    border-color: #fde68a;
}
.lp-mockup--seal .lp-mockup__frame {
    border-radius: .6rem;
    border-width: 2px;
}
.lp-mockup--organic .lp-mockup__frame {
    border-radius: 2.4rem 1.2rem 2.4rem 1.2rem;
}
.lp-mockup--minimal .lp-mockup__frame {
    background: #fff;
    box-shadow: var(--lp-shadow-sm);
    padding: .5rem;
}

.lp-play-badge {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 4.2rem;
    height: 4.2rem;
    margin: -2.1rem 0 0 -2.1rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--lp-primary) 92%, #000);
    box-shadow: 0 12px 28px rgba(0,0,0,.28);
}
.lp-play-badge::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-35%, -50%);
    border-style: solid;
    border-width: .7rem 0 .7rem 1.15rem;
    border-color: transparent transparent transparent #fff;
}

/* Cards */
.lp-cards {
    list-style: none;
    display: grid;
    gap: .85rem;
    padding: 0;
    margin: 0;
}
.lp-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .85rem;
    align-items: start;
    padding: 1rem 1.05rem;
    background: var(--lp-card);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
}
.lp-card p { margin: 0; color: var(--lp-text); }
.lp-card__icon {
    display: inline-grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: .75rem;
    flex-shrink: 0;
}
.lp-card__icon--x {
    color: #b91c1c;
    background: #fef2f2;
}
.lp-card__icon--check {
    color: #047857;
    background: #ecfdf5;
}

.lp-cards--numbered { counter-reset: lp-step; }
.lp-cards--numbered .lp-card__icon--check {
    background: color-mix(in srgb, var(--lp-primary) 14%, #fff);
    color: transparent;
    position: relative;
}
.lp-cards--numbered .lp-card__icon--check svg { display: none; }
.lp-cards--numbered .lp-card__icon--check::before {
    counter-increment: lp-step;
    content: counter(lp-step);
    color: var(--lp-primary);
    font-family: var(--lp-heading);
    font-weight: 800;
    font-size: .95rem;
}

.lp-day-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: 1.25rem;
}
.lp-day-strip span {
    display: inline-grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--lp-primary) 12%, #fff);
    color: var(--lp-primary);
    font-size: .7rem;
    font-weight: 700;
}

/* Proof */
.lp-quotes {
    display: grid;
    gap: 1rem;
}
.lp-quote {
    margin: 0;
    padding: 1.15rem 1.2rem;
    background: var(--lp-card);
    border: 1px solid var(--lp-border);
    border-radius: var(--lp-radius);
    box-shadow: var(--lp-shadow-sm);
}
.lp-quote__top {
    display: flex;
    gap: .75rem;
    align-items: center;
    margin-bottom: .75rem;
}
.lp-avatar {
    display: inline-grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--lp-primary) 18%, #fff);
    color: var(--lp-primary);
    font-family: var(--lp-heading);
    font-weight: 800;
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--lp-primary) 25%, transparent);
}
.lp-quote figcaption { font-weight: 700; }
.lp-stars { display: flex; gap: .1rem; margin: .15rem 0 0; }
.lp-star { color: #d6d3d1; }
.lp-star.is-on { color: #f59e0b; }
.lp-quote blockquote {
    margin: 0;
    color: var(--lp-text);
    font-size: 1.02rem;
}
.lp-video {
    margin-bottom: 1rem;
    border-radius: var(--lp-radius);
    overflow: hidden;
    background: #0f172a;
    aspect-ratio: 16 / 9;
}
.lp-video iframe { width: 100%; height: 100%; border: 0; }

/* Offer value stack */
.lp-offer__card,
.lp-checkout__card,
.lp-warranty__card,
.lp-ps__card {
    background: var(--lp-card);
    border: 1px solid var(--lp-border);
    border-radius: calc(var(--lp-radius) + .15rem);
    box-shadow: var(--lp-shadow);
    padding: 1.4rem 1.35rem;
}
.lp-offer__card { max-width: 34rem; margin-inline: auto; }
.lp-product {
    margin: -.25rem 0 1rem;
    color: var(--lp-muted);
    font-weight: 600;
}
.lp-value-stack__rows { display: grid; gap: .55rem; margin-bottom: 1.2rem; }
.lp-value-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .65rem .75rem;
    border-radius: .8rem;
    background: color-mix(in srgb, var(--lp-bg) 70%, #fff);
}
.lp-value-row--bonus { background: color-mix(in srgb, var(--lp-primary) 7%, #fff); }
.lp-value-row--total {
    border: 1px dashed color-mix(in srgb, var(--lp-primary) 35%, transparent);
}
.lp-value-row--today {
    background: color-mix(in srgb, var(--lp-primary) 12%, #fff);
    border: 1px solid color-mix(in srgb, var(--lp-primary) 28%, transparent);
}
.lp-price-today {
    font-family: var(--lp-heading);
    font-size: 1.55rem;
    color: var(--lp-primary);
}
.lp-bonuses__check {
    display: inline-grid;
    place-items: center;
    width: 1.15rem;
    height: 1.15rem;
    margin-right: .35rem;
    border-radius: 50%;
    background: #ecfdf5;
    color: #047857;
    vertical-align: -2px;
}
.lp-value-row em { color: var(--lp-muted); font-style: normal; font-size: .9rem; }
.lp-offer-note {
    margin: .85rem 0 0;
    text-align: center;
    color: var(--lp-muted);
    font-size: .82rem;
}

/* Warranty seal */
.lp-warranty__card {
    display: grid;
    gap: 1.1rem;
    align-items: center;
    max-width: 42rem;
    margin-inline: auto;
}
.lp-seal {
    position: relative;
    width: 6.2rem;
    height: 6.2rem;
    margin-inline: auto;
    color: var(--lp-primary);
}
.lp-seal__ring { display: block; width: 100%; height: 100%; }
.lp-seal__label {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: .75rem;
    text-align: center;
    font-family: var(--lp-heading);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}
.lp-badge {
    display: inline-flex;
    margin: 0 0 .45rem;
    padding: .25rem .65rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--lp-primary) 12%, #fff);
    color: var(--lp-primary);
    font-size: .75rem;
    font-weight: 800;
}

/* Checkout */
.lp-checkout__card { max-width: 28rem; margin-inline: auto; }
.lp-form { display: grid; gap: .85rem; }
.lp-form label { display: grid; gap: .35rem; font-weight: 700; }
.lp-form input {
    width: 100%;
    min-height: 3rem;
    padding: .7rem .9rem;
    border: 1px solid var(--lp-border);
    border-radius: .85rem;
    font: inherit;
    background: #fff;
}
.lp-form input:focus {
    outline: 2px solid color-mix(in srgb, var(--lp-primary) 35%, transparent);
    border-color: var(--lp-primary);
}
.lp-form input.has-error { border-color: #b91c1c; }
.lp-error { color: #b91c1c; margin: .35rem 0; font-size: .9rem; }
.lp-note { color: var(--lp-muted); font-size: .9rem; }
.lp-trust-list {
    list-style: none;
    display: grid;
    gap: .55rem;
    margin: 1rem 0 0;
    padding: 0;
}
.lp-trust-list li {
    display: flex;
    gap: .55rem;
    align-items: center;
    color: var(--lp-muted);
    font-size: .9rem;
}
.lp-trust-list__icon {
    display: inline-grid;
    place-items: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: .55rem;
    background: color-mix(in srgb, var(--lp-primary) 10%, #fff);
    color: var(--lp-primary);
}
.lp-dual-cta {
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px dashed var(--lp-border);
    text-align: center;
}
.lp-dual-cta__label {
    margin: 0 0 .65rem;
    color: var(--lp-muted);
    font-size: .9rem;
}

.lp-ps__card {
    max-width: 40rem;
    margin-inline: auto;
    background: color-mix(in srgb, var(--lp-primary) 6%, #fff);
}

.lp-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem 1.25rem;
    padding: 1.5rem 1rem 5.5rem;
    font-size: .82rem;
}
.lp-legal a { color: var(--lp-muted); }

.lp-sticky-cta {
    position: fixed;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 40;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .95rem 1.2rem;
    border-radius: 999px;
    background: var(--lp-primary);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .25);
    animation: lp-sticky-in .45s ease both;
}
@keyframes lp-sticky-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes lp-fade-up {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.lp-hero__copy { animation: lp-fade-up .5s ease both; }
.lp-hero__visual { animation: lp-fade-up .65s .08s ease both; }

.lp-thanks,
.lp-legal-doc { padding-top: 2.5rem; padding-bottom: 3rem; }
.lp-back { color: var(--lp-primary); font-weight: 700; text-decoration: none; }
.lp-prose {
    background: #fff;
    padding: 1.5rem;
    border-radius: 1.25rem;
    border: 1px solid var(--lp-border);
    box-shadow: var(--lp-shadow-sm);
}
.lp-prose :where(h1,h2,h3) { font-family: var(--lp-heading); }

/* Moods + skins */
.lp-skin-ekniha,
.lp-mood-editorial { --lp-heading: "Source Serif 4", Georgia, serif; }
.lp-skin-pravni,
.lp-mood-seal { --lp-heading: "Source Serif 4", Georgia, serif; }
.lp-mood-editorial .lp-hero {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--lp-primary) 8%, transparent), transparent 70%);
    border-radius: 1.5rem;
    padding: 1rem;
}
.lp-mood-curriculum .lp-cards--solution { gap: 1rem; }
.lp-mood-coaching { --lp-radius: 1.6rem; }
.lp-mood-stage .lp-hero__visual .lp-mockup { filter: drop-shadow(0 18px 40px rgba(0,0,0,.18)); }
.lp-mood-checklist .lp-cards--solution .lp-card { border-style: dashed; }
.lp-mood-vault,
.lp-skin-clenstvi {
    --lp-bg: #0b1220;
    --lp-text: #e2e8f0;
    --lp-muted: #94a3b8;
    --lp-card: #111827;
    --lp-border: #1f2937;
    --lp-shadow: 0 22px 60px rgba(0,0,0,.45);
}
.lp-mood-vault .lp-btn,
.lp-skin-clenstvi .lp-btn,
.lp-mood-vault .lp-form button,
.lp-skin-clenstvi .lp-form button {
    color: #0b1220;
    background: #e2e8f0;
    box-shadow: none;
}
.lp-mood-vault .lp-offer__card,
.lp-mood-vault .lp-checkout__card,
.lp-mood-vault .lp-warranty__card,
.lp-mood-vault .lp-quote,
.lp-mood-vault .lp-card,
.lp-skin-clenstvi .lp-offer__card,
.lp-skin-clenstvi .lp-checkout__card,
.lp-skin-clenstvi .lp-warranty__card,
.lp-skin-clenstvi .lp-quote,
.lp-skin-clenstvi .lp-card {
    background: #111827;
}
.lp-mood-calendar .lp-hero--split { gap: 2rem; }
.lp-mood-wave,
.lp-mood-organic,
.lp-skin-audio,
.lp-skin-wellness { --lp-heading: Fraunces, Georgia, serif; }
.lp-mood-wave .lp-stats li { border-radius: 999px; text-align: center; }
.lp-mood-whiteboard .lp-card {
    background: #fffbeb;
    border-color: #fde68a;
}
.lp-mood-seal,
.lp-skin-pravni { --lp-heading: "Source Serif 4", Georgia, serif; }
.lp-mood-seal .lp-offer__card,
.lp-skin-pravni .lp-offer__card { border-top: 4px solid var(--lp-primary); }
.lp-mood-organic .lp-mockup__frame { border-radius: 2.4rem 1.1rem; }
.lp-mood-minimal .lp-section:not(.lp-checkout):not(.lp-offer):not(.lp-warranty) {
    margin-bottom: 1.75rem;
}
.lp-mood-minimal .lp-hero--split { gap: 1.25rem; }
.lp-mood-minimal .lp-display { font-size: clamp(2.4rem, 8vw, 4rem); }
.lp-mood-minimal .lp-cards,
.lp-mood-minimal .lp-stats { max-width: 36rem; }
.lp-mood-minimal .lp-proof,
.lp-mood-minimal .lp-ps { opacity: .92; }

.lp-skin-webinar .lp-mockup--player .lp-mockup__frame::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
    pointer-events: none;
}
.lp-skin-balicek { --lp-radius: 1.55rem; }
.lp-skin-konzultace .lp-hero--split { gap: 2rem; }
.lp-skin-workshop .lp-cards--solution { gap: 1rem; }
.lp-skin-minimal .lp-hero--split { align-items: end; }

@media (min-width: 720px) {
    .lp-main { padding-top: 2.75rem; }
    .lp-btn--hero,
    .lp-btn--checkout,
    .lp-btn--offer,
    .lp-form button {
        width: auto;
        min-width: 16rem;
        max-width: 22rem;
    }
    .lp-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lp-cards .lp-card {
        grid-template-columns: 1fr;
        min-height: 100%;
    }
    .lp-cards--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lp-quotes { grid-template-columns: 1fr 1fr; }
    .lp-warranty__card {
        grid-template-columns: auto 1fr;
        gap: 1.5rem;
        padding: 1.5rem 1.75rem;
    }
    .lp-seal { margin-inline: 0; }
}

@media (min-width: 900px) {
    .lp-sticky-cta { display: none; }
}

@media (min-width: 960px) {
    .lp-hero--split {
        grid-template-columns: 1.12fr .88fr;
        gap: 2.75rem;
        min-height: 28rem;
    }
    .lp-hero__copy,
    .lp-hero__visual { order: 0; }
    .lp-mood-minimal .lp-hero--split,
    .lp-skin-minimal .lp-hero--split {
        grid-template-columns: 1.4fr .8fr;
        align-items: end;
    }
}

/* Builder editable overlays */
.lp-edit {
    display: block;
    width: 100%;
    border: 1px dashed transparent;
    background: transparent;
    color: inherit;
    font: inherit;
    padding: .15rem .2rem;
    border-radius: .4rem;
    resize: vertical;
}
.lp-edit:hover,
.lp-edit:focus {
    border-color: color-mix(in srgb, var(--lp-primary) 45%, transparent);
    outline: none;
    background: color-mix(in srgb, #fff 70%, transparent);
}
.lp-edit-h1 { font-family: var(--lp-heading); font-size: var(--lp-display); font-weight: 800; }
.lp-edit-h2 { font-family: var(--lp-heading); font-size: var(--lp-h2); font-weight: 800; }
.lp-edit-hook { color: var(--lp-primary); font-weight: 700; }
.lp-edit-lead { color: var(--lp-muted); }
.lp-edit-cta {
    display: inline-flex !important;
    width: auto !important;
    min-width: 12rem;
    background: var(--lp-primary) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: .85rem 1.35rem !important;
    font-weight: 800 !important;
    text-align: center;
}
.lp-block {
    position: relative;
    margin-bottom: 1.25rem;
    border: 1px solid transparent;
    border-radius: 1rem;
}
.lp-block.is-hidden { opacity: .45; }
.lp-block-toolbar {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    margin-bottom: .55rem;
    padding: .35rem .15rem;
}
.lp-block-label {
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--lp-muted);
}
.lp-block-actions { display: flex; gap: .35rem; align-items: center; }
.lp-block-canvas { pointer-events: auto; }
.lp-edit-meta { display: block; margin: .5rem 0 .25rem; font-size: .8rem; color: var(--lp-muted); }
.lp-price-edit { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.lp-form-mock { display: grid; gap: .5rem; margin: .75rem 0; }
.lp-form-mock-input {
    min-height: 2.8rem;
    border-radius: .85rem;
    border: 1px solid var(--lp-border);
    padding: .7rem .9rem;
    background: #f8fafc;
}
.split-2 { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
@media (max-width: 640px) {
    .lp-stats { grid-template-columns: 1fr; }
    .split-2 { grid-template-columns: 1fr; }
}

.lp-value-stack { position: relative; }
 
