/* Aura J — premium landing (match mock-ref) */

:root {
  --mint: #3ddc97;
  --bronze: #b08d57;
  --bg: #0b0d10;
  --muted: #a8b0bc;
  --text: #f5f7fa;
  --ui: "Montserrat", "IBM Plex Sans", system-ui, sans-serif;
  --brand: "Aura Mark 2R", "Aura Mark", "Space Grotesk", "Montserrat", system-ui, sans-serif;
}

@font-face {
  font-family: "Aura Mark";
  src:
    url("/fonts/AuraMark-Regular.woff2?v=2.0") format("woff2"),
    url("/fonts/AuraMark-Regular.ttf?v=2.0") format("truetype");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Aura Mark 2R";
  src:
    url("/fonts/AuraMark-2R.woff2?v=1.91") format("woff2"),
    url("/fonts/AuraMark-2R.ttf?v=1.91") format("truetype");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

.aura-body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--ui);
  padding-bottom: 4.75rem;
}

/* —— Brand mark: Aura Mark 2R (demo Р); v1 Regular kept as fallback —— */
.aura-mark {
  position: relative;
  display: inline-block;
  line-height: 0.9;
  color: var(--aura-mark-color, var(--mint));
  font-family: var(--brand);
}
.aura-mark__text {
  font-family: var(--brand);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-shadow:
    0 0 18px rgb(61 220 151 / 0.55),
    0 0 42px rgb(61 220 151 / 0.28);
}
.aura-mark--sm .aura-mark__text { font-size: 1.55rem; letter-spacing: 0.14em; }
.aura-mark--md .aura-mark__text { font-size: 2.4rem; }
.aura-mark--lg .aura-mark__text { font-size: clamp(2.8rem, 7vw, 4.5rem); letter-spacing: 0.17em; }
.aura-mark--xl .aura-mark__text { font-size: clamp(3.2rem, 9vw, 6rem); letter-spacing: 0.18em; }
.aura-mark--hero .aura-mark__text {
  font-size: clamp(3.6rem, 11vw, 7.2rem);
  letter-spacing: 0.18em;
  text-shadow:
    0 0 24px rgb(61 220 151 / 0.65),
    0 0 56px rgb(61 220 151 / 0.35);
}
.aura-mark--custom .aura-mark__text {
  font-size: var(--aura-mark-size, clamp(3.6rem, 11vw, 7.2rem));
}
.aura-mark__slash {
  display: none;
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); border: 0;
}

/* —— Header —— */
.aura-header {
  position: sticky; top: 0; z-index: 50;
  background: rgb(11 13 16 / 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #22262e;
}
.aura-header__inner {
  display: flex; align-items: center; gap: 1rem;
  max-width: 1280px; margin: 0 auto; padding: 0.7rem 1.25rem;
}
.aura-logo { text-decoration: none; display: flex; flex-direction: column; flex-shrink: 0; }
.aura-logo__tag {
  margin-top: 0.25rem; font-size: 0.52rem; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--muted);
}
.aura-nav { flex: 1; display: flex; justify-content: center; min-width: 0; }
.aura-nav__list {
  display: none; list-style: none; margin: 0; padding: 0; gap: 1.1rem; flex-wrap: wrap; justify-content: center;
}
.aura-nav__list a {
  color: var(--text); text-decoration: none; font-size: 0.68rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; padding: 0.3rem 0;
  border-bottom: 1px solid transparent;
}
.aura-nav__list a:hover { color: var(--mint); border-bottom-color: var(--mint); }
.aura-nav__toggle {
  margin-left: auto; width: 2.4rem; height: 2.4rem; border: 1px solid #2a3038;
  background: transparent; border-radius: 0.25rem; cursor: pointer;
}
.aura-nav__toggle span:not(.sr-only) {
  display: block; width: 1rem; height: 2px; margin: 0 auto; background: var(--mint);
  box-shadow: 0 -6px 0 var(--mint), 0 6px 0 var(--mint);
}
.aura-header__actions { display: none; align-items: center; gap: 0.85rem; }
.aura-phone { color: var(--mint); text-decoration: none; font-weight: 600; font-size: 0.85rem; white-space: nowrap; }

@media (min-width: 1024px) {
  .aura-nav__toggle { display: none; }
  .aura-nav__list { display: flex; }
  .aura-header__actions { display: flex; }
}
@media (max-width: 1023px) {
  .aura-header__inner { position: relative; flex-wrap: wrap; }
  .aura-nav__list.is-open {
    display: flex; flex-direction: column; position: absolute; left: 1rem; right: 1rem; top: 100%;
    background: #12151a; border: 1px solid #2a3038; border-radius: 0.5rem; padding: 1rem; z-index: 60;
  }
}

/* —— Buttons —— */
.ab {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.78rem 1.35rem; font: 700 0.68rem/1 var(--ui); letter-spacing: 0.12em;
  text-transform: uppercase; text-decoration: none; border-radius: 0.2rem;
  border: 1px solid transparent; transition: transform .2s, background .25s, border-color .25s;
}
.ab:hover { transform: translateY(-1px); }
.ab--fill { background: var(--mint); border-color: var(--mint); color: #0b0d10; }
.ab--fill:hover { color: #0b0d10; }
.ab--mint { background: transparent; border-color: var(--mint); color: var(--mint); }
.ab--bronze { background: transparent; border-color: var(--bronze); color: var(--text); }

/* Content slot link color must not override Aura CTAs */
.layout-content .ab--fill,
.layout-content .ab--fill:hover { color: #0b0d10; }
.layout-content .ab--mint,
.layout-content .ab--mint:hover { color: var(--mint); }
.layout-content .ab--bronze,
.layout-content .ab--bronze:hover { color: var(--text); }

/* —— HERO —— */
.ah {
  position: relative;
  min-height: calc(100svh - 4.2rem);
  overflow: hidden;
  isolation: isolate;
}
.ah__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.ah__shot {
  position: absolute;
  top: 0;
  bottom: 0;
  overflow: hidden;
}
.ah__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ah__shot::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / .08), rgb(0 0 0 / .32) 50%, rgb(0 0 0 / .7));
  pointer-events: none;
}
/*
  Each photo only fills its wedge (not the full viewport), so portrait
  cover shows face+torso like the demo instead of a zoomed ear/shoulder.
  Slash is 64% top → 34% bottom of the full hero.
*/
.ah__shot--spa {
  left: 0;
  width: 66%;
  /* 64/66 ≈ 97%; 34/66 ≈ 51.5% */
  clip-path: polygon(0 0, 97% 0, 51.5% 100%, 0 100%);
}
.ah__shot--spa .ah__photo {
  /* Landscape medium shot: face + pool + waterfall in left wedge */
  object-position: 38% 48%;
}
.ah__shot--gym {
  right: 0;
  width: 70%;
  /* panel starts at 30% of hero; (64-30)/70 ≈ 48.6%; (34-30)/70 ≈ 5.7% */
  clip-path: polygon(48.6% 0, 100% 0, 100% 100%, 5.7% 100%);
}
.ah__shot--gym .ah__photo {
  /* Landscape medium shot: full athlete + ropes + gym in right wedge */
  object-position: 58% 42%;
}
.ah--crop-center .ah__shot--spa .ah__photo { object-position: 38% 48%; }
.ah--crop-center .ah__shot--gym .ah__photo { object-position: 58% 42%; }
.ah--crop-outward .ah__shot--spa .ah__photo { object-position: 100% 48%; }
.ah--crop-outward .ah__shot--gym .ah__photo { object-position: 0% 42%; }
.ah--crop-symmetric .ah__shot--spa .ah__photo,
.ah--crop-symmetric .ah__shot--gym .ah__photo { object-position: 50% 50%; }

/* Tablet: steeper slash (more vertical) so faces stay in their wedges */
@media (max-width: 1100px) and (min-width: 900px) {
  .ah__shot--spa {
    width: 62%;
    /* slash ~58%→42% of hero: 58/62≈93.5%; 42/62≈67.7% */
    clip-path: polygon(0 0, 93.5% 0, 67.7% 100%, 0 100%);
  }
  .ah__shot--gym {
    width: 62%;
    /* panel starts at 38%: (58-38)/62≈32.3%; (42-38)/62≈6.5% */
    clip-path: polygon(32.3% 0, 100% 0, 100% 100%, 6.5% 100%);
  }
  .ah__shot--spa .ah__photo { object-position: 48% 46%; }
  .ah__shot--gym .ah__photo { object-position: 42% 38%; }
  .ah__slash line { display: none; }
  .ah__slash::before {
    content: "";
    position: absolute;
    top: -5%;
    left: 50%;
    width: 2px;
    height: 110%;
    background: var(--mint);
    box-shadow: 0 0 10px rgb(61 220 151 / 0.85);
    transform: translateX(-50%) rotate(8deg);
    transform-origin: center center;
  }
  .ah__col--spa { left: 3%; width: min(46%, 20rem); }
  .ah__col--gym { right: 3%; width: min(46%, 20rem); }
  .ah__card { width: min(52%, 26rem); }
}

.ah__slash {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  filter: drop-shadow(0 0 8px rgb(61 220 151 / .9));
}

.ah__eyebrow {
  position: absolute; z-index: 4; top: 1.1rem; left: 50%; transform: translateX(-50%);
  margin: 0; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.2em;
  text-transform: uppercase; color: #e8eaed; white-space: nowrap;
}
.ah__logo {
  position: absolute; z-index: 4;
  top: 16%; left: 50%; transform: translateX(-50%);
  pointer-events: none;
  text-align: center;
}
/* Trailing letter-spacing widens the box; cancel it so glyphs sit on the same axis as the card. */
.ah__logo .aura-mark__text {
  margin-right: -0.16em;
}
.ah__logo .aura-mark--sm .aura-mark__text { margin-right: -0.14em; }
.ah__logo .aura-mark--lg .aura-mark__text { margin-right: -0.17em; }
.ah__logo .aura-mark--xl .aura-mark__text,
.ah__logo .aura-mark--hero .aura-mark__text { margin-right: -0.18em; }
.ah__logo--bg-panel {
  padding: 0.45em 0.7em;
  border-radius: 0.2rem;
  background: rgb(11 13 16 / 0.62);
  box-shadow: 0 0 40px 24px rgb(11 13 16 / 0.45);
  backdrop-filter: blur(8px);
}
.ah__logo--bg-glow {
  padding: 0.35em 0.55em;
  filter: drop-shadow(0 0 18px rgb(61 220 151 / 0.55));
}
.ah__logo--bg-blur {
  padding: 0.45em 0.7em;
  border-radius: 0.2rem;
  background: rgb(11 13 16 / 0.35);
  backdrop-filter: blur(14px);
}
.ah__logo--bg-none {
  padding: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

/* Slideshow / video media modes */
.ah--slideshow .ah__slides,
.ah--video .ah__videos {
  position: absolute;
  inset: 0;
}
.ah__slide,
.ah__video {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.9s ease;
  pointer-events: none;
}
.ah__slide.is-active,
.ah__video.is-active {
  opacity: 1;
}
.ah__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ah--slideshow .ah__slide::after,
.ah--video .ah__videos::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / .12), rgb(0 0 0 / .35) 45%, rgb(0 0 0 / .72));
  pointer-events: none;
  z-index: 1;
}

/* Card / column positioning overrides */
.ah__card--pos-bottom-center { left: 50%; bottom: 7%; transform: translateX(-50%); }
.ah__card--pos-bottom-left { left: 5%; bottom: 7%; transform: none; }
.ah__card--pos-bottom-right { left: auto; right: 5%; bottom: 7%; transform: none; }
.ah__card--pos-center { left: 50%; top: 50%; bottom: auto; transform: translate(-50%, -50%); }
.ah__card--pos-custom { left: auto; right: auto; top: auto; bottom: auto; transform: none; }

.ah__col--pos-top { top: 18%; bottom: auto; }
.ah__col--pos-center { top: 50%; bottom: auto; transform: translateY(-50%); }
.ah__col--pos-bottom { bottom: 16%; top: auto; }
.ah__col--pos-custom { transform: none; }

.ah__col {
  position: absolute; z-index: 4; width: min(44%, 24rem);
}
.ah__col--spa { left: 4%; bottom: 16%; text-align: left; }
.ah__col--gym { right: 4%; bottom: 16%; text-align: right; }
.ah__h {
  margin: 0 0 0.45rem;
  font: 700 clamp(1.35rem, 2.8vw, 2.15rem)/1.1 var(--ui);
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--mint);
}
.ah__tags {
  margin: 0 0 1rem; font-size: 0.66rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; color: #d5dae2;
}
.ah__card {
  position: absolute; z-index: 5;
  left: 50%; bottom: 7%; transform: translateX(-50%);
  width: min(42%, 28rem);
  padding: 1.25rem 1.2rem;
  background: rgb(10 12 16 / 0.78);
  border: 1px solid rgb(255 255 255 / 0.22);
  border-radius: 0.45rem;
  backdrop-filter: blur(14px);
  text-align: center;
}
.ah__card--opaque {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.ah__card--glow {
  --ah-card-glow: #3ddc97;
  box-shadow:
    0 0 24px 6px color-mix(in srgb, var(--ah-card-glow) 38%, transparent),
    0 0 48px 14px color-mix(in srgb, var(--ah-card-glow) 22%, transparent);
  border-color: color-mix(in srgb, var(--ah-card-glow) 52%, transparent);
}
.ah__card-h {
  margin: 0 0 0.4rem; font: 700 1.05rem/1.2 var(--ui); color: var(--mint);
}
.ah__card-p {
  margin: 0 0 1rem; font-size: 0.88rem; line-height: 1.45; color: var(--muted);
}
.ah__card-btns { display: flex; flex-wrap: wrap; gap: 0.55rem; justify-content: center; }

@media (max-width: 899px) {
  .ah { min-height: auto; }
  /* Vertical stack: full photos, thin mint seam — no soft-diagonal band */
  .ah__media {
    position: relative;
    display: grid;
    grid-template-rows: auto auto;
    height: auto;
    min-height: 0;
  }
  .ah--slideshow .ah__media,
  .ah--video .ah__media {
    display: block;
    min-height: min(70svh, 34rem);
  }
  .ah--slideshow .ah__slides,
  .ah--video .ah__videos {
    position: absolute;
  }
  .ah__shot--spa,
  .ah__shot--gym {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    min-height: 220px;
    max-height: 46svh;
    clip-path: none;
  }
  .ah__shot--spa {
    border-bottom: 2px solid var(--mint);
    box-shadow: 0 0 14px rgb(61 220 151 / 0.4);
  }
  .ah__shot--spa .ah__photo { object-position: 48% 42%; }
  .ah__shot--gym .ah__photo { object-position: 50% 36%; }
  .ah__slash { display: none !important; }
  .ah__logo {
    position: absolute;
    top: 12%;
    left: 50%;
    transform: translateX(-50%);
  }
  .ah__eyebrow {
    position: absolute;
    top: 0.75rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.58rem;
    max-width: calc(100% - 2rem);
    white-space: normal;
    text-align: center;
    z-index: 4;
  }
  .ah__col {
    position: relative; width: auto; left: auto; right: auto; bottom: auto;
    margin: 0; padding: 1.25rem 1.25rem 0; text-align: center;
  }
  .ah__col--spa, .ah__col--gym { text-align: center; }
  .ah__card {
    position: relative; left: auto; bottom: auto; transform: none;
    width: auto; margin: 1rem 1.25rem 1.5rem;
  }
}

@media (max-width: 480px) {
  .ah__shot--spa,
  .ah__shot--gym {
    aspect-ratio: 16 / 11;
    min-height: 200px;
    max-height: 42svh;
  }
  .ah__shot--spa .ah__photo { object-position: 46% 40%; }
  .ah__shot--gym .ah__photo { object-position: 52% 34%; }
  .ah__logo { top: 8%; }
}

/* —— Zones —— */
.az { max-width: 1280px; margin: 0 auto; padding: 3.75rem 1.25rem 2.5rem; }
.az__h {
  margin: 0 0 2.25rem; text-align: center; font-size: 0.76rem; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--text);
}
.az__grid {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 1.85rem;
}
.az__item {
  text-align: center;
  box-sizing: border-box;
  flex: 0 1 100%;
  width: 100%;
  max-width: 100%;
}
.az__ico { display: inline-flex; color: var(--mint); margin-bottom: 0.85rem; }
.az__ico-img {
  display: block;
  width: auto;
  height: 2.75rem;
  object-fit: contain;
}
.az__t {
  margin: 0 0 0.45rem; font-size: 0.74rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--mint);
}
.az__p { margin: 0 auto; max-width: 15.5rem; font-size: 0.86rem; line-height: 1.45; color: var(--muted); }
@media (min-width: 640px) {
  .az__item {
    flex-basis: calc((100% - (var(--gc-cols-md, 2) - 1) * 1.85rem) / var(--gc-cols-md, 2));
    width: calc((100% - (var(--gc-cols-md, 2) - 1) * 1.85rem) / var(--gc-cols-md, 2));
    max-width: calc((100% - (var(--gc-cols-md, 2) - 1) * 1.85rem) / var(--gc-cols-md, 2));
  }
}
@media (min-width: 1024px) {
  .az__item {
    flex-basis: calc((100% - (var(--gc-cols-lg, 5) - 1) * 1.85rem) / var(--gc-cols-lg, 5));
    width: calc((100% - (var(--gc-cols-lg, 5) - 1) * 1.85rem) / var(--gc-cols-lg, 5));
    max-width: calc((100% - (var(--gc-cols-lg, 5) - 1) * 1.85rem) / var(--gc-cols-lg, 5));
  }
}

.al { max-width: 42rem; margin: 0 auto; padding: 2rem 1.25rem 3rem; text-align: center; }
.al__h { margin: 0 0 0.7rem; font: 700 1.35rem/1.2 var(--ui); color: var(--mint); }
.al__p { margin: 0 0 1.2rem; color: var(--muted); }
.al__btns { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; }

/* —— Footer —— */
.aura-footer { border-top: 1px solid #22262e; background: #12151a; padding: 2.5rem 1.25rem 1.2rem; }
.aura-footer__inner { max-width: 1280px; margin: 0 auto; display: grid; gap: 2rem; }
.aura-footer__logo { display: block; margin-bottom: 0.5rem; }
.aura-footer__brand p, .aura-footer__cols p, .aura-footer__cols a {
  color: var(--muted); text-decoration: none; font-size: 0.9rem;
}
.aura-footer__cols a:hover { color: var(--mint); }
.aura-footer__cols { display: grid; gap: 1.5rem; }
.aura-footer__cols ul { list-style: none; margin: 0; padding: 0; }
.aura-footer__cols li + li { margin-top: 0.35rem; }
.aura-footer__title {
  margin: 0 0 0.6rem; font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text);
}
.aura-footer__copy-slot {
  border-top: 1px solid #22262e;
}
.aura-footer__copy {
  margin: 0;
  font-size: 0.75rem;
  color: var(--muted);
  text-align: center;
}
@media (min-width: 768px) {
  .aura-footer__inner { grid-template-columns: 1.2fr 2fr; }
  .aura-footer__cols { grid-template-columns: repeat(3, 1fr); }
}

.aura-mobile-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 55;
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem;
  padding: 0.65rem 0.85rem calc(0.65rem + env(safe-area-inset-bottom));
  background: rgb(11 13 16 / 0.95); border-top: 1px solid #22262e;
}
.aura-mobile-bar__btn {
  display: flex; align-items: center; justify-content: center; padding: 0.75rem;
  text-decoration: none; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; border: 1px solid #2a3038; border-radius: 0.25rem; color: var(--text);
}
.aura-mobile-bar__btn--primary { background: var(--mint); border-color: var(--mint); color: #0b0d10; }
@media (min-width: 1024px) {
  .aura-mobile-bar { display: none; }
  .aura-body { padding-bottom: 0; }
}

/* —— Layout tree slots (CMS page-wrap + Aura) —— */
.aura-layout-topmenu { width: 100%; }
.aura-layout-header.ah-wrap { width: 100%; }
.aura-layout-topcontent { width: 100%; }
.aura-layout-content {
  width: 100%;
  max-width: var(--aura-content-max, 1280px);
  margin: 0 auto;
  padding: 2rem clamp(1rem, 3vw, 2rem);
}
.aura-layout-mid { width: 100%; max-width: var(--aura-content-max, 1280px); margin: 0 auto; }
.aura-body.layout-width-full .aura-layout-mid { max-width: none; }

/*
  Footer row: keep the layout-tree 12-col grid (spans from builder sizes).
  Do NOT override grid-template-columns — that forced span-3 children to wrap
  into a single column on a 4-track grid.
*/
.layout-tree .layout-split--row.aura-footer,
.layout-tree .layout-split--row.aura-footer__inner {
  width: 100%;
  max-width: var(--aura-content-max, 1280px);
  margin-left: auto;
  margin-right: auto;
  padding: 2.5rem clamp(1rem, 3vw, 2rem) 1.2rem;
  background: #12151a;
  border-top: 1px solid #22262e;
  gap: 1.5rem 2rem;
  align-items: start;
}
.layout-tree .aura-footer .layout-block,
.layout-tree .aura-footer__inner .layout-block {
  padding: 0;
}
.layout-tree .aura-footer .widget,
.layout-tree .aura-footer__inner .widget {
  padding: 0;
}

/* Full-width site setting: drop the 1280px content rail */
.aura-body.layout-width-full {
  --aura-content-max: none;
}
.aura-body.layout-width-full .az,
.aura-body.layout-width-full .features,
.aura-body.layout-width-full .aura-footer__inner {
  max-width: none;
  width: 100%;
}
.aura-body.layout-width-full .al {
  max-width: min(42rem, 100%);
}

.aura-nav__list a.is-current {
  color: var(--mint);
  border-bottom-color: var(--mint);
}

.ab--full { width: 100%; }

.aura-manifesto {
  max-width: 40rem;
  margin: 0 auto;
  text-align: center;
}
.aura-manifesto__kicker {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mint);
}
.aura-manifesto__h {
  margin: 0 0 0.9rem;
  font: 700 clamp(1.35rem, 3vw, 1.9rem)/1.25 var(--ui);
  color: var(--text);
}
.aura-manifesto p {
  margin: 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.55;
}

.aura-body .gallery-heading {
  color: var(--mint);
  font-family: var(--ui);
  margin: 0 0 1.25rem;
  text-align: center;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.aura-body .gallery-heading a { color: var(--mint); text-decoration: none; }
.aura-body .gallery-heading a:hover { color: var(--text); }
.aura-body .gallery-grid__item {
  display: flex;
  flex-direction: column;
  border-color: #22262e;
  background: #12151a;
  color: inherit;
  text-decoration: none;
}
.aura-body .gallery-grid__cap {
  display: block;
  padding: 0.65rem 0.75rem 0.85rem;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  color: var(--muted);
  background: #12151a;
}
.aura-body .gallery-slider {
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
}
.aura-body .gallery-slider__overlay {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 3;
  padding: 2.5rem 1.5rem 2.75rem;
  background: linear-gradient(to top, rgba(8, 10, 12, 0.92) 0%, rgba(8, 10, 12, 0.55) 55%, transparent 100%);
  text-align: center;
  pointer-events: none;
}
.aura-body .gallery-slider__overlay-title {
  margin: 0 0 0.6rem;
  font-family: var(--ui);
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
}
.aura-body .gallery-slider__overlay-text {
  margin: 0 auto 1.1rem;
  max-width: 38rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.45;
}
.aura-body .gallery-slider__overlay-text p { margin: 0; }
.aura-body .gallery-slider__overlay-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
  pointer-events: auto;
}
.aura-body .gallery-slider__dots { z-index: 4; }

.aura-body .cta {
  border-color: #22262e;
  background: #12151a;
  padding: 2rem 1.25rem;
  text-align: center;
}
.aura-body .cta__title {
  color: var(--mint);
  font-size: 1.35rem;
}
.aura-body .cta__text {
  color: var(--muted);
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}
.aura-body .cta--align-center .ab { margin-left: auto; margin-right: auto; }

.aura-body .img-btn {
  border-color: #22262e;
  background: #12151a;
}
.aura-body .img-btn__title { color: var(--text); font-size: 1.35rem; }
.aura-body .img-btn__text { color: var(--muted); }
.aura-body .img-btn__img { height: 100%; min-height: 220px; object-fit: cover; }

.aura-body .prose h1,
.aura-body .prose h2,
.aura-body .prose h3 { color: var(--text); border-bottom-color: #22262e; }
.aura-body .prose p,
.aura-body .prose li { color: var(--muted); }
.aura-body .prose strong { color: var(--text); }
.aura-body .prose a { color: var(--mint); }

.aura-stub {
  max-width: 40rem;
}
.aura-stub ul { padding-left: 1.1rem; }

/* Title/Text — компактная колонка по центру (как manifesto);
   список внутри колонки слева. Не трогает .aura-manifesto / rich text. */
.aura-body .prose.aura-text-block,
.aura-body .aura-text-block.prose {
  max-width: 70rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
  text-align: left;
}
.aura-body .aura-text-block__prose {
  max-width: 100%;
}
.aura-body .prose.aura-text-block > h2.aura-text-block__title,
.aura-body .aura-text-block__prose > h2.aura-text-block__title {
  margin: 0 0 1rem;
  padding: 0;
  border: 0 !important;
  border-bottom: none !important;
  font: 700 clamp(1.35rem, 3vw, 1.85rem)/1.25 var(--ui);
  color: var(--text);
  letter-spacing: 0.02em;
  text-align: center;
  text-shadow:
    0 0 18px rgb(61 220 151 / 0.35),
    0 0 42px rgb(61 220 151 / 0.18);
}
.aura-body .aura-text-block__prose p,
.aura-body .aura-text-block__prose li {
  color: var(--muted);
}
.aura-body .aura-text-block__prose strong {
  color: var(--text);
}
.aura-body .aura-text-block__prose ul,
.aura-body .aura-text-block__prose ol {
  margin: 0.85em 0;
  padding-left: 1.15rem;
  text-align: left;
  list-style-position: outside;
}
.aura-body .aura-text-block__prose .ql-align-center {
  text-align: center;
}


