:root {
    --lyb-bg: #fff7f1;
    --lyb-bg-soft: #ffe9dd;
    --lyb-card: #ffffff;
    --lyb-card-strong: #fff0e9;
    --lyb-text: #241714;
    --lyb-muted: #7b6259;
    --lyb-line: rgba(95, 61, 48, .18);
    --lyb-accent: #d77b7b;
    --lyb-accent-dark: #9b3f4e;
    --lyb-shadow: 0 24px 70px rgba(92, 52, 42, .14);
    --lyb-max-page: 1180px;
    --lyb-max-content: 1060px;
    --lyb-max-text: 780px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.lyb-page {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--lyb-text);
    background:
        radial-gradient(circle at 10% 0%, rgba(215, 123, 123, .22), transparent 34%),
        linear-gradient(180deg, #fff9f5 0%, var(--lyb-bg) 46%, #fff4ed 100%);
    line-height: 1.65;
}

img { max-width: 100%; display: block; }

a { color: inherit; }

.lyb-wrap {
    width: min(var(--lyb-max-page), calc(100% - 40px));
    margin: 0 auto;
}

.lyb-header {
    position: sticky;
    top: 0;
    z-index: 20;
    backdrop-filter: blur(18px);
    background: rgba(255, 247, 241, .82);
    border-bottom: 1px solid var(--lyb-line);
}

.lyb-header-inner {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.lyb-logo {
    font-size: 22px;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: -.04em;
}

.lyb-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.lyb-nav a {
    padding: 8px 12px;
    border-radius: 999px;
    text-decoration: none;
    color: var(--lyb-muted);
    font-size: 14px;
    border: 1px solid transparent;
}

.lyb-nav a:hover {
    color: var(--lyb-text);
    border-color: var(--lyb-line);
    background: rgba(255, 255, 255, .58);
}

.lyb-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
    gap: 54px;
    align-items: center;
    padding: 72px 0 54px;
}

.lyb-kicker {
    margin: 0 0 10px;
    color: var(--lyb-accent-dark);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: 12px;
    font-weight: 800;
}

.lyb-hero h1 {
    margin: 0;
    font-size: clamp(54px, 8vw, 106px);
    line-height: .9;
    letter-spacing: -.08em;
}

.lyb-lead {
    max-width: var(--lyb-max-text);
    margin: 24px 0 0;
    color: var(--lyb-muted);
    font-size: clamp(18px, 2vw, 23px);
}

.lyb-hero-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.lyb-button,
.lyb-social-link,
.lyb-row-link,
.lyb-inline-link {
    text-decoration: none;
}

.lyb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, var(--lyb-accent-dark), var(--lyb-accent));
    font-weight: 800;
    box-shadow: 0 14px 34px rgba(155, 63, 78, .24);
}

.lyb-hero-image,
.lyb-side-image {
    margin: 0;
}

.lyb-hero-image img,
.lyb-side-image img,
.lyb-gallery-item img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 30px;
}

.lyb-hero-image img {
    box-shadow: var(--lyb-shadow);
    border: 1px solid rgba(255, 255, 255, .72);
}

.lyb-panel,
.lyb-split,
.lyb-stats,
.lyb-gallery,
.lyb-languages {
    max-width: var(--lyb-max-content);
    margin: 34px auto;
}

.lyb-panel,
.lyb-stats,
.lyb-languages {
    padding: 34px;
    border: 1px solid var(--lyb-line);
    border-radius: 32px;
    background: rgba(255, 255, 255, .74);
    box-shadow: var(--lyb-shadow);
}

.lyb-section-head h2 {
    margin: 0;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1;
    letter-spacing: -.06em;
}

.lyb-section-head p:not(.lyb-kicker) {
    max-width: var(--lyb-max-text);
    color: var(--lyb-muted);
}

.lyb-profile-grid,
.lyb-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.lyb-profile-grid div,
.lyb-stat-grid div {
    min-height: 96px;
    padding: 18px;
    border-radius: 22px;
    background: var(--lyb-card-strong);
    border: 1px solid var(--lyb-line);
}

.lyb-profile-grid strong,
.lyb-stat-grid strong {
    display: block;
    font-size: 13px;
    color: var(--lyb-accent-dark);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.lyb-profile-grid span,
.lyb-stat-grid span {
    display: block;
    margin-top: 7px;
    color: var(--lyb-text);
    font-weight: 650;
}

.lyb-stat-grid strong {
    font-size: 28px;
    letter-spacing: -.03em;
    text-transform: none;
}

.lyb-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 36px;
    align-items: center;
    padding: 34px;
    border-radius: 32px;
    background: var(--lyb-card);
    border: 1px solid var(--lyb-line);
    box-shadow: var(--lyb-shadow);
}

.lyb-split h2,
.lyb-panel h3 {
    margin-top: 0;
}

.lyb-split p,
.lyb-panel p {
    max-width: var(--lyb-max-text);
    color: var(--lyb-muted);
}

.lyb-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
}

.lyb-columns > div {
    padding: 22px;
    border-radius: 24px;
    background: var(--lyb-bg-soft);
    border: 1px solid var(--lyb-line);
}

.lyb-ad-block {
    max-width: var(--lyb-max-content);
    min-height: 150px;
    margin: 42px auto;
    border-radius: 28px;
    overflow: hidden;
    background: #241714;
    border: 1px solid rgba(36, 23, 20, .16);
}

.lyb-ad-link {
    display: flex;
    width: 100%;
    min-height: 150px;
    height: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 28px 32px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 850;
    font-size: 24px;
    background: linear-gradient(135deg, #241714, #9b3f4e 62%, #ffd8c6 180%);
}

.lyb-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
}

.lyb-gallery-item {
    display: block;
    border-radius: 24px;
    overflow: hidden;
    background: transparent;
    border: 1px solid var(--lyb-line);
    box-shadow: 0 18px 42px rgba(92, 52, 42, .12);
}

.lyb-gallery-item img {
    border-radius: 0;
    filter: none;
    opacity: 1;
    mix-blend-mode: normal;
    transition: transform .25s ease;
}

.lyb-gallery-item:hover img {
    transform: scale(1.035);
}

.lyb-faq-list {
    display: grid;
    gap: 14px;
    margin-top: 24px;
}

.lyb-faq-item {
    padding: 22px;
    border-radius: 22px;
    border: 1px solid var(--lyb-line);
    background: var(--lyb-card-strong);
}

.lyb-faq-item h3 {
    margin: 0 0 8px;
}

.lyb-faq-item p {
    margin: 0;
}

.lyb-inline-link {
    color: var(--lyb-accent-dark);
    font-weight: 850;
}

.lyb-social-grid,
.lyb-link-list,
.lyb-languages div {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.lyb-social-link,
.lyb-row-link,
.lyb-languages a {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    padding: 11px 16px;
    border-radius: 999px;
    border: 1px solid var(--lyb-line);
    background: rgba(255, 255, 255, .8);
    color: var(--lyb-text);
    text-decoration: none;
    font-weight: 750;
}

.lyb-row-link {
    border-radius: 18px;
    width: 100%;
    justify-content: space-between;
}

.lyb-languages h2 {
    margin: 0;
}

@media (max-width: 940px) {
    .lyb-hero,
    .lyb-split {
        grid-template-columns: 1fr;
    }

    .lyb-profile-grid,
    .lyb-stat-grid,
    .lyb-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lyb-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .lyb-wrap {
        width: min(100% - 24px, var(--lyb-max-page));
    }

    .lyb-header-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 14px 0;
    }

    .lyb-nav {
        justify-content: flex-start;
    }

    .lyb-hero {
        padding-top: 36px;
        gap: 28px;
    }

    .lyb-panel,
    .lyb-split,
    .lyb-stats,
    .lyb-languages {
        padding: 22px;
        border-radius: 24px;
    }

    .lyb-profile-grid,
    .lyb-stat-grid,
    .lyb-gallery-grid {
        grid-template-columns: 1fr;
    }
}
