/* Shared Friona palette and responsive refinements, 30 October 2026. */
:root {
  --black:#282330; --gray:#6b6474; --violet:#503595; --violetLight:#9471b1;
  --green:#ede3f5; --greenLight:#f4f0f7; --beige:#8864a5; --lightGray:#faf9fc;
  --friona-border:#dfd3eb; --friona-soft:#f8f4fb;
  --friona-gradient:linear-gradient(115deg,#f0e8fa,#fdf5ee);
  --friona-header-height:120px;
}
html {scroll-padding-top:calc(var(--friona-header-height) + 20px)}
body {font-size:16px;line-height:1.55}
.container {padding-inline:clamp(16px,2vw,30px)}
.section {padding-block:clamp(36px,4.5vw,64px);background:var(--white);scroll-margin-top:calc(var(--friona-header-height) + 20px)}
.section_gray {background:var(--lightGray)}
.section_white {background:var(--white)}
.section_green,.section_first {background:var(--lightGray)}
.header {height:var(--friona-header-height);border-bottom-color:#eee7f3}
.section_first {padding-top:calc(var(--friona-header-height) + 36px)}
.section_breadcrumbs {padding-top:calc(var(--friona-header-height) + 24px);padding-bottom:0}
.section_breadcrumbs + .section {padding-top:clamp(28px,3vw,44px)}
.breadcrumbs {font-size:13px;line-height:1.65;min-width:0}
.breadcrumbs ol {gap:6px 0;align-items:baseline;min-width:0;max-width:100%}
.breadcrumbs ol li {padding-right:18px;margin-right:8px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.breadcrumbs ol li::before {right:1px;top:.72em;width:4px;height:4px;background:#ac96c4;border-radius:50%}
.breadcrumbs ol li:last-child {padding-right:0;margin-right:0}
.breadcrumbs ol li a {color:#73677f}
.breadcrumbs ol li a:hover {color:var(--violet);text-decoration:underline;text-underline-offset:3px}
.breadcrumbs ol li.active {color:var(--black)}
.title {font-size:clamp(28px,3.1vw,42px);line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}
.subtitle {font-size:clamp(22px,2.1vw,28px);line-height:1.35}
.btn {line-height:1.35;min-height:46px;height:auto;padding:12px 18px}
.btn:focus-visible,button:focus-visible {outline:2px solid #9471b1;outline-offset:4px}
body input:not([type=checkbox]):not([type=radio]):focus,
body input:not([type=checkbox]):not([type=radio]):focus-visible,
body textarea:focus,body textarea:focus-visible,
body .sv-staff-search input:focus,body .sv-staff-search input:focus-visible {
  outline:none;box-shadow:none;border-color:#79509f;
}
body .sv-staff-search input {border:1px solid #d5c7e5;transition:border-color .15s ease;font-size:16px;min-height:48px}
body .sv-staff-search button {min-height:44px;font-size:14px}
form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),form textarea {font-size:16px;line-height:1.5;border-color:#d5c7e5;transition:border-color .15s ease}
body form input:not([type=checkbox]):not([type=radio]):focus,body form textarea:focus {border-color:#79509f}
.form__input .placeholder {font-size:13px;line-height:1.45}
.private-policy label {font-size:12px;line-height:1.5}
.social-icon.social-wh,.social-icon.social-tg,.social-icon.social-vk {background:var(--violet)}
.social-icon.social-wh:hover,.social-icon.social-tg:hover,.social-icon.social-vk:hover {animation:none;background:#76539b;filter:none;box-shadow:0 4px 14px #50359524}
.btn-whatsapp,.btn-telegram {background:var(--violet);color:white}
.btn-whatsapp:hover,.btn-telegram:hover {background:#76539b}
.ml_wrapper svg circle[fill="#01E675"],.ml_wrapper svg circle[fill="#2AABEE"] {fill:var(--violet)}
.header__icon {background:#eee6f6;color:var(--violet)}
/* Long copy should wrap within its column, rather than widening the page. */
.blog-detail {display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:28px}
.blog-detail__left,.blog-detail__right {min-width:0;width:100%;padding:clamp(22px,3vw,40px)}
.blog-detail__left {position:static}
.blog-detail__right {background:white;border:1px solid #e7e1ed;top:calc(var(--friona-header-height) + 24px)}
.blog-detail__content {font-size:clamp(16px,1.3vw,18px);line-height:1.7;overflow-wrap:anywhere}
.blog-detail__content p,.blog-detail__content li {font-size:inherit;line-height:inherit}
.blog-detail__content h2 {font-size:clamp(23px,2.2vw,30px);line-height:1.3}
.blog-detail__content h3 {font-size:clamp(20px,1.8vw,24px);line-height:1.4}
.blog-detail__content img,.blog-detail__content video,.blog-detail__content iframe {max-width:100%}
.blog-detail__content table {display:block;max-width:100%;overflow-x:auto}
.blog-detail__form-title {font-size:clamp(22px,2vw,26px);line-height:1.35}
.blog__name,.team__name {line-height:1.4;overflow-wrap:anywhere}
.blog__text,.team__text,.ladder__text,.about__text,.step__text,.banner__text {line-height:1.65}
.blog__list:not(.slick-initialized) {grid-template-columns:repeat(3,minmax(0,1fr))}
.card__list_grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.team__list_grid {grid-template-columns:repeat(4,minmax(0,1fr))}
.team__list_grid .team__img {height:auto;aspect-ratio:3/4}
.team__info {min-width:0}
.step__left,.step__right,.banner__left,.banner__right,.about__left,.about__right {min-width:0}
/* Neutral surfaces keep the shared violet palette in accents. */
#contact {background:var(--lightGray);padding-bottom:32px}
.contact__wrap {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,3vw,48px);padding:clamp(22px,3.2vw,44px);border:1px solid #e7ddef;box-shadow:0 8px 30px #50359506}
.contact__left,.contact__right {width:100%;max-width:none;min-width:0}
.contact__phones {gap:12px}
.contact__phone {display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;font-size:15px;line-height:1.6;max-width:100%}
.contact__phone span:first-child {white-space:nowrap}
.contact__phone span:last-child {font-size:14px;font-weight:400}
.contact__btns a {font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.contact__btns a span:first-child,.contact__phone-name {font-size:14px;line-height:1.5}
.contact__requisites {font-size:15px;line-height:1.5}
.contact__right iframe {max-width:100%;margin-bottom:12px}
.header__communication_footer {flex-wrap:wrap;gap:12px}
.map-gallery {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.map-gallery__item {height:auto;aspect-ratio:1.65}
.friona-map-notice {min-height:260px;background:#faf9fc;color:#5e506d;border:1px solid #e6dbee;font-size:15px;line-height:1.6}
.friona-map-notice button {border-color:#9878b5;color:var(--violet);min-height:44px;font-size:14px}
.friona-map-notice a {color:var(--violet);font-size:14px;text-underline-offset:3px}
/* Stable footer columns and readable navigation at every breakpoint. */
.footer {background:#fff;padding-block:clamp(32px,4vw,56px);border-top:1px solid #e5d9ee}
.footer__wrap {display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(28px,4vw,64px)}
.footer__box {min-width:0;width:100%}
.footer__logo {max-width:170px}
.footer__nav>ul {display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.8fr) minmax(140px,.8fr);gap:28px}
.footer__nav li {max-width:none;min-width:0}
.footer__nav ul ul {display:flex;flex-direction:column;gap:8px}
.footer__nav a {font-size:14px;line-height:1.6;display:inline-block;overflow-wrap:anywhere}
.footer__nav .submenu-link {font-size:15px;line-height:1.4;display:block;margin-bottom:16px}
.copy {gap:14px 24px;flex-wrap:wrap;align-items:baseline;border-top:1px solid #dfd1e9;padding-top:24px;margin-top:32px}
.copy,.copy__link {font-size:13px;line-height:1.6;color:#6b5e78}
.copy__link {overflow-wrap:anywhere}
#friona-cookie-banner {color:var(--black);border-color:var(--friona-border);box-shadow:0 10px 45px #50359520;font-family:inherit}
#friona-cookie-banner h2 {color:var(--black)}
#friona-cookie-banner a,.friona-policy a {color:var(--violet)}
.friona-cookie-actions button {border-color:var(--violet);background:var(--violet);font-family:inherit}
.friona-cookie-actions button[data-choice=necessary] {color:var(--violet);background:white}
#friona-cookie-banner .friona-cookie-small,.friona-policy-meta {color:var(--gray)}
#friona-cookie-banner button:focus-visible,[data-cookie-settings]:focus-visible {outline-color:#9471b1}
@media(max-width:1400px) and (min-width:1201px) {
  .header__left {max-width:150px}.header__logo img {width:150px}.header__wrap {gap:20px}
  .header__contact {gap:12px}.header__contact a,.header__nav a {font-size:13px}
}
@media(max-width:1200px) {
  :root {--friona-header-height:86px}
  .header .header__right {top:var(--friona-header-height);height:calc(100dvh - var(--friona-header-height));padding:20px 24px 36px;overscroll-behavior:contain}
  .header__nav nav,.header__nav .topmenu,.header__nav .topmenu>li {width:100%}
  .header .header__nav a {font-size:15px;line-height:1.5}
  .header .header__nav ul {padding-inline:0}
  .header .header__nav .submenu {width:100%;max-width:100%;padding:8px 12px;background:var(--friona-soft);border-radius:12px}
  .header .header__nav .submenu a {max-width:100%;overflow-wrap:anywhere}
  .header__nav .submenu a {padding-block:8px}
  .footer__wrap {grid-template-columns:145px minmax(0,1fr);gap:28px}
  .footer__nav>ul {grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:26px}
}
@media(max-width:1080px) {
  .blog-detail {grid-template-columns:minmax(0,1fr)}
  .blog-detail__right {position:static}
  .contact__wrap {grid-template-columns:minmax(0,1fr)}
  .team__list_grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .card__list_grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog__list:not(.slick-initialized) {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px) {
  .footer__wrap {grid-template-columns:minmax(0,1fr)}
  .footer__logo {max-width:150px}
  .footer__nav>ul {grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
  .team__list_grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .banner__text,.step__text,.about__text,.ladder__text {font-size:16px}
  .blog__name {font-size:18px}
  .team__name {font-size:17px}.team__text {font-size:14px}
  .contact__wrap {padding:24px 20px}
}
@media(max-width:680px) {
  :root {--friona-header-height:70px}
  .section_breadcrumbs {padding-top:calc(var(--friona-header-height) + 20px)}
  .breadcrumbs {font-size:12px;line-height:1.7}
  .section_breadcrumbs + .section {padding-top:28px}
  .section_first {padding-top:calc(var(--friona-header-height) + 24px)}
  .header-mobile__burger,.header__icon {width:44px;height:44px;min-width:44px;max-width:44px}
  .header__wrap {gap:8px}.header__burger {gap:8px}
  .header-mobile__communication {font-size:12px;white-space:nowrap}
  .header__logo img {max-width:112px}
  .title {margin-bottom:24px}
  .footer__nav>ul {grid-template-columns:minmax(0,1fr);gap:28px}
  .footer__nav ul ul {gap:10px}
  .footer__nav a {font-size:14px}
  .footer__nav .submenu-link {font-size:16px}
  .copy {align-items:flex-start;gap:12px}
  .card__list_grid,.blog__list:not(.slick-initialized) {grid-template-columns:minmax(0,1fr)}
  .blog-detail__left,.blog-detail__right {padding:22px 18px}
  .blog-detail__content p,.blog-detail__content li {font-size:16px;line-height:1.7}
  .friona-map-notice {padding:24px 16px;font-size:14px}
  .friona-map-notice a {overflow-wrap:anywhere}
  .contact__phone {gap:2px 8px}
  .contact__phone span:last-child {flex-basis:100%}
  .contact__phone span:only-child {flex-basis:auto;font-size:15px;font-weight:600}
  .btns-wrap-top,.btns-wrap-bottom {flex-wrap:wrap}
  .btns-wrap-top a,.btns-wrap-bottom a {flex:1 1 120px;min-height:44px}
  .private-policy label {font-size:12px;line-height:1.5}
  body .sv-content h1 {font-size:clamp(25px,6.7vw,32px);line-height:1.3}
  body .sv-person__facts {font-size:14px}
  body .sv-source-note {font-size:13px;line-height:1.7}
  body .sv-person__facts dt {font-size:13px}
}
@media(max-width:380px) {
  .container {padding-inline:16px}.header .container {padding-inline:12px}.header__logo img {max-width:90px}
  .header-mobile__communication {font-size:11px}.header-mobile__communication svg {width:20px;height:20px}
  .team__list_grid {grid-template-columns:minmax(0,1fr)}
  .contact__wrap {padding:22px 16px}
  .header .header__right {padding-inline:16px}
}
@media(prefers-reduced-motion:reduce) {
  html,body,.section {scroll-behavior:auto}
  .social-icon,.btn {transition:none}
}

/* Keep document actions readable in narrow tables and stacked mobile cards. */
body .sv-content .friona-programs__files a:first-child {font-size:14px;line-height:1.5;white-space:nowrap;gap:8px}
@media(min-width:701px) and (max-width:1100px) {
  body .friona-programs__table thead th:nth-child(1) {width:32%}
  body .friona-programs__table thead th:nth-child(2) {width:20%}
  body .friona-programs__table thead th:nth-child(3) {width:18%}
  body .friona-programs__table thead th:nth-child(4) {width:30%}
  body .friona-programs__table td[data-label="Классы"] small {overflow-wrap:normal;word-break:normal}
}
@media(max-width:700px) {
  body .friona-programs__table td:last-child {grid-template-columns:minmax(0,1fr);gap:10px}
  body .friona-programs__table td:last-child::before {grid-column:auto;grid-row:auto}
  body .friona-programs__files {flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 14px}
  body .friona-programs__files a {white-space:nowrap}
}

/* White content surfaces, with lavender used for small accents and interaction. */
body .features__item,body .features__item:nth-child(n),body .advantages__item,body .advantages__item:nth-child(6),
.faq__item,.team__item,.card__item,.ladder__item,.step__item,.blog__item,.banner,.about__wrap,.preview {
  background-color:#fff;border:1px solid #e7e2ed;box-shadow:0 3px 12px #38254e05;
}
.features__info {background:#faf9fc;border-color:#eee8f3;box-shadow:none}
.features__name {font-size:clamp(20px,1.8vw,24px);line-height:1.4}
.features__text {font-size:16px;line-height:1.65}
.faq__item.open {border-color:#b9a0cf}
.faq__item.open .faq__name {color:var(--violet)}
.faq__answer {font-size:16px;line-height:1.7;font-weight:400}
.ladder__count,.step__date {background:#f0e8f8;color:#684290;font-size:14px;padding:8px 13px}
.ladder__text,.about__text {font-weight:400}
.about__wrap::before {background-image:url('/assets/img/friona-theme-20261030/main-decor-banner.svg')}
.banner::before,.modal__wrapper::before {background-image:url('/assets/img/friona-theme-20261030/form-small-decor.svg')}
.contact__phone {border-bottom-color:#e8e1ef}
.friona-map-notice {border-color:#e7e2ed}
/* Equal card columns and compact navigation keep the rhythm across sections. */
.advantages__list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}
.advantages__item {width:auto;min-width:0;height:100%;padding:28px 96px 28px 28px}
.advantages__name {font-size:clamp(16px,1.4vw,18px);line-height:1.5}
.faq__list {align-items:start}
.footer__nav .submenu-link,.footer__nav .submenu-link span {text-align:left}
.footer__nav .submenu-link span {justify-content:flex-start}
.blog-detail .blog-detail__right {padding:clamp(20px,2vw,28px);max-width:520px;justify-self:center;align-self:start}
.blog-detail__right .blog-detail__form-title {margin-bottom:24px}
.blog-detail__right .form__box .form__input {margin-bottom:18px}
.blog-detail__right .form__input label {display:block}
.blog-detail__right .form__input .placeholder {display:block;margin-bottom:6px}
.blog-detail__right .form__input input,.blog-detail__right .form__btn {width:100%;max-width:100%;min-width:0;margin:0;border-radius:14px;height:50px;box-sizing:border-box}
.blog-detail__right .form__btn {font-size:15px;font-weight:600;box-shadow:none}
.blog-detail__right .btns-wrap {margin-top:24px;padding-top:24px;border-top:1px solid #e7e2ed}
.blog-detail__right .btns-wrap-top,.blog-detail__right .btns-wrap-bottom {display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-items:stretch}
.blog-detail__right .btns-wrap-bottom {margin-top:10px}
.blog-detail__right .btns-wrap a {display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:auto;min-height:46px;margin:0;padding:12px 8px;gap:6px;border-radius:14px;font-size:14px;line-height:1.4;font-weight:500;text-decoration:none;white-space:nowrap;box-sizing:border-box;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background-color .15s ease,border-color .15s ease}
.blog-detail__right .btns-wrap-top a {color:var(--violet);background:#fff;border:1px solid #d5c7e5}
.blog-detail__right .btns-wrap-top a:hover {background:#f4f0f8;border-color:#9471b1}
.blog-detail__right .btns-wrap-bottom a {color:#fff;background:var(--violet);border:1px solid var(--violet)}
.blog-detail__right .btns-wrap-bottom a:hover {background:#76539b;border-color:#76539b}
.blog-detail__right .btns-wrap a:focus-visible {outline:2px solid #9471b1;outline-offset:3px}
.blog-detail__right .btns-wrap-bottom svg {width:20px;height:20px;flex:0 0 20px}
.blog-detail__right .btns__tel {margin-top:20px;padding-top:20px;border-top:1px solid #e7e2ed;font-size:14px;line-height:1.6;color:var(--gray)}
.blog-detail__right .btns__tel a {display:inline-block;margin-top:6px;font-size:18px;line-height:1.5;font-weight:600;white-space:nowrap}
.slider__arrow div {background:#fff;border-color:#d7c6e7;box-shadow:0 3px 12px #50359515}
.slider__arrow div:hover {background:#eee6f6}
.slider__arrow div svg {color:var(--violet);opacity:1}
@media(min-width:1201px) {
  .footer__nav>ul {grid-template-columns:minmax(140px,.8fr) minmax(0,2.4fr) minmax(130px,.7fr)}
  .footer__nav>ul>li:nth-child(2)>ul {display:block;columns:2;column-gap:24px}
  .footer__nav>ul>li:nth-child(2)>ul>li {break-inside:avoid;margin-bottom:8px}
}
@media(max-width:680px) {
  .advantages__list {grid-template-columns:minmax(0,1fr);gap:14px}
  .advantages__item {padding:22px 80px 22px 22px}
  .modal.iziModal {width:calc(100% - 24px)}
  .modal__wrapper {padding:28px 20px 24px}
  .modal__title {font-size:24px;line-height:1.3;padding-right:22px}
  .features__list {grid-template-columns:minmax(0,1fr);gap:18px}
  .faq__name {padding:22px 46px 22px 20px}
  .faq__name h4 {font-size:16px;line-height:1.5}
  .faq__answer {padding:0 20px 22px;font-size:16px}
}
