/* fonts.css */
/* cyrillic-ext */
@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-italic-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
/* cyrillic */
@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-italic-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
/* latin-ext */
@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */
@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* cyrillic-ext */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-normal-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
/* cyrillic */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-normal-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
/* latin-ext */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* cyrillic-ext */
@font-face{font-family:'Raleway';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/raleway-italic-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
/* cyrillic */
@font-face{font-family:'Raleway';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/raleway-italic-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
/* latin-ext */
@font-face{font-family:'Raleway';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/raleway-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */
@font-face{font-family:'Raleway';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/raleway-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* cyrillic-ext */
@font-face{font-family:'Raleway';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/raleway-normal-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
/* cyrillic */
@font-face{font-family:'Raleway';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/raleway-normal-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
/* latin-ext */
@font-face{font-family:'Raleway';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/raleway-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
/* latin */
@font-face{font-family:'Raleway';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/raleway-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* base.css */
/* ---------- Design tokens (taken from the original Elementor kit) ---------- */
:root {
  --c-blue: #0295CA;        /* Elementor "primary" */
  --c-sky: #75B9D4;         /* "secondary" */
  --c-text: #0C1F1C;        /* "text" – near-black green */
  --c-mint: #B0E7E1;        /* "accent" */
  --c-sand: #EAE8DB;        /* sand / beige */
  --c-teal: #52C7B8;        /* header + hero teal */
  --c-ice: #CFF5F1;         /* light mint band */
  --c-purple: #480080;      /* solid buttons */
  --c-plum: #4F2671;        /* outline buttons, "read more" */
  --c-dark: #0C1F1C;        /* footer */
  --f-head: 'Montserrat', sans-serif;
  --f-body: 'Raleway', sans-serif;
  --container: 1140px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; background: #fff; }
/* Smooth cross-fade between pages instead of a blank flash (Chrome/Edge/Safari; ignored elsewhere) */
@view-transition { navigation: auto; }
.site-header { view-transition-name: site-header; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .2s; }
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: #fff;
  color: var(--c-text);
  font-family: var(--f-body);
  font-size: 20px;
  line-height: 1.15;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; vertical-align: middle; border: 0; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, h5, h6, p { margin: 0; font-weight: inherit; font-size: inherit; line-height: inherit; }
p + p { margin-top: 0; }
ul { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
strong, b { font-weight: 700; }

.ico { width: 1em; height: 1em; fill: currentColor; display: inline-block; flex: none; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 10px; }

.visually-hidden, .sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip { position: absolute; left: -999px; top: 0; z-index: 100000; background: #fff; padding: 10px 16px; }
.skip:focus { left: 10px; top: 10px; }
:focus-visible { outline: 2px solid var(--c-purple); outline-offset: 2px; }

/* ---------- Type styles reused across pages ----------
   Per-instance tweaks use CSS variables in a style attribute, e.g. style="--lh-m:32px" */
.eyebrow { font-family: var(--f-body); font-size: var(--fs, 17px); line-height: var(--lh, 20px); }
.h-section { font-family: var(--f-head); font-weight: 800; font-size: var(--fs, 40px); line-height: var(--lh, 59px); }
.h-card { font-family: var(--f-head); font-weight: 700; font-size: 20px; line-height: 24px; }
.lead { font-size: 20px; line-height: 23px; }
.body-text { font-size: 20px; line-height: 23px; }
.body-text p, .body-text.col > p:last-child, .col > .body-text > p:last-child { margin-bottom: .9rem; }   /* same as the old theme: every paragraph keeps 14.4px below */

@media (max-width: 767px) {
  .eyebrow { font-size: var(--fs-m, var(--fs, 17px)); line-height: var(--lh-m, var(--lh, 20px)); }
  .h-section { font-size: var(--fs-m, 30px); line-height: var(--lh-m, var(--lh, 59px)); }
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-block; font-family: var(--f-body); font-size: 22px; line-height: 26px;
  padding: 12px 24px; border-radius: 50px; text-align: center;
  transition: background-color .3s, color .3s, border-color .3s, box-shadow .3s, transform .3s;
}
.btn--solid { background: var(--c-purple); color: #fff; }
.btn--solid:hover, .btn--solid:focus-visible { background: #5c10a0; box-shadow: 0 6px 18px rgba(72, 0, 128, .25); }
.btn--outline { border: 2px solid var(--c-plum); color: var(--c-plum); background: transparent; }
.btn--outline:hover, .btn--outline:focus-visible { background: var(--c-plum); color: #fff; }
.btn--outline-purple { border: 2px solid var(--c-purple); color: var(--c-purple); background: #fff; }
.btn--outline-purple:hover, .btn--outline-purple:focus-visible { background: var(--c-purple); color: #fff; }
.more {
  display: inline-flex; align-items: center; gap: 10px; padding: 12px 24px;
  font-family: var(--f-body); font-size: 15px; line-height: 18px; color: var(--c-plum);
  text-decoration: underline; text-underline-offset: 2px;
}
.more .ico { width: 8px; height: 15px; text-decoration: none; transition: transform .25s; }
@media (max-width: 767px) { .btn { font-size: 20px; } .btn--keep { font-size: 22px; } }
.more:hover .ico { transform: translateX(4px); }

/* ---------- Entrance animations (replace Elementor's) ---------- */
.js [data-anim] { opacity: 0; }
.js [data-anim].in { opacity: 1; animation-duration: 1.25s; animation-fill-mode: both; }
.js [data-anim="fadeIn"].in { animation-name: aFadeIn; }
.js [data-anim="slideInUp"].in { animation-name: aSlideUp; }
.js [data-anim="slideInDown"].in { animation-name: aSlideDown; }
.js [data-anim="slideInLeft"].in { animation-name: aSlideLeft; }
.js [data-anim="slideInRight"].in { animation-name: aSlideRight; }
.js [data-anim="rotateInDownLeft"].in { animation-name: aRotateDL; transform-origin: left bottom; }
@keyframes aFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes aSlideUp { from { transform: translate3d(0, 100%, 0); visibility: visible; } to { transform: none; } }
@keyframes aSlideDown { from { transform: translate3d(0, -100%, 0); visibility: visible; } to { transform: none; } }
@keyframes aSlideLeft { from { transform: translate3d(-100%, 0, 0); visibility: visible; } to { transform: none; } }
@keyframes aSlideRight { from { transform: translate3d(100%, 0, 0); visibility: visible; } to { transform: none; } }
@keyframes aRotateDL { from { transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .js [data-anim] { opacity: 1 !important; animation: none !important; }
}
[data-parallax] { will-change: transform; }

/* chrome.css */
/* ================= Header ================= */
.site-header { position: relative; z-index: 50; }

.topbar {
  display: grid;
  grid-template-columns: 42% 14% 14% 14% 7% 8.33%;
  align-items: center;
  min-height: 47px;
  background: var(--c-sand);
  color: #000;
}
.lang-en .topbar { min-height: 53px; grid-template-columns: 42% 14% 14% 14% 7% 7.66%; }
.lang-en .topbar__lang { margin-top: 9px; }
.topbar__tagline { font-family: var(--f-head); font-size: 17px; line-height: 1; text-align: center; padding: 5px; }
.lang-en .topbar__tagline { line-height: 24px; }
.topbar__item { display: flex; align-items: center; padding: 0 2px; font-size: 11px; line-height: 13px; }
.topbar__item .ico { width: 14px; height: 14px; margin-right: 5px; }
.topbar a.topbar__item:hover { text-decoration: underline; }
.topbar__lang { font-size: 11px; line-height: 13px; text-align: right; margin-top: 7px; }
.topbar .lang { padding: 2px 0; margin: 2px 0 0 -2px; }

.lang { display: flex; align-items: center; }
.lang a { display: block; padding: 5px 10px 6px; line-height: 0; transition: opacity .2s; }
.lang a:hover { opacity: .7; }
.lang img { width: 18px; height: 12px; }

.mainbar {
  display: grid;
  grid-template-columns: 23% 77%;
  align-items: center;
  min-height: 100px;
  margin-bottom: -1px;
  background: var(--c-teal);
  position: relative;
  z-index: 9999;
}
.logo { justify-self: start; display: block; margin-left: 31px; }
.logo img { display: block; width: 285px; height: 65px; object-fit: contain; }
.lang-en .logo { margin-left: 65px; }
.lang-en .logo img { width: 217px; }
.mainbar__lang, .burger { display: none; }

.nav > ul { display: flex; justify-content: center; align-items: center; }
.nav li { position: relative; }
.nav__item {
  display: flex; align-items: center; gap: 0;
  font-family: var(--f-head); font-size: 25px; line-height: 35px; font-weight: 400;
  color: var(--c-text); padding: 10px 20px; border-radius: 10px;
  transition: background-color .25s;
}
.nav__item .caret { display: none; }
.nav__item:hover, .nav__item:focus-visible, .has-sub:hover > .nav__item, .has-sub.open > .nav__item { background: #fff; }
.nav .sub {
  position: absolute; left: 0; top: 100%; margin-top: -12px; min-width: 100%;
  background: #fff; border-radius: 0 15px 15px 15px; box-shadow: 0 10px 30px rgba(12, 31, 28, .12);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s, transform .2s, visibility .2s; z-index: 10;
}
.nav .has-sub:hover > .sub, .nav .has-sub:focus-within > .sub, .nav .has-sub.open > .sub { opacity: 1; visibility: visible; transform: none; }
.nav .sub a {
  display: block; white-space: nowrap; font-family: var(--f-body); font-size: 25px; line-height: 1.2;
  padding: 20px 30px; color: var(--c-text); transition: color .2s, background-color .2s;
}
.nav .sub li:first-child a { border-top-right-radius: 15px; }
.nav .sub li:last-child a { border-bottom-left-radius: 15px; border-bottom-right-radius: 15px; }
.nav .sub a:hover, .nav .sub a.is-active { color: var(--c-teal); }

@media (max-width: 1024px) {
  .topbar { display: none; }
  .mainbar { grid-template-columns: auto 1fr auto; padding: 0 16px; }
  .logo, .lang-en .logo { margin-left: 0; }
  .logo img { width: 220px; height: 50px; }
  .lang-en .logo img { width: 168px; }
  .mainbar__lang { display: block; justify-self: start; margin-left: 10px; }
  .burger {
    display: flex; align-items: center; justify-content: center; width: 33px; height: 33px;
    border-radius: 5px; background: rgba(0, 0, 0, .05); color: var(--c-text); font-size: 22px;
  }
  .burger .burger__close { display: none; }
  .burger[aria-expanded="true"] .burger__open { display: none; }
  .burger[aria-expanded="true"] .burger__close { display: block; }
  .nav {
    position: absolute; left: 0; right: 0; top: 100%;
    background: #fff; box-shadow: 0 16px 30px rgba(12, 31, 28, .15);
    max-height: 0; overflow: hidden; transition: max-height .35s ease;
  }
  .nav.open { max-height: 80vh; overflow-y: auto; }
  .nav > ul { display: block; }
  .nav__item {
    width: 100%; justify-content: space-between; border-radius: 0;
    font-family: var(--f-body); font-size: 25px; line-height: 1.2; padding: 20px 30px; text-align: left;
  }
  .nav__item .caret { display: inline-block; width: 16px; transition: transform .25s; }
  .has-sub.open > .nav__item .caret { transform: rotate(180deg); }
  .nav__item:hover, .has-sub:hover > .nav__item, .has-sub.open > .nav__item { background: transparent; color: var(--c-teal); }
  .nav .sub {
    position: static; margin: 0; opacity: 1; visibility: visible; transform: none; box-shadow: none;
    border-radius: 0; display: none; background: #f6f5ef;
  }
  .nav .has-sub.open > .sub { display: block; }
  .nav .has-sub:hover > .sub { display: none; }
  .nav .has-sub.open:hover > .sub { display: block; }
  .nav .sub a { padding: 16px 30px 16px 50px; font-size: 20px; white-space: normal; border-radius: 0 !important; }
}
@media (max-width: 767px) {
  .mainbar { grid-template-columns: 70% 30%; grid-template-rows: auto auto; padding: 20px 0 0; min-height: 0; }
  .logo, .lang-en .logo { grid-row: 1 / 3; align-self: center; margin-left: 16px; }
  .logo img { width: 257px; height: 59px; }
  .lang-en .logo img { width: 196px; }
  .mainbar__lang { grid-column: 2; grid-row: 1; justify-self: end; margin: 0; height: 43px; display: flex; align-items: center; }
  .burger { grid-column: 2; grid-row: 2; justify-self: end; margin: 20px 0 5px; }
}

/* ================= Booking band ("Запишете първия си час") ================= */
.cta-band {
  position: relative; display: flex; flex-direction: column; min-height: 454px; padding: 10px;
  background: #fff url(/wp-content/uploads/2022/10/Rectangle-27-1.png) center / cover no-repeat;
}
.cta-band__round { align-self: flex-end; width: 258px; height: 258px; margin: -65px 80px -50px 0; position: relative; z-index: 20; }
.cta-band .cta-band__row { margin-top: -10px; position: relative; padding: 10px 0; max-width: 1140px; }
.cta-band__text p { font-size: 20px; line-height: 27px; }
.btn--cta { padding: 15px 20px; border-radius: 35px; }
@media (prefers-reduced-motion: no-preference) {
  .cta-band__round { animation: spin 40s linear infinite; }
}
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 767px) {
  .cta-band { background-image: url(/wp-content/uploads/2022/10/Rectangle-14-3.png); }
  .cta-band__round { margin: -50px 0 -20px; }
  .cta-band .cta-band__row { margin-top: -10px; }
  .cta-band .cta-band__text h2 { margin: 27px 0 22px; }
  .cta-band .cta-band__text p { margin-bottom: 20px; }
  .cta-band .cta-band__action { margin-bottom: 10px; }
}

/* ================= Footer ================= */
.site-footer { background: var(--c-dark); color: #fff; padding: 30px 0; }
.footer__wrap { min-height: 535px; display: flex; flex-direction: column; justify-content: center; }
.footer__cols {
  display: grid; grid-template-columns: 45% 24.637% 30%; align-items: start;
  border-bottom: 1px dotted #9b9b9b; padding-bottom: 30px; margin-bottom: 30px;
}
.lang-en .footer__cols { grid-template-columns: 46.661% 26.837% 26.139%; }
.lang-en .footer__links { padding: 0 5px; }
.lang-en .footer__cols.container { padding-left: 0; padding-right: 0; }
.lang-en .footer__wrap { justify-content: flex-start; padding-top: 10px; }
.lang-en .footer__menu { max-width: none; }
.page-en .cta-band .cta-band__row { margin-top: -16px; }
.page-en .btn--cta { padding: 12px 24px; border-radius: 50px; }
.footer__about { padding-right: 0; }
.footer__name { font-family: var(--f-head); font-weight: 800; font-size: 30px; line-height: 35px; margin-bottom: 20px; }
.footer__role { font-family: var(--f-head); font-size: 18px; line-height: 36px; margin-bottom: 20px; }
.footer__text { font-size: 20px; line-height: 27px; margin-bottom: 34px; }
.footer__member { font-family: var(--f-head); font-size: 17px; line-height: 20px; margin-bottom: 20px; }
.footer__logos { display: flex; flex-wrap: wrap; align-items: center; }
.footer__logos img { margin: 10px; height: 50px; width: auto; }
.footer__logos img[style*="width"] { height: auto; }
.footer__links { padding: 0 5px; }
.footer__heading { font-family: var(--f-head); font-weight: 800; font-size: 20px; line-height: 33px; margin-bottom: 30px; }
.footer__menu { max-width: 266px; }
.fnav__item {
  display: flex; width: 100%; align-items: center; justify-content: space-between;
  font-family: var(--f-body); font-size: 20px; line-height: 20px; padding: 10px 20px; color: #fff; text-align: left;
  transition: background-color .2s, color .2s;
}
.fnav__item .caret { width: 14px; opacity: .8; transition: transform .25s; }
.fnav__item.is-active, .fnav__item:hover { background: #fff; color: var(--c-text); }
.footer__menu .has-sub.open > .fnav__item .caret { transform: rotate(180deg); }
.footer__menu .sub { display: none; padding: 4px 0 8px; }
.footer__menu .has-sub.open > .sub { display: block; }
.footer__menu .sub a { display: block; padding: 8px 20px 8px 36px; font-size: 17px; line-height: 20px; color: rgba(255, 255, 255, .85); }
.footer__menu .sub a:hover, .footer__menu .sub a.is-active { color: var(--c-mint); }
.footer__contact { padding: 5px 5px 0; }
.footer__list li { display: flex; align-items: flex-start; font-size: 17px; line-height: 20px; padding: 14px 0; }
.footer__list li:first-child { padding-top: 0; }
.footer__list a { display: flex; align-items: flex-start; }
.footer__list a:hover span { text-decoration: underline; }
.footer__list .ico { width: 17px; height: 17px; margin: 1px 7px 0 0; }
.footer__social { display: flex; gap: 5px; margin-top: 6px; }
.footer__social a { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 25px; transition: background-color .2s, transform .2s; }
.footer__social a:hover { background: rgba(255, 255, 255, .1); transform: translateY(-2px); }
.footer__bottom { padding: 10px 20px; }
.footer__bottom p { text-align: center; font-size: 15px; line-height: 18px; }

@media (max-width: 1024px) {
  .site-footer { padding: 30px 20px; }
  .site-footer .container { padding: 0; }
}
@media (max-width: 767px) {
  .site-footer { padding: 25px 20px; }
  .footer__cols, .lang-en .footer__cols { display: flex; flex-direction: column; }
  .footer__name { font-size: 30px; line-height: 33px; }
  .footer__text { font-size: 17px; line-height: 27px; }
  .footer__logos { flex-direction: column; align-items: flex-start; }
  .footer__contact { order: 2; margin: 5px; padding: 5px 0 0 5px; }
  .footer__links { order: 3; width: 91%; padding: 0 5px; }
  .footer__menu { max-width: none; }
  .site-footer .footer__bottom { padding: 10px; }
  .footer__links { padding-bottom: 30px !important; }
}

/* ================= Back-to-top (same image as the old "To Top" plugin) ================= */
.to-top {
  position: fixed; right: 20px; bottom: 20px; z-index: 60; width: 50px; height: 50px; line-height: 0;
  opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
}
.to-top img { width: 50px; height: 50px; }
.to-top.show { opacity: .5; visibility: visible; }
.to-top.show:hover, .to-top.show:focus-visible { opacity: 1; }
.lang-en .footer__bottom { padding: 10px 10px; }
@media (max-width: 767px) {
  .lang-en .mainbar { padding-top: 4px; min-height: 100px; }
  .lang-en .logo { margin-left: 36px; }
  .lang-en .logo img { width: 217px; height: 65px; }
  .lang-en .burger { width: 30px; height: 30px; margin: 20px 0 3px; }
}

/* sections.css */
/* ================= Layout primitives =================
   Mirrors the old grid: 1140px boxed content, 10px column padding, 20px between blocks.
   .nest = an Elementor "inner section" sitting inside a padded column: adds 10px all round
   (invisible on wide screens because the max-width grows by the same 20px). */
.sec { position: relative; }
.row { display: flex; flex-wrap: nowrap; width: 100%; max-width: var(--max, 1140px); margin: 0 auto; }
.nest { max-width: calc(var(--max, 1140px) + 20px); padding: 10px; }
.row--1138 { --max: 1138px; }
.row--center { align-items: center; }
.col { position: relative; display: flex; flex-direction: column; align-content: flex-start; padding: 10px; width: var(--w, 100%); min-width: 0; }
.col:empty { padding: 0; }
.col--center { justify-content: center; }
.col > * { margin-bottom: 20px; }
.col > *:last-child { margin-bottom: 0; }
.col > .tight { margin-bottom: 10px; }       /* eyebrow -> heading spacing */
.al-c { text-align: center; }
.al-r { text-align: right; }
@media (max-width: 767px) {
  .row { flex-direction: column; }
  .col { width: 100% !important; }
  .m-first { order: -1; }
  .m-last { order: 2; }
  .m-al-c { text-align: center; }
  .m-al-r { text-align: right; }
}

/* ================= Hero with teal wave + round photo ================= */
.hero {
  display: flex; align-items: center; min-height: 588px;
  background: #fff url(/wp-content/uploads/2022/10/Rectangle-14-1.png) 0 0 / cover no-repeat;
}
.hero > .row { align-items: flex-start; }
.hero__photo {
  background: url(/wp-content/uploads/2022/10/Ellipse-6-3.png) center / contain no-repeat;
  margin-bottom: 4px; z-index: 2;
}
.hero__photo img { width: 450px; height: 450px; margin-left: -29px; align-self: center; position: relative; z-index: -1; border-radius: 50%; }
@media (max-width: 1024px) {
  .hero__photo img { width: 100%; height: auto; max-width: 450px; }
}
@media (max-width: 767px) {
  .hero { align-items: flex-start; background-image: url(/wp-content/uploads/2022/10/Rectangle-14-2.png); background-position: center; }
  .hero__photo { order: -1; }
  .hero__photo img { margin-left: -15px; width: calc(100% + 15px); max-width: none; align-self: flex-start; }
}

/* ================= Home ================= */
.home-hero .eyebrow { margin-bottom: 5px; }
.home-hero h2.big { font-family: var(--f-head); font-weight: 800; font-size: 50px; line-height: 53px; }
.home-hero .lead { margin-bottom: 40px; }
@media (max-width: 1024px) { .home-hero h2.big { font-size: 40px; line-height: 1; } }
@media (max-width: 767px) {
  .home-hero .eyebrow { font-size: 15px; line-height: 18px; }
  .home-hero h2.big { font-size: 35px; line-height: 38px; }
  .home-hero .btn { margin-bottom: 42px; font-size: 22px; }
}

.road { min-height: 318px; display: flex; align-items: center; }
.road .row { align-items: center; }
@media (max-width: 767px) { .road .col h2 { margin: 5px; } .road { display: block; } }

.about-teaser { padding: 50px 0; }
.about-teaser .portrait { width: 300px; height: 300px; margin: 55px 0 0 33px; }
@media (max-width: 767px) {
  .about-teaser .eyebrow { font-size: 18px; line-height: 18px; }
  .about-teaser .col:last-child { padding: 0; margin-left: 10px; text-align: left; }
  .about-teaser .portrait { margin: 6px 0 0 -12px; }
  .about-teaser .body-text { padding: 5px; }
  .about-teaser .al-r { text-align: center; }
}

.sec-head { min-height: 178px; display: flex; align-items: center; }
@media (max-width: 767px) {
  .sec-head { min-height: 178px; }
  .sec-head--tight { padding: 5px; min-height: 188px; }
  .sec-head--tight .nest { padding: 0; }
}

.services3 .svc-icon { width: 110px; height: 110px; }
@media (max-width: 767px) {
  /* tighter line spacing when the title wraps; padding keeps the one-line layout unchanged */
  .svc-title { padding: 13px 0 14px; }
  .services3 .svc-icon { display: block; margin-left: auto; margin-right: auto; }
  .services3 .h-card, .services3 h4 { text-align: center; }
}
.services3 .h-card { min-height: 48px; }
.services3 h4 { font-size: 20px; line-height: 23px; }

.book-row { min-height: 108px; display: flex; align-items: center; }
.poly { filter: drop-shadow(0 4px 20px #3F968B30); }
@media (max-width: 767px) { .book-row { display: block; } .book-row .col:first-child { text-align: right; } }

.method { padding: 50px 0; }
.method .union { margin: 50px 0 -50px; }
.method .wheel { margin-top: -200px; position: relative; }
@media (max-width: 767px) {
  .method .union { margin: 50px 0 20px; }
  .method .col:first-child { padding: 0 0 20px; }
  .method .col:last-child { padding: 0; }
}

.duo { min-height: 558px; }
.duo > .row { padding-top: 40px; }
.duo .col { padding: 0; }
.duo-card {
  display: flex; flex-direction: column; flex: 1 1 auto;
  background: var(--c-sand); border-radius: 15px; box-shadow: 0 4px 20px rgba(58, 58, 53, .29);
  padding: 5px;
}
.duo-card > * { margin-bottom: 20px; }
.duo-card > *:last-child { margin-bottom: 0; }
.duo-card .ic { margin: 30px 10px 30px; width: 87px; }
.duo-card h2 { font-family: var(--f-head); font-weight: 800; font-size: 20px; line-height: 1; margin: 7px 7px 20px; text-transform: uppercase; }
.duo-card .txt { font-family: var(--f-head); font-size: 20px; line-height: 23px; margin: 7px 7px 20px; }
.duo-card .txt p:last-child { margin-bottom: .9rem; }
.duo-card .more { align-self: flex-end; }
.duo .duo-card--a { margin: -40px 0 99px; }
.duo .duo-card--b { margin: 0 8px 57px 41px; }
.duo-card--b .ic { margin-top: 20px; width: 90px; }
@media (max-width: 767px) {
  .duo > .row { padding-top: 30px; }
  .duo-card { padding: 10px; }
  .duo .duo-card--a { margin: 0 0 10px; }
  .duo .duo-card--b { margin: 10px 0; }
  .duo-card .txt { margin: 0 0 20px; }
}

.conditions { background: var(--c-ice); min-height: 379px; padding: 50px 0; }
.conditions > .row { padding: 0 0 30px; position: relative; z-index: 2; }
.conditions h2 { font-size: 25px; line-height: 29px; }
.tags { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 5px; }
.tag {
  display: inline-block; background: var(--c-mint); color: var(--c-text); border-radius: 3px;
  font-size: 18px; line-height: 21px; padding: 12px 24px; transition: transform .25s, box-shadow .25s;
}
.tag:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(63, 150, 139, .25); }
.conditions__foot { position: relative; max-width: 1140px; margin: 0 auto; text-align: center; }
.conditions__foot > [data-anim] { margin-bottom: 20px; }
.conditions__foot .poly2 { display: block; margin-left: auto; width: 58px; position: relative; z-index: 0; }
.conditions__foot .foot-btn { margin-top: -40px; position: relative; z-index: 1; }
@media (max-width: 1024px) { .tags { gap: 8px; padding: 4px; } }
@media (max-width: 767px) { .conditions h2 { font-size: 25px; } .conditions__foot { padding: 0 10px; } }

/* ================= Blog cards ================= */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }
.cards > li { padding: 3px 0 7px; display: flex; justify-content: center; }
.card {
  position: relative; display: flex; flex-direction: column; width: 100%; max-width: 355px; min-height: 500px;
  padding: 10px; border: 3px solid #fff; border-radius: 6px; box-shadow: 0 0 10px rgba(0, 0, 0, .5);
  background: #fff; transition: box-shadow .3s, transform .3s;
}
.card:hover { box-shadow: 0 6px 22px rgba(0, 0, 0, .45); transform: translateY(-3px); }
.card__img { display: block; width: 100%; aspect-ratio: 329 / 185; object-fit: cover; margin-bottom: 20px; }
.card__title { font-family: var(--f-head); font-weight: 700; font-size: 20px; line-height: 24px; margin-bottom: 20px; }
.card__title a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.card__excerpt { font-size: 15px; line-height: 18px; margin-bottom: 20px; }
.card .more { align-self: flex-end; gap: 13px; position: relative; z-index: 2; }
.latest { min-height: 637px; padding: 0 0 20px; }
.latest .container { min-height: 400px; padding-top: 54px; }
@media (max-width: 767px) {
  .cards { grid-template-columns: 1fr; }
  .cards > li { padding: 13px 0 17px; }
  .latest .container { padding: 20px 20px 20px; }
}

/* ---------- English homepage: the old English page was laid out separately ---------- */
.page-home.page-en .home-hero .eyebrow { margin-bottom: 20px; }
.page-home.page-en .road { min-height: 0; padding: 50px 0; display: block; }
.page-home.page-en .road .row { align-items: stretch; padding: 0; max-width: 1140px; }
.page-home.page-en .road .col:first-child { justify-content: flex-start; }
.page-home.page-en .road .col:last-child { justify-content: flex-end; }
.page-home.page-en .about-teaser { padding: 0; min-height: 611px; display: flex; align-items: center; }
.page-home.page-en .about-teaser .row { max-width: 1140px; padding: 0; }
.page-home.page-en .about-teaser .col:first-child { padding: 0 0 0 138px; }
.page-home.page-en .about-teaser .h-section { --lh: 40px; }
.page-home.page-en .about-teaser .portrait { margin: 10px 0 0 20px; }
.page-home.page-en .about-teaser .col { justify-content: center; }
.sec-head--wide .row { max-width: none; padding: 0 0 0 138px; }
.sec-head--wide .col { padding: 0; }
.sec-head--wide .col > .tight { margin-bottom: 20px; }
.page-home.page-en .method { padding: 0; min-height: 360px; display: flex; align-items: center; }
.page-home.page-en .method .row { max-width: 1140px; padding: 0; }
.page-home.page-en .method .wheel { margin-top: -220px; }
.page-home.page-en .duo > .row { padding-top: 46px; }
.page-home.page-en .duo-card--a h2 { margin: 7px 7px 27px; }
.page-home.page-en .duo-card--b .ic { margin-top: 30px; }
.page-home.page-en .duo-card--b h2 { line-height: 1px; height: 1px; }
.page-home.page-en .conditions { padding: 0; display: flex; align-items: center; }
.page-home.page-en .conditions > .row { padding: 10px 0; }
.page-home.page-en .conditions .tags { gap: 8px; padding: 4px; }
.book-row--en { min-height: 133px; }
.page-home.page-en .sec-head--blog .row { max-width: none; padding: 0 0 0 138px; }
.page-home.page-en .latest { min-height: 617px; padding: 0; }
.page-home.page-en .latest .container { padding: 54px 0 0; max-width: 1140px; }
@media (max-width: 767px) {
  .page-home.page-en .about-teaser .col:first-child { padding: 0; margin: 5px; }
  .sec-head--wide .row, .page-home.page-en .sec-head--blog .row { padding: 0; }
}
@media (max-width: 767px) {
  .page-home.page-en .method .union { margin: 20px 0 20px; }
  .page-home.page-en .method .wheel { margin-top: -150px; }
  .page-home.page-en .method .col:first-child { padding: 0; }
  .page-home.page-en .method .col:last-child { padding: 10px; }
  .page-home.page-en .duo-card--a { padding: 5px; }
  .page-home.page-en .duo .duo-card--b { margin: 10px 0 0; padding: 0; }
}
@media (max-width: 767px) { .page-home.page-en .home-hero .eyebrow { margin-bottom: 0; } }

/* pages.css */
/* ================= Inner-page hero ================= */
.page-hero__title { font-family: var(--f-head); font-weight: 800; font-size: 50px; line-height: 53px; }
.page-hero__intro { font-size: 20px; line-height: 23px; }
.page-hero__scroll { display: inline-block; width: 30px; align-self: flex-start; transition: transform .3s; }
.page-hero__scroll img { width: 30px; height: 30px; }
.page-hero__scroll:hover { transform: translateY(4px); }
.page-hero__spacer { height: 50px; }
.page-hero .row { align-items: center; }
.page-hero__text { justify-content: center; margin-top: var(--shift, 50px); }
@media (max-width: 767px) { .page-hero__text { margin-top: 0; } }
@media (max-width: 767px) {
  .page-hero__title { font-size: 30px; line-height: 38px; }
  .page-hero__intro { margin-bottom: 40px; }
  .page-hero .hero__photo img { margin-left: -16px; }
  .page-hero > .row { margin-bottom: 11px; }
}

/* ================= Section titles offset 138px ================= */
.sec-title { min-height: 120px; padding-top: 20px; display: flex; align-items: center; }
.sec-title__inner { width: 100%; padding: 10px; margin-left: 138px; }
@media (max-width: 767px) { .sec-title__inner { margin-left: 0; } }

/* ================= About ================= */
.about-approach { padding: 20px 0; }
.about-approach .row { --max: 1120px; }
.about-approach__icons { align-items: center; }
.about-approach__icons img { width: 120px; height: 120px; }
.about-approach__text { font-size: 20px; line-height: 30px; }
.about-approach__text p { margin-bottom: .9rem; }
.conditions--about { padding: 50px 0 20px; }
.conditions__btn { margin: 50px 0 0; padding: 0 10px; }
.info-cols .col { align-self: flex-start; }
.info-cols img { margin-top: 0; }
.timeline .col { padding: 10px; }

/* ================= Accordion (old Elementor "toggle") ================= */
.accordion__item { border-bottom: 1px solid #d4d4d4; margin-bottom: 5px; }
.accordion__item:last-child { margin-bottom: 0; }
.accordion summary {
  display: flex; align-items: center; gap: 10px; padding: 15px; cursor: pointer; list-style: none;
  font-family: var(--f-head); font-weight: 600; font-size: 16px; line-height: 17px; color: var(--c-text);
}
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary:hover { color: var(--c-plum); }
.accordion__icon { width: 6px; height: 16px; transition: transform .25s; }
.accordion details[open] .accordion__icon { transform: rotate(90deg); }
.accordion__body { padding: 15px; font-size: 20px; line-height: 23px; }
.accordion__body p { margin-bottom: .9rem; }
.accordion__body a { color: var(--c-plum); text-decoration: underline; }

/* English About page: the old English layout used different spacing */
.page-about.page-en .about-approach { padding: 50px 0; }
.page-about.page-en .about-approach .row { --max: 1140px; }
.page-about.page-en .conditions--about { padding: 75px 0; }
.page-about.page-en .conditions__btn { margin-top: 40px; }
.page-about.page-en .sec-title--edu { min-height: 150px; padding-top: 50px; }
.page-about.page-en .sec-title--exp, .page-about.page-en .sec-title--qual { min-height: 100px; padding-top: 0; }
@media (max-width: 767px) {
  .page-about.page-en .about-approach { padding: 20px 0; }
  .page-about.page-en .about-approach__icons img:last-child { margin-bottom: 20px; }
  .page-about.page-en .about-approach .col:last-child { padding: 0; }
  .page-about.page-en .conditions--about { padding: 50px 0; }
}

/* ================= Round photo + text ("split-photo") ================= */
.split-photo { padding: 50px 0; min-height: 418px; display: flex; align-items: center; }
.split-photo .row { padding: 0; --max: 1140px; }
.split-photo__img { padding: 0; align-items: center; background: url(/wp-content/uploads/2022/10/Ellipse-7-1.png) center / contain no-repeat; }
.split-photo__img img { width: 300px; height: 300px; margin: 10px 0 0 20px; position: relative; z-index: -1; }
.split-photo .col:last-child { padding: 0; }
.split-photo__text { font-size: 20px; line-height: 30px; }
.split-photo__text p { margin-bottom: .9rem; }
@media (max-width: 767px) {
  .split-photo { display: block; min-height: 0; }
  .split-photo__text { padding: 9px; }
  .page-en .split-photo { padding: 20px 0; }
  .page-en .split-photo__img { margin-bottom: 20px; }
}

/* ================= Dotted band with a big title ================= */
.dotband {
  margin: 20px 0 16px; padding: 17px; min-height: 203px;
  background: url(/wp-content/uploads/2022/10/Vector-3.png) 0 0 / 100% auto no-repeat;
}
.dotband__title { margin: 0 0 90px 40px; }
.dotband__title--m { display: none; }
@media (max-width: 767px) {
  .dotband { padding: 0; min-height: 156px; display: flex; align-items: center; }
  .dotband__title { display: none; }
  .dotband__title--m { display: block; font-size: 31px; line-height: 31px; padding: 5px; }
}

/* ================= Three icon columns ================= */
.icon-cols { margin-bottom: 32px; padding-bottom: 50px; }
.icon-cols > .row { max-width: none; }
.icon-cols .row .row { padding: 0; max-width: none; }
.icon-cols__icon { width: 110px; height: 110px; margin-top: -100px; align-self: center; }
@media (max-width: 767px) { .icon-cols__icon { margin-top: 0; } .icon-cols .col:empty { display: none; } }

/* ================= Psychodynamics text blocks ================= */
.pd-text__p { font-size: 21px; line-height: 1.5; }
.pd-text__p p { margin-bottom: .9rem; }
@media (max-width: 767px) {
  .pd-text__p { font-size: 16px; text-align: justify; }
  .pd-text:first-of-type .pd-text__p, #psychodynamics .pd-text__p { font-size: 15px; }
  .pd-text:last-of-type .pd-text__p { text-align: left; }
}

/* ================= Psychodrama page ================= */
.split-photo--pd { min-height: 0; }
.split-photo--pd .split-photo__img { padding: 0; }
.split-photo--rev .col:first-child { padding: 0; }
.pd-imagine { min-height: 178px; }
.pd-timeline { padding: 0 0 0 0; min-height: 178px; }
.tl {
  position: relative; list-style: none; margin: 0 auto; padding: 52px 0 52px;
  width: 100%; max-width: 1140px; left: 9px;
  --tl-line: 378px;   /* x of the vertical line inside the timeline */
  --tl-box: 428px;    /* x where the text boxes start */
}
.tl::before { content: ''; position: absolute; top: 12px; bottom: 12px; left: var(--tl-line); width: 4px; background: var(--c-mint); }
.tl::after, .tl__end { content: ''; position: absolute; left: calc(var(--tl-line) - 3px); bottom: 8px; width: 10px; height: 10px; border-radius: 50%; background: var(--c-mint); }
.tl > .tl__step:first-child::before { content: ''; position: absolute; left: calc(var(--tl-line) - var(--tl-box) - 3px); top: -45px; width: 10px; height: 10px; border-radius: 50%; background: var(--c-mint); }
.tl__step { position: relative; margin: 0 0 30px var(--tl-box); }
.tl__step:last-child { margin-bottom: 30px; }
.tl__label {
  position: absolute; right: calc(100% + var(--tl-box) - 332px); top: 50%; transform: translateY(-50%);
  width: 332px; text-align: right; font-family: var(--f-body); font-weight: 500; font-size: 22px; line-height: 22px; color: #062935;
}
.tl__dot {
  position: absolute; left: calc(var(--tl-line) - var(--tl-box) - 10px); top: 50%; transform: translateY(-50%);
  width: 24px; height: 24px; border-radius: 50%; background: var(--c-mint);
  transition: transform .3s, box-shadow .3s;
}
.tl__step:hover .tl__dot { box-shadow: 0 0 0 6px rgba(176, 231, 225, .45); }
.tl__box {
  position: relative; width: 712px; max-width: 100%; background: #fff; border-left: 3px solid var(--c-mint); border-radius: 6px;
  box-shadow: 0 2px 8px -2px rgba(0, 0, 0, .3); padding: 12px 12px 12px;
  font-size: 20px; line-height: 23px;
}
.tl__box::before {
  content: ''; position: absolute; left: -12px; top: 50%; width: 19px; height: 19px; margin-top: -10px;
  border-left: 3px solid var(--c-mint); background: #fff; transform: rotate(45deg); box-shadow: -4px 4px 8px -4px rgba(0, 0, 0, .4); z-index: -1;
}
.tl__box p { margin: 0 0 10px; }
@media (max-width: 1024px) {
  .tl { left: 0; --tl-line: 30%; --tl-box: calc(30% + 50px); }
  .tl__label { right: auto; left: calc(0px - var(--tl-box)); width: calc(var(--tl-line) - 48px); }
  .tl__box { width: auto; margin-right: 20px; }
}
@media (max-width: 767px) {
  .tl { padding: 52px 5px 21px 5px; --tl-line: 22px; --tl-box: 72px; }
  .tl__label { position: static; display: block; transform: none; width: auto; text-align: left; font-size: 18px; line-height: 18px; padding-bottom: 12px; }
  .tl__dot { top: calc(50% + 15px); }
  .tl__box { margin-right: 0; }
  .tl__box::before { margin-top: 5px; }
}

.pd-more { padding: 50px 0; }
.pd-more__img { padding: 0; align-items: flex-end; justify-content: flex-start; }
.pd-more__img img { width: 137px; height: 137px; margin: 0 20px; }
.pd-more__text { padding: 0 20px; }
.pd-more__text .body-text { font-size: 20px; line-height: 30px; }
.pd-more__link { margin: -20px 0 0 6px; }
@media (max-width: 767px) {
  .pd-more { padding: 0 0 50px; }
  .pd-more__img { align-items: center; margin-bottom: 10px; }
  .pd-more__text .body-text { padding: 9px; }
}
@media (max-width: 767px) {
  .split-photo--pd { padding: 20px 0; }
  .split-photo--pd .split-photo__img { margin-bottom: 0; padding: 0 0 10px; }
  .split-photo--rev .split-photo__img { padding: 10px; }
  .split-photo--pd .split-photo__text { padding: 9px !important; }
  .pd-imagine { padding: 5px; min-height: 188px; }
  .pd-imagine .row { padding: 0; }
}

/* ================= Monodrama page ================= */
.split-photo--md { padding: 50px 0 0; min-height: 0; }
.split-photo--md .col:last-child { padding: 0; }
.md-text { margin: 0 90px 0 -91px; }
.md-head { min-height: 178px; }
.md-cols .lead { font-weight: 400; }
.md-more .pd-more__img { justify-content: center; }
.md-more .pd-more__img img { width: 137px; height: 137px; }
.md-more .pd-more__text { padding: 10px; }
.md-more .pd-more__text .body-text { padding-left: 20px; }
.md-more .pd-more__link { margin: 0 20px 0 0; }
@media (max-width: 767px) {
  .split-photo--md { padding: 20px 0; }
  .split-photo--md .split-photo__img { margin-bottom: 20px; }
  .md-text { margin: 0; padding: 10px; }
  .md-head { padding: 5px; min-height: 188px; }
  .md-head .row { padding: 0; }
  .md-cols .svc-icon { margin-top: 10px; }
  .md-more .pd-more__text .body-text { padding: 9px 9px 0; }
}

/* ================= Service pages ================= */
.page-hero__btn .btn { margin-top: 10px; }
.page-hero__intro + .page-hero__btn { margin-top: 10px; }
.faq { padding: 50px 0 50px 138px; min-height: 178px; }
.faq__inner { padding: 0; }
.faq__q { margin-bottom: 20px; }
.faq__a { margin-bottom: 10px; }
.faq .faq__a p { margin-bottom: .9rem; }
.faq__a { display: flow-root; }
.faq__cols { --max: 1140px; margin-left: calc((100% - 1160px) / 2); padding-bottom: 0; }
.faq__icon {
  display: inline-flex; align-items: center; justify-content: center; width: 100px; height: 100px; padding: 25px;
  border-radius: 50%; background: var(--c-mint); color: var(--c-text); font-size: 50px; margin-bottom: 40px;
}
.faq__icon .ico { width: 50px; height: 50px; }
.faq .h-card { min-height: 48px; }
.faq__p { font-size: 20px; line-height: 23px; }
.faq__book { margin-top: 20px; }
.online-cols { padding: 50px 0; }
@media (max-width: 1024px) {
  .faq { padding: 10px; }
  .faq__cols { margin-left: auto; }
}
@media (max-width: 767px) {
  .faq { padding: 50px 5px; }
  .faq__q { padding: 5px; font-size: 30px; line-height: 1; }
  .faq__cols .col + .col { margin-top: 20px; }
}
/* English individual-therapy page: compact hero, FAQ split in two blocks */
.page-hero--compact { min-height: 0; padding: 20px 0; background-position: bottom center; }
.page-hero--compact .page-hero__intro { margin-bottom: 20px; }
.page-individual.page-en .faq { padding: 50px 0 50px 138px; }
.page-individual.page-en .faq__inner { max-width: 1140px; margin: 0 auto; }
.page-individual.page-en .faq__a { margin-bottom: 0; }
.page-individual.page-en .faq__icon { margin: 20px 0 30px; }
.page-individual.page-en .faq__cols { margin-left: 2px; padding-top: 0; }
.page-individual.page-en .faq .h-card { min-height: 0; }
@media (max-width: 767px) { .page-hero--compact { padding: 10px 0 0; } .page-individual.page-en .faq { padding: 5px 5px 50px; } }

/* ================= Group therapy: video ================= */
.group-video { padding: 14px 0 64px; }
.group-video .body-text { line-height: 29px; }
.yt { position: relative; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.yt__btn, .yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.yt__btn img { width: 100%; height: 100%; object-fit: cover; }
.yt__play {
  position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; margin: -24px 0 0 -34px; border-radius: 12px;
  background: rgba(33, 33, 33, .8); transition: background-color .2s;
}
.yt__play::after { content: ''; position: absolute; left: 27px; top: 14px; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }
.yt__btn:hover .yt__play, .yt__btn:focus-visible .yt__play { background: #f00; }
@media (max-width: 767px) { .group-video .col { padding: 0; } .group-video .body-text { font-size: 22px; } }

/* ================= Trainings ================= */
.trainings--a { padding: 50px 0 10px; }
.trainings--b { padding: 10px 0 50px; }
.trainings .body-text a { color: var(--c-plum); text-decoration: underline; }
@media (max-width: 767px) { .trainings__text { padding: 0; } .trainings__text .body-text { padding: 10px; } }
@media (max-width: 767px) {
  .page-hero__intro:has(+ .page-hero__btn) { margin-bottom: 20px; }
  .page-group .split-photo { padding: 20px 0; }
  .page-group .split-photo__img { margin-bottom: 20px; }
}

/* ================= Contacts ================= */
.contact-list li { display: flex; align-items: flex-start; font-size: 17px; line-height: 20px; padding-bottom: 8.5px; }
.contact-list li + li { padding-top: 8.5px; }
.contact-list li:last-child { padding-bottom: 0; }
.contact-list a { display: flex; align-items: flex-start; }
.contact-list a:hover span { text-decoration: underline; }
.contact-list .ico { width: 20px; height: 20px; margin-right: 5px; color: var(--c-mint); flex: 0 0 20px; }
.contact-list .ico { box-sizing: content-box; padding-right: 0; }
.contact-list li > .ico, .contact-list a > .ico { width: 20px; margin-right: 5px; }
.contact-head { min-height: 178px; }
.contact-form { padding: 10px 310px; }
.form { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; }
.form__group { margin-bottom: 10px; display: flex; flex-direction: column; }
.form label { font-size: 20px; line-height: 23px; padding-bottom: 3px; color: var(--c-text); }
.form label.req::after { content: '*'; color: red; padding-left: 4px; }
.form input[type=text], .form input[type=email], .form input[type=tel], .form textarea {
  width: 100%; font: 15px/18px var(--f-body); color: #74827f; background: #fff;
  border: 2px solid var(--c-mint); border-radius: 5px; padding: 8px 16px; min-height: 40px; outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.form textarea { padding: 5px 14px; resize: vertical; min-height: 86px; }
.form input:focus, .form textarea:focus { border-color: var(--c-teal); box-shadow: 0 0 0 3px rgba(82, 199, 184, .2); color: var(--c-text); }
.form ::placeholder { color: #a0aaa8; }
.form__consent input { width: 13px; height: 13px; margin: 2px 0 6px; accent-color: var(--c-purple); }
.form__submit { align-items: center; }
.form__submit .btn { border-radius: 20px; padding: 7px 24px; min-height: 40px; }
.form__submit .btn:disabled { opacity: .7; cursor: wait; }
.form__hp { position: absolute; left: -9999px; }
.form__status { font-size: 15px; line-height: 18px; text-align: center; min-height: 0; }
.form__status.is-ok { color: #1a7f5a; margin-top: 10px; }
.form__status.is-err { color: #c0392b; margin-top: 10px; }
.contact-map { min-height: 500px; position: relative; z-index: 1; display: flow-root; }
.contact-map iframe { display: block; width: 100%; height: 520px; border: 0; margin: 101px 0 -392px; }
/* the booking band's wave sits over the bottom of the map, as on the old site */
.page-contacts .cta-band { background-color: transparent; z-index: 2; }
@media (max-width: 767px) { .contact-map iframe { margin: 111px 0 -392px; } }
.page-contacts .cta-band { background-color: transparent; position: relative; z-index: 2; }
@media (max-width: 1024px) { .contact-form { padding: 0 20px; } }
@media (max-width: 767px) { .contact-form { padding: 10px; } .contact-head { padding: 5px; min-height: 188px; } .contact-head h2 { padding: 10px; } }

/* ================= Body Atom drafts ================= */
.placeholder-circle { width: 300px; height: 300px; margin: 10px 0 0 20px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #e8f7f5, #cfeee9); }
.atom-text { max-width: 1140px; margin: 0 auto; padding: 30px 10px 10px; }
.atom-text .h-section { margin-bottom: 20px; }
.atom-list { list-style: disc; padding-left: 1.4em; font-size: 20px; line-height: 30px; }
.atom-list li { margin-bottom: 6px; }
.atom-text a, .tl__box a { color: var(--c-plum); text-decoration: underline; }
.split-photo__text .h-section { margin-bottom: 14px; }
.tl__title { font-weight: 700; }
.tl--story .tl__label { font-size: 18px; line-height: 22px; }
.tl__year { position: relative; margin: 10px 0 30px; height: 40px; }
.tl__year span {
  position: absolute; left: calc(var(--tl-line) - 38px); top: 0; width: 80px; height: 40px; border-radius: 20px;
  background: var(--c-teal); color: #fff; font-family: var(--f-head); font-weight: 700; font-size: 20px; line-height: 40px; text-align: center;
}
@media (max-width: 767px) { .tl__year span { left: 0; } .placeholder-circle { margin: 10px auto; width: 260px; height: 260px; } }

/* ================= 404 ================= */
.notfound { max-width: 1140px; margin: 0 auto; padding: 90px 10px 140px; }
.notfound .h-section { margin: 10px 0 20px; }
.notfound .lead { margin-bottom: 10px; }
.notfound p:last-child { margin-top: 30px; display: flex; gap: 14px; flex-wrap: wrap; }

/* blog.css */
/* ================= Blog ================= */
.wave { position: absolute; left: 0; width: 100%; overflow: hidden; line-height: 0; pointer-events: none; }
.wave svg { display: block; position: relative; left: 50%; transform: translateX(-50%) rotateY(180deg); }
.wave--bottom { bottom: -1px; transform: rotate(180deg); }
.wave--bottom svg { width: calc(100% + 1.3px); height: 91px; fill: #fff; }
.wave--top { top: -1px; }
.wave--top svg { width: calc(134% + 1.3px); height: 111px; fill: var(--c-teal); }

.blog-head {
  min-height: 208px; display: flex; align-items: center;
  background: #fff url(/wp-content/uploads/2022/10/Rectangle-14-1.png) center / cover no-repeat;
}
.blog-head .row { position: relative; z-index: 1; }
.blog-head__title { font-family: var(--f-head); font-weight: 800; font-size: 50px; line-height: 53px; margin-top: -18px; }
.blog-topics { padding: 10px; text-align: center; }
.blog-topics__label { font-size: 17px; line-height: 20px; margin-bottom: 20px; }
.blog-topics__list { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.topic {
  display: inline-block; border: 3px solid var(--c-mint); border-radius: 20px; padding: 5px 20px;
  font-size: 22px; line-height: 26px; color: var(--c-text); transition: background-color .2s, border-color .2s;
}
.topic:hover { background: rgba(176, 231, 225, .35); }
.topic.is-on { background: var(--c-mint); }
.blog-list { padding: 10px 0 50px; }
.blog-grid .cards > li { padding: 3px 0 7px; }
@media (max-width: 767px) {
  .blog-head { background-image: url(/wp-content/uploads/2022/10/Rectangle-14-2.png); }
  .blog-head__title { font-size: 35px; line-height: 38px; }
  .wave--bottom svg { width: calc(174% + 1.3px); height: 56px; }
  .topic { font-size: 18px; padding: 0 15px; }
}

/* ---------- Single post ---------- */
.post-head { min-height: 208px; background: var(--c-teal); }
.post-image {
  position: relative; z-index: 3; min-height: 500px; margin-top: -95px;
  background: center / cover no-repeat;
}
.post { max-width: 1140px; margin: 0 auto; padding: 10px; }
.post__title { font-family: var(--f-head); font-weight: 700; font-size: 50px; line-height: 53px; padding: 5px; margin: 6px 0 20px; }
.post__body { padding: 20px 0 10px; font-size: 20px; line-height: 23px; }
.post__body > h2:first-child, .post__body > h3:first-child { margin-top: 13px; }
.post__body h3 { margin-bottom: 16px; }
.post__body p { margin-bottom: .9rem; }
.post__body h2 { font-family: var(--f-head); font-weight: 700; font-size: 32px; line-height: 1.2; margin: 0 0 .9rem; }
.post__body h3 { font-family: var(--f-body); font-weight: 500; font-size: 28px; line-height: 1.2; margin: 0 0 .9rem; }
.post__body a { color: var(--c-plum); text-decoration: underline; }
.post__body img { height: auto; }
.post__body figure { margin: 0 0 1em; }
.post__body figure.center { margin-left: auto; margin-right: auto; text-align: center; }
.post__body figcaption { font-size: 15px; color: #555; margin-top: .5em; }
.media-text { display: grid; grid-template-columns: var(--cols, 50% auto); align-items: var(--valign, center); margin-bottom: .9rem; }
.media-text > figure { margin: 0; }
.media-text > figure img { width: 100%; }
.media-text > div { padding: 0 8%; }
.media-text.media-right > figure { grid-column: 2; grid-row: 1; }
.media-text.media-right > div { grid-column: 1; grid-row: 1; }
.media-text > div > :last-child { margin-bottom: 0; }
.video { position: relative; height: 450px; margin: 0 0 1em; }
@media (max-width: 767px) { .video { height: auto; aspect-ratio: 16 / 9; } }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.post-share .row { align-items: center; }
.post-share__label { text-align: right; font-family: var(--f-head); font-weight: 700; font-size: 30px; line-height: 37px; }
.post-share__btns { display: flex; gap: 10px; }
.post-share__btns a {
  width: 45px; height: 45px; border-radius: 50%; background: var(--c-blue); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 18px; transition: transform .2s, filter .2s;
}
.post-share__btns a:hover { transform: translateY(-2px); filter: brightness(1.1); }
.post-more { max-width: 1140px; margin: 0 auto; padding: 22px 10px 10px; }
.post-more__title { padding: 10px; font-family: var(--f-head); font-weight: 700; font-size: 30px; line-height: 37px; }
.post-related { padding: 10px 0 70px; }
.post-related .container { padding: 0; }
@media (max-width: 767px) {
  .post__title { font-size: 28px; line-height: 29px; }
  .post__body { font-size: 20px; line-height: 1.3; padding: 10px 0; }
  .post-share__label { text-align: center; font-size: 23px; line-height: 30px; }
  .post-share__btns { justify-content: center; }
  .post-more__title { font-size: 23px; line-height: 30px; }
  .post-related { padding: 10px 10px 50px; }
  .post__body .media-text { grid-template-columns: 1fr; margin-left: 0; margin-right: 0; }
  .post__body .media-text > figure { grid-column: 1; grid-row: 1; }
  .post__body .media-text > div { grid-column: 1; grid-row: 2; padding: 0 8%; }
  .post-image { min-height: 250px; }
}
.media-text.wide { margin-left: -11px; margin-right: -80px; }
.media-text.media-right > div { padding: 0 8% 0 0; }
@media (max-width: 1300px) { .media-text.wide { margin-left: 0; margin-right: 0; } }
