/* =========================================================================
   Мягкие формы (поверх ui.css): плавающая шапка, секции-панели, кнопки-пилюли,
   первый экран с плавающими карточками, блок «О компании», схема для партнёров.
   ========================================================================= */
:root { --panel-gap: .75rem; --panel-radius: clamp(1.5rem, 3vw, 2.5rem); --radius-lg: 1.75rem; --radius-xl: 2.25rem; --header-h: 4.25rem; }

/* Кнопки-пилюли и скругления */
.btn-theme { --bs-btn-border-radius: 999px; --bs-btn-padding-x: 1.75rem; }
.cookie-bar, .cookie-bar__btn { border-radius: 999px; }
.cookie-bar { padding-left: 1.125rem; }
.step__num, .number-sticker { border-radius: 50%; }
.icon-box, .service-card__icon, .feature-card__icon { border-radius: 1.125rem; }
.pagination .page-link { border-radius: 50% !important; }
.form-control, .form-select { border-radius: 1rem; }
.accordion-item { border-radius: 1.25rem !important; }

/* Плавающая шапка-капсула */
header.site-header, header.site-header.is-scrolled {
    position: sticky; top: var(--panel-gap); z-index: 1030; background: transparent; box-shadow: none;
    backdrop-filter: none; -webkit-backdrop-filter: none;
    padding: 0 calc(var(--panel-gap) * 2); margin-top: var(--panel-gap); pointer-events: none;
}
header.site-header > .container-xxl {
    pointer-events: auto; min-height: var(--header-h); padding: .5rem 1rem .5rem 1.25rem; border-radius: 999px;
    background: rgba(11, 42, 28, .5); border: 1px solid rgba(255, 255, 255, .14);
    backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px);
    transition: background-color var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out);
}
header.site-header.is-scrolled > .container-xxl { background: rgba(11, 42, 28, .9); box-shadow: 0 14px 34px -16px rgba(0, 0, 0, .55); }
header.site-header .logo { width: 11.5rem; }
.site-nav .menu-link { border-radius: 999px; padding: .5rem .875rem; }
main { margin-top: calc(-1 * (var(--header-h) + var(--panel-gap))); }

/* Секции-панели */
.hero, .page-hero, .page-title, .svc-hero, .section--green, .section-green, .section--ink, .site-footer,
.section--surface, .section.bg-light, .legacy.section--surface, main > section.text-bg-light, main section.bg-light, .legacy > section.text-bg-light {
    margin-inline: var(--panel-gap); border-radius: var(--panel-radius);
}
.hero, .page-hero, .page-title, .svc-hero { margin-top: var(--panel-gap); }
main > section.text-bg-light, .legacy > section.text-bg-light { margin-top: var(--panel-gap); margin-bottom: var(--section-y); }
.hero__inner { padding-top: calc(var(--header-h) + clamp(2.5rem, 5vw, 4.5rem)); }
.page-hero, .page-title { padding-top: calc(var(--header-h) + clamp(2.25rem, 4.5vw, 3.75rem)) !important; padding-bottom: clamp(2.25rem, 4.5vw, 3.5rem) !important; }
.svc-hero { padding-top: calc(var(--header-h) + clamp(2.25rem, 5vw, 4rem)); }
.site-footer { margin-bottom: var(--panel-gap); margin-top: var(--section-y); }
.section--green + .site-footer, .section--ink + .site-footer, .section--surface + .site-footer { margin-top: var(--panel-gap); }
.section--surface + .section--ink, .section--ink + .section--surface, .section--surface + .section--green, .section--green + .section--surface,
.section--green + .section--ink, .section--ink + .section--green, .section--surface + .section--surface { margin-top: var(--panel-gap); }

/* Hero */
.hero { background: radial-gradient(120% 90% at 85% 10%, #10b86e 0%, var(--green) 38%, #05663b 100%); }
.hero__title mark { border-radius: .32em; padding: .02em .22em .1em; transform: rotate(-1.2deg); transform-origin: left center; }
.hero__visual { position: relative; }
.hero__float {
    position: absolute; z-index: 2; display: flex; align-items: center; gap: .625rem; padding: .625rem 1rem .625rem .625rem;
    background: rgba(255, 255, 255, .96); color: var(--ink); border-radius: 999px; box-shadow: var(--shadow-md);
    font-weight: 600; font-size: .9375rem; line-height: 1.2; white-space: nowrap;
    animation: floaty 7s ease-in-out infinite;
}
.hero__float small { display: block; font-weight: 500; color: var(--muted); font-size: .75rem; }
.hero__float-icon { width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: #fff; flex-shrink: 0; }
.hero__float-icon svg { width: 1.125rem; height: 1.125rem; }
.hero__float--1 { left: -2.5rem; top: 52%; }
.hero__float--2 { right: -.5rem; top: 9%; animation-delay: -3.5s; }
.hero__float--2 .hero__float-icon { background: var(--yellow); color: var(--ink); }
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (max-width: 1199.98px) { .hero__float--1 { left: 0; } .hero__float--2 { right: 0; } }
.stats__grid { border-radius: var(--radius-lg); }
.chip { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }

/* Подписи над заголовками на цветном фоне — белые */
.cta-card .eyebrow, .banner .eyebrow, .svc-hero .eyebrow, .guarantee-card .eyebrow, .compare-card--accent .eyebrow { color: #fff; }

.cta-card__form { color: var(--ink); border-radius: var(--radius-lg); }
.cta-card__form.partner-form { padding: clamp(1.25rem, 2.5vw, 2rem); }
.cta-card__form a:not(.btn) { color: var(--green); }

/* Блок «О компании» */
.about { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.about__media { position: relative; isolation: isolate; }
.about__media img { width: 100%; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); height: auto; transform: rotate(-1.5deg); }
.about__media::before { content: ""; position: absolute; inset: 7% -4% -6% 8%; border-radius: var(--radius-xl); background: var(--yellow); z-index: -1; transform: rotate(2.5deg); }
.about__badge { position: absolute; right: -1rem; bottom: -1.25rem; background: var(--green-900); color: #fff; border-radius: 1.5rem; padding: 1rem 1.25rem; box-shadow: var(--shadow-md); }
.about__badge b { display: block; font-size: 1.75rem; line-height: 1; letter-spacing: -0.02em; color: var(--yellow); }
.about__badge span { font-size: .875rem; color: rgba(255, 255, 255, .8); }
.about__body .prose { font-size: 1.0625rem; }
.about__body .prose > :is(h2, h3):first-child { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.12; margin-bottom: 1.25rem; }
.about__body .prose > p:first-of-type { font-size: 1.1875rem; color: var(--ink); }
.about__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 1.75rem 0; padding: 0; list-style: none; }
.about__facts li { background: var(--surface); border-radius: 1.25rem; padding: 1rem 1.125rem; font-size: .9375rem; color: var(--muted); line-height: 1.35; }
.about__facts b { display: block; color: var(--ink); font-size: 1.125rem; margin-bottom: .125rem; }
@media (max-width: 991.98px) { .about { grid-template-columns: 1fr; } .about__badge { right: .75rem; } }

/* Страница «О компании» */
.about-hero { padding-bottom: clamp(5rem, 9vw, 7.5rem); }
.about-hero__media img { transform: rotate(1.5deg); }
.about-hero__media::before { transform: rotate(-2.5deg); inset: 6% 6% -5% -4%; }
.about-hero__media .about__badge { right: auto; left: -1rem; background: #fff; color: var(--ink); }
.about-hero__media .about__badge b { color: var(--green); }
.about-hero__media .about__badge span { color: var(--muted); }
.quote-card { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; margin: 0; }
.quote-card__photo img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }
.quote-card__text { position: relative; margin: 0 0 1.75rem; font-size: clamp(1.25rem, 2.1vw, 1.75rem); line-height: 1.4; font-weight: 500; letter-spacing: -0.01em; color: var(--ink); }
.quote-card__text::before { content: "“"; display: block; font-size: 5rem; line-height: .7; height: 2.25rem; color: var(--yellow); font-weight: 800; }
.quote-card__text p { margin: 0 0 .75em; }
.quote-card__text p:last-child { margin-bottom: 0; }
.quote-card__text p + p { font-size: 1.0625rem; font-weight: 400; color: var(--muted); letter-spacing: 0; line-height: 1.6; }
.quote-card__author { display: flex; flex-direction: column; padding-left: 1rem; border-left: 3px solid var(--green); }
.quote-card__author b { font-size: 1.125rem; }
.quote-card__author span { color: var(--muted); font-size: .9375rem; }
@media (max-width: 767.98px) {
    .quote-card { grid-template-columns: 1fr; }
    .quote-card__photo img { aspect-ratio: 4 / 3; }
    .about-hero__media .about__badge { left: .75rem; }
}

/* Партнёрам */
.flow { display: grid; gap: .625rem; }
.flow__row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.flow__box { padding: .5rem 1rem; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-weight: 600; font-size: .9375rem; }
.flow__box--bad { background: #fdeceb; border-color: #f6c9c6; color: #b3261e; }
.flow__box--ok { background: var(--green); border-color: var(--green); color: #fff; }
.flow__box--fix { background: var(--yellow); border-color: var(--yellow); color: var(--ink); }
.flow__arrow { color: var(--muted); display: inline-flex; }
.flow__arrow svg { width: 1.125rem; height: 1.125rem; }
.compare-card { height: 100%; border-radius: var(--radius-lg); padding: clamp(1.5rem, 3vw, 2.25rem); background: #fff; border: 1px solid var(--line); }
.compare-card p { color: var(--muted); margin: 1.25rem 0 0; }
.compare-card--accent { background: var(--green-900); color: #fff; border-color: transparent; }
.compare-card--accent .flow__box:not(.flow__box--ok):not(.flow__box--fix):not(.flow__box--bad) { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .2); color: #fff; }
.compare-card--accent .flow__arrow, .compare-card--accent p { color: rgba(255, 255, 255, .78); }
.compare-card__label { display: inline-block; padding: .3rem .8rem; border-radius: 999px; background: var(--surface); font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 1.25rem; }
.compare-card--accent .compare-card__label { background: var(--yellow); color: var(--ink); }
.audience { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; list-style: none; }
.audience li { padding: .625rem 1.125rem; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-weight: 500; }

/* Телефон */
@media (max-width: 575.98px) {
    :root { --panel-gap: .5rem; --header-h: 3.5rem; }
    header.site-header, header.site-header.is-scrolled { padding-inline: var(--panel-gap); }
    header.site-header > .container-xxl { padding: .375rem .75rem .375rem .875rem; }
    header.site-header .logo { width: 8.5rem; }
    .cookie-bar { border-radius: 1.25rem; }
    .about__facts { grid-template-columns: 1fr; }
    .hero__float { font-size: .8125rem; padding: .5rem .75rem .5rem .5rem; }
    .hero__float-icon { width: 1.875rem; height: 1.875rem; }
    .hero__float--1 { top: 4%; }
    .hero__float--2 { display: none; }
}
@media (prefers-reduced-motion: reduce) { .hero__float { animation: none; } }

/* Отзывы-заглушки (демонстрация оформления) */
.review-card--demo { position: relative; border-style: dashed; }
.review-card__demo { display: block; width: fit-content; margin-bottom: .75rem; padding: .2rem .7rem; border-radius: 999px; background: var(--yellow); color: var(--ink); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }

/* Шапка: семь пунктов меню помещаются до 1200px */
.site-nav .menu-link, header.site-header .btn-link { white-space: nowrap; }
@media (min-width: 992px) and (max-width: 1399.98px) { .site-nav .menu-link { padding-inline: .55rem; font-size: .9375rem; } }
@media (min-width: 992px) and (max-width: 1199.98px) { header.site-header .logo { width: 9rem; } .site-nav .menu-link { padding-inline: .4rem; font-size: .875rem; } }
