:root {
  --c-rose: #F6E7E1;
  --c-cream: #FBF1EC;
  --c-taupe-card: #E7DCD5;
  --c-footer: #A99C92;
  --c-brown: #6E574A;
  --c-brown-dark: #574337;
  --c-text: #3A322D;
  --c-muted: #8A7D74;
  --c-text-muted: var(--c-muted);
  --c-line: rgba(58, 50, 45, .14);
  --c-white: #fff;
  --rose: var(--c-rose);
  --cream: var(--c-cream);
  --white: var(--c-white);
  --brown: var(--c-brown);
  --brown-dark: var(--c-brown-dark);
  --text: var(--c-text);
  --muted: var(--c-muted);
  --line: var(--c-line);
  --fd: "Cormorant", Georgia, serif;
  --fb: "Manrope", system-ui, sans-serif;
  --font-display: "Prata", "Cormorant", Georgia, serif;
  --font-serif: "Cormorant", Georgia, serif;
  --font-sans: "Manrope", system-ui, sans-serif;
  --r-pill: 999px;
  --pill: var(--r-pill);
  --r-card: 6px;
  --r-img: 6px;
  --r-lg: 22px;
  --r: 12px;
  --card-radius: clamp(22px, 2vw, 36px);
  --rose-deep: #EFD9CF;
  --espresso: #2A211C;
  --accent: #C9A896;
  --taupe: var(--c-taupe-card);
  --container: 1200px;
  --gap: 24px;
  --gutter: 20px;
}

body.home {
  --c-rose: #fff;
  --rose: #fff;
  --fd: "Tenor Sans", Georgia, sans-serif;
  --font-display: "Tenor Sans", Georgia, sans-serif;
  --font-serif: "Tenor Sans", Georgia, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  overflow-x: clip;
  overflow-y: auto;
}

body {
  overflow-x: clip;
  font-family: var(--font-sans);
  color: var(--c-text);
  background: var(--c-rose);
  line-height: 1.6;
  font-size: 18px;
  font-weight: 400;
}

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
}

h1,
h2,
h3 {
  font-family: var(--font-sans);
  color: var(--c-text);
  line-height: 1.2;
  font-weight: 600;
  overflow-wrap: break-word;
}

h1 {
  font-family: var(--font-serif);
  font-size: 34px;
  font-weight: 500;
  line-height: 1.15;
}

h2 {
  font-size: 26px;
}

h3 {
  font-size: 20px;
  line-height: 1.25;
}

.lead {
  font-size: 18px;
  line-height: 1.6;
}

.small {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--c-muted);
}

.container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 24px;
  max-width: var(--container);
  margin: 0 auto;
  padding-inline: 20px;
  min-width: 0;
}

.container > * {
  grid-column: 1 / -1;
}

.section {
  padding-block: 56px;
}

.section__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 32px;
}

.section__head h2 {
  margin: 0;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 16px 32px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--c-brown);
  color: var(--c-white);
  font-family: var(--font-sans);
  font-size: inherit;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s;
}

.btn:hover {
  background: var(--c-brown-dark);
}

.btn:focus-visible {
  outline: 2px solid var(--c-brown-dark);
  outline-offset: 3px;
}

.btn--ghost {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
}

.btn--ghost:hover {
  background: var(--text);
  border-color: var(--text);
  color: #fff;
}

.btn--light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--text);
}

.btn--light:hover {
  background: #f4ece8;
  border-color: #fff;
  color: var(--text);
}

.bg-rose {
  background: var(--c-rose);
}

.bg-cream {
  background: var(--c-cream);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 768px) {
  :root {
    --gutter: 32px;
  }

  h1 {
    font-size: 44px;
  }

  h2 {
    font-size: 28px;
  }

  h3 {
    font-size: 22px;
  }

  .container {
    padding-inline: 32px;
  }

  .section {
    padding-block: 72px;
  }

  .section__head {
    margin-bottom: 36px;
  }
}

@media (min-width: 1024px) {
  :root {
    --gutter: 40px;
  }

  h1 {
    font-size: 60px;
  }

  h2 {
    font-size: 32px;
  }

  h3 {
    font-size: 22px;
  }

  .container {
    padding-inline: 40px;
  }

  .section {
    padding-block: 96px;
  }

  .section__head {
    margin-bottom: 40px;
  }
}

@media (min-width: 1440px) {
  :root {
    --gutter: 40px;
  }
}

@media (min-width: 1920px) {
  :root {
    --gutter: 60px;
  }
}

/* Header
   ========================================================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  margin: 0;
  background: var(--c-rose);
  transition: box-shadow .3s ease;
}

.site-header.is-scrolled {
  box-shadow: 0 4px 20px rgba(58, 50, 45, .08);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  gap: 16px;
  column-gap: 16px;
}

.site-header__inner > * {
  grid-column: auto;
}

.site-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
  min-height: 44px;
  color: var(--c-text);
  text-decoration: none;
  line-height: 1;
}

.site-logo__title {
  font-family: var(--font-serif);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .12em;
  color: var(--c-text);
}

.site-logo__tag {
  margin-top: 4px;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: lowercase;
  color: var(--c-text-muted);
}

.nav-toggle,
.nav-close {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-text);
  cursor: pointer;
}

.nav-toggle__bars {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 22px;
  height: 14px;
}

.nav-toggle__bars span {
  display: block;
  height: 1.5px;
  background: var(--c-text);
  border-radius: var(--r-pill);
}

.nav-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1;
}

.nav-close__icon {
  position: relative;
  width: 18px;
  height: 18px;
}

.nav-close__icon::before,
.nav-close__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 1.5px;
  background: var(--c-text);
  border-radius: var(--r-pill);
}

.nav-close__icon::before {
  transform: rotate(45deg);
}

.nav-close__icon::after {
  transform: rotate(-45deg);
}

.site-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(58, 50, 45, .35);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
}

body.nav-open {
  overflow: hidden;
}

body.nav-open .site-nav-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.site-nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  width: min(100%, 400px);
  height: 100%;
  height: 100dvh;
  padding: 72px 28px 40px;
  background: var(--c-cream);
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform .3s ease, opacity .3s ease, visibility .3s ease;
}

body.nav-open .site-nav {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.main-nav ul {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-nav a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 8px 0;
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--c-text);
  text-decoration: none;
  transition: color .2s ease;
}

.main-nav a:hover,
.main-nav .current-menu-item > a {
  color: var(--c-brown);
}

.site-logo:focus-visible,
.nav-toggle:focus-visible,
.nav-close:focus-visible,
.main-nav a:focus-visible {
  outline: 2px solid var(--c-brown);
  outline-offset: 3px;
}

@media (min-width: 768px) {
  .site-logo__title {
    font-size: 19px;
    letter-spacing: .18em;
  }

  .site-logo__tag {
    font-size: 11px;
  }
}

@media (min-width: 1024px) {
  .site-header__inner {
    height: 76px;
  }

  .site-logo__title {
    font-size: 22px;
    letter-spacing: .22em;
  }

  .nav-toggle,
  .nav-close,
  .site-nav-backdrop {
    display: none;
  }

  .site-nav {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    background: transparent;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .main-nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: clamp(18px, 1.6vw, 30px);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .main-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0;
    font-size: clamp(13px, 1vw, 15px);
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    color: var(--c-text);
    text-decoration: none;
  }

  .main-nav a:hover {
    color: var(--c-brown);
  }
}

/* Hero inset card
   ========================================================================== */

.hero-shell {
  overflow-x: clip;
  padding-top: 20px;
  padding-right: var(--gutter);
  padding-bottom: 0;
  padding-left: var(--gutter);
}

.hero-card {
  position: relative;
  overflow: hidden;
  min-height: clamp(560px, calc(100vh - var(--gutter) * 2), 920px);
  border-radius: clamp(22px, 2vw, 36px);
}

.hero-card__media,
.hero-card__overlay {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
}

.hero-card__media {
  z-index: 0;
  background: #1a1614;
}

.hero-card__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

/* Decorative muted loops — never show native iOS / Safari media chrome */
.hero-card__video::-webkit-media-controls,
.hero-card__video::-webkit-media-controls-enclosure,
.hero-card__video::-webkit-media-controls-start-playback-button,
.spread__video::-webkit-media-controls,
.spread__video::-webkit-media-controls-enclosure,
.spread__video::-webkit-media-controls-start-playback-button,
.club-about__media video::-webkit-media-controls,
.club-about__media video::-webkit-media-controls-enclosure,
.massazhi-intro__media video::-webkit-media-controls,
.massazhi-intro__media video::-webkit-media-controls-enclosure,
.retreat-includes__media video::-webkit-media-controls,
.retreat-includes__media video::-webkit-media-controls-enclosure,
[data-autoplay-muted] video::-webkit-media-controls,
[data-autoplay-muted] video::-webkit-media-controls-enclosure,
[data-reviews-video] video::-webkit-media-controls,
[data-reviews-video] video::-webkit-media-controls-enclosure {
  display: none !important;
  -webkit-appearance: none;
}

.hero-card__overlay {
  z-index: 1;
  background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, .10) 45%, rgba(0, 0, 0, .35));
}

.hero-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(20px, 2vw, 34px) clamp(24px, 2.6vw, 44px);
}

.hero-nav__logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  min-height: 44px;
  color: #fff;
  text-decoration: none;
  line-height: 1;
}

.hero-nav__brand {
  font-family: var(--font-serif);
  font-size: clamp(16px, 1.6vw, 22px);
  font-weight: 500;
  letter-spacing: .22em;
  color: #fff;
}

.brand-accent {
  position: relative;
  display: inline-block;
}

.brand-accent::before {
  content: "";
  position: absolute;
  left: 42%;
  top: -.06em;
  width: .42em;
  height: .11em;
  background: currentColor;
  border-radius: 999px;
  transform: translateX(-50%) rotate(-36deg);
  box-shadow: 0 0 0.6px currentColor;
  pointer-events: none;
}

.f-brand .brand-accent::before,
.footer-bottom__brand .brand-accent::before {
  left: 50%;
  top: -.02em;
  width: .34em;
  height: .09em;
  transform: translateX(-50%) rotate(-32deg);
}

.hero-nav__lab {
  margin-top: 4px;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: lowercase;
  color: rgba(255, 255, 255, .82);
}

.hero-nav__links {
  display: none;
}

.hero-nav__list {
  display: flex;
  align-items: center;
  gap: clamp(18px, 1.6vw, 30px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.hero-nav .hero-nav__list a,
.hero-nav .hero-nav__list a:hover,
.hero-nav .hero-nav__list a:focus,
.hero-nav .hero-nav__list a:visited,
.hero-nav .hero-nav__list .current-menu-item > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #fff;
  font-family: var(--font-sans);
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  opacity: 1;
}

.hero-nav .hero-nav__list a:hover {
  opacity: .72;
  color: #fff;
  text-decoration: none;
}

.hero-nav__list .menu-item-has-children {
  position: relative;
}

.hero-nav__list .menu-item-has-children > a {
  gap: 6px;
}

.hero-nav__list .menu-item-has-children > a::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: -2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: .72;
  transition: transform .2s ease, opacity .2s ease;
}

.hero-nav__list .menu-item-has-children.is-open > a::after,
.hero-nav__list .menu-item-has-children:hover > a::after,
.hero-nav__list .menu-item-has-children:focus-within > a::after {
  margin-top: 2px;
  transform: rotate(225deg);
  opacity: 1;
}

.hero-nav__list .sub-menu {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  z-index: 2147483646;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 248px;
  margin: 0;
  padding: 10px;
  list-style: none;
  border-radius: 14px;
  background: var(--espresso);
  box-shadow: 0 18px 40px rgba(42, 33, 28, .28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.hero-nav__list .menu-item-has-children.is-open > .sub-menu,
.hero-nav__list .menu-item-has-children:hover > .sub-menu,
.hero-nav__list .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(4px);
}

.hero-nav .hero-nav__list .sub-menu a,
.hero-nav .hero-nav__list .sub-menu a:hover,
.hero-nav .hero-nav__list .sub-menu a:focus,
.hero-nav .hero-nav__list .sub-menu a:visited,
.hero-nav .hero-nav__list .sub-menu .current-menu-item > a {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 42px;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
  opacity: 1;
}

.hero-nav .hero-nav__list .sub-menu a:hover,
.hero-nav .hero-nav__list .sub-menu .current-menu-item > a {
  background: rgba(255, 255, 255, .1);
  opacity: 1;
}

.hero-nav__list .sub-menu .nav-label--full {
  display: none;
}

.hero-nav__list .sub-menu .nav-label--short {
  display: inline;
}

.nav-label--short {
  display: none;
}

@media (min-width: 1024px) {
  .hero-nav__list .nav-label--full {
    display: none;
  }

  .hero-nav__list .nav-label--short {
    display: inline;
  }
}

.hero-nav__cta {
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 44px;
  padding: 12px 26px;
  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: 999px;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  background: transparent;
  transition: background-color .2s ease, color .2s ease;
}

.lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-right: 8px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1;
}

@media (max-width: 1023px) {
  .hero-nav {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-content: stretch;
    gap: 12px;
  }

  .hero-nav__logo {
    grid-column: 1;
  }

  .lang-switch--nav {
    grid-column: 2;
    justify-self: center;
    margin-right: 0;
  }

  .hero-nav__toggle {
    grid-column: 3;
    justify-self: end;
  }
}

.lang-switch__link {
  color: rgba(255, 255, 255, .72);
  text-decoration: none;
  transition: color .2s ease;
}

.lang-switch__link:hover,
.lang-switch__link.is-active {
  color: #fff;
}

.lang-switch__sep {
  color: rgba(255, 255, 255, .4);
}

.site-bar--solid .lang-switch__link {
  color: rgba(255, 255, 255, .72);
}

.site-bar--solid .lang-switch__link:hover,
.site-bar--solid .lang-switch__link.is-active {
  color: #fff;
}

.lang-switch--drawer {
  margin: 8px 0 18px;
  font-size: 14px;
}

.lang-switch--drawer .lang-switch__link {
  color: rgba(42, 33, 28, .55);
}

.lang-switch--drawer .lang-switch__link:hover,
.lang-switch--drawer .lang-switch__link.is-active {
  color: var(--c-text);
}

.lang-switch--drawer .lang-switch__sep {
  color: rgba(42, 33, 28, .3);
}

@media (min-width: 1024px) {
  .lang-switch--nav {
    display: inline-flex;
  }
}

.hero-nav__cta:hover {
  background: #fff;
  color: var(--c-text);
}

.hero-nav__toggle {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

.hero-nav__bars {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 22px;
  height: 14px;
}

.hero-nav__bars span {
  display: block;
  height: 1.5px;
  background: #fff;
  border-radius: 999px;
}

.hero-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  gap: 24px;
  padding: clamp(24px, 3vw, 56px);
}

.hero-content h1 {
  max-width: 11em;
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(2.4rem, 5.5vw, 5.4rem);
  font-weight: 500;
  line-height: 1.02;
  color: #fff;
  overflow-wrap: normal;
}

.hero-content h1 em {
  font-style: normal;
  font-weight: 500;
  color: #F4E3DB;
}

.hero-content__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 16px 32px;
  border-radius: 999px;
  background: #fff;
  color: var(--c-text);
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.hero-content__cta:hover {
  background: #F4E3DB;
}

.hero-nav__logo:focus-visible,
.hero-nav__cta:focus-visible,
.hero-nav__toggle:focus-visible,
.hero-nav__list a:focus-visible,
.hero-content__cta:focus-visible,
.hero-drawer__close:focus-visible,
.hero-drawer a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.hero-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(0, 0, 0, .45);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
}

.hero-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  width: min(100%, 400px);
  height: 100%;
  height: 100dvh;
  padding: 72px 28px 40px;
  background: var(--c-cream);
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform .3s ease, opacity .3s ease, visibility .3s ease;
}

.hero-drawer__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hero-drawer__list a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 8px 0;
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--c-text);
  text-decoration: none;
}

.hero-drawer__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
  min-height: 48px;
  padding: 12px 26px;
  border: 1px solid var(--c-text);
  border-radius: 999px;
  color: var(--c-text);
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.hero-drawer__cta:hover {
  background: var(--c-text);
  color: #fff;
}

.hero-drawer__close {
  appearance: none;
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.hero-drawer__x {
  position: relative;
  width: 18px;
  height: 18px;
}

.hero-drawer__x::before,
.hero-drawer__x::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 1.5px;
  background: var(--c-text);
  border-radius: 999px;
}

.hero-drawer__x::before {
  transform: rotate(45deg);
}

.hero-drawer__x::after {
  transform: rotate(-45deg);
}

body.nav-open .hero-drawer-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.nav-open .hero-drawer {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (max-width: 767px) {
  .hero-shell:not(.flagman-hero) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    min-height: 100svh;
  }

  .hero-shell:not(.flagman-hero) .hero-card {
    flex: 1 1 auto;
    min-height: 0;
    border-radius: 18px;
  }

  .flagman-hero .hero-card {
    border-radius: 18px;
  }

  .hero-nav {
    gap: 12px;
    padding: 16px;
  }

  .hero-nav__brand {
    font-size: 15px;
    letter-spacing: .12em;
  }

  .hero-content {
    gap: 16px;
    padding: 20px 18px 22px;
  }

  .hero-content h1 {
    max-width: none;
    overflow-wrap: break-word;
    font-size: clamp(1.85rem, 8vw, 2.35rem);
  }

  .hero-drawer {
    width: 100%;
    padding: 72px 20px 32px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .hero-content {
    align-items: flex-start;
  }

  .hero-content__cta {
    width: auto;
  }
}

@media (min-width: 1024px) {
  .hero-shell {
    position: relative;
    z-index: 40;
    overflow: visible;
  }

  .hero-card {
    overflow: visible;
  }

  .hero-nav {
    z-index: 50;
  }

  .hero-nav__links {
    position: relative;
    z-index: 51;
    display: block;
    flex: 1;
  }

  .hero-nav__list {
    justify-content: center;
  }

  .hero-nav__list > .menu-item-has-children {
    z-index: 52;
  }

  .hero-nav__list > .menu-item-has-children.is-open,
  .hero-nav__list > .menu-item-has-children:hover,
  .hero-nav__list > .menu-item-has-children:focus-within {
    z-index: 53;
  }

  .hero-nav__cta {
    display: inline-flex;
  }

  .hero-nav__toggle,
  .hero-drawer,
  .hero-drawer-backdrop,
  .hero-drawer__close {
    display: none;
  }

  .hero-content {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
  }

  .hero-content h1 {
    max-width: 12em;
    flex: 1 1 16rem;
  }

  .hero-content__cta {
    width: auto;
    flex-shrink: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-nav__list a,
  .hero-nav__cta,
  .hero-content__cta,
  .hero-drawer,
  .hero-drawer-backdrop,
  .hero-drawer__cta,
  .hero-nav__list .sub-menu,
  .hero-nav__list .menu-item-has-children > a::after {
    transition: none;
  }
}

/* About / Philosophy
   ========================================================================== */

.intro2 {
  overflow-x: clip;
  background: var(--rose);
  padding-inline: var(--gutter);
  padding-block: clamp(80px, 10vw, 160px);
}

.intro2 .reveal {
  max-width: 80%;
  margin: 0 0 clamp(48px, 6vw, 96px);
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2rem, 4.4vw, 4.4rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.01em;
  color: var(--text);
}

.intro2 .reveal .w {
  opacity: .14;
  transition: opacity .35s ease;
}

.intro2 .reveal .w.on {
  opacity: 1;
}

.intro2__row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}

.intro2__media {
  display: flex;
  grid-column: 1 / 8;
  gap: clamp(16px, 2vw, 28px);
  align-items: center;
  min-width: 0;
}

.intro2__text {
  grid-column: 9 / 13;
  min-width: 0;
}

.intro2 .pill {
  position: relative;
  overflow: hidden;
  background: var(--taupe);
}

.intro2 .pill img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.intro2 .pill--a {
  flex: 1;
  aspect-ratio: 16 / 10;
  border-radius: 1000px;
}

.intro2 .pill--a img,
.intro2 .pill--b img {
  object-position: center;
}

.intro2 .pill--b {
  flex: 1;
  aspect-ratio: 16 / 10;
  border-radius: 1000px;
}

.intro2__lead {
  margin: 0;
  font-family: var(--fb);
  font-size: clamp(1.05rem, 1.4vw, 1.35rem);
  font-weight: 500;
  line-height: 1.45;
  color: var(--text);
}

@media (max-width: 1023px) {
  .intro2__row {
    grid-template-columns: minmax(0, 1fr);
  }

  .intro2__media,
  .intro2__text {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .intro2 {
    padding-block: clamp(56px, 14vw, 80px);
  }

  .intro2 .reveal {
    width: 100%;
    max-width: 100%;
    margin-bottom: clamp(32px, 8vw, 48px);
    font-size: clamp(1.7rem, 8vw, 2rem);
  }

  .intro2__media {
    flex-direction: column;
    align-items: stretch;
  }

  .intro2 .pill--a,
  .intro2 .pill--b {
    width: 100%;
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro2 .reveal .w {
    opacity: 1;
    transition: none;
  }
}

/* Philosophy / editorial spread
   ========================================================================== */

.spread {
  overflow-x: clip;
  background: var(--cream);
  padding-inline: var(--gutter);
  padding-top: clamp(40px, 5vw, 72px);
  padding-bottom: clamp(28px, 3.5vw, 48px);
  border-top-left-radius: var(--card-radius);
  border-top-right-radius: var(--card-radius);
}

.spread__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 80px);
  align-items: center;
}

.spread__text {
  display: flex;
  flex-direction: column;
  grid-column: 1 / 7;
  min-width: 0;
}

.spread__lead {
  max-width: 42ch;
  margin: 0 0 clamp(20px, 2vw, 30px);
  font-family: var(--fb);
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  font-weight: 500;
  line-height: 1.45;
  color: var(--muted);
}

.spread__creds {
  max-width: none;
  margin: 0 0 clamp(22px, 2.4vw, 34px);
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.spread__creds li {
  margin: 0;
  white-space: nowrap;
  font-family: var(--fb);
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  font-weight: 600;
  line-height: 1.45;
  color: var(--brown);
}

@media (max-width: 767px) {
  .spread__creds li {
    white-space: normal;
  }
}

.spread__title {
  max-width: 28ch;
  margin: 0;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.6vw, 3.8rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.01em;
  color: var(--text);
}

.spread__title em {
  font-style: normal;
  font-weight: 500;
  color: var(--brown);
}

.spread__body {
  max-width: none;
  margin: clamp(24px, 2.6vw, 40px) 0 0;
  font-family: var(--fb);
  font-size: 17px;
  line-height: 1.75;
  color: var(--muted);
}

.spread__media {
  position: relative;
  grid-column: 8 / 13;
  min-width: 0;
  padding-bottom: 26px;
}

.spread .m-main {
  width: 74%;
  margin-left: auto;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--taupe);
  box-shadow: 0 30px 60px rgba(42, 33, 28, .12);
}

.spread .m-main img,
.spread .m-main video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 3 / 4;
}

.spread .m-sub {
  position: absolute;
  left: 0;
  bottom: -26px;
  z-index: 1;
  width: 46%;
  overflow: hidden;
  border: 6px solid var(--cream);
  border-radius: calc(var(--r-lg) - 4px);
  background: var(--taupe);
  box-shadow: 0 20px 44px rgba(42, 33, 28, .16);
}

.spread .m-sub img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.spread__text,
.spread__media {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
}

.spread.is-in .spread__text,
.spread.is-in .spread__media {
  opacity: 1;
  transform: none;
}

.spread.is-in .spread__media {
  transition-delay: .12s;
}

@media (max-width: 1023px) {
  .spread__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .spread__text,
  .spread__media {
    grid-column: 1 / -1;
  }

  .spread__title {
    max-width: none;
  }

  .spread .m-sub {
    width: 42%;
  }
}

@media (max-width: 767px) {
  .spread {
    padding-top: 32px;
    padding-bottom: 24px;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
  }

  .spread__title {
    max-width: none;
    overflow-wrap: break-word;
    font-size: clamp(1.7rem, 7.5vw, 2rem);
  }

  .spread__body {
    font-size: 16px;
  }

  .spread__media {
    padding-bottom: 0;
  }

  .spread .m-main {
    width: 100%;
  }

  .spread .m-sub {
    position: static;
    width: 68%;
    margin-top: -28px;
    margin-left: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .spread__text,
  .spread__media {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Mission
   ========================================================================== */

.mission-shell {
  overflow-x: clip;
  background: var(--cream);
  padding: var(--gutter);
  border-bottom-left-radius: var(--card-radius);
  border-bottom-right-radius: var(--card-radius);
}

.mission-card {
  overflow: visible;
  padding: clamp(36px, 4vw, 80px);
  border-radius: var(--card-radius);
  background: var(--rose);
}

.mission-card__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 64px);
  align-items: center;
  grid-auto-flow: dense;
}

.mission__text {
  display: flex;
  flex-direction: column;
  grid-column: 6 / 13;
  grid-row: 1;
  min-width: 0;
}

.mission-shell .label {
  display: block;
  margin-bottom: clamp(18px, 2vw, 26px);
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--brown);
}

.mission__name {
  margin: 0 0 8px;
  overflow-wrap: normal;
  font-family: var(--fd);
  font-size: clamp(1.9rem, 3vw, 3rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text);
}

.mission__role {
  display: block;
  margin-bottom: clamp(22px, 2.4vw, 32px);
  overflow-wrap: break-word;
  font-family: var(--fb);
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}

.mission__quote {
  max-width: 68ch;
  margin: 0 0 clamp(26px, 2.6vw, 36px);
  font-family: var(--fb);
  font-size: clamp(1.12rem, 1.35vw, 1.28rem);
  font-weight: 500;
  line-height: 1.7;
  color: var(--text);
}

.mission__quote em {
  font-style: normal;
  color: var(--brown);
}

.mission-shell .btn {
  align-self: flex-start;
  padding: 16px 32px;
  border: 1px solid var(--brown);
  border-radius: var(--pill);
  background: var(--brown);
  color: #fff;
  font-family: var(--fb);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background .22s, transform .22s;
}

.mission-shell .btn:hover {
  background: var(--brown-dark);
  transform: translateY(-2px);
}

.mission__media {
  position: relative;
  grid-column: 1 / 5;
  grid-row: 1;
  align-self: start;
  min-width: 0;
}

.mission__media::before {
  content: "";
  position: absolute;
  inset: auto -14px -14px auto;
  z-index: 0;
  width: 62%;
  height: 58%;
  border-radius: var(--card-radius);
  background: var(--rose-deep);
}

.mission__photo {
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: var(--card-radius);
  background: var(--taupe);
}

.mission__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.mission-shell .chip {
  position: absolute;
  z-index: 2;
  padding: 10px 18px;
  border-radius: var(--pill);
  background: #fff;
  box-shadow: 0 12px 30px rgba(42, 33, 28, .16);
  color: #3A322D;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.mission-shell .chip--1 {
  top: 12%;
  left: -3%;
}

.mission-shell .chip--2 {
  right: -3%;
  bottom: 10%;
}

@media (max-width: 1023px) {
  .mission-card {
    overflow-x: clip;
  }

  .mission-card__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .mission__text,
  .mission__media {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .mission__media {
    max-width: 640px;
  }

  .mission__media::before {
    right: 0;
    bottom: 0;
  }

  .mission-shell .chip {
    font-size: 13px;
    padding: 8px 14px;
  }

  .mission-shell .chip--1 {
    top: 12%;
    left: 8px;
  }

  .mission-shell .chip--2 {
    right: 8px;
    bottom: 10%;
    max-width: min(260px, calc(100% - 24px));
    white-space: normal;
    line-height: 1.35;
  }
}

@media (max-width: 767px) {
  .mission-shell {
    --card-radius: 18px;
  }

  .mission-card {
    overflow: hidden;
    max-width: 100%;
    padding: clamp(22px, 6vw, 28px);
  }

  .mission__name,
  .mission__quote,
  .mission__role {
    overflow-wrap: break-word;
  }

  .mission__role {
    letter-spacing: .1em;
  }

  .mission__quote {
    font-size: 1.05rem;
  }

  .mission-shell .btn {
    align-self: stretch;
    width: 100%;
    justify-content: center;
  }

  .mission__media {
    max-width: none;
  }

  .mission__media::before,
  .mission-shell .chip--2 {
    display: none;
  }

  .mission-shell .chip--1 {
    top: 10px;
    left: 10px;
    max-width: calc(100% - 20px);
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mission-shell .btn,
  .mission-shell .chip {
    transition: none;
  }

  .mission-shell .btn:hover {
    transform: none;
  }
}

/* Why
   ========================================================================== */

.why {
  --fd: "Tenor Sans", Georgia, sans-serif;
  overflow-x: clip;
  background: var(--rose);
  padding-inline: var(--gutter);
  padding-block: clamp(72px, 9vw, 150px);
}

.why__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.why .label {
  display: block;
  margin-bottom: clamp(16px, 1.6vw, 24px);
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--brown);
}

.why h2 {
  margin: 0;
  overflow-wrap: normal;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  font-weight: 400;
  line-height: 1.06;
  color: var(--text);
}

.why h2 em {
  font-style: normal;
  font-weight: 400;
  color: var(--brown);
}

.why .btn--ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: 15px 30px;
  border: 1px solid var(--line);
  border-radius: var(--pill);
  background: transparent;
  color: var(--text);
  font-family: var(--fb);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease;
}

.why .btn--ghost:hover {
  background: var(--text);
  border-color: var(--text);
  color: #fff;
}

.why .cards4 {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(16px, 1.6vw, 24px);
  align-items: stretch;
  margin-top: clamp(30px, 4vw, 52px);
}

.why .card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  min-width: 0;
  padding: clamp(24px, 2vw, 32px);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.why .card:hover {
  transform: translateY(-4px);
  border-color: transparent;
  box-shadow: 0 20px 44px rgba(42, 33, 28, .10);
}

.why .card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.why .card__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: clamp(44px, 3.4vw, 54px);
  height: clamp(44px, 3.4vw, 54px);
  border-radius: 14px;
  background: #F6E7E1;
  color: var(--brown);
}

.why .card__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.why .card__num {
  font-family: var(--fd);
  font-weight: 400;
  font-style: normal;
  font-size: clamp(30px, 2.4vw, 40px);
  line-height: 1;
  color: var(--muted);
  opacity: .6;
}

.why .card__title {
  margin: 0;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.25rem, 1.5vw, 1.5rem);
  line-height: 1.15;
  color: var(--text);
}

.why .card__text {
  margin: -4px 0 0;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.6;
  color: var(--muted);
}

.why__cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(28px, 3.2vw, 44px);
}

@media (min-width: 768px) {
  .why .cards4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .why .cards4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .why {
    padding-block: clamp(56px, 12vw, 80px);
  }

  .why h2 {
    overflow-wrap: break-word;
    font-size: clamp(1.7rem, 8vw, 2rem);
  }

  .why .btn--ghost {
    width: 100%;
    max-width: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .why .btn--ghost,
  .why .card {
    transition: none;
  }

  .why .card:hover {
    transform: none;
    box-shadow: none;
  }
}

/* Courses
   ========================================================================== */

.courses {
  overflow-x: clip;
  background: var(--cream);
  padding-inline: var(--gutter);
  padding-block: clamp(72px, 9vw, 150px);
  border-top-left-radius: var(--card-radius);
  border-top-right-radius: var(--card-radius);
}

.courses__head {
  margin-bottom: clamp(34px, 4vw, 56px);
}

.courses .label {
  display: block;
  margin-bottom: clamp(16px, 1.6vw, 24px);
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--brown);
}

.courses h2 {
  margin: 0;
  overflow-wrap: normal;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  font-weight: 500;
  line-height: 1.06;
  color: var(--text);
}

.courses h2 em {
  font-style: normal;
  font-weight: 500;
  color: var(--brown);
}

.courses .cards3 {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 2vw, 28px);
  align-items: stretch;
}

.courses .course {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.courses .course:hover {
  transform: translateY(-4px);
  border-color: transparent;
  box-shadow: 0 22px 48px rgba(42, 33, 28, .12);
}

.courses .course__img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--taupe);
}

.courses .course__img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(42, 33, 28, .28), rgba(42, 33, 28, 0) 45%);
  pointer-events: none;
}

.courses .course__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.courses .course:hover .course__img img {
  transform: scale(1.05);
}

.courses .course__idx {
  position: absolute;
  top: 14px;
  left: 16px;
  z-index: 2;
  font-family: var(--fd);
  font-size: 28px;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}

.courses .course__b {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 12px;
  padding: clamp(22px, 2vw, 30px);
}

.courses .course__b h3 {
  margin: 0;
  overflow-wrap: normal;
  font-family: var(--fd);
  font-size: clamp(1.4rem, 1.9vw, 1.8rem);
  font-weight: 600;
  line-height: 1.14;
  color: var(--text);
}

.courses .course__b p {
  margin: 0;
  flex: 1;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.6;
  color: var(--muted);
}

.courses .course__b .btn {
  align-self: flex-start;
  margin-top: auto;
  padding: 16px 32px;
  border: 1px solid var(--brown);
  border-radius: var(--pill);
  background: var(--brown);
  color: #fff;
  font-family: var(--fb);
  font-size: 15px;
  font-weight: 600;
}

.courses .course__b .btn:hover {
  background: var(--brown-dark);
}

@media (min-width: 768px) {
  .courses .cards3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .courses .cards3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .courses {
    padding-block: clamp(56px, 12vw, 80px);
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
  }

  .courses h2,
  .courses .course__b h3 {
    overflow-wrap: break-word;
  }

  .courses h2 {
    font-size: clamp(1.7rem, 8vw, 2rem);
  }

  .courses .course__b {
    padding: 20px;
  }

  .courses .course__b .btn {
    align-self: stretch;
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .courses .course,
  .courses .course__img img,
  .courses .course__b .btn {
    transition: none;
  }

  .courses .course:hover {
    transform: none;
  }

  .courses .course:hover .course__img img {
    transform: none;
  }
}

/* FAQ
   ========================================================================== */

.faq {
  background: var(--cream);
  padding-inline: var(--gutter);
  padding-block: clamp(72px, 9vw, 140px);
  overflow: visible;
}

.faq__g {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 72px);
  align-items: start;
}

.faq__l {
  position: sticky;
  top: clamp(24px, 4vw, 40px);
  grid-column: 1 / 5;
  align-self: start;
  min-width: 0;
}

.faq__r {
  grid-column: 6 / 13;
  min-width: 0;
}

.faq .tag {
  display: inline-block;
  margin-bottom: clamp(18px, 2vw, 26px);
  padding: 7px 16px;
  border-radius: var(--pill);
  background: var(--taupe);
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--brown);
}

.faq__l h2 {
  margin: 0;
  overflow-wrap: normal;
  font-family: var(--fd);
  font-size: clamp(2rem, 3vw, 3.1rem);
  font-weight: 500;
  line-height: 1.08;
  color: var(--text);
}

.faq__l h2 em {
  font-style: normal;
  font-weight: 500;
  color: var(--brown);
}

.faq .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: clamp(26px, 3vw, 36px);
  padding: 16px 30px;
  border: 1px solid var(--brown);
  border-radius: var(--pill);
  background: var(--brown);
  color: #fff;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .22s ease, transform .22s ease;
}

.faq .btn:hover {
  background: var(--brown-dark);
  transform: translateY(-2px);
}

.faq .acc {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.2vw, 16px);
  max-width: none;
  margin: 0;
}

.faq .item {
  padding: clamp(22px, 2vw, 30px) clamp(24px, 2.2vw, 34px);
  background: var(--rose);
  border: 0;
  border-radius: 20px;
  box-shadow: none;
  transition: background-color .25s ease;
}

.faq .item.open {
  background: var(--rose);
  box-shadow: none;
}

.faq .item__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  width: 100%;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

.faq .item__head h3 {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
  font-family: var(--fb);
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  font-weight: 500;
  line-height: 1.35;
  color: var(--text);
}

.faq .item__head:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 4px;
  border-radius: 8px;
}

.faq .chev {
  display: grid;
  flex: none;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--white);
  color: var(--brown);
  transform: none;
  transition: background-color .3s ease, color .3s ease;
}

.faq .chev svg {
  width: 20px;
  height: 20px;
  transition: transform .3s ease;
}

.faq .item.open .chev {
  background: var(--brown);
  color: #fff;
  transform: none;
}

.faq .item.open .chev svg {
  transform: rotate(180deg);
}

.faq .ans {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .32s ease;
}

.faq .item.open .ans {
  grid-template-rows: 1fr;
}

.faq .ans > div {
  overflow: hidden;
}

.faq .ans p {
  margin: 0;
  max-width: 64ch;
  padding-top: 16px;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}

@media (max-width: 900px) {
  .faq {
    overflow-x: clip;
    padding-block: clamp(56px, 12vw, 80px);
  }

  .faq__g {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq__l {
    position: static;
  }

  .faq__l,
  .faq__r {
    grid-column: 1 / -1;
  }

  .faq__l h2 {
    overflow-wrap: break-word;
    font-size: clamp(1.7rem, 8vw, 2rem);
  }

  .faq .btn {
    width: 100%;
  }

  .faq .item {
    padding: 18px 16px;
    border-radius: 16px;
  }

  .faq .item__head {
    gap: 12px;
  }

  .faq .item__head h3 {
    font-size: 1.02rem;
  }

  .faq .chev {
    width: 40px;
    height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq .item,
  .faq .btn,
  .faq .chev,
  .faq .chev svg,
  .faq .ans {
    transition: none;
  }

  .faq .btn:hover {
    transform: none;
  }
}

/* Footer
   ========================================================================== */

.site-footer {
  overflow-x: clip;
  background: var(--cream);
  color: var(--brown);
  padding: 0;
}

.footer-shell {
  padding: var(--gutter);
  padding-bottom: 0;
  background: var(--cream);
}

.footer-card {
  overflow: hidden;
  padding: clamp(36px, 4vw, 64px) clamp(30px, 3.5vw, 60px);
  border-radius: clamp(22px, 2vw, 34px);
  background: var(--espresso);
  color: #EADCD3;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.35fr repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 2.6vw, 48px);
  align-items: start;
}

.f-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 16px;
  font-family: var(--fd);
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-weight: 600;
  letter-spacing: .04em;
  color: #fff;
  text-decoration: none;
  line-height: 1;
}

.f-brand:hover {
  color: #fff;
}

.f-brand__lab {
  margin-top: 6px;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: lowercase;
  color: rgba(255, 255, 255, .82);
}

.f-desc {
  max-width: 44ch;
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.6;
  color: #A99A8E;
}

.f-form {
  display: flex;
  gap: 10px;
  max-width: 440px;
  margin-top: 24px;
}

.f-form input[type="email"] {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 48px;
  padding: 16px 22px;
  border: 0;
  border-radius: var(--pill);
  background: #fff;
  color: #2A211C;
  font-family: var(--fb);
  font-size: 15px;
}

.f-form input[type="email"]::placeholder {
  color: #A99A8E;
}

.footer-card .f-form .btn {
  flex: none;
  min-height: 48px;
  padding: 16px 28px;
  border: 0;
  border-radius: var(--pill);
  background: var(--brown);
  color: #fff;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transition: background-color .22s ease, transform .22s ease;
}

.footer-card .f-form .btn:hover {
  background: var(--brown-dark);
}

.f-col h4 {
  margin: 0 0 20px;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
}

.f-col a {
  display: block;
  margin-bottom: 6px;
  overflow-wrap: break-word;
  color: #EADCD3;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
  transition: color .2s ease;
}

.f-col a:hover {
  color: #fff;
}

.f-col a:last-of-type {
  margin-bottom: 0;
}

.f-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.f-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  color: #EADCD3;
}

.f-social a:hover {
  color: #fff;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 22px var(--gutter) 30px;
  color: var(--brown);
  font-family: var(--fb);
  font-size: 14px;
}

.footer-bottom__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: var(--fd);
  font-weight: 600;
  line-height: 1;
}

.footer-bottom__lab {
  margin-top: 4px;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: lowercase;
  color: rgba(90, 70, 58, .72);
}

.footer-bottom__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.footer-bottom__links a {
  color: var(--brown);
  text-decoration: none;
}

.footer-bottom__links a:hover {
  color: var(--brown-dark);
}

.footer-card a:focus-visible,
.footer-bottom a:focus-visible,
.f-form input:focus-visible,
.footer-card .btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

body.page-template-page-flagman .f-col a,
body.page-template-page-carboxy .f-col a,
body.page-template-page-micro .f-col a,
body.page-template-page-club .f-col a,
body.page-template-page-certification .f-col a,
body.page-template-page-biblioteka .f-col a,
body.page-template-page-massazhi .f-col a,
body.page-template-page-retreat .f-col a,
body.page-template-page-blog .f-col a {
  display: block;
  width: max-content;
  max-width: 100%;
  min-height: 0;
}

body.page-template-page-flagman .footer-bottom__links a,
body.page-template-page-carboxy .footer-bottom__links a,
body.page-template-page-micro .footer-bottom__links a,
body.page-template-page-club .footer-bottom__links a,
body.page-template-page-certification .footer-bottom__links a,
body.page-template-page-biblioteka .footer-bottom__links a,
body.page-template-page-massazhi .footer-bottom__links a,
body.page-template-page-retreat .footer-bottom__links a,
body.page-template-page-blog .footer-bottom__links a {
  display: inline;
  min-height: 0;
}

@media (max-width: 1023px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }

  .f-lead {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .footer-card {
    padding: 28px 20px;
    border-radius: 18px;
  }

  .footer-top {
    grid-template-columns: minmax(0, 1fr);
  }

  .f-lead,
  .f-col {
    grid-column: 1 / -1;
  }

  .f-form {
    flex-direction: column;
    max-width: none;
  }

  .f-form input[type="email"],
  .footer-card .f-form .btn {
    width: 100%;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 18px var(--gutter) 24px;
  }

  .footer-bottom__brand {
    align-items: center;
  }

  .footer-bottom__links {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .f-col a,
  .f-social a,
  .footer-card .f-form .btn,
  .footer-bottom__links a {
    transition: none;
  }

  .footer-card .f-form .btn:hover {
    transform: none;
  }
}

/* Flagman course page
   ========================================================================== */

body.page-template-page-flagman,
body.page-template-page-carboxy,
body.page-template-page-micro,
body.page-template-page-couperose,
body.page-template-page-club,
body.page-template-page-certification,
body.page-template-page-biblioteka,
body.page-template-page-massazhi,
body.page-template-page-retreat,
body.page-template-page-blog,
body.page-template-page-kontakt,
body.page-template-page-cookie,
body.page-template-page-impressum,
body.page-template-page-datenschutz,
body.page-template-page-agb,
body.page-template-page-stornierung {
  --c-rose: #fff;
  --rose: #fff;
  --fd: "Tenor Sans", Georgia, sans-serif;
  --font-display: "Tenor Sans", Georgia, sans-serif;
  --font-serif: "Tenor Sans", Georgia, sans-serif;
  background: var(--cream);
}

body.page-template-page-blog {
  background: #fff;
}

body.page-template-page-biblioteka {
  background: var(--cream);
}

body.page-template-page-methodic {
  --fd: "Tenor Sans", Georgia, sans-serif;
  --font-display: "Tenor Sans", Georgia, sans-serif;
  --font-serif: "Tenor Sans", Georgia, sans-serif;
  background: #F6E7E1;
}

body.page-template-page-flagman em,
body.page-template-page-flagman i,
body.page-template-page-carboxy em,
body.page-template-page-carboxy i,
body.page-template-page-micro em,
body.page-template-page-micro i,
body.page-template-page-club em,
body.page-template-page-club i,
body.page-template-page-certification em,
body.page-template-page-certification i,
body.page-template-page-biblioteka em,
body.page-template-page-biblioteka i,
body.page-template-page-massazhi em,
body.page-template-page-massazhi i,
body.page-template-page-retreat em,
body.page-template-page-retreat i,
body.page-template-page-blog em,
body.page-template-page-blog i,
body.page-template-page-kontakt em,
body.page-template-page-kontakt i {
  font-style: normal;
}

body.page-template-page-flagman .site-header,
body.page-template-page-carboxy .site-header,
body.page-template-page-micro .site-header,
body.page-template-page-club .site-header,
body.page-template-page-certification .site-header,
body.page-template-page-biblioteka .site-header,
body.page-template-page-massazhi .site-header,
body.page-template-page-retreat .site-header,
body.page-template-page-blog .site-header,
body.page-template-page-kontakt .site-header {
  background: var(--cream);
}

.flagman {
  --fd: "Tenor Sans", Georgia, sans-serif;
  overflow-x: clip;
  background: var(--cream);
}

.site-main.flagman.carboxy,
.site-main.flagman.micro,
.site-main.flagman.couperose,
.site-main.flagman.club,
.site-main.flagman.certification,
.site-main.flagman.blog {
  overflow-x: clip;
  background: #fff;
}

body.page-template-page-blog {
  background: #fff;
}

.flagman .btn {
  min-height: 48px;
  padding: 16px 32px;
  border: 1px solid var(--brown);
  border-radius: var(--pill);
  background: var(--brown);
  color: #fff;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.flagman .btn:hover {
  background: var(--brown-dark);
  border-color: var(--brown-dark);
  color: #fff;
}

.flagman .btn--ghost {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
}

.flagman .btn--ghost:hover {
  background: var(--text);
  border-color: var(--text);
  color: #fff;
}

.flagman .btn--light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--text);
}

.flagman .btn--light:hover {
  background: #f4ece8;
  border-color: #fff;
  color: var(--text);
}

.flagman .label {
  display: block;
  margin-bottom: clamp(16px, 1.6vw, 24px);
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--brown);
}

.flagman h2 em {
  font-style: normal;
  font-weight: 500;
  color: var(--brown);
}

.flagman-section {
  padding-inline: var(--gutter);
}

.flagman-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
}

.flagman-section__slot {
  grid-column: 1 / -1;
  min-width: 0;
}

@media (max-width: 767px) {
  .flagman-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.flagman-hero.hero-shell {
  padding-top: 20px;
  padding-right: var(--gutter);
  padding-bottom: 0;
  padding-left: var(--gutter);
  background: #fff;
}

.flagman-hero .hero-card {
  min-height: clamp(520px, calc(100vh - var(--gutter) * 2), 860px);
  border-radius: var(--card-radius);
}

.flagman-hero .hero-card__overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, .15) 55%, rgba(0, 0, 0, .30));
}

.flagman-hero__content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 2.4vw, 32px);
  padding: clamp(88px, 12vw, 120px) clamp(20px, 4vw, 48px) 32px;
  text-align: center;
  pointer-events: none;
}

.flagman-hero__content h1 {
  max-width: 14em;
  margin: 0;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2.4rem, 6vw, 5.2rem);
  font-weight: 500;
  line-height: 1.05;
  color: #fff;
}

.flagman-hero__content h1 em {
  font-style: normal;
  font-weight: 500;
  color: #fff;
}

.flagman-hero__leads {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.flagman-hero__lead {
  max-width: 22em;
  margin: 0;
  font-family: var(--fb);
  font-size: clamp(16px, 1.7vw, 20px);
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
}

.flagman-hero__lead--wide {
  max-width: 28em;
}

.flagman-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  pointer-events: auto;
}

.flagman-hero .btn--ghost {
  border-color: #fff;
  color: #fff;
}

.flagman-hero .btn--ghost:hover {
  background: #fff;
  border-color: #fff;
  color: var(--text);
}

@media (max-width: 767px) {
  .flagman-hero__content {
    padding: 88px 18px 24px;
  }

  .flagman-hero__content h1 {
    font-size: clamp(2rem, 9vw, 2.6rem);
  }

  .flagman-hero__actions {
    flex-direction: column;
    align-self: stretch;
    width: 100%;
  }

  .flagman-hero .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .flagman .btn,
  .flagman-hero .btn--ghost,
  .flagman-hero .btn--light {
    transition: none;
  }
}

.flagman-promise {
  padding-block: clamp(56px, 7vw, 112px);
  background: #fff;
}

.flagman-promise .flagman-section__grid {
  align-items: center;
}

.flagman-promise__media {
  overflow: hidden;
  min-width: 0;
  background: var(--taupe);
  border-radius: 1000px;
}

.flagman-promise__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flagman-promise__media--a {
  grid-column: 1 / 3;
  aspect-ratio: 3 / 4;
}

.flagman-promise__media--b {
  grid-column: 11 / 13;
  aspect-ratio: 4 / 5;
}

.flagman-promise__title {
  grid-column: 3 / 11;
  max-width: 36ch;
  margin: 0 auto;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(1.85rem, 3.4vw, 3.4rem);
  font-weight: 500;
  line-height: 1.14;
  letter-spacing: -.01em;
  text-align: center;
  color: var(--text);
}

.flagman-promise__title em {
  font-style: normal;
  font-weight: 500;
  color: var(--brown);
}

@media (max-width: 1023px) {
  .flagman-promise__media {
    display: none;
  }

  .flagman-promise__title {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .flagman-promise {
    padding-block: clamp(40px, 10vw, 64px);
  }

  .flagman-promise__title {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }
}

.site-main.flagman:has(.cert) {
  overflow: visible;
}

.cert {
  overflow-x: clip;
  background: var(--rose);
  padding-inline: var(--gutter);
  padding-top: clamp(80px, 10vw, 160px);
  padding-bottom: 88px;
}

.cert__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(40px, 5vw, 90px);
  align-items: start;
}

.cert__left {
  display: flex;
  flex-direction: column;
  grid-column: 1 / 7;
  min-width: 0;
}

.cert .label {
  margin-bottom: 0;
}

.cert h2 {
  margin: 16px 0 20px;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(1.9rem, 3vw, 3rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text);
}

.cert h2 em {
  font-style: normal;
  font-weight: 500;
  color: var(--brown);
}

.cert__lead {
  margin: 0 0 16px;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}

.cert__body {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  color: var(--text);
}

.cert__more {
  align-self: flex-start;
  margin-top: 24px;
}

.cert__sub {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: clamp(36px, 4vw, 56px) 0 20px;
  font-family: var(--fd);
  font-size: clamp(1.4rem, 2vw, 2rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--text);
}

.cert__sub svg {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  fill: none;
  stroke: var(--brown);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cert-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.benefit {
  min-width: 0;
  padding: clamp(20px, 2vw, 28px);
  background: var(--taupe);
  border-radius: var(--r-lg);
}

.benefit .n {
  margin-bottom: 14px;
  font-family: var(--fd);
  font-size: 36px;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  color: var(--brown);
}

.benefit p {
  margin: 0;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.55;
  color: var(--text);
}

.cert__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: clamp(24px, 3vw, 36px);
}

.cert__right {
  grid-column: 8 / 13;
  align-self: start;
  position: sticky;
  top: 100px;
  z-index: 1;
  min-width: 0;
}

.cert__right .frame {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  line-height: 0;
  border-radius: var(--r-lg);
}

.cert__right img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-lg);
  clip-path: inset(0 round var(--r-lg));
}

.cert__docs {
  min-width: 0;
  margin-top: clamp(24px, 2.6vw, 36px);
}

.cert__docs-title {
  margin: 0 0 14px;
  font-family: var(--fd);
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--text);
}

.cert__docs-list {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.cert__docs-list li {
  position: relative;
  padding: 8px 0 8px 28px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--text);
}

.cert__docs-list li::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brown);
}

.cert__docs-note {
  margin: 0 0 14px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--text);
}

@media (max-width: 1023px) {
  .cert__left {
    grid-column: 1 / 7;
  }

  .cert__right {
    grid-column: 7 / 13;
    position: static;
  }
}

@media (max-width: 767px) {
  .cert {
    padding-top: clamp(56px, 12vw, 80px);
    padding-bottom: 88px;
  }

  .cert__grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .cert__left,
  .cert__right {
    display: contents;
  }

  .cert .label { order: 1; }
  .cert h2 { order: 2; }
  .cert__lead { order: 3; }
  .cert__body { order: 4; }
  .cert__right .frame { order: 5; }
  .cert__docs { order: 6; }
  .cert__sub { order: 7; }
  .cert-benefits { order: 8; }
  .cert__actions { order: 9; }

  .cert h2 {
    margin: 8px 0 16px;
  }

  .cert__sub {
    margin-top: 12px;
    align-items: flex-start;
  }

  .cert-benefits {
    grid-template-columns: minmax(0, 1fr);
  }

  .cert__docs .btn,
  .cert__actions .btn {
    align-self: stretch;
    width: 100%;
    justify-content: center;
  }

  .cert__actions {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cert__right {
    position: static;
  }
}

body.page-template-page-carboxy .carboxy-hero.hero-shell,
body.page-template-page-micro .carboxy-hero.hero-shell,
body.page-template-page-couperose .carboxy-hero.hero-shell,
body.page-template-page-certification .carboxy-hero.hero-shell {
  padding-bottom: var(--gutter);
}

body.page-template-page-micro .cert,
body.page-template-page-carboxy .cert {
  background: #F6E7E1;
  border-radius: var(--card-radius);
}

.flagman-results {
  padding-top: 0;
  padding-bottom: clamp(72px, 9vw, 150px);
}

.flagman-results .flagman-section__grid {
  row-gap: 40px;
}

.flagman-results__title {
  grid-column: 1 / -1;
  max-width: 18em;
  margin: 0 auto;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  color: var(--text);
}

.flagman-results__cover {
  position: relative;
  grid-column: 1 / -1;
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--taupe);
}

.flagman-results__cover img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.flagman-results__cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(42, 33, 28, .28);
  pointer-events: none;
}

.flagman-results__more {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: max-content;
  max-width: calc(100% - 32px);
  transform: translate(-50%, -50%);
}

.flagman-results__modal {
  max-width: min(960px, calc(100vw - 32px));
}

.flagman-results__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.flagman-results__gallery figure {
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: var(--taupe);
}

.flagman-results__gallery img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.flagman-results__actions {
  display: flex;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  gap: 12px;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .flagman-results {
    padding-top: 0;
    padding-bottom: clamp(56px, 12vw, 80px);
  }

  .flagman-results__title {
    font-size: clamp(1.7rem, 7.5vw, 2.1rem);
  }

  .flagman-results__more {
    width: calc(100% - 32px);
    justify-content: center;
    white-space: normal;
    text-align: center;
  }

  .flagman-results__gallery {
    grid-template-columns: minmax(0, 1fr);
  }

  .flagman-results__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .flagman-results__actions .btn {
    width: 100%;
    justify-content: center;
  }
}

.flagman-results__slider {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "prev viewport next"
    ". count .";
  gap: 12px 12px;
  align-items: center;
}

.flagman-results__viewport {
  grid-area: viewport;
  min-width: 0;
}

.flagman-results__arrow--prev {
  grid-area: prev;
}

.flagman-results__arrow--next {
  grid-area: next;
}

.flagman-results__count {
  grid-area: count;
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--muted);
  text-align: center;
}

.flagman-results__track {
  display: flex;
  gap: clamp(12px, 1.4vw, 20px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.flagman-results__track::-webkit-scrollbar {
  display: none;
}

.flagman-results__slide {
  flex: 0 0 calc((100% - 40px) / 3);
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: var(--r-lg);
  background: var(--taupe);
  scroll-snap-align: start;
}

.flagman-results__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flagman-results__arrow {
  display: grid;
  flex: none;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--white);
  color: var(--brown);
  cursor: pointer;
}

.flagman-results__arrow:hover {
  background: var(--brown);
  color: #fff;
}

.flagman-results__arrow:disabled {
  opacity: .35;
  cursor: default;
}

.flagman-results__arrow[hidden] {
  visibility: hidden;
}

@media (max-width: 1023px) {
  .flagman-results__slide {
    flex-basis: calc((100% - 16px) / 2);
  }
}

@media (max-width: 767px) {
  .flagman-results__slider {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "viewport viewport viewport"
      "prev count next";
    gap: 16px 12px;
  }

  .flagman-results__slide {
    flex-basis: 84%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .flagman-results__track {
    scroll-behavior: auto;
  }
}

.flagman-reviews {
  padding-block: clamp(56px, 7vw, 100px);
}

.flagman-reviews .flagman-section__grid {
  align-items: center;
  max-width: 880px;
  margin-inline: auto;
}

@media (min-width: 861px) {
  .flagman-reviews .flagman-section__grid {
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: clamp(36px, 4vw, 56px);
  }
}

.flagman-reviews__media {
  position: relative;
  grid-column: auto;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--taupe);
}

.flagman-reviews__video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 512 / 798;
  object-fit: cover;
  background: #1a1614;
  pointer-events: none;
}

.flagman-reviews__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-column: auto;
  min-width: 0;
}

.flagman-reviews__text h2 {
  max-width: 14em;
  margin: 0 0 clamp(22px, 2.4vw, 32px);
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text);
}

@media (max-width: 860px) {
  .flagman-reviews .flagman-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .flagman-reviews__media,
  .flagman-reviews__text {
    grid-column: 1 / -1;
  }

  .flagman-reviews__media {
    max-width: 360px;
  }

  .flagman-reviews__text h2 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }

  .flagman-reviews .btn {
    width: 100%;
    justify-content: center;
  }
}

.flagman-modules {
  margin: var(--gutter);
  padding: var(--gutter);
  overflow: hidden;
  border-radius: var(--card-radius);
  background: #fff;
}

.flagman-modules__head,
.modules-grid {
  grid-column: 1 / -1;
  min-width: 0;
}

.flagman-modules .flagman-section__grid {
  row-gap: 40px;
}

.flagman-modules__head {
  margin-bottom: 0;
}

.flagman-modules h2 {
  margin: 0;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text);
}

.flagman-modules h2 em {
  font-style: normal;
  font-weight: 500;
  color: var(--brown);
}

.flagman-modules__books-link {
  margin: 16px 0 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}

.flagman-modules__books-link a {
  color: var(--brown);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.flagman-modules__books-link a:hover {
  color: var(--brown-dark);
}

.modules-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.module-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  min-height: clamp(220px, 18vw, 280px);
  padding: clamp(24px, 2.2vw, 36px);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--white);
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.module-card:hover {
  transform: translateY(-4px);
  border-color: transparent;
  box-shadow: 0 20px 44px rgba(42, 33, 28, .10);
}

.module-card:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 3px;
}

.module-card .num {
  font-family: var(--fb);
  font-style: normal;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .04em;
  line-height: 1;
  color: var(--brown);
}

.module-card h3 {
  margin: 0;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(1.25rem, 1.7vw, 1.6rem);
  line-height: 1.15;
  color: var(--text);
}

.module-card .teaser {
  flex: 1;
  margin: 0;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted);
}

.module-card .more {
  display: inline-flex;
  gap: .4em;
  align-items: center;
  margin-top: auto;
  font-family: var(--fb);
  font-weight: 600;
  font-size: 14px;
  color: var(--brown);
}

.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(16px, 4vw, 60px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background: rgba(42, 33, 28, .55);
  backdrop-filter: blur(2px);
}

.modal-overlay.open {
  display: flex;
}

html.modal-open,
body.modal-open {
  overflow: hidden;
  overscroll-behavior: none;
}

body.modal-open {
  position: fixed;
  width: 100%;
}

.modal {
  position: relative;
  width: 100%;
  max-width: min(900px, 100%);
  min-width: 0;
  margin: auto;
  padding: clamp(28px, 3vw, 56px);
  border-radius: var(--card-radius);
  background: #fff;
  box-shadow: 0 40px 120px rgba(42, 33, 28, .35);
}

.modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--white);
  cursor: pointer;
}

.modal__close:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 3px;
}

.modal__close span {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
}

.modal__close span::before,
.modal__close span::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: var(--text);
}

.modal__close span::before {
  transform: rotate(45deg);
}

.modal__close span::after {
  transform: rotate(-45deg);
}

.modal h3 {
  margin: 6px 0 18px;
  padding-right: 48px;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
  line-height: 1.12;
  color: var(--text);
}

.modal h4 {
  margin: 26px 0 12px;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(1.2rem, 1.6vw, 1.5rem);
  color: var(--text);
}

.modal p,
.modal li {
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.7;
  color: var(--text);
}

.modal p {
  margin: 0 0 14px;
}

.modal ul,
.modal ol {
  margin: 0 0 16px;
  padding-left: 1.15em;
}

.modal .muted {
  color: var(--muted);
}

.modal strong {
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(1.2rem, 1.6vw, 1.5rem);
  color: var(--text);
}

.modal p strong {
  display: block;
  margin: 22px 0 12px;
}

.prog {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.prog li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.prog .n {
  font-family: var(--fd);
  font-style: normal;
  font-size: 24px;
  line-height: 1.2;
  color: var(--brown);
}

.prog ul {
  margin: 8px 0 0;
}

.modal ol ul,
.modal ul ul {
  margin: 8px 0 0;
}

.panel {
  margin-top: 16px;
  padding: clamp(20px, 2vw, 30px);
  border-radius: var(--r-lg);
  background: var(--taupe);
}

.panel h4 {
  margin-top: 0;
}

.panel.note {
  background: transparent;
  border: 1px solid var(--line);
}

.panel.note p:last-child {
  margin-bottom: 0;
}

.panels-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.checks {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.subacc .item {
  border-top: 1px solid var(--line);
}

.subacc .item:last-child {
  border-bottom: 1px solid var(--line);
}

.subacc button {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 44px;
  padding: 16px 0;
  border: 0;
  background: none;
  font-family: var(--fd);
  font-size: 1.15rem;
  line-height: 1.25;
  text-align: left;
  color: var(--text);
  cursor: pointer;
}

.subacc button:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 3px;
}

.subacc button::after {
  content: '+';
  flex: none;
  font-family: var(--fd);
  font-size: 1.4rem;
  line-height: 1;
  color: var(--brown);
}

.subacc .item.open button::after {
  content: '–';
}

.subacc .ans {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s ease;
}

.subacc .item.open .ans {
  grid-template-rows: 1fr;
}

.subacc .ans > div {
  overflow: hidden;
}

.subacc .ans p {
  padding: 0 0 16px;
  color: var(--muted);
}

.modal__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

@media (max-width: 1023px) {
  .modules-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .flagman-modules h2 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }

  .modules-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .module-card {
    min-height: 0;
  }

  .panels-2 {
    grid-template-columns: minmax(0, 1fr);
  }

  .modal__cta {
    flex-direction: column;
    align-items: stretch;
  }

  .modal__cta .btn {
    width: 100%;
    justify-content: center;
  }

  .modal-overlay {
    padding: 0;
    align-items: stretch;
    overflow: hidden;
  }

  .modal {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-height: 100dvh;
    margin: 0;
    padding: 16px 18px calc(28px + env(safe-area-inset-bottom, 0px));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: 0;
    box-shadow: none;
  }

  .modal__close {
    position: sticky;
    top: 0;
    z-index: 3;
    align-self: flex-end;
    flex-shrink: 0;
    margin: 0 0 8px auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .module-card,
  .module-card:hover,
  .subacc .ans,
  .modal-overlay {
    transform: none;
    transition: none;
    backdrop-filter: none;
  }
}

.flagman-books {
  padding-block: clamp(72px, 9vw, 150px);
  background: #F6E7E1;
}

.flagman-books__inner {
  max-width: 1600px;
  margin-inline: auto;
}

.flagman-books__head {
  max-width: 760px;
  margin: 0 auto clamp(40px, 5vw, 72px);
  text-align: center;
}

.flagman-books__head .label {
  display: block;
  margin-bottom: 14px;
}

.flagman-books__head h2 {
  margin: 0 0 16px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1.12;
  color: var(--text);
}

.flagman-books__head h2 em {
  font-style: normal;
  color: var(--brown);
}

.flagman-books__head p {
  margin: 0 0 10px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.flagman-books__head p:last-child {
  margin-bottom: 0;
}

.flagman-books__head h1 {
  margin: 0 0 16px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1.12;
  color: var(--text);
}

.flagman-books__head h1 em {
  font-style: normal;
  color: var(--brown);
}

.flagman-books__preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(22px, 3vw, 32px);
  max-width: 920px;
  margin-inline: auto;
}

.flagman-books__preview-media {
  margin: 0;
  width: 100%;
  overflow: hidden;
  border-radius: var(--card-radius);
  background: #fff;
  box-shadow: 0 18px 48px rgba(42, 33, 28, .1);
}

.flagman-books__preview-media img {
  display: block;
  width: 100%;
  height: auto;
}

.flagman-books--teaser .flagman-books__preview .btn {
  min-height: 48px;
  padding: 14px 32px;
}

.flagman-books__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 24px);
}

.flagman-book {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border-radius: var(--card-radius);
  background: #fff;
}

.flagman-book__media {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  min-width: 0;
  background: #FBF1EC;
}

.flagman-book__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.flagman-book__copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(16px, 1.6vw, 22px);
}

.flagman-book__copy h3 {
  margin: 0 0 10px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.05rem, 1.15vw, 1.28rem);
  line-height: 1.25;
  color: var(--text);
}

.flagman-book__teaser {
  margin: 0 0 10px;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text);
}

.flagman-book__langs {
  margin: auto 0 0;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--brown);
}

.flagman-book__buy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 14px;
}

.flagman-book__price {
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.5rem, 1.8vw, 1.9rem);
  line-height: 1;
  color: var(--text);
}

.flagman-book .btn {
  min-height: 42px;
  padding: 10px 18px;
  font-size: 12px;
}

.flagman-book .more {
  display: inline-flex;
  gap: .4em;
  align-items: center;
  align-self: flex-start;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: var(--fb);
  font-weight: 600;
  font-size: 14px;
  color: var(--brown);
  cursor: pointer;
}

.flagman-book .more:hover,
.flagman-book .more:focus-visible {
  color: var(--brown-dark);
}

.flagman-book .more:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 3px;
}

.flagman-books .modal__cta {
  align-items: center;
}

@media (max-width: 1199px) {
  .flagman-books__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .flagman-books__list {
    grid-template-columns: minmax(0, 1fr);
  }
}

.flagman-pricing {
  padding-block: clamp(72px, 9vw, 150px);
}

.flagman-pricing .flagman-section__grid {
  row-gap: 40px;
}

.flagman-pricing__head {
  grid-column: 1 / -1;
  margin: 0;
  text-align: center;
}

.flagman-pricing__head .label {
  margin-bottom: clamp(12px, 1.2vw, 18px);
}

.flagman-pricing h2 {
  margin: 0;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text);
}

.flagman-pricing__lead {
  margin: 14px 0 0;
  font-family: var(--fb);
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.45;
  color: var(--text);
}

.prices {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 24px);
  align-items: stretch;
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
}

.price {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  padding: clamp(26px, 2.4vw, 40px);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--white);
}

.price--flag {
  background: var(--espresso);
  color: #EADCD3;
  border-color: transparent;
}

.price h3 {
  margin: 0;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(1.3rem, 1.7vw, 1.7rem);
  line-height: 1.2;
  color: var(--text);
}

.price--flag h3 {
  color: #EADCD3;
}

.price ul {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 10px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}

.price li {
  position: relative;
  padding-left: 20px;
  overflow-wrap: break-word;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.55;
  color: var(--text);
}

.price--flag li {
  color: #EADCD3;
}

.price li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--brown);
}

.price--flag li::before {
  color: rgba(234, 220, 211, .72);
}

.price .amount {
  margin: auto 0 18px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(2.2rem, 3vw, 3rem);
  line-height: 1.1;
  color: var(--text);
}

.price--flag .amount {
  color: #EADCD3;
}

.price__book-note {
  margin: -6px 0 14px;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--muted, #6b5e57);
}

.price--flag .price__book-note {
  color: #C9B8AF;
}

.price__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.price .btn {
  align-self: stretch;
  justify-content: center;
}

.price--flag .btn {
  border-color: #EADCD3;
  background: #EADCD3;
  color: var(--espresso);
}

.price--flag .btn:hover {
  background: var(--cream);
  border-color: var(--cream);
  color: var(--espresso);
}

.price--flag .btn--ghost {
  border-color: rgba(234, 220, 211, 0.55);
  background: transparent;
  color: #EADCD3;
}

.price--flag .btn--ghost:hover {
  background: #EADCD3;
  border-color: #EADCD3;
  color: var(--espresso);
}

@media (max-width: 1023px) {
  .prices {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .flagman-pricing {
    padding-block: clamp(56px, 12vw, 80px);
  }

  .flagman-pricing h2,
  .biblioteka-pricing h1 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }
}

/* Library of complex cases
   ========================================================================== */

.biblioteka-pricing {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  background: #FBF1EC;
}

.biblioteka-pricing h1 {
  margin: 0;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--text);
}

.biblioteka-pricing h1 em {
  font-style: normal;
  font-weight: 400;
  color: var(--brown);
}

.biblioteka-pricing .flagman-pricing__head {
  max-width: 760px;
  margin-inline: auto;
}

.biblioteka-pricing .flagman-pricing__lead + .flagman-pricing__lead {
  margin-top: 10px;
}

.biblioteka-pricing .flagman-pricing__topics {
  max-width: 62ch;
  margin: 14px auto 0;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--brown);
}

.biblioteka-copy {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  background: #fff;
}

.biblioteka-copy--rose {
  background: #F6E7E1;
}

.biblioteka-copy__inner {
  max-width: 1000px;
  margin-inline: auto;
}

.biblioteka-copy__head {
  margin-bottom: clamp(24px, 3vw, 40px);
}

.biblioteka-copy__head .label {
  display: block;
  margin-bottom: 12px;
}

.biblioteka-copy h2 {
  margin: 0;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.15;
  color: var(--text);
}

.biblioteka-copy h3 {
  margin: clamp(28px, 3vw, 40px) 0 14px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.2;
  color: var(--text);
}

.biblioteka-copy p {
  max-width: 72ch;
  margin: 0 0 16px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text);
}

.biblioteka-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.biblioteka-list--cols {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 28px;
}

.biblioteka-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
}

.biblioteka-check {
  display: grid;
  flex: none;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  color: #2A211C;
}

.biblioteka-copy__final {
  margin: clamp(28px, 3vw, 40px) 0;
  padding: clamp(20px, 2.4vw, 32px);
  border-radius: var(--r-lg);
  background: #F6E7E1;
}

.biblioteka-copy--rose .biblioteka-copy__final {
  background: #fff;
}

.biblioteka-copy__final p:last-child {
  margin-bottom: 0;
}

.biblioteka-copy p.biblioteka-copy__note {
  margin: 0 0 28px;
  font-size: 14px;
  color: var(--muted);
}

.biblioteka-copy .btn {
  margin-top: 8px;
}

@media (max-width: 820px) {
  .biblioteka-list--cols {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .biblioteka-copy {
    padding-top: clamp(56px, 12vw, 80px);
    padding-bottom: clamp(56px, 12vw, 80px);
  }

  .biblioteka-copy h2 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }
}

.price__note {
  margin: 8px 0 0;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.45;
  color: var(--text);
}

.price--pro {
  position: relative;
  border: 2px solid #2A211C;
  background: #FBF1EC;
}

.price__badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 28px;
  margin-bottom: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #2A211C;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #FBF1EC;
}

/* Carboxy course page
   ========================================================================== */

.carboxy-hero.hero-shell {
  padding-top: 20px;
  padding-right: var(--gutter);
  padding-bottom: 0;
  padding-left: var(--gutter);
  background: #fff;
}

@media (min-width: 1024px) {
  body.home .hero-shell,
  body.front-page .hero-shell,
  .hero-shell,
  .flagman-hero.hero-shell,
  .carboxy-hero.hero-shell {
    padding-top: 20px !important;
  }
}

.carboxy-hero .hero-card {
  position: relative;
  overflow: hidden;
  min-height: clamp(520px, calc(100vh - var(--gutter) * 2), 860px);
  border-radius: var(--card-radius);
}

.carboxy-hero .hero-card__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carboxy-hero .hero-card__overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, .62), rgba(0, 0, 0, .15) 50%, rgba(0, 0, 0, .30));
}

.carboxy-hero .flagman-hero__content h1 {
  max-width: 16em;
  font-family: "Tenor Sans", Georgia, sans-serif;
  font-size: 2rem;
  font-style: normal;
  font-weight: 500;
  color: #fff;
}

@media (min-width: 768px) {
  .carboxy-hero .flagman-hero__content h1 {
    font-size: clamp(2.2rem, 4.6vw, 3.2rem);
  }
}

@media (min-width: 1024px) {
  .carboxy-hero .flagman-hero__content h1 {
    font-size: clamp(2.8rem, 4.2vw, 3.8rem);
  }
}

@media (min-width: 1440px) {
  .carboxy-hero .flagman-hero__content h1 {
    font-size: clamp(3.4rem, 3.6vw, 4.4rem);
  }
}

@media (min-width: 1920px) {
  .carboxy-hero .flagman-hero__content h1 {
    font-size: 5.2rem;
  }
}

.carboxy-hero .flagman-hero__content {
  padding-bottom: clamp(140px, 22vw, 200px);
}

.carboxy-facts {
  position: absolute;
  right: auto;
  bottom: 0;
  left: 0;
  z-index: 4;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  width: 100%;
  max-width: 100%;
  padding: clamp(24px, 3vw, 40px) clamp(24px, 4vw, 56px);
  overflow-x: auto;
  background: transparent;
}

.carboxy-facts__item {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  min-width: max-content;
  max-width: none;
  color: #fff;
  text-align: center;
}

.carboxy-facts__label,
.carboxy-facts__item p {
  white-space: nowrap;
}

.carboxy-facts__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  margin-inline: auto;
  border-radius: 12px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
}

.carboxy-facts__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.carboxy-facts__label {
  display: block;
  margin-bottom: 8px;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fff;
}

.club-hero__lead {
  max-width: 28em;
  margin: 0;
  font-family: var(--fb);
  font-size: clamp(16px, 1.7vw, 20px);
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
}

@media (max-width: 767px) {
  .carboxy-facts {
    gap: 24px;
    padding: 16px 16px 20px;
  }

  .carboxy-facts__item {
    flex: 0 0 auto;
    min-width: max-content;
    max-width: none;
  }

  .carboxy-facts__item p {
    font-size: 13px;
  }

  .carboxy-hero .flagman-hero__content {
    padding-bottom: clamp(150px, 32vw, 200px);
  }
}

@media (max-width: 375px) {
  .carboxy-hero .hero-card {
    min-height: calc(100svh - var(--gutter) * 2);
    border-radius: 18px;
  }

  .carboxy-hero .flagman-hero__content h1 {
    font-size: 1.7rem;
    line-height: 1.12;
  }
}

.carboxy-about,
.carboxy-about.bg-cream {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  background: #fff;
}

.carboxy-format.bg-rose {
  padding-block: clamp(72px, 9vw, 140px);
  background: #F6E7E1;
}

.carboxy-format .flagman-section__grid {
  align-items: center;
  row-gap: 40px;
}

.carboxy-format__media {
  position: relative;
  grid-column: 1 / 7;
  min-width: 0;
  aspect-ratio: 4 / 5;
}

.carboxy-format__photo {
  overflow: hidden;
  margin: 0;
  border-radius: var(--r-lg);
  background: var(--taupe);
}

.carboxy-format__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carboxy-format__photo--procedure {
  width: 68%;
  aspect-ratio: 3 / 4;
}

.carboxy-format__photo--device {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 54%;
  aspect-ratio: 3 / 4;
  box-shadow: 0 18px 40px rgba(42, 33, 28, .12);
}

.carboxy-format__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-column: 7 / 13;
  min-width: 0;
}

.carboxy-format__copy h2 {
  margin: 0 0 28px;
}

.carboxy-format__list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}

.carboxy-format__list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--text);
}

.carboxy-format__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--cream);
  color: var(--brown);
}

.carboxy-format__icon svg {
  display: block;
}

.carboxy-band {
  overflow: hidden;
  background: var(--cream);
  border-radius: var(--card-radius) var(--card-radius) 0 0;
}

.carboxy-results {
  padding: var(--gutter);
}

.carboxy-results__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(200px, 280px);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(28px, 4vw, 56px);
  background: var(--espresso);
  border-radius: var(--card-radius);
  color: #fff;
}

.carboxy-results__copy {
  min-width: 0;
}

.carboxy-results__kicker {
  display: block;
  margin-bottom: 12px;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
}

.carboxy-results__copy h2 {
  margin: 0 0 28px;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 500;
  line-height: 1.1;
  color: #fff;
}

.carboxy-results__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.carboxy-results__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--fb);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.45;
  color: #fff;
}

.carboxy-results__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  color: var(--accent);
}

.carboxy-results__icon svg {
  display: block;
}

.carboxy-results__media {
  overflow: hidden;
  width: 100%;
  max-width: 280px;
  min-width: 0;
  margin: 0;
  justify-self: end;
  border-radius: var(--r-lg);
  background: #1a1614;
}

.carboxy-results__media video,
.carboxy-results__video,
.carboxy-results__media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  pointer-events: none;
}

.carboxy-format h2,
.carboxy-about h2,
.carboxy-program h2,
.carboxy-benefits h2 {
  margin: 0;
  overflow-wrap: break-word;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text);
}

.carboxy-format .label,
.carboxy-about .label,
.carboxy-results .label,
.carboxy-program .label,
.carboxy-benefits .label {
  display: block;
  margin-bottom: clamp(12px, 1.2vw, 18px);
}

.carboxy .card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  min-width: 0;
  padding: clamp(24px, 2vw, 32px);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}

.carboxy .card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.carboxy .card__num {
  font-family: var(--fd);
  font-size: clamp(30px, 2.4vw, 40px);
  line-height: 1;
  color: var(--muted);
  opacity: .6;
}

.carboxy .card__title {
  margin: 0;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.25rem, 1.5vw, 1.5rem);
  line-height: 1.15;
  color: var(--text);
}

.carboxy .card__text {
  margin: 0;
  color: var(--text);
}

.carboxy-about__inner {
  grid-column: 1 / -1;
  min-width: 0;
}

.carboxy-about__inner > .btn {
  display: flex;
  width: fit-content;
  margin-inline: auto;
}

.carboxy-about h2.carboxy-about__title {
  margin: 0 0 clamp(18px, 2vw, 28px);
  text-align: center;
}

.carboxy-about__lead {
  max-width: 58ch;
  margin: 0 auto clamp(22px, 2.4vw, 32px);
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
  color: var(--text);
}

.carboxy-about__lead--follow {
  margin-top: 0;
}

.carboxy-about__points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 clamp(22px, 2.4vw, 32px);
}

.carboxy-about .benefit {
  background: var(--taupe);
  border-radius: var(--r-lg);
}

.carboxy-about .benefit .n {
  font-family: var(--fd);
  color: var(--brown);
}

.carboxy-about .benefit--result {
  display: flex;
  align-items: center;
  background: var(--espresso);
  color: #fff;
}

.carboxy-about .benefit--result p {
  font-family: var(--fd);
  font-size: clamp(22px, 1.354vw, 26px);
  font-weight: 500;
  line-height: 1.25;
  color: #fff;
}

.carboxy-program.bg-cream {
  padding-block: clamp(72px, 9vw, 140px);
  background: transparent;
}

.carboxy-program .flagman-section__grid {
  row-gap: 40px;
}

.carboxy-program__inner {
  grid-column: 1 / -1;
  max-width: 900px;
  margin-inline: auto;
  min-width: 0;
}

.carboxy-program__inner h2 {
  margin: 0 0 40px;
  text-align: center;
}

.carboxy-program .prog {
  margin: 0 0 40px;
}

.carboxy-program .prog li {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.carboxy-program .prog li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.carboxy-program .prog .n {
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  text-align: right;
  color: var(--brown);
  opacity: .35;
}

.carboxy-program .prog li > span:not(.n) {
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--text);
}

.carboxy-program__actions {
  display: flex;
  justify-content: center;
}

.micro .micro-value.why {
  background: transparent;
  padding-inline: var(--gutter);
  padding-top: clamp(28px, 3vw, 48px);
  padding-bottom: clamp(36px, 4vw, 56px);
}

.club .club-inside.why {
  background: #fff;
  padding-inline: var(--gutter);
  padding-top: clamp(28px, 3vw, 48px);
  padding-bottom: clamp(36px, 4vw, 56px);
}

.club .club-who.why {
  margin-inline: var(--gutter);
  padding-inline: var(--gutter);
  padding-top: clamp(28px, 3vw, 48px);
  padding-bottom: clamp(36px, 4vw, 56px);
  overflow: hidden;
  border-radius: var(--card-radius);
  background: #FBF1EC;
}

.club .club-learn.why {
  background: #fff;
  padding-inline: var(--gutter);
  padding-top: clamp(28px, 3vw, 48px);
  padding-bottom: clamp(36px, 4vw, 56px);
}

.club-know {
  padding-inline: var(--gutter);
  padding-block: clamp(70px, 8vw, 130px);
  background: var(--white);
  color: var(--text);
}

.club-know .label {
  display: block;
  margin: 0;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--brown);
}

.club-know h2 {
  margin: 14px 0 clamp(28px, 3vw, 40px);
  font-family: var(--fd);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(2rem, 3.2vw, 3.2rem);
  line-height: 1.08;
  color: var(--text);
}

.know__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(40px, 5vw, 90px);
  align-items: center;
}

.know__stats {
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(28px, 3vw, 48px);
}

.know__stats .n {
  font-family: var(--fd);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(3.4rem, 6vw, 6rem);
  line-height: .9;
  color: var(--brown);
}

.know__stats .t {
  max-width: 14ch;
  margin: 10px 0 0;
  font-family: var(--fb);
  font-size: 14px;
  line-height: 1.4;
  color: var(--muted);
}

.know__right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 3vw, 44px);
  align-items: start;
  min-width: 0;
}

.know__grp h3 {
  margin: 0 0 14px;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--brown);
}

.know__grp ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.know__grp li {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-family: var(--fb);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--text);
}

.know__grp li:last-child {
  border-bottom: 0;
}

.know__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  grid-column: 1 / -1;
  margin-top: clamp(20px, 2.4vw, 32px);
}

.know__price {
  margin: 0;
  font-family: var(--fd);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(1.2rem, 1.6vw, 1.5rem);
  color: var(--text);
}

@media (max-width: 1023px) {
  .know__grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }
}

@media (max-width: 767px) {
  .know__right {
    grid-template-columns: minmax(0, 1fr);
  }

  .know__cta {
    flex-direction: column;
    align-items: stretch;
  }

  .know__cta .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .club-know,
  .club-know .btn {
    transition: none;
  }
}

.club .carboxy-band {
  margin-inline: var(--gutter);
  border-radius: var(--card-radius);
}

.micro .micro-modules.flagman-modules,
.club .micro-modules.flagman-modules {
  margin: var(--gutter);
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 0 clamp(36px, 4vw, 56px);
  background: transparent;
  border-radius: 0;
}

.club .micro-modules.flagman-modules {
  margin-inline: 0;
  padding-top: clamp(28px, 3vw, 48px);
  padding-inline: var(--gutter);
  --card: var(--card-radius);
}

#club-program .modal {
  max-width: 900px;
  padding: clamp(28px, 3vw, 56px);
  border-radius: var(--card);
  background: var(--cream);
}

#club-program .modal__num {
  margin: 0 0 8px;
  font-family: var(--fd);
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: .04em;
  line-height: 1;
  color: var(--brown);
}

#club-program .modal h3 {
  font-family: var(--fd);
}

#club-program .modal h4 {
  margin-top: 24px;
  font-family: var(--fd);
}

#club-program .modal p,
#club-program .modal li {
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.7;
}

#club-program .modal ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

#club-program .modal ul li {
  position: relative;
  padding-left: 18px;
}

#club-program .modal ul li::before {
  content: "";
  position: absolute;
  top: .7em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--brown);
}

.micro .carboxy-pricing {
  padding-top: 0;
}

.site-main.couperose .carboxy-pricing,
body.page-template-page-couperose .carboxy-pricing {
  padding-top: clamp(56px, 10vw, 120px);
}

.micro-modules__actions {
  display: flex;
  grid-column: 1 / -1;
  justify-content: center;
}

.module-card--static {
  cursor: default;
  min-height: 0;
}

.module-card--static:hover {
  transform: none;
  border-color: var(--line);
  box-shadow: none;
}

.module-card--static:focus-visible {
  outline: none;
}

.module-card__points {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.module-card__points li {
  position: relative;
  padding-left: 14px;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted);
}

.module-card__points li::before {
  content: "";
  position: absolute;
  top: .65em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--brown);
}

.club-value__lead,
.club-value__note {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: rgba(255, 255, 255, .82);
}

.club-value__lead {
  margin-bottom: 18px;
}

.club-value__lead--follow {
  margin-top: 22px;
}

.club-value__note {
  margin-top: 22px;
}

.club-value__cta {
  margin-top: 22px;
}

.why50 {
  --rose: #F6E7E1;
  padding: var(--gutter);
  overflow: hidden;
  border-radius: var(--card-radius);
  background: var(--espresso);
  color: #EADCD3;
}

.why50 h2 {
  margin: 0 0 clamp(30px, 4vw, 52px);
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 500;
  line-height: 1.1;
  color: #fff;
}

.why50__top {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr 0.9fr;
  gap: clamp(24px, 2.5vw, 40px);
  align-items: start;
}

.why50 .calc {
  min-width: 0;
  padding: clamp(22px, 2vw, 30px);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, .05);
}

.why50 .calc h4 {
  margin: 0 0 16px;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #C9A896;
}

.why50 .calc ul {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.why50 .calc li {
  display: flex;
  gap: 10px;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: #EADCD3;
}

.why50 .calc li svg {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #C9A896;
}

.why50 .calc .total {
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-family: var(--fd);
  font-size: clamp(1.1rem, 1.4vw, 1.4rem);
  line-height: 1.3;
  color: #fff;
}

.why50__img {
  overflow: hidden;
  align-self: stretch;
  min-width: 0;
  border-radius: var(--r-lg);
  background: #1a1614;
}

.why50__img img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.why50__claim {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 2.5vw, 40px);
  align-items: center;
  margin-top: clamp(24px, 3vw, 40px);
}

.why50__pay {
  margin: 0 0 10px;
  font-family: var(--fd);
  font-size: clamp(1.8rem, 2.8vw, 2.8rem);
  font-weight: 500;
  line-height: 1.15;
  color: #fff;
}

.why50__muted {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: #B7A297;
}

.why50__quote {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(1.25rem, 1.8vw, 1.7rem);
  font-weight: 500;
  line-height: 1.3;
  color: #fff;
}

.why50__year {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(24px, 3vw, 48px);
  align-items: center;
  margin-top: clamp(28px, 3vw, 44px);
  padding: clamp(26px, 2.6vw, 40px);
  border-radius: var(--r-lg);
  background: var(--rose);
  color: var(--text);
}

.why50__year h3 {
  margin: 0 0 18px;
  font-family: var(--fd);
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--text);
}

.why50__year ul {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.why50__year li {
  display: flex;
  gap: 10px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--text);
}

.why50__year li svg {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--brown);
}

.why50__year-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.why50__price {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text);
}

@media (max-width: 1023px) {
  .why50__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .why50__img {
    grid-column: 1 / -1;
    max-height: 360px;
  }

  .why50__img img {
    min-height: 240px;
  }
}

@media (max-width: 767px) {
  .why50__top,
  .why50__claim,
  .why50__year {
    grid-template-columns: minmax(0, 1fr);
  }

  .why50__img {
    grid-column: auto;
    max-height: 280px;
  }

  .why50__year-cta {
    align-items: stretch;
  }

  .why50__year-cta .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .why50,
  .why50 .calc,
  .why50__img img {
    transition: none;
  }
}

.club-cta-note {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.club .club-learn .why__cta,
.club .club-who .why__cta {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}

.club-who .why__heading {
  text-align: center;
}

.who-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 12px;
  max-width: 980px;
  margin: clamp(28px, 3.2vw, 40px) auto 0;
}

.who-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 10px 16px 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--pill);
  background: #fff;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--text);
}

.who-pill svg {
  flex: none;
  width: 16px;
  height: 16px;
  color: var(--brown);
}

.club-about__list {
  max-width: 58ch;
  margin: 0 auto clamp(22px, 2.4vw, 32px);
  padding: 0;
  list-style: none;
  text-align: center;
}

.club-about__layout {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  min-width: 0;
}

.club-about__copy {
  min-width: 0;
}

.club-about__copy .label {
  display: block;
  text-align: center;
}

.club-about__copy > .btn {
  display: flex;
  width: fit-content;
  margin-inline: auto;
}

.club-about__media {
  margin: 0;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--r-lg);
  background: var(--taupe);
}

.club-about__media img,
.club-about__media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 899px) {
  .club-about__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .club-about__media {
    order: -1;
    max-width: none;
    width: 100%;
    margin-inline: 0;
  }
}

.club-about__list li {
  position: relative;
  padding: 6px 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.club-who__lead {
  max-width: 58ch;
  margin: 20px auto 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
  color: var(--text);
}

.club-know .know__grp li {
  font-size: 16px;
  font-weight: 600;
}

.club-community {
  padding-inline: var(--gutter);
  padding-block: clamp(56px, 7vw, 110px);
  background: #FBF1EC;
}

.club-community__inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.club-community .label {
  display: block;
  margin-bottom: 14px;
}

.club-community h2 {
  margin: 0 0 20px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.15;
  color: var(--text);
}

.club-community p {
  margin: 0 0 16px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.club-community .btn {
  margin-top: 12px;
}

.carboxy-about .label {
  display: block;
  text-align: center;
}

.inside-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 36px;
  max-width: 860px;
  margin: clamp(28px, 3.2vw, 40px) auto 0;
  padding: 0;
  list-style: none;
}

.inside-row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--text);
}

.inside-row__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #F6E7E1;
  color: var(--brown);
}

.inside-row__icon svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 767px) {
  .inside-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .who-pills {
    justify-content: flex-start;
  }

  .who-pill {
    font-size: 13px;
  }
}

.club-learn__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(200px, 280px);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  margin-top: clamp(30px, 4vw, 52px);
}

.club-learn__lead {
  margin: 0 0 18px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.club-learn__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 32px;
}

.club-learn__list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.club-learn__list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--text);
}

.club-learn__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  margin-top: 1px;
  border-radius: 50%;
  background: #F6E7E1;
  color: var(--brown);
}

.club-learn__icon svg {
  display: block;
}

.club-learn__media {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: var(--r-lg);
  background: var(--taupe);
}

.club-learn__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bonus {
  --rose: #F6E7E1;
  --rose-deep: #EFD9CF;
  padding-inline: var(--gutter);
  padding-block: clamp(70px, 8vw, 130px);
  background: var(--cream);
  color: var(--text);
}

.bonus__head {
  max-width: 760px;
  margin: 0 auto clamp(34px, 4vw, 56px);
  text-align: center;
}

.bonus__head .label {
  display: block;
  margin: 0 0 14px;
}

.bonus__head h2 {
  margin: 0 0 12px;
  font-family: var(--fd);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(1.7rem, 2.8vw, 2.6rem);
  line-height: 1.15;
  color: var(--text);
}

.bonus__head p {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--muted);
}

.bonus__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(30px, 4vw, 64px);
  align-items: start;
}

.bonus__offer {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}

.bonus .value {
  padding: clamp(20px, 2vw, 28px);
  border-radius: var(--r-lg);
  background: var(--rose);
}

.bonus .value h4 {
  margin: 0 0 8px;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--brown);
}

.bonus .value p {
  margin: 0;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: var(--text);
}

.bonus .value .free {
  margin-top: 8px;
  font-family: var(--fd);
  font-size: clamp(1.2rem, 1.6vw, 1.6rem);
  font-weight: 400;
  line-height: 1.25;
  color: #3A322D;
}

.bonus__get {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}

.bonus__offer > ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bonus__offer > ul li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.45;
  color: var(--text);
}

.bonus__offer > ul svg {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--brown);
}

.bonus__offer .btn {
  align-self: flex-start;
}

.bonus__prog {
  min-width: 0;
}

.bonus__prog h3 {
  margin: 0 0 18px;
  font-family: var(--fd);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(1.3rem, 1.7vw, 1.6rem);
  color: var(--text);
}

.bonus .acc .item {
  border-top: 1px solid var(--line);
}

.bonus .acc .item:last-child {
  border-bottom: 1px solid var(--line);
}

.bonus .acc button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 44px;
  padding: 18px 0;
  border: 0;
  background: none;
  font-family: var(--fd);
  font-size: 1.15rem;
  line-height: 1.25;
  text-align: left;
  color: var(--text);
  cursor: pointer;
}

.bonus .acc button:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 3px;
}

.bonus .acc button::after {
  content: '+';
  flex: none;
  font-family: var(--fd);
  font-size: 1.4rem;
  line-height: 1;
  color: var(--brown);
}

.bonus .acc .item.open button {
  color: var(--brown);
}

.bonus .acc .item.open button::after {
  content: '–';
}

.bonus .acc .body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .32s ease;
}

.bonus .acc .item.open .body {
  grid-template-rows: 1fr;
}

.bonus .acc .body > div {
  overflow: hidden;
  min-height: 0;
  padding-bottom: 0;
}

.bonus .acc .item.open .body > div {
  padding-bottom: 18px;
}

.bonus .acc .body p {
  margin: 0 0 8px;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--brown);
}

.bonus .acc .body p + ol,
.bonus .acc .body p + ul {
  margin-top: 0;
}

.bonus .acc .body ol,
.bonus .acc .body ul {
  margin: 0 0 14px;
  padding: 0 0 0 1.15em;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: #3A322D;
}

.bonus .acc .body ol:last-child,
.bonus .acc .body ul:last-child {
  margin-bottom: 0;
}

.bonus__nums {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bonus__nums li {
  display: flex;
  gap: .4em;
  margin: 0 0 10px;
  padding: 0;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: #3A322D;
}

.bonus__nums li:last-child {
  margin-bottom: 0;
}

.bonus__nums .n {
  flex: none;
  font-family: var(--fd);
  color: var(--brown);
}

@media (max-width: 1023px) {
  .bonus__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .bonus__offer .btn {
    align-self: stretch;
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bonus .acc .body,
  .bonus .acc button::after {
    transition: none;
  }
}

.club-value__note {
  margin-top: 22px;
}

.club .carboxy-results__list {
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.club .carboxy-pricing {
  padding-top: clamp(36px, 4vw, 56px);
}

.carboxy-cream {
  background: #FBF1EC;
}

.carboxy-students.flagman-results.bg-rose {
  overflow: hidden;
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  background: #F6E7E1;
  border-radius: var(--card-radius);
}

.carboxy-students .flagman-results__title span {
  color: var(--brown);
}

.carboxy-students .flagman-results__slider {
  width: 100%;
  max-width: 640px;
  margin-inline: auto;
}

.carboxy-students .flagman-results__slide {
  flex-basis: 100%;
}

.carboxy-students .flagman-results__slide img {
  image-rendering: auto;
}

.carboxy-benefits.bg-cream {
  --rose: #F6E7E1;
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: 0;
  background: var(--cream);
}

.carboxy-benefits .flagman-section__grid {
  row-gap: 40px;
}

.carboxy-benefits__inner {
  grid-column: 1 / -1;
  min-width: 0;
}

.carboxy-benefits .label {
  text-align: center;
}

.carboxy-benefits__inner h2 {
  margin: 0;
  text-align: center;
}

.carboxy-benefits .adv__g {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(30px, 4vw, 52px);
}

.carboxy-benefits .adv {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  height: 100%;
  padding: clamp(22px, 2vw, 30px);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.carboxy-benefits .adv:hover {
  transform: translateY(-3px);
  border-color: transparent;
  box-shadow: 0 16px 36px rgba(42, 33, 28, .08);
}

.carboxy-benefits .adv:last-child {
  grid-column: 1 / -1;
}

.carboxy-benefits .adv p {
  margin: 0;
  font-family: var(--fb);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.carboxy-benefits .adv__icon {
  display: grid;
  flex: none;
  place-items: center;
  width: clamp(44px, 3.4vw, 52px);
  height: clamp(44px, 3.4vw, 52px);
  min-width: 44px;
  min-height: 44px;
  border-radius: 14px;
  background: var(--rose);
  color: var(--brown);
}

.carboxy-benefits .adv__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.carboxy-pricing {
  --rose: #F6E7E1;
  padding-inline: var(--gutter);
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(70px, 8vw, 140px);
  background: var(--cream);
}

.carboxy-pricing .price__head {
  margin-bottom: clamp(34px, 4vw, 60px);
  text-align: center;
}

.carboxy-pricing .price__head .label {
  display: block;
  margin-bottom: clamp(12px, 1.2vw, 18px);
}

.carboxy-pricing .price__head h2 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  font-weight: 400;
  font-style: normal;
  line-height: 1.1;
  color: var(--text);
}

.carboxy-pricing .price__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 2.4vw, 32px);
  align-items: stretch;
  max-width: 1000px;
  margin: 0 auto;
}

.micro .carboxy-pricing .price__grid--one {
  grid-template-columns: minmax(0, 960px);
  justify-content: center;
  max-width: 960px;
}

.carboxy-pricing .pcard {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.carboxy-pricing .pcard:hover {
  transform: translateY(-4px);
  border-color: transparent;
  box-shadow: 0 22px 48px rgba(42, 33, 28, .10);
}

.carboxy-pricing .pcard__img {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--taupe);
}

.carboxy-pricing .pcard__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carboxy-pricing .pcard__b {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 12px;
  padding: clamp(24px, 2.4vw, 36px);
}

.carboxy-pricing .pcard h3 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(1.4rem, 1.9vw, 1.9rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--text);
}

.carboxy-pricing .pcard__free {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  padding: 8px 14px;
  border-radius: var(--pill);
  background: var(--rose);
  color: var(--brown);
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.carboxy-pricing .pcard__note {
  margin: 0;
  font-family: var(--fb);
  font-size: 14px;
  color: var(--muted);
}

.carboxy-pricing .pcard__inc {
  margin: 0;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.carboxy-pricing .pcard ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 6px 0 auto;
  padding: 0;
  list-style: none;
}

.carboxy-pricing .pcard li {
  display: flex;
  gap: 12px;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: var(--text);
}

.carboxy-pricing .pcard li svg {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  color: var(--brown);
}

.carboxy-pricing .pcard__amount {
  margin-top: 16px;
  font-family: var(--fd);
  font-size: clamp(1.6rem, 2.2vw, 2.1rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--text);
}

.site-main.couperose .carboxy-pricing .pcard__amount,
body.page-template-page-couperose .carboxy-pricing .pcard__amount {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
}

.site-main.couperose .pcard__was,
body.page-template-page-couperose .pcard__was {
  font-size: .72em;
  color: var(--muted, #8a7e76);
  text-decoration: line-through;
}

.site-main.couperose .pcard__now,
body.page-template-page-couperose .pcard__now {
  font-size: 1em;
  color: var(--text);
}

.site-main.couperose .pcard__deal,
body.page-template-page-couperose .pcard__deal {
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--brown);
}

.carboxy-pricing .pcard .btn {
  align-self: stretch;
  justify-content: center;
  margin-top: 14px;
}

.micro .carboxy-pricing .pcard.pcard--row {
  display: grid;
  grid-template-columns: minmax(240px, 42%) minmax(0, 1fr);
  align-items: stretch;
}

.micro .carboxy-pricing .pcard--row .pcard__img {
  position: relative;
  aspect-ratio: auto;
  min-height: 100%;
  height: 100%;
}

.micro .carboxy-pricing .pcard--row .pcard__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.micro .carboxy-pricing .pcard--row .pcard__b {
  justify-content: center;
}

.micro .carboxy-pricing .pcard--row .pcard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.micro .carboxy-pricing .pcard--row .pcard__actions .btn {
  flex: 1 1 200px;
  align-self: stretch;
  justify-content: center;
  margin-top: 0;
  white-space: normal;
  text-align: center;
}

.micro .modal.carboxy-benefits {
  --rose: #F6E7E1;
}

.micro .modal.carboxy-benefits > .label {
  display: block;
  margin-bottom: 12px;
  text-align: center;
}

.micro .modal.carboxy-benefits > h3 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  font-weight: 400;
  line-height: 1.15;
  text-align: center;
  color: var(--text);
}

.micro .modal.carboxy-benefits .adv__g {
  margin-top: clamp(24px, 3vw, 36px);
}

@media (max-width: 767px) {
  .carboxy-pricing .price__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .carboxy-pricing .pcard__img {
    aspect-ratio: 16 / 10;
  }

  .micro .carboxy-pricing .pcard.pcard--row {
    display: flex;
    flex-direction: column;
  }

  .micro .carboxy-pricing .pcard--row .pcard__img {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .micro .carboxy-pricing .pcard--row .pcard__img img {
    position: absolute;
    inset: 0;
  }

  .micro .carboxy-pricing .pcard--row .btn {
    align-self: stretch;
  }

  .carboxy-pricing .pcard .btn {
    width: 100%;
  }

  .carboxy-pricing .price__head h2 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .carboxy-pricing .pcard,
  .carboxy-pricing .pcard:hover,
  .carboxy-benefits .adv,
  .carboxy-benefits .adv:hover {
    transform: none;
    transition: none;
    box-shadow: none;
  }
}

@media (max-width: 860px) {
  .carboxy-format .flagman-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .carboxy-format__media,
  .carboxy-format__copy {
    grid-column: 1 / -1;
  }

  .carboxy-format__media {
    max-width: 420px;
    aspect-ratio: 4 / 5;
  }

  .carboxy-results__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .carboxy-results__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .carboxy-results__media {
    max-width: 280px;
    justify-self: start;
  }

  body.page-template-page-couperose .carboxy-results__media,
  .site-main.couperose .carboxy-results__media {
    max-width: none;
    width: 100%;
    justify-self: stretch;
  }

  body.page-template-page-couperose .carboxy-results__media img,
  body.page-template-page-couperose .carboxy-results__video,
  .site-main.couperose .carboxy-results__media img,
  .site-main.couperose .carboxy-results__video {
    aspect-ratio: 16 / 10;
    height: auto;
  }

  .club-learn__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .club-learn__cols {
    grid-template-columns: minmax(0, 1fr);
  }

  .club-learn__media {
    max-width: 280px;
  }
}

@media (max-width: 1024px) {
  .carboxy-about__points {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .carboxy-benefits .adv__g {
    grid-template-columns: minmax(0, 1fr);
  }

  .carboxy-benefits .adv:last-child {
    grid-column: auto;
  }

  .carboxy-format h2,
  .carboxy-about h2,
  .carboxy-results h2,
  .carboxy-program h2,
  .carboxy-benefits h2,
  .bonus__head h2,
  .cert-section h2,
  .cert-syl__head h2 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }
}

/* Certification page
   ========================================================================== */

.cert-hero.carboxy-hero .flagman-hero__content {
  padding-bottom: clamp(32px, 6vw, 64px);
}

.cert-hero .flagman-hero__content h1 {
  font-weight: 400;
}

.site-main.certification h2,
.site-main.certification .cert-includes__col h3,
.site-main.certification .pcard h3 {
  font-family: var(--fd);
  font-weight: 400;
  font-style: normal;
}

.cert-intro.bg-cream {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  background: #fff;
}

.cert-intro .flagman-section__grid {
  align-items: start;
  grid-auto-flow: dense;
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
}

.cert-intro__copy {
  min-width: 0;
  align-self: center;
}

.cert-intro__copy h2 {
  margin: 0 0 clamp(24px, 2.4vw, 36px);
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text);
  text-align: left;
}

.cert-intro .acc {
  color: var(--brown);
}

.cert-intro__list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cert-intro__list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--text);
}

.cert-intro__icon {
  display: grid;
  flex: none;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  color: var(--brown);
}

.cert-intro__icon svg {
  display: block;
}

.cert-intro__media {
  overflow: hidden;
  align-self: start;
  min-width: 0;
  margin: 0;
  aspect-ratio: 4 / 5;
  border-radius: var(--r-lg);
  background: #E7DCD5;
}

.cert-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 820px) {
  .cert-intro .flagman-section__grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }

  .cert-intro__copy,
  .cert-intro__media {
    width: 100%;
  }

  .cert-intro__copy {
    order: 1;
    align-self: stretch;
  }

  .cert-intro__media {
    order: 2;
    max-width: 420px;
  }
}

.cert-includes.bg-rose {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  overflow: hidden;
  border-radius: var(--card-radius);
  background: #F6E7E1;
}

.cert-includes__inner {
  max-width: 1120px;
  margin-inline: auto;
}

.cert-includes__head {
  margin-bottom: clamp(36px, 4vw, 56px);
  text-align: center;
}

.cert-includes__head .label {
  display: block;
}

.cert-includes__head h2 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text);
  text-align: center;
}

.cert-includes__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 64px);
  align-items: start;
}

.cert-includes__col h3 {
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  font-family: var(--fd);
  font-size: clamp(1.25rem, 1.8vw, 1.6rem);
  font-weight: 400;
  line-height: 1.25;
  color: var(--text);
  overflow-wrap: break-word;
}

.cert-includes__col ul {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cert-includes__col li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text);
  overflow-wrap: break-word;
}

.cert-includes__icon {
  display: grid;
  flex: none;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  color: var(--brown);
}

.cert-includes__icon svg {
  display: block;
}

.cert-includes__nested {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

.cert-includes__nested span {
  display: block;
}

@media (max-width: 820px) {
  .cert-includes__cols {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}

.cert-syl {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  overflow: hidden;
  border-radius: var(--card-radius);
  background: #FBF1EC;
}

.cert-syl__inner {
  max-width: 1480px;
  margin-inline: auto;
}

.cert-syl__head {
  max-width: 46em;
  margin-bottom: clamp(32px, 4vw, 56px);
}

.cert-syl__head h2 {
  margin: 0 0 20px;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text);
}

.cert-syl__lead {
  margin: 0 0 14px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text);
}

.cert-syl__lead--follow {
  margin-bottom: 0;
  color: #5c514b;
}

.cert-syl__reflect {
  padding: clamp(24px, 2.8vw, 40px);
  border-radius: var(--r-lg);
  background: #fff;
}

.cert-syl__reflect h3 {
  margin: 0 0 clamp(20px, 2vw, 28px);
  font-family: var(--fd);
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--text);
}

.cert-syl__points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 32px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.cert-syl__points li {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text);
}

.cert-syl__num {
  font-family: var(--fd);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--brown);
}

.cert-syl__docs {
  display: grid;
  gap: clamp(16px, 1.8vw, 24px);
  margin-top: clamp(16px, 1.8vw, 24px);
}

.cert-syl__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  padding: clamp(24px, 2.6vw, 40px);
  border-radius: var(--r-lg);
  background: #fff;
}

.cert-syl__kicker {
  margin: 0 0 8px;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--brown);
}

.cert-syl__hours {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 10px;
  margin: 0 0 16px;
}

.cert-syl__hours-n {
  font-family: var(--fd);
  font-size: clamp(2.4rem, 3.2vw, 3.2rem);
  font-weight: 400;
  line-height: 1;
  color: var(--text);
}

.cert-syl__hours-l {
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--muted);
}

.cert-syl__meta h3 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(1.45rem, 2.2vw, 1.9rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--text);
}

.cert-syl__official {
  margin: 10px 0 0;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  color: #6e625b;
}

.cert-syl__body p {
  margin: 0 0 12px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text);
}

.cert-syl__body p:last-child {
  margin-bottom: 0;
}

.cert-syl__trust {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px 32px;
  margin-top: clamp(16px, 1.8vw, 24px);
  padding: clamp(24px, 2.6vw, 36px);
  border-radius: var(--r-lg);
  background: var(--espresso);
  color: #EADCD3;
}

.cert-syl__trust-title {
  margin: 0 0 8px;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent);
}

.cert-syl__trust-text {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #EADCD3;
}

@media (min-width: 1024px) {
  .cert-syl__card {
    grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
    gap: clamp(28px, 3vw, 48px);
    align-items: start;
  }

  .cert-syl__trust {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .cert-syl__points {
    grid-template-columns: minmax(0, 1fr);
  }
}

.cert-programs.bg-rose {
  margin: var(--gutter);
  padding: var(--gutter);
  border-radius: var(--card-radius);
  background: #F6E7E1;
}

.cert-programs__head {
  max-width: 920px;
  margin: 0 auto clamp(36px, 4vw, 56px);
  text-align: center;
}

.cert-programs__head .label {
  display: block;
}

.cert-programs__head h2 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text);
  text-align: center;
}

.cert-programs__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.cert-programs .pcard {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  min-height: clamp(220px, 18vw, 280px);
  padding: clamp(24px, 2.2vw, 36px);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: #fff;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.cert-programs .pcard:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(42, 33, 28, .10);
}

.cert-programs .pcard:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 3px;
}

.cert-programs .pcard .k {
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--brown);
}

.cert-programs .pcard h3 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(1.25rem, 1.7vw, 1.6rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text);
}

.cert-programs .pcard p {
  flex: 1;
  margin: 0;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: var(--text);
}

.cert-programs .pcard .more {
  margin-top: auto;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  color: var(--brown);
}

.cert-programs .modal {
  max-width: min(820px, 100%);
  background: #FBF1EC;
  color: var(--text);
}

.cert-programs .modal h3,
.cert-programs .modal h4 {
  font-family: var(--fd);
  font-weight: 400;
  font-style: normal;
  color: var(--text);
}

.cert-programs .modal p,
.cert-programs .modal li {
  color: var(--text);
}

.cert-programs .mnum {
  margin-bottom: 8px;
  font-family: var(--fd);
  font-size: clamp(1.4rem, 2vw, 2rem);
  font-weight: 400;
  line-height: 1;
  color: var(--brown);
}

.cert-programs .modal h4 .mnum {
  display: inline;
  margin: 0;
  font-size: inherit;
}

.cert-programs .modal ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.cert-programs .modal ul li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.cert-programs__icon {
  display: grid;
  flex: none;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-top: 4px;
  color: var(--brown);
}

.cert-programs__icon svg {
  display: block;
}

@media (max-width: 820px) {
  .cert-programs__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .cert-programs .modal {
    max-width: 100%;
    height: 100%;
    max-height: 100dvh;
    overflow-y: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cert-programs .pcard,
  .cert-programs .pcard:hover {
    transform: none;
    transition: none;
  }
}

.cert-cabinets {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(56px, 7vw, 100px);
  background: #fff;
}

.cert-cabinets__head {
  max-width: 900px;
  margin: 0 auto clamp(36px, 4vw, 56px);
  text-align: center;
}

.cert-cabinets__head .label {
  display: block;
}

.cert-cabinets__head h2 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text);
  text-align: center;
}

.cert-cabinets__slider {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "prev viewport next"
    ". count .";
  gap: 12px;
  align-items: center;
}

.cert-cabinets__viewport {
  grid-area: viewport;
  min-width: 0;
}

.cert-cabinets__arrow--prev {
  grid-area: prev;
}

.cert-cabinets__arrow--next {
  grid-area: next;
}

.cert-cabinets__count {
  grid-area: count;
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--muted);
  text-align: center;
}

.cert-cabinets__track {
  display: flex;
  gap: clamp(12px, 1.4vw, 20px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.cert-cabinets__track::-webkit-scrollbar {
  display: none;
}

.cert-cabinets__slide.flagman-results__slide {
  flex: 0 0 calc((100% - 60px) / 4);
  aspect-ratio: 16 / 9;
  border-radius: var(--r-lg);
  background: #2A211C;
}

.cert-cabinets__media {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cert-cabinets__play {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.cert-cabinets__play img,
.cert-cabinets__media iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}

.cert-cabinets__media iframe {
  position: absolute;
  inset: 0;
}

.cert-cabinets__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: rgba(42, 33, 28, .78);
  color: #fff;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.cert-cabinets__icon svg {
  display: block;
  margin-left: 3px;
  fill: currentColor;
}

.cert-cabinets__play:hover .cert-cabinets__icon,
.cert-cabinets__play:focus-visible .cert-cabinets__icon {
  background: var(--brown);
}

.cert-cabinets__play:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: -2px;
}

.cert-cabinets__arrow {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #FBF1EC;
  color: var(--brown);
  cursor: pointer;
}

.cert-cabinets__arrow:hover {
  background: var(--brown);
  color: #fff;
}

.cert-cabinets__arrow:disabled {
  opacity: .35;
  cursor: default;
}

.cert-cabinets__arrow[hidden] {
  visibility: hidden;
}

@media (max-width: 1023px) {
  .cert-cabinets__slide.flagman-results__slide {
    flex-basis: calc((100% - 16px) / 2);
  }
}

@media (max-width: 767px) {
  .cert-cabinets {
    padding-top: clamp(56px, 12vw, 80px);
    padding-bottom: clamp(48px, 10vw, 72px);
  }

  .cert-cabinets__head h2 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }

  .cert-cabinets__slider {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "viewport viewport viewport"
      "prev count next";
    gap: 16px 12px;
  }

  .cert-cabinets__slide.flagman-results__slide {
    flex-basis: 86%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cert-cabinets__track {
    scroll-behavior: auto;
  }
}

.cert-examples.bg-cream {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  overflow: hidden;
  border-radius: var(--card-radius) var(--card-radius) 0 0;
  background: #FBF1EC;
}

.cert-examples__head {
  max-width: 900px;
  margin: 0 auto clamp(36px, 4vw, 56px);
  text-align: center;
}

.cert-examples__head .label {
  display: block;
}

.cert-examples__head h2 {
  margin: 0;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text);
  text-align: center;
}

.cert-examples__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  max-width: 900px;
  margin-inline: auto;
}

.cert-examples__gallery figure {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 800 / 1130;
  border-radius: var(--r-lg);
  background: #fff;
  box-shadow: 0 14px 32px rgba(42, 33, 28, .10);
}

.cert-examples__gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cert-examples__cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(32px, 4vw, 48px);
}

@media (max-width: 700px) {
  .cert-examples__gallery {
    grid-template-columns: minmax(0, 1fr);
    max-width: 360px;
  }
}

.site-main.certification .cert-section {
  padding: clamp(56px, 7vw, 110px) 0;
  background: #FBF1EC;
  color: var(--text);
}

.cert-wrap {
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.cert-section h2 {
  margin: 0 0 clamp(28px, 3vw, 44px);
  font-family: var(--fd);
  font-size: clamp(1.9rem, 3.2vw, 3.2rem);
  font-weight: 500;
  line-height: 1.15;
  color: var(--espresso);
  text-align: center;
}

.cert-section h3 {
  margin: 0 0 16px;
  font-family: var(--fb);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  font-weight: 700;
  line-height: 1.35;
  color: var(--espresso);
}

.cert-section p,
.cert-section li {
  font-family: var(--fb);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--text);
}

.cert-lead {
  margin: 0 0 clamp(28px, 3vw, 40px);
}

.cert-lead--center {
  max-width: 46em;
  margin-inline: auto;
  text-align: center;
}

.cert-split {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.2fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}

.cert-split__media {
  overflow: hidden;
  border-radius: var(--card-radius);
  background: #E7DCD5;
}

.cert-split__media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.cert-checks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 18px;
}

.cert-checks li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.cert-checks svg {
  flex: none;
  margin-top: 4px;
  color: #6E574A;
}

.cert-flag__copy h3 {
  margin-bottom: 22px;
}

.cert-numblock {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px 18px;
  margin-bottom: 22px;
}

.cert-numblock .n {
  font-family: var(--fd);
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-weight: 500;
  line-height: 1;
  color: #C9B8AF;
}

.cert-numblock p {
  margin: 0 0 10px;
  font-weight: 700;
}

.cert-numblock ul {
  margin: 0;
  padding-left: 1.15em;
}

.cert-numblock li {
  margin: 0 0 6px;
}

.cert-panel {
  padding: clamp(28px, 4vw, 48px);
  background: #fff;
  border-radius: var(--card-radius);
}

.cert-panel--soft {
  background: #F6E7E1;
}

.cert-panel h2 {
  margin-bottom: 20px;
}

.cert-panel ul {
  margin: 0 0 24px;
  padding-left: 1.15em;
}

.cert-callout {
  padding: clamp(20px, 2.4vw, 28px);
  border: 1px solid #E7DCD5;
  border-radius: var(--card-radius);
  background: #fff;
}

.cert-callout p,
.cert-solid p {
  margin: 0;
}

.cert-callout--wide {
  margin-top: 8px;
}

.cert-solid {
  margin-top: 18px;
  padding: clamp(22px, 2.6vw, 32px);
  border-radius: var(--card-radius);
  background: #A8958C;
  color: #fff;
}

.cert-solid h3,
.cert-solid p,
.cert-solid li {
  color: #fff;
}

.cert-solid--wide {
  margin-top: 0;
}

.cert-solid__title {
  margin: 18px 0 10px;
  font-weight: 700;
}

.cert-solid ul {
  margin: 0;
  padding-left: 1.15em;
}

.cert-trio {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: clamp(48px, 6vw, 80px);
}

.cert-trio__card {
  padding: clamp(20px, 2.4vw, 28px);
  background: #E7DCD5;
  border-radius: var(--card-radius);
}

.cert-trio__card .n {
  margin-bottom: 12px;
  font-family: var(--fd);
  font-size: 1.6rem;
  color: #6E574A;
}

.cert-trio__card p {
  margin: 0;
}

.cert-chess {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: clamp(48px, 6vw, 80px);
}

.cert-chess article {
  padding: clamp(22px, 2.6vw, 32px);
  border-radius: var(--card-radius);
}

.cert-chess article:nth-child(1),
.cert-chess article:nth-child(4) {
  background: #F6E7E1;
}

.cert-chess article:nth-child(2),
.cert-chess article:nth-child(3) {
  background: #A8958C;
}

.cert-chess article:nth-child(2) h3,
.cert-chess article:nth-child(2) li,
.cert-chess article:nth-child(3) h3,
.cert-chess article:nth-child(3) li {
  color: #fff;
}

.cert-chess h3 {
  margin-bottom: 14px;
}

.cert-chess ul {
  margin: 0;
  padding-left: 1.15em;
}

.cert-pills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 24px;
}

.cert-pills p {
  margin: 0;
  padding: 16px 18px;
  background: #E7DCD5;
  border-radius: var(--card-radius);
}

.cert-mods {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.cert-mod {
  padding: clamp(22px, 2.6vw, 32px);
  background: #fff;
  border: 1px solid #E7DCD5;
  border-radius: var(--card-radius);
}

.cert-mod ul {
  margin: 0;
  padding-left: 1.15em;
}

.cert-ol {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.cert-ol li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  color: #fff;
}

.cert-ol .n {
  flex: none;
  font-family: var(--fd);
  font-weight: 500;
}

.cert-mass .cert-split h2 {
  text-align: left;
  margin-bottom: 16px;
}

.cert-stagger {
  display: grid;
  gap: 16px;
  margin-top: clamp(28px, 3vw, 40px);
}

.cert-stagger .cert-solid {
  margin-top: 0;
}

@media (min-width: 768px) {
  .cert-stagger .cert-callout {
    max-width: 86%;
    justify-self: start;
  }

  .cert-stagger .cert-solid {
    max-width: 86%;
    justify-self: end;
  }
}

.cert-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.cert-gallery img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  background: #fff;
}

.cert-ex__cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(32px, 4vw, 48px);
}

@media (max-width: 1024px) {
  .cert-split,
  .cert-trio,
  .cert-chess,
  .cert-pills {
    grid-template-columns: minmax(0, 1fr);
  }

  .cert-split__media {
    max-width: 420px;
  }

  .cert-mass .cert-split h2 {
    text-align: center;
  }
}

@media (max-width: 767px) {
  .cert-gallery {
    grid-template-columns: minmax(0, 1fr);
    max-width: 360px;
    margin-inline: auto;
  }

  .cert-section p,
  .cert-section li {
    font-size: 16px;
  }
}

/* Legal pages
   ========================================================================== */

.legal {
  padding: clamp(56px, 7vw, 110px) var(--gutter);
  background: #FBF1EC;
  color: var(--text);
}

body.page-template-page-cookie .legal,
body.page-template-page-impressum .legal,
body.page-template-page-datenschutz .legal,
body.page-template-page-agb .legal,
body.page-template-page-stornierung .legal {
  padding-top: clamp(28px, 4vw, 48px);
}

.legal__inner {
  max-width: 760px;
  margin: 0 auto;
}

.legal h1 {
  margin: 0 0 clamp(28px, 3vw, 40px);
  font-family: "Tenor Sans", Georgia, sans-serif;
  font-size: clamp(2rem, 3.4vw, 3.2rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--espresso);
}

.legal h2 {
  margin: clamp(32px, 4vw, 48px) 0 12px;
  font-family: "Tenor Sans", Georgia, sans-serif;
  font-size: clamp(1.25rem, 1.8vw, 1.6rem);
  font-weight: 500;
  line-height: 1.25;
  color: var(--espresso);
}

.legal p,
.legal address {
  margin: 0 0 18px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  font-style: normal;
  line-height: 1.6;
  color: var(--text);
}

.legal a {
  color: var(--brown);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal a:hover {
  color: var(--espresso);
}

.legal ul {
  margin: 0 0 18px;
  padding-left: 1.2em;
}

.legal li {
  margin: 0 0 8px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--text);
}

.legal li:last-child {
  margin-bottom: 0;
}

.legal code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .92em;
  padding: .1em .35em;
  border-radius: 4px;
  background: rgba(42, 33, 28, .06);
}

.legal .btn {
  margin-top: 8px;
}

/* Lead forms
   ========================================================================== */

.lead-form__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.lead-modal {
  max-width: min(640px, 100%);
  background: #FBF1EC;
  color: var(--text);
}

.lead-modal .label {
  display: block;
}

.lead-modal h3 {
  margin-bottom: 10px;
  font-weight: 400;
}

.lead-modal__lead {
  margin: 0 0 24px;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.55;
  color: var(--text);
}

.lead-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lead-form__row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lead-form__row label {
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brown);
}

.lead-form input[type="text"],
.lead-form input[type="email"],
.lead-form input[type="tel"],
.lead-form select,
.lead-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: #fff;
  color: var(--text);
  font-family: var(--fb);
  font-size: 16px;
}

.lead-form textarea {
  min-height: 120px;
  resize: vertical;
}

.lead-form input:focus-visible,
.lead-form select:focus-visible,
.lead-form textarea:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 2px;
}

.lead-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--fb);
  font-size: 14px;
  line-height: 1.45;
  color: var(--text);
}

.lead-form__consent input {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--brown);
}

.lead-form__consent a {
  color: var(--brown);
}

.lead-form__status {
  margin: 0;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.45;
  color: var(--text);
}

.lead-form__status.is-error {
  color: #8A3A32;
}

.lead-form.is-success .lead-form__status {
  color: var(--brown);
}

.lead-form .btn {
  align-self: flex-start;
  min-height: 48px;
}

.lead-page {
  background: #FBF1EC;
}

.lead-page__section.bg-cream {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
  background: #FBF1EC;
}

.lead-page__copy {
  grid-column: 1 / 6;
  min-width: 0;
}

.lead-page__copy h1 {
  margin: 0 0 16px;
  font-family: var(--fd);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text);
}

.lead-page__copy p {
  margin: 0 0 24px;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text);
}

.lead-page__contacts {
  margin: 0;
  padding: 0;
  list-style: none;
}

.lead-page__contacts a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--brown);
  text-decoration: none;
}

.lead-page__form {
  grid-column: 7 / 13;
  min-width: 0;
  padding: clamp(24px, 3vw, 40px);
  border-radius: var(--r-lg);
  background: #fff;
}

.rassrochka-terms {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.rassrochka-terms li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
}

.rassrochka-terms__num {
  font-family: var(--fd);
  font-size: 18px;
  line-height: 1.4;
  color: var(--brown);
}

.rassrochka-terms p {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.55;
  color: var(--text);
}

.rassrochka-form__title {
  margin: 0 0 8px;
  font-family: var(--fd);
  font-size: clamp(1.4rem, 2vw, 1.8rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--text);
}

.rassrochka-form__lead {
  margin: 0 0 22px;
  font-family: var(--fb);
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted, #6e635c);
}

.f-form {
  position: relative;
  flex-wrap: wrap;
}

.f-form__status {
  flex: 1 1 100%;
  margin-top: 8px;
  color: #EADCD3;
}

@media (max-width: 820px) {
  .lead-page .flagman-section__grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }

  .lead-page__copy,
  .lead-page__form {
    width: 100%;
  }

  .lead-form .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Swiss offline retreat
   ========================================================================== */

.retreat-about,
.retreat-format,
.retreat-path {
  padding-top: clamp(72px, 9vw, 140px);
  padding-bottom: clamp(72px, 9vw, 140px);
}

.retreat-about {
  background: #fff;
}

.retreat-value {
  padding-block: var(--gutter);
  padding-inline: 0;
  background: #fff;
}

.retreat-includes {
  padding-top: clamp(8px, 1.4vw, 16px);
  padding-bottom: clamp(20px, 3vw, 40px);
  background: transparent;
}

.retreat-format {
  background: #FBF1EC;
  border-radius: var(--card-radius);
}

.retreat-path {
  background: #FBF1EC;
  border-radius: var(--card-radius);
}

.retreat-about__inner,
.retreat-format__inner,
.retreat-path__inner {
  max-width: 1080px;
  margin: 0 auto;
}

.retreat-value__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 3.5vw, 56px);
  align-items: center;
  max-width: none;
  margin: 0;
  padding: clamp(28px, 4vw, 64px);
  overflow: hidden;
  border-radius: var(--card-radius);
  background: #F6E7E1;
}

.retreat-value__media {
  position: relative;
  min-width: 0;
}

.retreat-value__media::before {
  content: "";
  position: absolute;
  right: -6%;
  bottom: -6%;
  z-index: 0;
  width: 78%;
  height: 78%;
  border-radius: var(--r-lg);
  background: #E7DCD5;
}

.retreat-value__photo {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin: 0;
  border-radius: var(--r-lg);
  background: #E7DCD5;
}

.retreat-value__photo img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.retreat-value__chip {
  position: absolute;
  left: 16px;
  bottom: 18px;
  z-index: 2;
  max-width: calc(100% - 32px);
  padding: 10px 16px;
  border-radius: var(--pill);
  background: #fff;
  color: var(--text);
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.3;
  box-shadow: 0 10px 28px rgba(42, 33, 28, .12);
}

.retreat-value__copy {
  min-width: 0;
}

.retreat-value__copy .label {
  display: block;
  margin-bottom: 14px;
  color: var(--brown);
}

.retreat-value__copy h2 {
  margin: 0 0 clamp(24px, 2.6vw, 36px);
  font-family: var(--fd);
  font-size: clamp(1.55rem, 2.5vw, 2.35rem);
  font-weight: 400;
  line-height: 1.22;
  color: var(--text);
}

.retreat-value__points {
  display: grid;
  gap: 16px;
  margin: 0 0 clamp(22px, 2.4vw, 32px);
  padding: 0;
  list-style: none;
}

.retreat-value__points li {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.retreat-value__points .n {
  font-family: var(--fd);
  font-size: clamp(1.35rem, 1.8vw, 1.7rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--brown);
}

.retreat-value__points p {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.retreat-value__close {
  margin: 0 0 clamp(22px, 2.4vw, 32px);
  padding: clamp(18px, 2vw, 26px);
  border-radius: var(--r-lg);
  background: #fff;
  font-family: var(--fd);
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--text);
}

.retreat-value__copy .btn {
  min-width: 11em;
}

@media (min-width: 1024px) {
  .retreat-value__card {
    grid-template-columns: minmax(240px, 0.88fr) minmax(0, 1.12fr);
    gap: clamp(40px, 5vw, 72px);
    padding: clamp(40px, 4.5vw, 72px);
  }

  .retreat-value__photo img {
    aspect-ratio: 3 / 4;
  }
}

.retreat-includes__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  max-width: none;
  margin: 0;
  padding: 0;
  border-radius: var(--card-radius);
  background: var(--espresso);
  color: #EADCD3;
}

.retreat-includes__copy {
  min-width: 0;
  padding: clamp(44px, 6vw, 88px) clamp(24px, 4vw, 72px);
}

.retreat-includes__media {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 220px;
  aspect-ratio: 16 / 10;
  background: #1a1614;
}

.retreat-includes__media video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .retreat-about__inner,
  .retreat-format__inner,
  .retreat-path__inner {
    max-width: 1480px;
  }

  .retreat-includes__inner {
    grid-template-columns: minmax(0, 70%) 30%;
  }

  .retreat-includes__copy {
    padding: clamp(56px, 6vw, 96px) clamp(36px, 4vw, 56px) clamp(56px, 6vw, 96px) clamp(48px, 5vw, 80px);
  }

  .retreat-includes__media {
    min-height: 0;
    aspect-ratio: auto;
  }
}

.retreat-about .label,
.retreat-includes .label,
.retreat-format .label,
.retreat-path .label {
  display: block;
  margin-bottom: 14px;
}

.retreat-about h2,
.retreat-includes h2,
.retreat-format h2,
.retreat-path h2 {
  margin: 0 0 20px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1.12;
  color: var(--text);
}

.retreat-format h3 {
  margin: 0 0 20px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  line-height: 1.2;
  color: var(--text);
}

.retreat-about p,
.retreat-includes__close,
.retreat-format p,
.retreat-path p {
  margin: 0 0 16px;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.retreat-includes__close,
.retreat-format p {
  max-width: 72ch;
}

.retreat-about p {
  max-width: none;
}

.retreat-about p:last-of-type {
  margin-bottom: 0;
}

.retreat-gallery {
  display: grid;
  gap: 18px;
  width: 100%;
  max-width: none;
  margin: clamp(36px, 5vw, 64px) 0 0;
}

.retreat-gallery__viewport {
  min-width: 0;
}

.retreat-gallery__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.retreat-gallery__count {
  margin: 0;
  min-width: 4.5em;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--muted);
  text-align: center;
}

.retreat-gallery__track {
  display: flex;
  gap: clamp(12px, 1.4vw, 20px);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
}

.retreat-gallery__track::-webkit-scrollbar {
  display: none;
}

.retreat-gallery__slide {
  position: relative;
  flex: 0 0 calc((100% - 80px) / 5);
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border: 0;
  border-radius: var(--r-lg);
  background: #E7DCD5;
  scroll-snap-align: start;
  cursor: pointer;
  touch-action: pan-x;
  -webkit-user-select: none;
  user-select: none;
}

.retreat-gallery__slide:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: 3px;
}

.retreat-gallery__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #2A211C;
  pointer-events: none;
}

.retreat-gallery__slide.is-video .retreat-gallery__media {
  object-fit: cover;
}

.retreat-gallery__play {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: none;
}

.retreat-gallery__play[hidden] {
  display: none;
}

.retreat-gallery__play-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: rgba(42, 33, 28, .78);
  color: #fff;
  transition: background-color .2s ease, transform .2s ease;
}

.retreat-gallery__play-icon svg {
  display: block;
  margin-left: 3px;
}

.retreat-gallery__slide:hover .retreat-gallery__play-icon,
.retreat-gallery__slide:focus-visible .retreat-gallery__play-icon {
  background: var(--brown);
  transform: scale(1.04);
}

.retreat-lightbox {
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 3vw, 40px);
  background: rgba(42, 33, 28, .72);
  backdrop-filter: blur(4px);
}

.retreat-lightbox__dialog {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "prev stage next"
    ". count .";
  gap: 14px 12px;
  align-items: center;
  width: min(1080px, 100%);
  margin: auto;
  padding: clamp(20px, 3vw, 36px);
  border-radius: var(--card-radius);
  background: #FBF1EC;
  box-shadow: 0 40px 120px rgba(42, 33, 28, .35);
}

.retreat-lightbox__close {
  z-index: 3;
}

.retreat-lightbox__stage {
  grid-area: stage;
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: min(68vh, 720px);
  overflow: hidden;
  border-radius: var(--r-lg);
  background: #2A211C;
  touch-action: pan-y;
}

.retreat-lightbox__image,
.retreat-lightbox__video {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: min(68vh, 720px);
  object-fit: contain;
  background: #2A211C;
}

.retreat-lightbox__image[hidden],
.retreat-lightbox__video[hidden] {
  display: none;
}

.retreat-lightbox__nav {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--brown);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}

.retreat-lightbox__nav--prev {
  grid-area: prev;
}

.retreat-lightbox__nav--next {
  grid-area: next;
}

.retreat-lightbox__nav:hover {
  background: var(--brown);
  color: #fff;
}

.retreat-lightbox__nav:disabled {
  opacity: .35;
  cursor: default;
}

.retreat-lightbox__count {
  grid-area: count;
  margin: 0;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 767px) {
  .retreat-lightbox__dialog {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 52px 14px 16px;
  }

  .retreat-lightbox__stage {
    width: 100%;
    min-height: min(56vh, 480px);
  }

  .retreat-lightbox__image,
  .retreat-lightbox__video {
    max-height: min(56vh, 480px);
  }

  .retreat-lightbox__nav {
    display: grid;
  }

  .retreat-lightbox__dialog {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "stage stage stage"
      "prev count next";
    align-items: center;
  }

  .retreat-lightbox__stage {
    grid-area: stage;
  }

  .retreat-lightbox__nav--prev {
    grid-area: prev;
  }

  .retreat-lightbox__nav--next {
    grid-area: next;
  }

  .retreat-lightbox__count {
    grid-area: count;
  }
}

.retreat-gallery__arrow {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #F6E7E1;
  color: var(--brown);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}

.retreat-gallery__arrow:hover {
  background: var(--brown);
  color: #fff;
}

.retreat-gallery__arrow:disabled {
  opacity: .35;
  cursor: default;
}

.retreat-gallery__arrow[hidden] {
  visibility: hidden;
}

@media (max-width: 1023px) {
  .retreat-gallery__slide {
    flex-basis: calc((100% - 12px) / 2);
  }
}

@media (max-width: 767px) {
  .retreat-gallery {
    gap: 14px;
  }

  .retreat-gallery__slide {
    flex-basis: calc((100% - 12px) / 2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .retreat-gallery__play-icon,
  .retreat-gallery__arrow {
    transition: none;
  }
}

.retreat .flagman-modules.retreat-modules {
  margin: var(--gutter);
  padding: var(--gutter);
  background: #F6E7E1;
}

#retreat-program .modal {
  max-width: 900px;
  background: #FBF1EC;
}

#retreat-program .modal__num {
  margin: 0 0 8px;
  font-family: var(--fd);
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: .04em;
  line-height: 1;
  color: #2A211C;
}

.retreat-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.retreat-cols li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
}

.retreat-check {
  display: grid;
  flex: none;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  color: #2A211C;
}

.retreat-includes__close {
  margin-top: 28px;
  margin-bottom: 0;
}

.retreat-includes .label {
  color: var(--accent);
}

.retreat-includes h2 {
  color: #fff;
}

.retreat-includes .retreat-cols {
  max-width: 72em;
}

.retreat-includes .retreat-cols li {
  color: #EADCD3;
}

.retreat-includes .retreat-check {
  color: var(--accent);
}

.retreat-includes p.retreat-includes__close {
  color: #C9B8AF;
}

.retreat-includes .retreat-price__amount {
  color: #fff;
}

.retreat-includes.is-ready .retreat-includes__inner {
  opacity: 0;
  transform: translateY(28px);
}

.retreat-includes.is-ready.is-in .retreat-includes__inner {
  opacity: 1;
  transform: none;
  transition: opacity .7s ease, transform .7s cubic-bezier(.22, 1, .36, 1);
}

.retreat-includes.is-ready .retreat-cols li,
.retreat-includes.is-ready .retreat-includes__close,
.retreat-includes.is-ready .retreat-price {
  opacity: 0;
  transform: translateY(14px);
}

.retreat-includes.is-ready.is-in .retreat-cols li,
.retreat-includes.is-ready.is-in .retreat-includes__close,
.retreat-includes.is-ready.is-in .retreat-price {
  opacity: 1;
  transform: none;
}

.retreat-includes.is-ready.is-in .retreat-cols li {
  transition: opacity .5s ease, transform .5s cubic-bezier(.22, 1, .36, 1);
}

.retreat-includes.is-ready.is-in .retreat-cols li:nth-child(1) { transition-delay: .12s; }
.retreat-includes.is-ready.is-in .retreat-cols li:nth-child(2) { transition-delay: .18s; }
.retreat-includes.is-ready.is-in .retreat-cols li:nth-child(3) { transition-delay: .24s; }
.retreat-includes.is-ready.is-in .retreat-cols li:nth-child(4) { transition-delay: .3s; }
.retreat-includes.is-ready.is-in .retreat-cols li:nth-child(5) { transition-delay: .36s; }
.retreat-includes.is-ready.is-in .retreat-cols li:nth-child(6) { transition-delay: .42s; }

.retreat-includes.is-ready.is-in .retreat-includes__close {
  transition: opacity .55s ease .48s, transform .55s cubic-bezier(.22, 1, .36, 1) .48s;
}

.retreat-includes.is-ready.is-in .retreat-price {
  transition: opacity .55s ease .56s, transform .55s cubic-bezier(.22, 1, .36, 1) .56s;
}

@media (prefers-reduced-motion: reduce) {
  .retreat-includes.is-ready .retreat-includes__inner,
  .retreat-includes.is-ready .retreat-cols li,
  .retreat-includes.is-ready .retreat-includes__close,
  .retreat-includes.is-ready .retreat-price {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.retreat-format .retreat-cols {
  margin-bottom: 0;
}

.retreat-format__head h2 {
  max-width: 18em;
}

.retreat-format__points {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 20px);
  margin: clamp(28px, 3.2vw, 48px) 0 0;
  padding: 0;
  list-style: none;
}

.retreat-format__points li {
  min-width: 0;
  padding: clamp(20px, 2vw, 28px);
  border-radius: var(--r-lg);
  background: #fff;
}

.retreat-format__points .n {
  display: block;
  margin-bottom: 14px;
  font-family: var(--fd);
  font-size: clamp(1.8rem, 2.4vw, 2.4rem);
  font-weight: 500;
  line-height: 1;
  color: var(--brown);
}

.retreat-format__points p {
  max-width: none;
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--text);
}

.retreat-format__program {
  margin-top: clamp(28px, 3.2vw, 48px);
  padding: clamp(24px, 2.6vw, 40px);
  border-radius: var(--card-radius);
  background: #fff;
}

.retreat-format__includes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.retreat-format__includes li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
}

.retreat-format__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px 40px;
  margin-top: clamp(28px, 3.2vw, 48px);
}

.retreat-format .retreat-format__time {
  margin: 0;
  max-width: none;
  font-family: var(--fd);
  font-size: clamp(1.7rem, 2.8vw, 2.6rem);
  font-weight: 400;
  line-height: 1.12;
  color: var(--text);
}

.retreat-format__close {
  max-width: 22em;
}

.retreat-format__line {
  margin-bottom: 6px;
  max-width: none;
}

.retreat-format__line--strong {
  margin-bottom: 0;
  font-weight: 700;
  color: var(--brown);
}

.retreat-path__step {
  position: relative;
  display: grid;
  grid-template-columns: 4.8rem minmax(0, 1fr);
  gap: clamp(16px, 2.4vw, 40px);
  align-items: start;
  padding-bottom: clamp(40px, 5vw, 72px);
}

.retreat-path.is-ready .retreat-path__step {
  opacity: 0;
  transform: translateY(28px);
}

.retreat-path.is-ready .retreat-path__step.is-in {
  opacity: 1;
  transform: none;
  transition: opacity .7s ease, transform .7s cubic-bezier(.22, 1, .36, 1);
}

.retreat-path__step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 3.2rem;
  bottom: 0;
  left: 1.45rem;
  width: 1px;
  background: rgba(110, 87, 74, .22);
  transform-origin: top;
}

.retreat-path.is-ready .retreat-path__step:not(:last-child)::before {
  transform: scaleY(0);
}

.retreat-path.is-ready .retreat-path__step.is-in:not(:last-child)::before {
  transform: scaleY(1);
  transition: transform .95s ease .12s;
}

.retreat-path.is-ready .retreat-path__num {
  opacity: 0;
  transform: translateY(10px);
}

.retreat-path.is-ready .retreat-path__step.is-in .retreat-path__num {
  opacity: 1;
  transform: none;
  transition: opacity .5s ease, transform .5s cubic-bezier(.22, 1, .36, 1);
}

.retreat-path.is-ready .retreat-path__chips li {
  opacity: 0;
  transform: translateY(16px);
}

.retreat-path.is-ready .retreat-path__step.is-in .retreat-path__chips li {
  opacity: 1;
  transform: none;
  transition: opacity .55s ease, transform .55s cubic-bezier(.22, 1, .36, 1);
}

.retreat-path.is-ready .retreat-path__step.is-in .retreat-path__chips li:nth-child(1) {
  transition-delay: .12s;
}

.retreat-path.is-ready .retreat-path__step.is-in .retreat-path__chips li:nth-child(2) {
  transition-delay: .22s;
}

.retreat-path.is-ready .retreat-path__step.is-in .retreat-path__chips li:nth-child(3) {
  transition-delay: .32s;
}

.retreat-path.is-ready .retreat-path p.retreat-path__highlight {
  opacity: 0;
  transform: translateY(14px);
}

.retreat-path.is-ready .retreat-path__step.is-in .retreat-path p.retreat-path__highlight {
  opacity: 1;
  transform: none;
  transition: opacity .6s ease .16s, transform .6s cubic-bezier(.22, 1, .36, 1) .16s;
}

.retreat-path.is-ready .retreat-path__step--last .btn {
  opacity: 0;
  transform: translateY(10px);
}

.retreat-path.is-ready .retreat-path__step--last.is-in .btn {
  opacity: 1;
  transform: none;
  transition: opacity .55s ease .2s, transform .55s cubic-bezier(.22, 1, .36, 1) .2s;
}

@media (prefers-reduced-motion: reduce) {
  .retreat-path.is-ready .retreat-path__step,
  .retreat-path.is-ready .retreat-path__num,
  .retreat-path.is-ready .retreat-path__chips li,
  .retreat-path.is-ready .retreat-path p.retreat-path__highlight,
  .retreat-path.is-ready .retreat-path__step--last .btn {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .retreat-path.is-ready .retreat-path__step:not(:last-child)::before {
    transform: none;
    transition: none;
  }
}

.retreat-path__step--last {
  padding-bottom: 0;
}

.retreat-path__num {
  position: relative;
  z-index: 1;
  font-family: var(--fd);
  font-size: clamp(1.8rem, 2.4vw, 2.4rem);
  font-weight: 500;
  line-height: 1;
  color: var(--brown);
}

.retreat-path__copy {
  min-width: 0;
}

.retreat-path__copy > p {
  max-width: 42em;
}

.retreat-path__chips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 20px);
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.retreat-path__chips li {
  min-width: 0;
  padding: clamp(20px, 2vw, 28px);
  border-radius: var(--r-lg);
  background: #fff;
  font-family: var(--fd);
  font-size: clamp(1.15rem, 1.5vw, 1.45rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--text);
}

.retreat-path p.retreat-path__highlight {
  max-width: 28em;
  margin: 8px 0 0;
  padding: clamp(20px, 2.2vw, 32px);
  border-radius: var(--r-lg);
  background: #fff;
  font-family: var(--fd);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--text);
}

.retreat-path p.retreat-path__kicker {
  margin: 0 0 12px;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--brown);
}

.retreat-path .btn {
  margin-top: 12px;
}

.retreat-price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 28px;
  margin-top: clamp(28px, 3vw, 40px);
}

.retreat-price__meta {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.retreat-price__amount {
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  line-height: 1;
  color: var(--text);
}

.retreat-price__note {
  margin: 0;
  font-family: var(--fb);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  color: #C9B8AF;
}

.retreat-price__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.retreat-includes .btn--ghost {
  border-color: rgba(234, 220, 211, 0.55);
  color: #EADCD3;
}

.retreat-includes .btn--ghost:hover {
  background: #EADCD3;
  border-color: #EADCD3;
  color: var(--espresso);
}

@media (max-width: 1023px) {
  .retreat-cols {
    grid-template-columns: minmax(0, 1fr);
  }

  .retreat-includes__media {
    order: -1;
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }

  .retreat-includes__media video {
    position: static;
    width: 100%;
    min-width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
    object-fit: cover;
  }

  .retreat-format__points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .retreat-format__includes {
    grid-template-columns: minmax(0, 1fr);
  }

  .retreat-path__chips {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .retreat-about,
  .retreat-format,
  .retreat-path {
    padding-top: clamp(56px, 12vw, 80px);
    padding-bottom: clamp(56px, 12vw, 80px);
  }

  .retreat-value {
    padding-block: 12px;
    padding-inline: 0;
  }

  .retreat-value__card {
    padding: 24px 18px;
  }

  .retreat-value__media::before {
    display: none;
  }

  .retreat-value__chip {
    left: 12px;
    bottom: 12px;
    font-size: 12px;
  }

  .retreat-value__copy .btn {
    width: 100%;
    justify-content: center;
  }

  .retreat-includes {
    padding-top: 8px;
    padding-bottom: 16px;
  }

  .retreat-includes__inner {
    padding: 0;
  }

  .retreat-includes__copy {
    padding: 36px 20px;
  }

  .retreat-includes__media {
    order: -1;
    aspect-ratio: 16 / 10;
  }

  .retreat-includes__media video {
    aspect-ratio: 16 / 10;
  }

  .retreat-about h2,
  .retreat-includes h2,
  .retreat-format h2,
  .retreat-path h2 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }

  .retreat-format__points {
    grid-template-columns: minmax(0, 1fr);
  }

  .retreat-format__program {
    padding: 20px;
  }

  .retreat-format__foot {
    flex-direction: column;
    align-items: stretch;
  }

  .retreat-price {
    flex-direction: column;
    align-items: stretch;
  }

  .retreat-price__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .retreat-path__step {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .retreat-path__step:not(:last-child)::before {
    display: none;
  }

  .retreat-price .btn,
  .retreat-path .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Blog / free lessons
   ========================================================================== */

.site-bar-spacer {
  display: block;
  pointer-events: none;
}

.site-bar-spacer[hidden] {
  display: none;
}

.site-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  padding: 20px var(--gutter) 0;
  pointer-events: none;
  transform: translateY(0);
  transition: transform .38s ease;
}

.site-bar.is-hidden {
  transform: translateY(calc(-100% - 8px));
}

.site-bar--solid {
  padding: 20px var(--gutter) 0;
  background: transparent;
}

.site-bar--cream {
  background: var(--c-cream);
}

.site-bar--rose {
  background: var(--c-rose);
}

.site-bar--white {
  background: #fff;
}

.site-bar__bar {
  position: relative;
  z-index: 1;
  overflow: visible;
  pointer-events: auto;
  border-radius: var(--card-radius);
  background: rgba(42, 33, 28, .48);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.site-bar__bar .hero-nav {
  position: relative;
  z-index: 2;
}

.site-bar__bar .hero-nav__links,
.site-bar__bar .hero-nav__list > .menu-item-has-children {
  position: relative;
  z-index: 3;
}

@media (min-width: 1024px) {
  .site-bar__bar {
    padding: 12px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-bar {
    transition: none;
  }
}

.blog-lessons {
  padding-top: clamp(48px, 6vw, 88px);
  padding-bottom: clamp(72px, 9vw, 140px);
  background: #fff;
}

.blog-lessons__head {
  max-width: 760px;
  margin: 0 auto clamp(40px, 5vw, 72px);
  text-align: center;
}

.blog-lessons__head .label {
  display: block;
  margin-bottom: 14px;
}

.blog-lessons__head h1 {
  margin: 0 0 16px;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  line-height: 1.12;
  color: var(--text);
}

.blog-lessons__head p {
  margin: 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text);
}

.blog-lessons__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 24px);
}

.blog-lessons__arrow,
.blog-lessons__count {
  display: none;
}

.blog-lesson {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--card-radius);
  background: #FBF1EC;
}

.blog-lesson__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #2A211C;
}

.blog-lesson__play {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.blog-lesson__play img,
.blog-lesson__media iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}

.blog-lesson__media iframe {
  position: absolute;
  inset: 0;
}

.blog-lesson__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: rgba(42, 33, 28, .78);
  color: #fff;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.blog-lesson__icon svg {
  display: block;
  margin-left: 3px;
  fill: currentColor;
}

.blog-lesson__play:hover .blog-lesson__icon,
.blog-lesson__play:focus-visible .blog-lesson__icon {
  background: var(--brown);
}

.blog-lesson__play:focus-visible {
  outline: 2px solid var(--brown);
  outline-offset: -2px;
}

.blog-lesson__copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(20px, 2.4vw, 28px);
}

.blog-lesson__copy .label {
  margin: 0;
}

.blog-lesson__copy h2 {
  margin: 0;
  font-family: var(--fd);
  font-weight: 400;
  font-size: clamp(1.1rem, 1.2vw, 1.35rem);
  line-height: 1.25;
  color: var(--text);
}

.blog-lesson__copy a {
  color: inherit;
  text-decoration: none;
}

.blog-lesson__copy a:hover {
  color: var(--brown);
}

@media (max-width: 1199px) {
  .blog-lessons__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .blog-lessons {
    padding-top: clamp(56px, 12vw, 80px);
    padding-bottom: clamp(56px, 12vw, 80px);
  }

  .blog-lessons__head h1 {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem);
  }

  .blog-lessons__slider {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "viewport viewport viewport"
      "prev count next";
    gap: 16px 12px;
    align-items: center;
  }

  .blog-lessons__viewport {
    grid-area: viewport;
    min-width: 0;
  }

  .blog-lessons__grid {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .blog-lessons__grid::-webkit-scrollbar {
    display: none;
  }

  .blog-lesson {
    flex: 0 0 86%;
    scroll-snap-align: start;
  }

  .blog-lessons__arrow {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #FBF1EC;
    color: var(--brown);
    cursor: pointer;
  }

  .blog-lessons__arrow--prev {
    grid-area: prev;
  }

  .blog-lessons__arrow--next {
    grid-area: next;
  }

  .blog-lessons__arrow:hover {
    background: var(--brown);
    color: #fff;
  }

  .blog-lessons__arrow:disabled {
    opacity: .35;
    cursor: default;
  }

  .blog-lessons__arrow[hidden] {
    visibility: hidden;
  }

  .blog-lessons__count {
    display: block;
    grid-area: count;
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    color: var(--muted);
    text-align: center;
  }

  .blog-lesson__copy {
    padding: 18px;
  }

  .blog-lesson__copy h2 {
    font-size: 1.2rem;
  }
}

/* Sticky enroll
   ========================================================================== */

.sticky-enroll {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 900;
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 16px 28px;
  border-radius: var(--pill);
  background: #574337;
  color: #fff;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  box-shadow: 0 12px 32px rgba(42, 33, 28, .22);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: background-color .2s ease, transform .25s ease, opacity .25s ease, visibility .25s ease;
}

.sticky-enroll.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

.sticky-enroll:hover {
  background: #4a372e;
  color: #fff;
}

.sticky-enroll:focus-visible {
  outline: 2px solid var(--espresso);
  outline-offset: 3px;
}

body.modal-open .sticky-enroll,
body.nav-open .sticky-enroll {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 1023px) {
  .sticky-enroll {
    display: inline-flex;
  }

  body:has(.sticky-enroll.is-visible) .site-footer {
    padding-bottom: 88px;
  }
}

@media (max-width: 767px) {
  .sticky-enroll {
    left: max(16px, env(safe-area-inset-left));
    right: max(16px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    width: auto;
  }
}

/* Cookie banner
   ========================================================================== */

.cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
  padding: max(12px, env(safe-area-inset-bottom)) var(--gutter) var(--gutter);
  pointer-events: none;
}

@media (min-width: 1024px) {
  .cookie-banner {
    padding: max(40px, env(safe-area-inset-bottom)) max(40px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) var(--gutter);
  }
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner__panel {
  pointer-events: auto;
  width: min(720px, 100%);
  margin-left: auto;
  padding: clamp(22px, 3vw, 32px);
  border-radius: var(--card-radius);
  background: var(--espresso);
  color: #EADCD3;
  box-shadow: 0 18px 48px rgba(42, 33, 28, .28);
}

.cookie-banner__kicker {
  margin: 0 0 10px;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
}

.cookie-banner__title {
  margin: 0 0 12px;
  font-family: var(--fd);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}

.cookie-banner__text {
  margin: 0 0 clamp(18px, 2.2vw, 24px);
  font-family: var(--fb);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #EADCD3;
}

.cookie-banner__text a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cookie-banner__text a:hover {
  color: var(--accent);
}

.cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cookie-banner__actions .btn {
  min-height: 46px;
  padding: 14px 22px;
  font-size: 14px;
}

.cookie-banner__btn-ghost {
  border: 1px solid rgba(255, 255, 255, .28);
  background: transparent;
  color: #fff;
}

.cookie-banner__btn-ghost:hover {
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.cookie-banner__cats {
  display: grid;
  gap: 12px;
  margin: 0 0 clamp(18px, 2.2vw, 24px);
  padding: 0;
  list-style: none;
}

.cookie-banner__cat {
  margin: 0;
  padding: 14px 16px;
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .1);
}

.cookie-banner__switch {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  cursor: pointer;
}

.cookie-banner__switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cookie-banner__switch-ui {
  position: relative;
  flex: none;
  width: 44px;
  height: 26px;
  margin-top: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  transition: background-color .2s ease;
}

.cookie-banner__switch-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  transition: transform .2s ease;
}

.cookie-banner__switch input:checked + .cookie-banner__switch-ui {
  background: var(--brown);
}

.cookie-banner__switch input:checked + .cookie-banner__switch-ui::after {
  transform: translateX(18px);
}

.cookie-banner__switch input:disabled + .cookie-banner__switch-ui {
  opacity: .7;
}

.cookie-banner__switch input:focus-visible + .cookie-banner__switch-ui {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.cookie-banner__cat-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.cookie-banner__cat-title {
  font-family: var(--fb);
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}

.cookie-banner__cat-desc {
  font-family: var(--fb);
  font-size: 13px;
  line-height: 1.45;
  color: #C9B8AF;
}

.f-col__btn {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 0 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #EADCD3;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: color .2s ease;
}

.f-col__btn:hover {
  color: #fff;
}

body.page-template-page-flagman .f-col__btn,
body.page-template-page-carboxy .f-col__btn,
body.page-template-page-micro .f-col__btn,
body.page-template-page-club .f-col__btn,
body.page-template-page-certification .f-col__btn,
body.page-template-page-biblioteka .f-col__btn,
body.page-template-page-massazhi .f-col__btn,
body.page-template-page-retreat .f-col__btn,
body.page-template-page-blog .f-col__btn {
  display: block;
  min-height: 0;
}

body.cookie-open .sticky-enroll {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 767px) {
  .cookie-banner {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .cookie-banner__panel {
    width: 100%;
    padding: 20px 18px;
    border-radius: 22px;
  }

  .cookie-banner__actions {
    flex-direction: column;
  }

  .cookie-banner__actions .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .cookie-banner__panel {
    margin-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner__switch-ui,
  .cookie-banner__switch-ui::after {
    transition: none;
  }
}

/* Couperose course
   ========================================================================== */

.couperose-hero__eyebrow {
  margin: 0 0 12px;
  font-family: var(--fb);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .78);
}

.couperose-hero__sub {
  max-width: 28ch;
  margin: 14px 0 0;
  font-family: var(--fb);
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 500;
  line-height: 1.45;
  color: rgba(255, 255, 255, .86);
}

.couperose .flagman-hero__actions {
  margin-top: clamp(22px, 3vw, 32px);
}

.flagman-modules__lead {
  max-width: 62ch;
  margin: 14px 0 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--muted);
}

.massazhi .flagman-modules.massazhi-modules {
  margin: var(--gutter);
  padding: var(--gutter);
  background: #F6E7E1;
}

#massazhi-modules .modal {
  max-width: 900px;
  background: #FBF1EC;
}

#massazhi-modules .modal__num {
  margin: 0 0 8px;
  font-family: var(--fd);
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: .04em;
  line-height: 1;
  color: #2A211C;
}

.massazhi-intro.bg-cream {
  margin: var(--gutter) 0;
  padding-block: clamp(40px, 5vw, 72px);
  padding-inline: 0;
  overflow: hidden;
  border-radius: var(--card-radius);
  background: var(--cream);
  text-align: center;
}

.massazhi-intro__layout {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  min-width: 0;
  max-width: min(100%, 1100px);
  margin: 0 auto clamp(28px, 4vw, 44px);
  padding-inline: var(--gutter);
}

.massazhi-intro__copy {
  min-width: 0;
}

.massazhi-intro__copy .label {
  display: block;
  text-align: center;
}

.massazhi-intro__copy h2 {
  margin: 0 0 18px;
  max-width: none;
}

.massazhi-intro__copy p {
  margin: 0 auto 16px;
  max-width: 70ch;
}

.massazhi-intro__media {
  margin: 0;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--r-lg);
  background: var(--taupe);
}

.massazhi-intro__media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.massazhi-intro__inner,
.massazhi-cta__inner {
  grid-column: 1 / -1;
  max-width: none;
  margin-inline: auto;
}

.massazhi-intro__inner {
  width: 100%;
  max-width: min(100%, 1100px);
  padding-inline: var(--gutter);
}

@media (min-width: 900px) {
  .massazhi-cta__inner {
    max-width: 72ch;
  }
}

@media (max-width: 899px) {
  .massazhi-intro__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .massazhi-intro__media {
    order: -1;
  }
}

.massazhi-intro .label {
  text-align: center;
}

.massazhi-intro h2,
.massazhi-cta h2 {
  margin: 0 0 18px;
  font-family: var(--fd);
  font-size: clamp(1.85rem, 3.2vw, 2.75rem);
  font-weight: 500;
  line-height: 1.15;
  color: var(--text);
}

.massazhi-intro h2 {
  margin-inline: auto;
  max-width: 28ch;
}

.massazhi-intro p,
.massazhi-cta p {
  margin: 0 auto 16px;
  font-family: var(--fb);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--muted);
}

.massazhi-intro p {
  max-width: 70ch;
}

.massazhi-intro h3 {
  margin: 28px 0 14px;
  font-family: var(--fd);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 500;
  line-height: 1.25;
  color: var(--text);
}

.massazhi-intro__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: 0 auto 8px;
  padding: 0;
  list-style: none;
  max-width: 70ch;
}

.massazhi-intro__list li {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
  text-align: center;
}

.massazhi-intro__list li::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  margin-top: .55em;
  border-radius: 50%;
  background: var(--brown);
}

.massazhi-intro__why {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 28px;
  margin: 8px auto 24px;
  max-width: 70ch;
  text-align: center;
}

.massazhi-intro__why article {
  min-width: 0;
}

.massazhi-intro__why h4 {
  margin: 0 0 6px;
  font-family: var(--fd);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--text);
}

.massazhi-intro__why p {
  margin: 0;
  font-size: 15px;
}

.massazhi-intro__note {
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(42, 33, 28, .12);
}

.massazhi-modules__lead {
  max-width: 62ch;
  margin: 14px 0 0;
  font-family: var(--fb);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--muted);
}

.massazhi-cta.bg-cream {
  margin: 0;
  padding-block: clamp(40px, 5vw, 72px);
  padding-inline: 0;
  overflow: hidden;
  border-radius: var(--card-radius) var(--card-radius) 0 0;
  background: var(--cream);
  text-align: center;
}

.massazhi-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.massazhi-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}

@media (max-width: 899px) {
  .massazhi-intro__why {
    grid-template-columns: 1fr;
  }
}

.hero-card__img {
  display: block;
}

/* Certificate verification (QR) */
body.dela-certificate-page {
  background: var(--c-cream);
}

.dela-certificate__section.lead-page__section {
  padding-block: clamp(36px, 4.5vw, 70px);
}

.dela-certificate__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  width: min(1120px, 100%);
  margin-inline: auto;
}

.dela-certificate__frame {
  margin: 0;
  width: min(520px, 100%);
  justify-self: center;
}

.dela-certificate__frame img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-lg, 22px);
  box-shadow: 0 18px 50px rgba(40, 28, 16, 0.16);
  background: #fff;
}

.dela-certificate__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  text-align: left;
  min-width: 0;
}

.dela-certificate__info .label {
  margin: 0;
}

.dela-certificate__meta {
  margin: 0;
  display: grid;
  gap: 16px;
  width: 100%;
}

.dela-certificate__row {
  display: grid;
  gap: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line, rgba(58, 50, 45, .14));
}

.dela-certificate__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.dela-certificate__row dt {
  margin: 0;
  font-family: var(--fb, Manrope, system-ui, sans-serif);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted, #8A7D74);
}

.dela-certificate__row dd {
  margin: 0;
  font-family: var(--fd, "Tenor Sans", Georgia, serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  font-weight: 400;
  line-height: 1.25;
  color: var(--text, #3A322D);
  word-break: break-word;
}

.dela-certificate__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.dela-certificate__actions .btn {
  min-width: 160px;
}

@media (min-width: 900px) {
  .dela-certificate__layout {
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.85fr);
    gap: clamp(40px, 5vw, 72px);
  }

  .dela-certificate__frame {
    width: 100%;
    max-width: 560px;
    justify-self: start;
  }
}

@media (max-width: 899px) {
  .dela-certificate__info {
    align-items: center;
    text-align: center;
  }

  .dela-certificate__actions {
    justify-content: center;
  }
}

