.jl-fk {
    --fk-bg: #fbfaf7;
    --fk-soft: #f1eee7;
    --fk-card: #fff;
    --fk-text: #2f332f;
    --fk-muted: #6c726c;
    --fk-accent: #667c68;
    --fk-accent-dark: #506352;
    --fk-border: #dedfd9;
    background: var(--fk-bg);
    color: var(--fk-text);
    line-height: 1.65;
}
.jl-fk *, .jl-fk *::before, .jl-fk *::after { box-sizing: border-box; }
.jl-fk-container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.jl-fk-narrow { max-width: 820px; }

.jl-fk-hero { padding: 84px 0 66px; }
.jl-fk-hero-grid,
.jl-fk-product-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: 58px;
    align-items: center;
}
.jl-fk-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--fk-accent-dark);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.jl-fk h1, .jl-fk h2 { margin: 0; line-height: 1.1; letter-spacing: -.025em; }
.jl-fk h1 { font-size: clamp(2.7rem, 5vw, 5rem); }
.jl-fk h2 { font-size: clamp(2rem, 3.5vw, 3.15rem); }
.jl-fk-lead {
    max-width: 760px;
    margin: 24px 0 0;
    color: var(--fk-muted);
    font-size: clamp(1.05rem, 1.6vw, 1.25rem);
}
.jl-fk-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.jl-fk-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 750;
    text-decoration: none;
}
.jl-fk-btn-primary { background: var(--fk-accent); color: #fff; }
.jl-fk-btn-secondary { border-color: var(--fk-border); color: var(--fk-text); }

.jl-fk-preview {
    padding: 30px;
    border-radius: 28px;
    background: var(--fk-soft);
}
.jl-fk-preview-kicker { display: block; color: var(--fk-muted); font-size: .84rem; }
.jl-fk-preview > strong { display: block; margin: 4px 0 18px; font-size: 1.4rem; }
.jl-fk-preview-list { display: grid; gap: 9px; }
.jl-fk-preview-list div {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-top: 1px solid var(--fk-border);
}
.jl-fk-preview-list span { font-weight: 800; color: var(--fk-accent-dark); }
.jl-fk-preview-list p { margin: 0; }

.jl-fk-breadcrumbs {
    display: flex;
    gap: 8px;
    color: var(--fk-muted);
    font-size: .92rem;
}
.jl-fk-breadcrumbs a { color: inherit; }

.jl-fk-section { padding: 82px 0; }
.jl-fk-section-soft { background: var(--fk-soft); }
.jl-fk-section-head { margin-bottom: 36px; }
.jl-fk-section-head > p { max-width: 760px; color: var(--fk-muted); }

.jl-fk-card-grid,
.jl-fk-situation-grid {
    display: grid;
    gap: 18px;
}
.jl-fk-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jl-fk-card {
    padding: 26px;
    border: 1px solid var(--fk-border);
    border-radius: 22px;
    background: #fff;
}
.jl-fk-icon { display: block; margin-bottom: 14px; font-size: 1.45rem; }
.jl-fk-card h3 { margin: 0 0 8px; }
.jl-fk-card p { margin: 0; color: var(--fk-muted); }

.jl-fk-steps { display: grid; gap: 8px; margin-top: 34px; }
.jl-fk-step {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    padding: 21px 0;
    border-bottom: 1px solid var(--fk-border);
}
.jl-fk-step > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--fk-accent);
    color: #fff;
    font-weight: 800;
}
.jl-fk-step h3 { margin: 0 0 5px; }
.jl-fk-step p { margin: 0; color: var(--fk-muted); }

.jl-fk-situation-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jl-fk-situation-grid a {
    display: block;
    padding: 26px;
    border: 1px solid var(--fk-border);
    border-radius: 22px;
    background: #fff;
    color: var(--fk-text);
    text-decoration: none;
}
.jl-fk-situation-grid a > span { display: block; margin-bottom: 12px; font-size: 1.45rem; }
.jl-fk-situation-grid h3 { margin: 0 0 7px; }
.jl-fk-situation-grid p { margin: 0; color: var(--fk-muted); }
.jl-fk-situation-grid strong {
    display: inline-block;
    margin-top: 16px;
    color: var(--fk-accent-dark);
}

.jl-fk-checks { display: grid; gap: 9px; padding: 0; margin: 25px 0; list-style: none; }
.jl-fk-checks li { position: relative; padding-left: 29px; }
.jl-fk-checks li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--fk-accent-dark);
    font-weight: 800;
}
.jl-fk-quote {
    padding: 38px;
    border-radius: 28px;
    background: var(--fk-soft);
}
.jl-fk-quote p { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.95rem); line-height: 1.45; }

.jl-fk-faq { display: grid; gap: 12px; margin-top: 28px; }
.jl-fk-faq details {
    padding: 0 20px;
    border: 1px solid var(--fk-border);
    border-radius: 18px;
    background: #fff;
}
.jl-fk-faq summary { cursor: pointer; padding: 20px 2px; font-weight: 750; }
.jl-fk-faq p { margin: 0; padding: 0 2px 20px; color: var(--fk-muted); }

@media (max-width: 920px) {
    .jl-fk-hero-grid, .jl-fk-product-grid { grid-template-columns: 1fr; gap: 34px; }
    .jl-fk-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jl-fk-situation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .jl-fk-container { width: min(100% - 28px, 1160px); }
    .jl-fk-hero { padding: 52px 0 54px; }
    .jl-fk-section { padding: 62px 0; }
    .jl-fk-card-grid, .jl-fk-situation-grid { grid-template-columns: 1fr; }
    .jl-fk-actions { flex-direction: column; }
    .jl-fk-btn { width: 100%; }
}
