/* =====================================================================
   MOMENT MOCY — wygląd całej strony
   ---------------------------------------------------------------------
   Opowieść kolorem: strona zaczyna się nocą pod gwiazdami, przechodzi
   przez fiołkowy zmierzch i różany świt do jasnego, pergaminowego dnia,
   a kończy wschodem słońca. Przemiana, o której mówi marka, dzieje się
   też w kolorze, gdy przewijasz.

   Kroje: Cormorant Garamond (tytuły), Marcellus (kapitaliki, etykiety),
   Jost (tekst).

   Spis:  1 tokeny  2 baza  3 niebo i aura  4 belka i menu  5 przyciski
          6 typografia sekcji  7 hero  8 zdjęcia  9 sekcje strony
          głównej  10 podstrony  11 kontakt  12 stopka  13 cookies
          14 animacje wejścia  15 telefon  16 ograniczony ruch
   ===================================================================== */

/* 1 · TOKENY ---------------------------------------------------------- */
:root {
    --mm-night:     #0c0a1b;
    --mm-night-2:   #141029;
    --mm-indigo:    #221a45;
    --mm-violet:    #3d2a63;
    --mm-plum:      #5a3d72;
    --mm-amethyst:  #9a7fd1;
    --mm-lilac:     #cbb8ec;
    --mm-rose:      #e3a9b4;
    --mm-rose-deep: #a8546f;
    --mm-peach:     #f2c6a0;
    --mm-gold:      #e6c47e;
    --mm-gold-2:    #c99a4b;
    --mm-gold-ink:  #8a5e1f;
    --mm-moon:      #f5efe4;
    --mm-day:       #f8f2ea;
    --mm-day-2:     #efe5d7;
    --mm-ink:       #261d3a;
    --mm-ink-dim:   #5d5272;

    --mm-serif: 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
    --mm-caps:  'Marcellus', 'Cormorant Garamond', Georgia, serif;
    --mm-sans:  'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --mm-ease: cubic-bezier(.2, .7, .2, 1);
    --mm-wrap: 1240px;
    --mm-bar-wrap: 1360px;   /* szerokość menu — także terminarze (.mm-wrap--bar) */
    --mm-gutter: clamp(16px, 4vw, 40px);

    /* kontekst nocny (domyślny) — sekcje jasne nadpisują te zmienne */
    --fg:      var(--mm-moon);
    --fg-dim:  rgba(245, 239, 228, .74);
    --fg-soft: rgba(245, 239, 228, .5);
    --accent:  var(--mm-gold);
    --line:    rgba(230, 196, 126, .22);
    --glass:   rgba(255, 255, 255, .045);
    --em-grad: linear-gradient(100deg, #f3d99b 0%, #e6c47e 30%, #e3a9b4 62%, #cbb8ec 100%);
}

.mm-day, .mm-parchment, .mm-sunrise, .mm-legal-wrap {
    --fg:      var(--mm-ink);
    --fg-dim:  var(--mm-ink-dim);
    --fg-soft: rgba(38, 29, 58, .5);
    --accent:  var(--mm-gold-ink);
    --line:    rgba(38, 29, 58, .13);
    --glass:   rgba(255, 255, 255, .55);
    --em-grad: linear-gradient(100deg, #8a5e1f 0%, #a8546f 55%, #5e4596 100%);
    color: var(--fg);
}

/* 2 · BAZA ------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background: var(--mm-night);
    color: var(--fg);
    font-family: var(--mm-sans);
    font-weight: 300;
    font-size: 17px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; }
strong, b { font-weight: 500; }
::selection { background: rgba(230, 196, 126, .35); color: inherit; }

.mm-skip {
    position: absolute; left: 16px; top: -60px; z-index: 200;
    background: var(--mm-gold); color: var(--mm-ink);
    padding: 10px 18px; border-radius: 999px; text-decoration: none;
}
.mm-skip:focus { top: 16px; }

:focus-visible { outline: 2px solid var(--mm-gold); outline-offset: 3px; border-radius: 4px; }

.mm-wrap {
    width: 100%;
    max-width: var(--mm-wrap);
    margin: 0 auto;
    padding: 0 var(--mm-gutter);
}
.mm-wrap--narrow { max-width: 900px; }
.mm-wrap--bar { max-width: var(--mm-bar-wrap); }   /* od logo do „Kontakt” */
.mm-center { text-align: center; }

main { position: relative; z-index: 1; }

/* 3 · NIEBO I AURA ---------------------------------------------------- */
.mm-sky {
    position: fixed; inset: 0; z-index: -2;
    background:
        radial-gradient(ellipse 80% 60% at 50% 0%, #2a1f55 0%, transparent 65%),
        radial-gradient(ellipse 60% 50% at 85% 85%, rgba(168, 84, 111, .22) 0%, transparent 60%),
        linear-gradient(180deg, #120e27 0%, var(--mm-night) 60%);
    overflow: hidden;
    pointer-events: none;
}
.mm-stars { position: absolute; inset: 0; width: 100%; height: 100%; }
.mm-nebula {
    position: absolute; border-radius: 50%;
    filter: blur(80px); opacity: .45;
    animation: mm-drift 38s ease-in-out infinite alternate;
}
.mm-nebula--1 { width: 46vw; height: 46vw; left: -12vw; top: 18vh; background: radial-gradient(circle, rgba(154, 127, 209, .55), transparent 70%); }
.mm-nebula--2 { width: 38vw; height: 38vw; right: -10vw; top: -8vh; background: radial-gradient(circle, rgba(230, 196, 126, .28), transparent 70%); animation-duration: 46s; }

@keyframes mm-drift {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to   { transform: translate3d(6vw, 4vh, 0) scale(1.15); }
}

.mm-aura {
    position: fixed; z-index: 0; left: 0; top: 0;
    width: 520px; height: 520px; margin: -260px 0 0 -260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(230, 196, 126, .10) 0%, rgba(154, 127, 209, .06) 35%, transparent 70%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .6s;
    will-change: transform;
}
.mm-aura.is-on { opacity: 1; }

/* 4 · BELKA I MENU ---------------------------------------------------- */
.mm-bar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    transition: padding .4s;
    padding: 18px 0;
}
/* Tło paska na osobnej warstwie: backdrop-filter na samym pasku zamknąłby
   w nim pełnoekranowe menu telefonu (position: fixed liczy się wtedy od paska). */
.mm-bar::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: rgba(12, 10, 27, .78);
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    backdrop-filter: blur(16px) saturate(140%);
    box-shadow: 0 1px 0 rgba(230, 196, 126, .14);
    opacity: 0; transition: opacity .5s;
}
.mm-bar.is-scrolled { padding: 10px 0; }
.mm-bar.is-scrolled::before { opacity: 1; }
.mm-bar-inner {
    max-width: var(--mm-bar-wrap); margin: 0 auto; padding: 0 var(--mm-gutter);
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
}

.mm-brand {
    display: flex; align-items: center; gap: 14px;
    text-decoration: none; color: var(--mm-moon);
}
.mm-wordmark { display: flex; flex-direction: column; line-height: 1.1; }
.mm-wordmark-name {
    font-family: var(--mm-caps); font-size: 19px; letter-spacing: .22em; text-transform: uppercase;
}
.mm-wordmark-tag {
    font-family: var(--mm-serif); font-style: italic; font-size: 14px;
    color: var(--mm-gold); letter-spacing: .04em; margin-top: 3px;
}

.mm-nav { display: flex; align-items: center; gap: 6px; }
.mm-nav-link {
    position: relative;
    font-family: var(--mm-caps); font-size: 13px; letter-spacing: .18em; text-transform: uppercase;
    color: rgba(245, 239, 228, .82); text-decoration: none;
    padding: 10px 14px; background: none; border: 0; cursor: pointer;
    transition: color .3s;
}
.mm-nav-link::after {
    content: ''; position: absolute; left: 50%; bottom: 4px;
    width: 4px; height: 4px; border-radius: 50%; background: var(--mm-gold);
    transform: translateX(-50%) scale(0); transition: transform .35s var(--mm-ease);
    box-shadow: 0 0 10px var(--mm-gold);
}
.mm-nav-link:hover, .mm-nav-link.is-active, .mm-nav-drop.is-active > .mm-nav-link { color: var(--mm-gold); }
.mm-nav-link:hover::after, .mm-nav-link.is-active::after, .mm-nav-drop.is-active > .mm-nav-link::after { transform: translateX(-50%) scale(1); }

.mm-nav-caret {
    display: inline-block; width: 6px; height: 6px; margin-left: 6px;
    border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
    transform: translateY(-3px) rotate(45deg); transition: transform .3s;
}
.mm-nav-drop { position: relative; }
.mm-nav-drop.is-open .mm-nav-caret { transform: translateY(0) rotate(-135deg); }

.mm-nav-panel {
    position: absolute; top: calc(100% + 12px); left: 50%;
    width: 360px; padding: 10px;
    transform: translate(-50%, 8px);
    background: rgba(20, 16, 41, .94);
    -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
    border: 1px solid rgba(230, 196, 126, .2); border-radius: 22px;
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6), 0 0 40px -10px rgba(154, 127, 209, .35);
    opacity: 0; visibility: hidden; transition: opacity .3s, transform .3s var(--mm-ease), visibility .3s;
}
.mm-nav-drop:hover .mm-nav-panel,
.mm-nav-drop.is-open .mm-nav-panel,
.mm-nav-drop:focus-within .mm-nav-panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.mm-nav-drop::before { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 14px; }

.mm-nav-path {
    display: grid; grid-template-columns: 26px 38px 1fr; align-items: center; gap: 10px;
    padding: 12px 14px; border-radius: 14px; text-decoration: none; color: var(--mm-moon);
    transition: background .25s;
}
.mm-nav-path:hover, .mm-nav-path.is-active { background: rgba(230, 196, 126, .08); }
.mm-nav-path-num { font-family: var(--mm-serif); font-style: italic; color: var(--mm-gold); font-size: 18px; }
.mm-nav-path-ico { width: 34px; height: 34px; color: var(--mm-gold); }
.mm-nav-path-text strong { display: block; font-family: var(--mm-serif); font-size: 21px; font-weight: 500; line-height: 1.2; }
.mm-nav-path-text small { display: block; font-size: 13px; color: rgba(245, 239, 228, .6); }

.mm-nav-cta { margin-left: 10px; }
.mm-nav-mobile-only, .mm-nav .mm-nav-moons { display: none; }

.mm-burger {
    display: none; width: 46px; height: 46px; border-radius: 50%;
    border: 1px solid rgba(230, 196, 126, .4); background: rgba(12, 10, 27, .4);
    cursor: pointer; position: relative; z-index: 120;
}
.mm-burger span {
    position: absolute; left: 13px; right: 13px; height: 1px; background: var(--mm-gold);
    transition: transform .35s var(--mm-ease), opacity .25s;
}
.mm-burger span:nth-child(1) { top: 17px; }
.mm-burger span:nth-child(2) { top: 22px; right: 18px; }
.mm-burger span:nth-child(3) { top: 27px; }
.mm-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.mm-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mm-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* 5 · PRZYCISKI I LINKI ----------------------------------------------- */
.mm-btn {
    position: relative; overflow: hidden;
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 15px 30px; border-radius: 999px;
    font-family: var(--mm-caps); font-size: 13px; letter-spacing: .16em; text-transform: uppercase;
    text-decoration: none; cursor: pointer; border: 1px solid transparent;
    transition: transform .35s var(--mm-ease), box-shadow .35s, background .35s, color .35s, border-color .35s;
}
.mm-btn:hover { transform: translateY(-2px); }

.mm-btn--glow {
    color: var(--mm-ink);
    background: linear-gradient(110deg, #f3d99b, #e6c47e 40%, #e8b2a6 100%);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .25) inset, 0 10px 40px -10px rgba(230, 196, 126, .7);
}
.mm-btn--glow::before {
    content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .65), transparent);
    transform: skewX(-20deg); transition: left .8s var(--mm-ease);
}
.mm-btn--glow:hover::before { left: 130%; }
.mm-btn--glow:hover { box-shadow: 0 0 0 1px rgba(255, 255, 255, .35) inset, 0 16px 50px -10px rgba(230, 196, 126, .9); }

.mm-btn--ghost { color: var(--mm-moon); border-color: rgba(230, 196, 126, .5); background: rgba(12, 10, 27, .25); }
.mm-btn--ghost:hover { border-color: var(--mm-gold); color: var(--mm-gold); }

.mm-btn--ink { color: var(--mm-moon); background: var(--mm-ink); box-shadow: 0 14px 34px -14px rgba(38, 29, 58, .7); }
.mm-btn--ink:hover { background: #352851; }
.mm-btn--ghost-ink { color: var(--mm-ink); border-color: rgba(38, 29, 58, .35); }
.mm-btn--ghost-ink:hover { border-color: var(--mm-ink); background: rgba(38, 29, 58, .05); }

.mm-link {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--mm-caps); font-size: 13px; letter-spacing: .16em; text-transform: uppercase;
    color: var(--accent); text-decoration: none;
    background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
    padding-bottom: 4px; transition: background-size .45s var(--mm-ease);
}
.mm-link:hover { background-size: 100% 1px; }
.mm-link span { transition: transform .35s var(--mm-ease); }
.mm-link:hover span { transform: translateX(4px); }

/* 6 · TYPOGRAFIA SEKCJI ----------------------------------------------- */
.mm-section { position: relative; padding: clamp(90px, 11vw, 160px) 0; }
.mm-paths + .mm-dawn { padding-top: clamp(40px, 6vw, 90px); }
.mm-day + .mm-day { padding-top: 0; }

.mm-eyebrow {
    display: inline-flex; align-items: center; gap: 14px;
    margin: 0 0 18px;
    font-family: var(--mm-caps); font-size: 13px; letter-spacing: .32em; text-transform: uppercase;
    color: var(--accent);
}
.mm-eyebrow::before, .mm-eyebrow::after {
    content: ''; width: 28px; height: 1px; background: currentColor; opacity: .55;
}
.mm-head--left .mm-eyebrow::after, .mm-split-text .mm-eyebrow::after,
.mm-manifest-text .mm-eyebrow::after, .mm-experience-text .mm-eyebrow::after,
.mm-cert-text .mm-eyebrow::after, .mm-guide-text .mm-eyebrow::after,
.mm-contact-intro .mm-eyebrow::after, .mm-circle-head .mm-eyebrow::after { display: none; }

.mm-title {
    margin: 0 0 22px;
    font-family: var(--mm-serif); font-weight: 300;
    font-size: clamp(40px, 5.4vw, 72px); line-height: 1.04; letter-spacing: -.01em;
    color: var(--fg);
}
.mm-title--xl { font-size: clamp(38px, 4.6vw, 64px); }
.mm-title--hero { font-size: clamp(46px, 7vw, 100px); line-height: .98; }
.mm-title em, .mm-pagehero-title em, .mm-hero-title-b {
    font-style: italic; font-weight: 400;
    background: var(--em-grad); -webkit-background-clip: text; background-clip: text;
    color: transparent;
    padding-right: .06em;
}

.mm-lead { margin: 0 auto; max-width: 680px; font-size: clamp(17px, 1.5vw, 19px); color: var(--fg-dim); }
.mm-body { margin: 0 0 18px; color: var(--fg-dim); font-size: 17.5px; }
.mm-body strong { color: var(--fg); }

.mm-head { margin: 0 auto clamp(48px, 6vw, 80px); max-width: 820px; }
.mm-head--center { text-align: center; }

.mm-note { margin: 40px auto 0; max-width: 720px; text-align: center; font-size: 15px; color: var(--fg-soft); }
.mm-note a { color: var(--accent); }

/* Jasne konteksty — tła sekcji */
.mm-day { background: var(--mm-day); }
.mm-parchment {
    background:
        radial-gradient(ellipse 60% 80% at 15% 20%, rgba(230, 196, 126, .22), transparent 60%),
        radial-gradient(ellipse 50% 70% at 90% 90%, rgba(227, 169, 180, .2), transparent 60%),
        var(--mm-day-2);
}

/* Zmierzch: z nocy w fiolet */
.mm-paths { background: linear-gradient(180deg, transparent 0%, rgba(34, 26, 69, .55) 22%, #2a1d47 100%); }

/* Świt: fiolet → śliwka, a na dole horyzont przechodzący w pergamin */
.mm-dawn {
    background: linear-gradient(180deg, #2a1d47 0%, #3d2a63 45%, var(--mm-plum) 100%);
    padding-bottom: calc(clamp(90px, 11vw, 160px) + 140px);
}
.mm-horizon { padding-bottom: calc(clamp(90px, 11vw, 160px) + 140px); }
.mm-dawn::after, .mm-horizon::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 200px;
    background: linear-gradient(180deg, rgba(90, 61, 114, 0) 0%, #b07a8e 35%, #e9b9a5 62%, #f6dfcb 82%, var(--mm-day) 100%);
    pointer-events: none;
}
.mm-dawn::before, .mm-horizon::before {
    content: ''; position: absolute; left: 50%; bottom: 40px; width: min(900px, 90vw); height: 160px;
    transform: translateX(-50%);
    background: radial-gradient(ellipse at 50% 100%, rgba(255, 222, 170, .75), transparent 70%);
    filter: blur(10px); pointer-events: none; z-index: 1;
}
.mm-dawn > .mm-wrap, .mm-horizon > .mm-wrap { position: relative; z-index: 2; }

/* 7 · HERO ------------------------------------------------------------ */
.mm-hero {
    position: relative; min-height: 100vh; min-height: 100svh;
    display: grid; place-items: center; text-align: center;
    padding: 130px var(--mm-gutter) 140px; overflow: hidden;
}
.mm-hero-geo { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; }
.mm-hero-mandala {
    width: min(1040px, 135vw); height: auto; color: var(--mm-gold); opacity: .2;
    animation: mm-spin 240s linear infinite;
}
.mm-hero-mandala .mm-mandala-dash { animation: mm-spin 90s linear infinite reverse; transform-origin: 200px 200px; }
.mm-hero-orb {
    position: absolute; width: 380px; height: 380px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 228, 175, .32) 0%, rgba(230, 196, 126, .12) 30%, rgba(154, 127, 209, .08) 55%, transparent 70%);
    animation: mm-breathe 8s ease-in-out infinite;
}
@keyframes mm-spin { to { transform: rotate(360deg); } }
@keyframes mm-breathe { 0%, 100% { transform: scale(.9); opacity: .75; } 50% { transform: scale(1.15); opacity: 1; } }

.mm-hero-inner { position: relative; z-index: 2; max-width: 960px; }

.mm-hero-title { margin: 6px 0 0; font-weight: 300; line-height: .9; }
.mm-hero-title-a {
    display: block;
    font-family: var(--mm-caps); font-size: clamp(18px, 2.6vw, 30px);
    letter-spacing: .72em; margin-right: -.72em; text-transform: uppercase;
    color: var(--mm-moon);
}
.mm-hero-title-b {
    display: block;
    font-family: var(--mm-serif); font-size: clamp(110px, 21vw, 270px); line-height: .92;
    letter-spacing: -.02em;
    background-size: 200% 100%;
    animation: mm-shimmer 9s ease-in-out infinite alternate;
    filter: drop-shadow(0 0 40px rgba(230, 196, 126, .25));
}
@keyframes mm-shimmer { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }

.mm-hero-verbs {
    display: flex; justify-content: center; flex-wrap: wrap; gap: .2em 1.1em;
    margin: 6px 0 26px;
    font-family: var(--mm-serif); font-style: italic; font-size: clamp(26px, 3.2vw, 40px);
    color: var(--mm-moon);
}
.mm-verb { opacity: 0; filter: blur(12px); animation: mm-verb 1.6s var(--mm-ease) forwards; }
.mm-verb + .mm-verb::before { content: '·'; margin-right: 1.1em; color: var(--mm-gold); font-style: normal; }
.mm-verb-1 { animation-delay: 1.1s; }
.mm-verb-2 { animation-delay: 1.7s; }
.mm-verb-3 { animation-delay: 2.3s; color: var(--mm-gold); }
@keyframes mm-verb { to { opacity: 1; filter: blur(0); } }

.mm-hero-lead {
    margin: 0 auto 36px; max-width: 640px;
    font-size: clamp(17px, 1.6vw, 20px); color: var(--fg-dim);
}
.mm-hero-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.mm-hero-cta--left { justify-content: flex-start; }

/* Oddech — wskazówka przewijania */
.mm-breath {
    position: absolute; left: 50%; bottom: 34px; transform: translateX(-50%); z-index: 2;
    display: grid; place-items: center; width: 70px; height: 70px; text-decoration: none;
}
.mm-breath-ring {
    position: absolute; inset: 14px; border-radius: 50%;
    border: 1px solid rgba(230, 196, 126, .6);
    box-shadow: 0 0 22px rgba(230, 196, 126, .35);
    animation: mm-inhale 8s ease-in-out infinite;
}
.mm-breath-word {
    position: relative; font-family: var(--mm-serif); font-style: italic; font-size: 14px; color: var(--mm-gold);
    width: 60px; height: 20px; text-align: center;
}
.mm-breath-word span { position: absolute; inset: 0; animation: mm-word-a 8s ease-in-out infinite; }
.mm-breath-word span + span { animation-name: mm-word-b; }
@keyframes mm-inhale { 0%, 100% { transform: scale(.75); } 50% { transform: scale(1.35); } }
@keyframes mm-word-a { 0%, 45% { opacity: 1; } 50%, 95% { opacity: 0; } 100% { opacity: 1; } }
@keyframes mm-word-b { 0%, 45% { opacity: 0; } 50%, 95% { opacity: 1; } 100% { opacity: 0; } }

/* Wejście elementów hero (bez czekania na przewinięcie) */
.mm-rise { opacity: 0; transform: translateY(22px); animation: mm-rise 1.3s var(--mm-ease) forwards; }
.mm-rise-1 { animation-delay: .15s; }
.mm-rise-2 { animation-delay: .4s; }
.mm-rise-3 { animation-delay: .65s; }
.mm-rise-4 { animation-delay: .9s; }
.mm-rise-5 { animation-delay: 2.6s; }
.mm-rise-6 { animation-delay: 2.9s; }
@keyframes mm-rise { to { opacity: 1; transform: none; } }

/* Hero podstron */
.mm-pagehero {
    position: relative; overflow: hidden; text-align: center;
    min-height: 78vh; display: grid; place-items: center;
    padding: 150px 0 110px;
}
.mm-pagehero .mm-hero-mandala { width: min(820px, 120vw); opacity: .16; }
.mm-pagehero.mm-horizon { padding-bottom: 270px; }
.mm-pagehero-inner { position: relative; z-index: 2; }
.mm-pagehero-title {
    margin: 0 0 22px; font-family: var(--mm-serif); font-weight: 300;
    font-size: clamp(46px, 7vw, 100px); line-height: 1; letter-spacing: -.015em;
}
.mm-pagehero-ico {
    display: block; width: 64px; height: 64px; margin: 0 auto 14px; color: var(--mm-gold);
    filter: drop-shadow(0 0 14px rgba(230, 196, 126, .6));
}
.mm-pagehero .mm-moons { margin-top: 30px; }

/* 8 · ZDJĘCIA I LOGO -------------------------------------------------- */
.mm-photo {
    position: relative; margin: 0; overflow: hidden; isolation: isolate;
    border-radius: 22px; aspect-ratio: 4 / 5;
    background: rgba(255, 255, 255, .03);
}
.mm-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--mm-ease); }
.mm-photo--arch     { aspect-ratio: 3 / 4.1; border-radius: 9999px 9999px 0 0; }
.mm-photo--circle   { aspect-ratio: 1; border-radius: 50%; }
.mm-photo--oval     { aspect-ratio: 3 / 4; border-radius: 50%; }
.mm-photo--portrait { aspect-ratio: 4 / 5; }
.mm-photo--landscape{ aspect-ratio: 16 / 10; }
.mm-photo--square   { aspect-ratio: 1; }
.mm-photo--wide     { aspect-ratio: 21 / 9; }
.mm-photo--tall     { aspect-ratio: 3 / 4; }
.mm-photo figcaption {
    position: absolute; left: 16px; bottom: 14px; font-family: var(--mm-serif); font-style: italic; color: #fff;
}

/* Zastępnik — dopóki nie ma pliku */
.mm-photo.is-empty {
    background:
        radial-gradient(circle at 30% 20%, rgba(230, 196, 126, .22), transparent 55%),
        radial-gradient(circle at 80% 85%, rgba(227, 169, 180, .24), transparent 55%),
        linear-gradient(160deg, rgba(61, 42, 99, .85), rgba(34, 26, 69, .92));
}
.mm-day .mm-photo.is-empty, .mm-parchment .mm-photo.is-empty, .mm-sunrise .mm-photo.is-empty {
    background:
        radial-gradient(circle at 30% 20%, rgba(230, 196, 126, .35), transparent 55%),
        radial-gradient(circle at 80% 85%, rgba(227, 169, 180, .35), transparent 55%),
        linear-gradient(160deg, #efe3d3, #e6d8ea);
}
.mm-photo.is-empty::after {
    content: ''; position: absolute; inset: 10px; border-radius: inherit;
    border: 1px dashed rgba(230, 196, 126, .45); pointer-events: none;
}
.mm-day .mm-photo.is-empty::after, .mm-parchment .mm-photo.is-empty::after { border-color: rgba(138, 94, 31, .35); }

.mm-photo-ph {
    position: absolute; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    padding: 18% 14% 12%; text-align: center; color: var(--fg);
}
.mm-photo-ph-geo {
    position: absolute; width: 90%; left: 5%; top: 50%; transform: translateY(-50%);
    color: var(--accent); opacity: .16; animation: mm-spin 160s linear infinite;
}
.mm-photo-ph-icon { position: relative; width: 30px; height: 30px; color: var(--accent); }
.mm-photo-ph-label {
    position: relative; font-family: var(--mm-caps); font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--accent);
}
.mm-photo-ph-hint {
    position: relative; font-family: var(--mm-serif); font-style: italic; font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.35; color: var(--fg-dim); max-width: 26ch;
}
.mm-photo-ph-file {
    position: relative; margin-top: 4px;
    font-family: ui-monospace, Consolas, monospace; font-size: 10.5px; color: var(--fg-soft); word-break: break-all;
}
.mm-photo--circle .mm-photo-ph, .mm-photo--oval .mm-photo-ph { padding: 20%; }
.mm-photo--square .mm-photo-ph-hint, .mm-photo--circle .mm-photo-ph-hint { font-size: 15px; }


/* Ozdobniki */
.mm-moons { display: flex; justify-content: center; align-items: center; gap: 16px; color: var(--mm-gold); }
.mm-moon { width: 20px; height: 20px; opacity: .85; }
.mm-moon.is-full { width: 26px; height: 26px; filter: drop-shadow(0 0 10px rgba(230, 196, 126, .9)); opacity: 1; }

.mm-chakras { display: flex; justify-content: center; gap: 14px; margin: 6px 0 26px; }
.mm-chakra { width: 12px; height: 12px; border-radius: 50%; animation: mm-pulse 4s ease-in-out infinite; }
.mm-chakra--1 { background: #d6455b; animation-delay: 0s;   box-shadow: 0 0 14px #d6455b; }
.mm-chakra--2 { background: #ec8a47; animation-delay: .25s; box-shadow: 0 0 14px #ec8a47; }
.mm-chakra--3 { background: #f1cb4f; animation-delay: .5s;  box-shadow: 0 0 14px #f1cb4f; }
.mm-chakra--4 { background: #6fbf7e; animation-delay: .75s; box-shadow: 0 0 14px #6fbf7e; }
.mm-chakra--5 { background: #58a8e0; animation-delay: 1s;   box-shadow: 0 0 14px #58a8e0; }
.mm-chakra--6 { background: #6f69d8; animation-delay: 1.25s;box-shadow: 0 0 14px #6f69d8; }
.mm-chakra--7 { background: #c08ae8; animation-delay: 1.5s; box-shadow: 0 0 14px #c08ae8; }
@keyframes mm-pulse { 0%, 100% { transform: scale(.8); opacity: .7; } 50% { transform: scale(1.2); opacity: 1; } }

.mm-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 26px; }
.mm-chip {
    font-family: var(--mm-caps); font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
    color: var(--fg); text-decoration: none; cursor: pointer;
    padding: 9px 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--glass);
    transition: border-color .3s, color .3s, background .3s;
}
.mm-chip:hover, .mm-chip.is-on { border-color: var(--accent); color: var(--accent); }

.mm-tags { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.mm-tags li {
    font-family: var(--mm-caps); font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
    padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); color: var(--fg);
    background: var(--glass);
}

.mm-checks { list-style: none; padding: 0; margin: 10px 0 30px; }
.mm-checks li { position: relative; padding: 8px 0 8px 30px; color: var(--fg-dim); border-bottom: 1px solid var(--line); }
.mm-checks li::before {
    content: '✦'; position: absolute; left: 4px; top: 8px; color: var(--accent); font-size: 13px;
}
.mm-checks strong { color: var(--fg); }

/* 9 · SEKCJE STRONY GŁÓWNEJ ------------------------------------------- */

/* Manifest */
.mm-manifest-grid { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(40px, 7vw, 110px); align-items: center; }
.mm-manifest-media { position: relative; max-width: 480px; }
.mm-manifest-media .mm-photo { box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(230, 196, 126, .18); }
.mm-manifest-badge {
    position: absolute; right: -34px; bottom: 60px;
    width: 128px; height: 128px; border-radius: 50%;
    display: grid; place-items: center; text-align: center; align-content: center; gap: 4px;
    background: rgba(20, 16, 41, .75); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border: 1px solid rgba(230, 196, 126, .45);
    font-family: var(--mm-serif); font-style: italic; font-size: 17px; line-height: 1.1; color: var(--mm-gold);
    box-shadow: 0 0 40px -8px rgba(230, 196, 126, .5);
    animation: mm-float 7s ease-in-out infinite;
}
.mm-manifest-badge .mm-symbol { width: 26px; height: 26px; margin: 0 auto; }
@keyframes mm-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

.mm-moments { list-style: none; padding: 0; margin: 30px 0; }
.mm-moments li {
    display: flex; align-items: center; gap: 18px;
    padding: 14px 0; border-bottom: 1px solid var(--line);
    font-family: var(--mm-serif); font-style: italic; font-size: clamp(22px, 2.2vw, 29px); line-height: 1.25;
}
.mm-moments-dot {
    flex: none; width: 9px; height: 9px; border-radius: 50%;
    background: var(--mm-gold); box-shadow: 0 0 0 4px rgba(230, 196, 126, .12), 0 0 16px var(--mm-gold);
}
.mm-manifest-close { margin: 0 0 26px; font-size: 18px; color: var(--fg-dim); }
.mm-manifest-close strong {
    display: block; margin-top: 6px;
    font-family: var(--mm-serif); font-style: italic; font-weight: 400; font-size: clamp(30px, 3vw, 40px);
    background: var(--em-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Cytat ze światłem */
.mm-glowquote { text-align: center; padding-top: 40px; }
.mm-glowquote .mm-moons { margin-bottom: 40px; }
.mm-glowquote-text {
    margin: 0; font-family: var(--mm-serif); font-weight: 300;
    font-size: clamp(28px, 3.6vw, 48px); line-height: 1.32; color: var(--mm-moon);
}
.mm-shine {
    font-style: italic; font-weight: 400;
    background: linear-gradient(100deg, #f3d99b, #e3a9b4, #cbb8ec, #f3d99b);
    background-size: 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent;
    animation: mm-shimmer 6s linear infinite alternate;
}

/* Portale — trzy ścieżki */
.mm-portals { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.6vw, 36px); align-items: start; }
.mm-portal {
    position: relative; padding: 14px 14px 34px;
    border-radius: 9999px 9999px 0 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
    border: 1px solid rgba(230, 196, 126, .2);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    transition: transform .6s var(--mm-ease), border-color .5s, box-shadow .6s;
}
.mm-portal:nth-child(2) { margin-top: 70px; }
.mm-portal:hover {
    transform: translateY(-10px);
    border-color: rgba(230, 196, 126, .55);
    box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .8), 0 0 60px -20px rgba(230, 196, 126, .45);
}
.mm-portal-link { position: absolute; inset: 0; z-index: 3; border-radius: inherit; }
.mm-portal-media { position: relative; }
.mm-portal-media .mm-photo { aspect-ratio: 3 / 3.4; }
.mm-portal-media .mm-photo img { object-position: 50% 30%; }   /* twarze bliżej góry kadru */
.mm-portal:hover .mm-photo img { transform: scale(1.06); }
.mm-portal-num {
    position: absolute; left: 50%; bottom: -30px; transform: translateX(-50%);
    width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center;
    background: var(--mm-night-2); border: 1px solid rgba(230, 196, 126, .5);
    font-family: var(--mm-serif); font-style: italic; font-size: 24px; color: var(--mm-gold);
    box-shadow: 0 0 30px -6px rgba(230, 196, 126, .6);
}
.mm-portal-body { padding: 48px 18px 0; text-align: center; }
.mm-portal-ico { width: 46px; height: 46px; margin: 0 auto 10px; color: var(--mm-gold); transition: transform 1s var(--mm-ease); }
.mm-portal:hover .mm-portal-ico { transform: rotate(-12deg) scale(1.1); }
.mm-portal-name { margin: 0; font-family: var(--mm-serif); font-weight: 400; font-size: clamp(32px, 2.8vw, 40px); line-height: 1.1; }
.mm-portal-motto { margin: 6px 0 16px; font-family: var(--mm-serif); font-style: italic; font-size: 19px; color: var(--mm-gold); }
.mm-portal-desc { margin: 0 0 18px; font-size: 15.5px; color: var(--fg-dim); }
.mm-portal-list { list-style: none; padding: 0; margin: 0 0 24px; text-align: left; }
.mm-portal-list li { position: relative; padding: 9px 0 9px 24px; border-top: 1px solid var(--line); font-size: 15px; }
.mm-portal-list li::before { content: '✦'; position: absolute; left: 2px; color: var(--mm-gold); font-size: 11px; top: 11px; }
.mm-portal-go { font-family: var(--mm-caps); font-size: 12.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--mm-gold); }

/* Trzy ruchy */
.mm-moves-line { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; position: relative; }
.mm-moves-line::before {
    content: ''; position: absolute; top: 46px; left: 16%; right: 16%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(230, 196, 126, .8), rgba(227, 169, 180, .8), rgba(203, 184, 236, .8), transparent);
}
.mm-move { text-align: center; position: relative; }
.mm-move-orb {
    position: relative; display: grid; place-items: center; margin: 0 auto 20px;
    width: 92px; height: 92px; border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, rgba(255, 236, 200, .35), rgba(61, 42, 99, .95) 70%);
    border: 1px solid rgba(230, 196, 126, .6);
    box-shadow: 0 0 0 8px rgba(230, 196, 126, .06), 0 0 50px -6px rgba(230, 196, 126, .55);
}
.mm-move-ico { width: 42px; height: 42px; color: var(--mm-gold); }
.mm-move-step { font-family: var(--mm-caps); letter-spacing: .3em; font-size: 12px; color: rgba(245, 239, 228, .55); }
.mm-move-word {
    margin: 4px 0 12px; font-family: var(--mm-serif); font-style: italic; font-weight: 400; font-size: clamp(40px, 4vw, 56px);
    background: var(--em-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.mm-move-text { margin: 0 auto; max-width: 320px; color: var(--fg-dim); }

.mm-experience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 110px); align-items: center; }
/* Doświadczenie — astrolabium (mmAstrolabe() w includes/mm_ui.php)
   Rozmiary w cqw = procent szerokości .mm-astro, więc całość skaluje się razem.
   Rytm: 6 ścieżek × 1,2 s = cykl 7,2 s; iskra dolatuje do środka po 1 s. */
.mm-astro {
    --mx: 0; --my: 0;
    position: relative; width: 100%; max-width: 560px; justify-self: center;
    aspect-ratio: 1; container-type: inline-size; isolation: isolate;
}
.js .mm-astro:not(.is-in), .js .mm-astro:not(.is-in) * { animation-play-state: paused !important; }

.mm-astro-dial {
    position: absolute; inset: 0; width: 100%; height: 100%;
    color: var(--mm-gold-ink); opacity: .32; animation: mm-spin 240s linear infinite;
}
.mm-astro-planet-orbit { position: absolute; inset: 2%; border-radius: 50%; animation: mm-spin 36s linear infinite; pointer-events: none; }
.mm-astro-planet {
    position: absolute; top: -1.4cqw; left: 50%; width: 2.8cqw; height: 2.8cqw; margin-left: -1.4cqw; border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #fff6dc, var(--mm-gold) 45%, var(--mm-gold-ink));
    box-shadow: 0 0 2.4cqw rgba(230, 196, 126, .85);
}

.mm-astro-stage {
    position: absolute; inset: 11%;
    transform: perspective(1100px) rotateX(calc(var(--my) * -7deg)) rotateY(calc(var(--mx) * 7deg));
    transition: transform .9s var(--mm-ease);
}
.mm-astro-disc {
    position: absolute; inset: 0; border-radius: 50%; overflow: hidden;
    background: radial-gradient(circle at 50% 42%, #3d2a63 0%, #221a45 38%, #141029 70%, #0c0a1b 100%);
    box-shadow:
        0 0 0 1px rgba(230, 196, 126, .45), 0 0 0 8px var(--mm-day), 0 0 0 9px rgba(138, 94, 31, .28),
        0 50px 90px -30px rgba(38, 29, 58, .7), inset 0 0 60px rgba(0, 0, 0, .55);
}
.mm-astro-disc::after {
    content: ''; position: absolute; inset: 0; border-radius: 50%; opacity: 0; pointer-events: none;
    background: radial-gradient(circle, rgba(255, 236, 190, .75), rgba(230, 196, 126, .25) 35%, transparent 70%);
}
.mm-astro-aurora {
    position: absolute; inset: -20%; opacity: .9; mix-blend-mode: screen; filter: blur(30px);
    background: conic-gradient(from 0deg, rgba(154, 127, 209, 0), rgba(154, 127, 209, .3), rgba(227, 169, 180, .2),
        rgba(230, 196, 126, .22), rgba(154, 127, 209, 0) 60%, rgba(88, 168, 224, .16), rgba(154, 127, 209, 0));
    animation: mm-spin 30s linear infinite;
}

.mm-astro-stars { position: absolute; inset: 0; translate: calc(var(--mx) * -8px) calc(var(--my) * -8px); transition: translate .9s var(--mm-ease); }
.mm-astro-stars i {
    position: absolute; width: var(--s); height: var(--s); margin: calc(var(--s) / -2); border-radius: 50%;
    background: #fff8e6; box-shadow: 0 0 6px rgba(255, 240, 200, .8);
    animation: mm-twinkle var(--t) ease-in-out var(--d) infinite;
}
@keyframes mm-twinkle { 0%, 100% { opacity: .25; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.15); } }

.mm-astro-meteor {
    position: absolute; top: 22%; left: 62%; width: 20cqw; height: 1.5px; border-radius: 2px; opacity: 0;
    background: linear-gradient(90deg, #fff4dc, rgba(255, 236, 200, .5) 30%, transparent);
    transform: rotate(-35deg) translateX(30cqw);
    animation: mm-meteor 11s ease-in 4s infinite;
}
@keyframes mm-meteor {
    0%, 86% { opacity: 0; transform: rotate(-35deg) translateX(30cqw); }
    88% { opacity: 1; }
    95%, 100% { opacity: 0; transform: rotate(-35deg) translateX(-45cqw); }
}

.mm-astro-flower {
    position: absolute; left: 50%; top: 50%; width: 38cqw; height: 38cqw; margin: -19cqw;
    color: var(--mm-gold); overflow: visible;
    filter: drop-shadow(0 0 5px rgba(230, 196, 126, .55));
    translate: calc(var(--mx) * 5px) calc(var(--my) * 5px); transition: translate .9s var(--mm-ease);
    animation: mm-spin 90s linear infinite;
}
.mm-astro-hex { stroke: var(--mm-rose); stroke-width: .5; }
.js .mm-astro .mm-astro-draw { stroke-dasharray: 1; stroke-dashoffset: 1; }
.mm-astro.is-in .mm-astro-draw { animation: mm-draw 1.6s var(--mm-ease) calc(.5s + var(--i) * .2s) forwards; }
@keyframes mm-draw { to { stroke-dashoffset: 0; } }

.mm-astro-words { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; animation: mm-spin 120s linear infinite reverse; }
.mm-astro-words text { font-family: var(--mm-caps); font-size: 12.5px; letter-spacing: .3em; fill: rgba(230, 196, 126, .72); }

.mm-astro-orbit {
    position: absolute; inset: 0; animation: mm-spin 70s linear infinite;
    translate: calc(var(--mx) * 12px) calc(var(--my) * 12px); transition: translate .9s var(--mm-ease);
}
.mm-astro-orbit:has(.mm-astro-node:hover), .mm-astro-orbit:has(.mm-astro-node:hover) * { animation-play-state: paused; }
.mm-astro-node {
    position: absolute; left: 50%; top: 50%; width: 11cqw; height: 11cqw; margin: -5.5cqw; z-index: 2;
    transform: rotate(var(--a)) translateX(27cqw) rotate(calc(-1 * var(--a)));
}
.mm-astro-node-in {
    position: relative; display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%;
    color: var(--mm-gold);
    background: radial-gradient(circle at 35% 30%, rgba(61, 42, 99, .96), rgba(20, 16, 41, .96));
    border: 1px solid rgba(230, 196, 126, .5);
    box-shadow: 0 0 0 4px rgba(230, 196, 126, .06), 0 0 18px -6px var(--c);
    animation: mm-spin 70s linear infinite reverse, mm-node-fire 7.2s ease-out calc(2.6s + var(--i) * 1.2s) infinite;
}
.mm-astro-node .mm-symbol { width: 54%; height: 54%; }
.mm-astro-node em {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: 6px;
    font-style: normal; white-space: nowrap; pointer-events: none;
    font-family: var(--mm-caps); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase;
    color: var(--mm-moon); background: rgba(12, 10, 27, .82); padding: 3px 9px; border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--c) 55%, transparent);
    opacity: 0; transition: opacity .3s;
    animation: mm-node-label 7.2s ease-out calc(2.6s + var(--i) * 1.2s) infinite;
}
.mm-astro-node:hover em { opacity: 1; animation: none; }
@keyframes mm-node-fire {
    0% { box-shadow: 0 0 0 4px rgba(230, 196, 126, .06), 0 0 18px -6px var(--c); border-color: rgba(230, 196, 126, .5); }
    4% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 35%, transparent), 0 0 30px 2px var(--c); border-color: var(--c); }
    20%, 100% { box-shadow: 0 0 0 4px rgba(230, 196, 126, .06), 0 0 18px -6px var(--c); border-color: rgba(230, 196, 126, .5); }
}
@keyframes mm-node-label { 0% { opacity: 0; } 3%, 13% { opacity: 1; } 17%, 100% { opacity: 0; } }

.mm-astro-ray {
    position: absolute; left: 50%; top: 50%; width: 21.5cqw; height: 1px; transform-origin: 0 50%;
    transform: rotate(var(--a));
    background: linear-gradient(90deg, rgba(230, 196, 126, 0), rgba(230, 196, 126, .22));
}
.mm-astro-ray b {
    position: absolute; top: 50%; left: 100%; width: 4.5cqw; height: 3px; margin-top: -1.5px; border-radius: 3px; opacity: 0;
    background: linear-gradient(90deg, #fff, var(--c) 35%, transparent);
    box-shadow: 0 0 10px var(--c);
    animation: mm-spark 7.2s ease-in calc(2.6s + var(--i) * 1.2s) infinite;
}
@keyframes mm-spark {
    0% { left: 100%; opacity: 0; }
    2% { opacity: 1; }
    14% { left: 0; opacity: 1; }
    16%, 100% { left: 0; opacity: 0; }
}

.mm-astro-core {
    position: absolute; left: 50%; top: 50%; width: 16cqw; height: 16cqw; margin: -8cqw; border-radius: 50%; z-index: 3;
    display: grid; place-items: center; align-content: center; gap: .3cqw; cursor: pointer;
    color: var(--mm-ink);
    background: radial-gradient(circle at 40% 35%, #fffaf0, #f3d99b 45%, #c99a4b 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), 0 0 30px 6px rgba(230, 196, 126, .6), 0 0 80px 20px rgba(230, 196, 126, .22);
    animation: mm-core 1.2s ease-out 3.6s infinite;
}
.mm-astro-core .mm-symbol { width: 4.6cqw; height: 4.6cqw; color: var(--mm-gold-ink); }
.mm-astro-core small { font-family: var(--mm-serif); font-style: italic; font-size: 2.3cqw; line-height: 1; color: var(--mm-ink); }
.mm-astro-wave {
    position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(243, 217, 155, .85); opacity: 0; pointer-events: none;
    animation: mm-wave 2.4s ease-out 3.6s infinite;
}
.mm-astro-wave + .mm-astro-wave { animation-delay: 4.8s; }
@keyframes mm-core { 0% { transform: scale(1.08); } 45%, 100% { transform: scale(1); } }
@keyframes mm-wave { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(3.4); opacity: 0; } }

/* Rozbłysk po kliknięciu środka (js/mm.js dodaje .is-burst) */
.mm-astro.is-burst .mm-astro-disc::after { animation: mm-flash 1.2s ease-out; }
.mm-astro.is-burst .mm-astro-core { animation: mm-burst .9s var(--mm-ease); }
@keyframes mm-flash { 0% { opacity: 0; } 15% { opacity: 1; } 100% { opacity: 0; } }
@keyframes mm-burst { 0% { transform: scale(1); } 30% { transform: scale(1.3); } 100% { transform: scale(1); } }

/* Dwie marki — vesica piscis */
.mm-vesica { position: relative; width: min(940px, 100%); margin: 0 auto; aspect-ratio: 1.64 / 1; }
.mm-vesica-circle {
    position: absolute; top: 0; width: 61%; aspect-ratio: 1; border-radius: 50%;
    display: flex; align-items: center;
    transition: transform .8s var(--mm-ease);
}
.mm-vesica-circle--mf {
    left: 0; justify-content: flex-start;
    background: radial-gradient(circle at 35% 40%, rgba(0, 71, 171, .10), rgba(0, 71, 171, .03) 70%);
    border: 1px solid rgba(0, 71, 171, .32);
}
.mm-vesica-circle--mm {
    right: 0; justify-content: flex-end;
    background: radial-gradient(circle at 65% 40%, rgba(168, 84, 111, .12), rgba(94, 69, 150, .05) 70%);
    border: 1px solid rgba(138, 94, 31, .45);
}
.mm-vesica:hover .mm-vesica-circle--mf { transform: translateX(-10px); }
.mm-vesica:hover .mm-vesica-circle--mm { transform: translateX(10px); }
.mm-vesica-content { width: 56%; padding: 0 0 0 11%; }
.mm-vesica-circle--mm .mm-vesica-content { padding: 0 11% 0 0; text-align: right; }
/* manawaFLOW — jak w oryginalnym logo: Poppins, „manawa” fiolet, „FLOW” złoto */
.mm-mf {
    font-family: 'Poppins', var(--mm-sans); font-weight: 600; font-style: normal;
    letter-spacing: -0.015em; text-transform: none; color: #6a0dad;
}
.mm-mf b { font-weight: 600; color: #f5b638; text-transform: uppercase; }
.mm-mf--dark { color: var(--mm-moon); }
.mm-vesica-brand { margin: 0; font-family: var(--mm-serif); font-size: clamp(26px, 3vw, 40px); line-height: 1.1; }
.mm-vesica-circle--mm .mm-vesica-brand { font-family: var(--mm-caps); letter-spacing: .14em; text-transform: uppercase; font-size: clamp(20px, 2.3vw, 30px); color: var(--mm-ink); }
.mm-vesica-motto { margin: 8px 0 10px; font-family: var(--mm-serif); font-style: italic; font-size: clamp(16px, 1.6vw, 20px); color: var(--accent); }
.mm-vesica-desc { margin: 0; font-size: clamp(13px, 1.2vw, 15px); line-height: 1.55; color: var(--fg-dim); }
.mm-vesica-core {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    display: grid; justify-items: center; text-align: center;
}
.mm-vesica-core::before {
    content: ''; position: absolute; width: 150px; height: 220px; left: 50%; top: 50%; transform: translate(-50%, -50%);
    border-radius: 50%; background: radial-gradient(ellipse, rgba(230, 196, 126, .45), transparent 70%); filter: blur(8px); z-index: -1;
    animation: mm-breathe 7s ease-in-out infinite;
}
.mm-vesica-core-word {
    font-family: var(--mm-serif); font-style: italic; font-size: clamp(28px, 3.4vw, 46px);
    background: var(--em-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.mm-vesica-core-note { font-family: var(--mm-caps); font-size: 10.5px; letter-spacing: .26em; text-transform: uppercase; color: var(--fg-soft); }

.mm-family-split { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; max-width: 940px; margin: 40px auto 0; }
.mm-family-split p { margin: 0; padding: 22px 26px; border-left: 1px solid var(--line); color: var(--fg-dim); font-size: 16.5px; }
.mm-family-split strong { color: var(--fg); }

.mm-foundation {
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px;
    max-width: 940px; margin: 50px auto 0; padding: 26px 30px;
    border-radius: 24px; border: 1px solid var(--line); background: var(--glass);
}
.mm-foundation-ico { width: 52px; height: 52px; color: var(--accent); }
.mm-foundation-name { margin: 0; font-family: var(--mm-serif); font-size: 28px; line-height: 1.1; }
.mm-foundation-desc { margin: 4px 0 0; font-size: 15px; color: var(--fg-dim); }

/* Certyfikat */
.mm-cert-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.mm-cert-card { perspective: 1200px; }
.mm-cert-frame {
    position: relative; overflow: hidden;
    aspect-ratio: 1.414 / 1; padding: 7% 8%;
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
    background: linear-gradient(160deg, #fffaf2, #f7eedf);
    border-radius: 6px;
    box-shadow: 0 0 0 1px rgba(138, 94, 31, .25), 0 0 0 10px #fffaf2, 0 0 0 11px rgba(138, 94, 31, .4), 0 50px 90px -40px rgba(38, 29, 58, .55);
    transform: rotate(-2.2deg);
    transition: transform .9s var(--mm-ease);
}
.mm-cert-card:hover .mm-cert-frame { transform: rotate(0) translateY(-6px); }
.mm-cert-geo { position: absolute; width: 70%; left: 15%; top: 50%; transform: translateY(-50%); color: var(--mm-gold-2); opacity: .12; }
.mm-cert-academy { position: relative; margin: 0; font-family: var(--mm-caps); letter-spacing: .3em; text-transform: uppercase; font-size: clamp(11px, 1.2vw, 14px); color: var(--mm-ink); }
.mm-cert-kind { position: relative; margin: 10px 0 4px; font-family: var(--mm-serif); font-style: italic; font-size: clamp(15px, 1.5vw, 19px); color: var(--mm-ink-dim); }
.mm-cert-course { position: relative; margin: 0; font-family: var(--mm-serif); font-size: clamp(28px, 3.2vw, 44px); color: var(--mm-ink); line-height: 1.1; }
.mm-cert-within { position: relative; margin: 10px 0 2px; font-size: clamp(11px, 1vw, 13px); color: var(--mm-ink-dim); letter-spacing: .06em; }
.mm-cert-brand {
    position: relative; margin: 0;
    font-family: var(--mm-caps); letter-spacing: .4em; padding-left: .4em; text-transform: uppercase; font-size: clamp(15px, 1.8vw, 22px);
    background: linear-gradient(100deg, #8a5e1f, #c99a4b, #a8546f); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.mm-cert-foot {
    position: absolute; left: 8%; right: 8%; bottom: 7%;
    display: flex; align-items: flex-end; justify-content: space-between;
    font-size: 10.5px; letter-spacing: .08em; color: var(--mm-ink-dim);
}
.mm-cert-foot span { border-top: 1px solid rgba(38, 29, 58, .25); padding-top: 4px; min-width: 26%; }
.mm-cert-seal { width: 44px; height: 44px; color: var(--mm-gold-2); }

/* Sklep — zajawka */
.mm-shop-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-bottom: 40px; }
.mm-product { display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: var(--fg); }
.mm-product .mm-photo { border-radius: 24px; margin-bottom: 14px; transition: transform .6s var(--mm-ease), box-shadow .6s; }
.mm-product:hover .mm-photo { transform: translateY(-6px); box-shadow: 0 30px 50px -25px rgba(38, 29, 58, .5); }
.mm-product-type { font-family: var(--mm-caps); font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); }
.mm-product-name { font-family: var(--mm-serif); font-size: 27px; line-height: 1.15; }
.mm-product-soon {
    align-self: flex-start; margin-top: 8px; padding: 5px 12px; border-radius: 999px;
    font-size: 12px; letter-spacing: .08em; border: 1px dashed var(--line); color: var(--fg-soft);
}

/* Wschód — zaproszenie */
.mm-sunrise {
    overflow: hidden;
    background: linear-gradient(180deg, var(--mm-day) 0%, #f7e6d6 40%, #f3cdb5 75%, #eab39f 100%);
    padding-bottom: clamp(120px, 14vw, 200px);
}
.mm-sunrise-sun {
    position: absolute; left: 50%; bottom: -46vw; width: 80vw; height: 80vw; max-width: 1100px; max-height: 1100px;
    transform: translateX(-50%); border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 238, 200, .95) 0%, rgba(250, 205, 140, .6) 30%, rgba(240, 170, 140, .2) 55%, transparent 70%);
    animation: mm-sun 12s ease-in-out infinite alternate;
}
@media (min-width: 1380px) { .mm-sunrise-sun { bottom: -640px; } }
@keyframes mm-sun { from { transform: translate(-50%, 30px) scale(.96); } to { transform: translate(-50%, 0) scale(1.04); } }
.mm-sunrise .mm-wrap { position: relative; z-index: 1; }
.mm-sunrise .mm-lead { margin-bottom: 36px; }

/* 10 · PODSTRONY ------------------------------------------------------ */
.mm-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 7vw, 110px); align-items: center; }
.mm-split-media { position: relative; max-width: 460px; justify-self: center; width: 100%; }
.mm-split-media .mm-photo { box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(230, 196, 126, .18); }
.mm-split-media--stack { padding-bottom: 60px; }
.mm-split-float { position: absolute !important; width: 46%; right: -14%; bottom: 0; border: 6px solid var(--mm-night-2); }
.mm-split-float.is-empty { display: none; }   /* pusty zastępnik nie zasłania zdjęcia obok — pojawi się po wgraniu pliku */

.mm-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 30px; }
.mm-mini { display: grid; gap: 4px; padding: 18px; border-radius: 18px; border: 1px solid var(--line); background: var(--glass); }
.mm-mini-ico { width: 30px; height: 30px; color: var(--accent); margin-bottom: 4px; }
.mm-mini strong { font-family: var(--mm-serif); font-size: 21px; font-weight: 500; }
.mm-mini span { font-size: 14.5px; color: var(--fg-dim); line-height: 1.55; }

/* Karty */
.mm-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.mm-cards--4 { grid-template-columns: repeat(4, 1fr); }
.mm-card {
    padding: 30px 28px; border-radius: 26px;
    border: 1px solid var(--line); background: var(--glass);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    transition: transform .5s var(--mm-ease), border-color .5s;
}
.mm-card:hover { transform: translateY(-6px); border-color: rgba(230, 196, 126, .5); }
.mm-card-ico { width: 40px; height: 40px; color: var(--accent); margin-bottom: 16px; }
.mm-card-title { margin: 0 0 10px; font-family: var(--mm-serif); font-weight: 500; font-size: 26px; line-height: 1.15; }
.mm-card p { margin: 0 0 14px; color: var(--fg-dim); font-size: 15.5px; }
.mm-card--glass { background: rgba(255, 255, 255, .06); }

/* Kroki */
.mm-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; counter-reset: s; }
.mm-step { position: relative; padding: 30px 24px 24px; border-top: 1px solid rgba(230, 196, 126, .45); }
.mm-step::before {
    content: ''; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%;
    background: var(--mm-gold); box-shadow: 0 0 14px var(--mm-gold);
}
.mm-step-num { font-family: var(--mm-caps); font-size: 12px; letter-spacing: .3em; color: var(--fg-soft); }
.mm-step-name { margin: 6px 0 10px; font-family: var(--mm-serif); font-style: italic; font-weight: 400; font-size: 34px; color: var(--mm-gold); }
.mm-step p { margin: 0; color: var(--fg-dim); font-size: 15.5px; }

/* Formy współpracy */
.mm-forms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.mm-form-card {
    display: flex; flex-direction: column; gap: 10px; padding: 36px 30px;
    border-radius: 9999px 9999px 0 0; padding-top: 70px; text-align: center; align-items: center;
    border: 1px solid var(--line); background: #fff;
    box-shadow: 0 20px 50px -30px rgba(38, 29, 58, .35);
    transition: transform .5s var(--mm-ease);
}
.mm-form-card:hover { transform: translateY(-6px); }
.mm-form-card.is-lead { background: linear-gradient(180deg, #2d2150, var(--mm-ink)); color: var(--mm-moon); --fg-dim: rgba(245, 239, 228, .74); --accent: var(--mm-gold); }
.mm-form-tag { font-family: var(--mm-caps); font-size: 11.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--accent); }
.mm-form-name { margin: 0; font-family: var(--mm-serif); font-weight: 400; font-size: 34px; }
.mm-form-card p { margin: 0 0 10px; color: var(--fg-dim); font-size: 15.5px; flex: 1; }

/* FAQ */
.mm-faq { display: grid; gap: 12px; }
.mm-faq-item { border: 1px solid var(--line); border-radius: 20px; background: #fff; overflow: hidden; }
.mm-faq-item summary {
    list-style: none; cursor: pointer; position: relative;
    padding: 22px 64px 22px 26px; font-family: var(--mm-serif); font-size: 23px; line-height: 1.25; font-weight: 500;
}
.mm-faq-item summary::-webkit-details-marker { display: none; }
.mm-faq-plus { position: absolute; right: 24px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); }
.mm-faq-plus::before, .mm-faq-plus::after {
    content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--accent); transition: transform .4s var(--mm-ease);
}
.mm-faq-plus::after { transform: rotate(90deg); }
.mm-faq-item[open] .mm-faq-plus::after { transform: rotate(0); }
.mm-faq-item p { margin: 0; padding: 0 26px 24px; color: var(--fg-dim); }

/* Dla kogo — intencje */
.mm-intents { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.mm-intent {
    display: grid; justify-items: center; align-content: center; gap: 12px; text-align: center;
    width: 210px; aspect-ratio: 1; border-radius: 50%; padding: 26px;
    border: 1px solid rgba(230, 196, 126, .3); background: radial-gradient(circle, rgba(230, 196, 126, .08), transparent 70%);
    font-family: var(--mm-serif); font-style: italic; font-size: 21px; line-height: 1.2;
    transition: transform .6s var(--mm-ease), box-shadow .6s;
}
.mm-intent:hover { transform: scale(1.05); box-shadow: 0 0 50px -10px rgba(230, 196, 126, .5); }
.mm-intent-ico { width: 36px; height: 36px; color: var(--mm-gold); }

/* Poemat — momenty */
.mm-poem { text-align: center; }
.mm-poem-lines { margin: 20px 0 40px; }
.mm-poem-line {
    margin: 0; padding: 10px 0;
    font-family: var(--mm-serif); font-weight: 300; font-size: clamp(28px, 3.8vw, 52px); line-height: 1.2;
}
.mm-poem-line:nth-child(odd) { text-align: left; }
.mm-poem-line:nth-child(even) { text-align: right; }
.mm-poem-word { font-style: italic; color: var(--mm-gold); }
.mm-poem-close { margin: 0 auto; max-width: 620px; font-size: 18px; color: var(--fg-dim); }
.mm-poem-close strong {
    display: block; margin-top: 10px; font-family: var(--mm-serif); font-style: italic; font-weight: 400; font-size: clamp(32px, 3.4vw, 46px);
    background: var(--em-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Świątynia — dwie kolumny i fundament */
.mm-temple {
    display: grid; grid-template-columns: 1fr auto 1fr; gap: 0 20px;
    max-width: 1040px; margin: 0 auto;
}
.mm-temple-pillar {
    position: relative; padding: 120px 36px 40px; text-align: center;
    border-radius: 9999px 9999px 0 0; border: 1px solid var(--line); border-bottom: 0;
    background: linear-gradient(180deg, #fff, rgba(255, 255, 255, .4));
}
.mm-temple-pillar--mf { border-color: rgba(0, 71, 171, .25); }
.mm-temple-pillar--mm { background: linear-gradient(180deg, #2d2150, var(--mm-ink)); color: var(--mm-moon); --fg-dim: rgba(245, 239, 228, .74); --accent: var(--mm-gold); border-color: rgba(230, 196, 126, .4); }
.mm-temple-kicker { max-width: 260px; margin: 0 auto 12px; font-family: var(--mm-caps); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); }
.mm-temple-name { margin: 0; font-family: var(--mm-serif); font-size: clamp(32px, 3.4vw, 44px); line-height: 1.1; }
.mm-temple-pillar--mm .mm-temple-name { font-family: var(--mm-caps); text-transform: uppercase; letter-spacing: .12em; font-size: clamp(26px, 2.8vw, 36px); }
.mm-temple-motto { margin: 10px 0 14px; font-family: var(--mm-serif); font-style: italic; font-size: 21px; color: var(--accent); }
.mm-temple-desc { margin: 0 0 18px; color: var(--fg-dim); font-size: 15.5px; }
.mm-temple-here {
    display: inline-block; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(230, 196, 126, .5);
    font-family: var(--mm-caps); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--mm-gold);
}
.mm-temple-bridge { display: grid; place-items: center; align-content: center; gap: 10px; width: 90px; }
.mm-temple-bridge-word {
    font-family: var(--mm-serif); font-style: italic; font-size: 28px;
    background: var(--em-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
    writing-mode: vertical-rl; transform: rotate(180deg);
}
.mm-temple-bridge-line { width: 1px; height: 120px; background: linear-gradient(180deg, transparent, var(--mm-gold-2), transparent); }
.mm-temple-base {
    grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 22px;
    padding: 28px 30px; text-align: left;
    background: linear-gradient(90deg, #f1e6d4, #f6ead9, #f1e6d4);
    border: 1px solid rgba(138, 94, 31, .3); border-radius: 0 0 22px 22px;
    box-shadow: 0 30px 50px -30px rgba(38, 29, 58, .35);
}
.mm-temple-seal { width: 54px; height: 54px; color: var(--mm-gold-ink); flex: none; }
.mm-temple-name--base { font-size: 30px; }
.mm-temple-base .mm-temple-desc { margin: 4px 0 0; }

/* Jedno zdanie */
.mm-oneline-rows { display: grid; gap: 18px; margin-top: 10px; }
.mm-oneline-rows p { margin: 0; font-family: var(--mm-serif); font-weight: 300; font-size: clamp(24px, 2.8vw, 36px); line-height: 1.3; color: var(--fg); }
.mm-oneline-rows span { font-style: italic; color: var(--accent); }

/* Kto prowadzi */
.mm-guide-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.mm-guide-media { position: relative; max-width: 420px; width: 100%; justify-self: center; }
.mm-guide-media .mm-photo { box-shadow: 0 0 0 10px var(--mm-day), 0 0 0 11px rgba(138, 94, 31, .35), 0 40px 80px -30px rgba(38, 29, 58, .5); }
.mm-guide-geo { position: absolute; inset: -18%; width: 136%; color: var(--mm-gold-2); opacity: .22; z-index: -1; animation: mm-spin 180s linear infinite; }
.mm-guide { isolation: isolate; }
.mm-guide-media .mm-photo img { object-position: 50% 18%; }
.mm-guide-badge { right: auto; left: -40px; bottom: 90px; margin: 0; font-size: 16px; z-index: 2; }
.mm-guide-role {
    margin: -10px 0 26px; font-family: var(--mm-serif); font-style: italic; font-size: clamp(20px, 2vw, 25px);
    color: var(--accent);
}
.mm-guide-tags { margin-top: 26px; gap: 8px; }
.mm-guide-tags li { font-size: 11px; padding: 7px 13px; }

/* Kręgi szkoleń */
.mm-circle-head { display: flex; gap: 26px; align-items: flex-start; max-width: 860px; margin-bottom: 50px; }
.mm-circle-head .mm-title { margin-bottom: 10px; }
.mm-circle-head .mm-lead { margin: 0; }
.mm-circle-ico {
    flex: none; display: grid; place-items: center; width: 86px; height: 86px; border-radius: 50%;
    border: 1px solid rgba(230, 196, 126, .5); color: var(--mm-gold);
    box-shadow: 0 0 40px -10px rgba(230, 196, 126, .6);
}
.mm-day .mm-circle-ico { color: var(--mm-gold-ink); border-color: rgba(138, 94, 31, .4); }
.mm-circle-ico .mm-symbol { width: 44px; height: 44px; }

.mm-courses { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.mm-courses > .mm-course { flex: 0 1 calc((100% - 44px) / 3); }
.mm-courses--2 { max-width: 900px; margin: 0 auto; }
.mm-courses--2 > .mm-course { flex-basis: calc((100% - 22px) / 2); }
.mm-course {
    position: relative; overflow: hidden; display: flex; flex-direction: column;
    padding: 28px 28px 26px; border-radius: 26px;
    border: 1px solid var(--line); background: var(--glass);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    transition: transform .5s var(--mm-ease), border-color .5s, box-shadow .5s;
}
.mm-course:hover { transform: translateY(-6px); border-color: rgba(230, 196, 126, .55); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); }
.mm-day .mm-course, .mm-parchment .mm-course { background: #fff; }
.mm-course-ghost {
    position: absolute; right: 14px; bottom: -12px;
    font-family: var(--mm-serif); font-style: italic; font-size: 72px; line-height: 1; color: var(--accent); opacity: .1;
    pointer-events: none;
}
.mm-course-top { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 18px; position: relative; }
.mm-course-level { font-family: var(--mm-caps); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }
.mm-course-doc { font-size: 11.5px; letter-spacing: .06em; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--fg-dim); white-space: nowrap; }
.mm-course-doc--szkolenie { border-color: rgba(230, 196, 126, .5); }
.mm-course-name { position: relative; margin: 0; font-family: var(--mm-serif); font-weight: 500; font-size: 27px; line-height: 1.15; }
.mm-course-kind { margin: 6px 0 12px; font-size: 13px; color: var(--fg-soft); letter-spacing: .04em; }
.mm-course-desc { margin: 0 0 20px; color: var(--fg-dim); font-size: 15.5px; flex: 1; }
.mm-course-cta {
    align-self: flex-start; font-family: var(--mm-caps); font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
    color: var(--accent); text-decoration: none;
}
.mm-course-cta:hover { text-decoration: underline; text-underline-offset: 5px; }

/* Rytuały — masaże w zygzaku */
.mm-rituals { display: grid; gap: clamp(60px, 8vw, 120px); }
.mm-ritual { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(36px, 6vw, 90px); align-items: center; }
.mm-ritual.is-flip .mm-ritual-media { order: 2; }
.mm-ritual-media { max-width: 420px; width: 100%; justify-self: center; }
.mm-ritual-media .mm-photo { box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(230, 196, 126, .18); }
.mm-ritual-num { font-family: var(--mm-serif); font-style: italic; font-size: 64px; line-height: 1; color: var(--mm-gold); opacity: .4; }
.mm-ritual-origin { margin: 6px 0 0; font-family: var(--mm-caps); font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--mm-gold); }
.mm-ritual-name { margin: 6px 0 16px; font-family: var(--mm-serif); font-weight: 300; font-size: clamp(40px, 4.6vw, 64px); line-height: 1.02; }
.mm-ritual-meta { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 10px; }
.mm-ritual-meta > span { display: inline-flex; align-items: center; gap: 8px; color: var(--fg-dim); font-size: 15px; }
.mm-ritual-meta-ico { width: 20px; height: 20px; color: var(--mm-gold); }

/* Przygotowanie / Co dalej */
.mm-prep { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.mm-prep--3 { grid-template-columns: repeat(3, 1fr); max-width: 1040px; margin: 0 auto 40px; }
.mm-prep li { display: grid; gap: 6px; padding: 28px 24px; border-radius: 24px; background: #fff; border: 1px solid var(--line); }
.mm-prep-num {
    display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; margin-bottom: 8px;
    font-family: var(--mm-serif); font-style: italic; font-size: 22px; color: var(--mm-gold-ink);
    border: 1px solid rgba(138, 94, 31, .4);
}
.mm-prep strong { font-family: var(--mm-serif); font-size: 23px; font-weight: 500; line-height: 1.2; }
.mm-prep li > span:last-child { color: var(--fg-dim); font-size: 15px; }

/* Prezent */
.mm-gift {
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px;
    max-width: 900px; margin: 50px auto 0; padding: 26px 30px; border-radius: 26px;
    background: #fff; border: 1px solid rgba(138, 94, 31, .3);
}
.mm-gift-ico { width: 50px; height: 50px; color: var(--mm-gold-ink); }
.mm-gift .mm-gift-title { margin: 0; font-family: var(--mm-serif); font-size: 28px; color: var(--fg); }
.mm-gift p { margin: 2px 0 0; color: var(--fg-dim); font-size: 15.5px; }

/* Półki sklepu */
.mm-shelves { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.mm-shelf { display: flex; flex-direction: column; text-align: center; align-items: center; }
.mm-shelf .mm-photo { width: 100%; margin-bottom: -26px; }
.mm-shelf-ico {
    position: relative; z-index: 2; width: 52px; height: 52px; padding: 11px; border-radius: 50%;
    background: var(--mm-night-2); border: 1px solid rgba(230, 196, 126, .5); color: var(--mm-gold);
}
.mm-shelf-name { margin: 14px 0 8px; font-family: var(--mm-serif); font-weight: 500; font-size: 26px; }
.mm-shelf p { margin: 0 0 10px; color: var(--fg-dim); font-size: 15px; }
.mm-shelf .mm-product-soon { align-self: center; }

/* Polityka prywatności na jasnym tle */
.mm-legal-wrap { background: var(--mm-day); padding: 130px 0 90px; color: var(--mm-ink); }
.mm-legal-wrap .legal-page-wrap { max-width: 900px; margin: 0 auto; padding: 0 var(--mm-gutter); }

/* 10b · KARTA TERMINU (terminarz, strona główna, Szkolenia) ---------- */
.mm-paths + .mm-paths { background: #2a1d47; }
.mm-upcoming + .mm-dawn { padding-top: clamp(40px, 6vw, 90px); }

.mm-ev-list { display: grid; gap: 16px; margin-bottom: 40px; }
.mm-ev {
    position: relative;
    display: grid; grid-template-columns: 96px 150px minmax(0, 1fr) 200px; gap: 22px; align-items: center;
    padding: 16px 22px 16px 16px; border-radius: 26px;
    border: 1px solid var(--line); background: var(--glass);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    transition: border-color .5s, box-shadow .6s, transform .6s var(--mm-ease);
}
.mm-ev:hover { border-color: rgba(230, 196, 126, .55); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7), 0 0 50px -25px rgba(230, 196, 126, .5); transform: translateY(-3px); }
.mm-ev[hidden], .mm-sched-month[hidden] { display: none !important; }

.mm-ev-date { display: grid; justify-items: center; text-align: center; text-decoration: none; color: var(--fg); }
.mm-ev-day { font-family: var(--mm-serif); font-size: 42px; line-height: 1; color: var(--accent); }
.mm-ev-mon { font-family: var(--mm-caps); font-size: 12px; letter-spacing: .24em; margin-top: 6px; }
.mm-ev-dow { font-family: var(--mm-serif); font-style: italic; font-size: 15px; color: var(--fg-soft); margin-top: 2px; }

.mm-ev-thumb {
    position: relative; display: block; aspect-ratio: 1; overflow: hidden;   /* kwadrat jak grafiki szkoleń */
    border-radius: 14px;
    background: radial-gradient(circle at 30% 20%, rgba(230, 196, 126, .25), transparent 60%), linear-gradient(160deg, #3d2a63, #221a45);
}
.mm-ev-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--mm-ease); }
.mm-ev:hover .mm-ev-thumb img { transform: scale(1.06); }
.mm-ev-thumb-ph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--mm-gold); }
.mm-ev-thumb-ico { width: 46px; height: 46px; opacity: .85; }
.mm-ev-soon {
    position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); white-space: nowrap;
    padding: 3px 10px; border-radius: 999px; font-size: 11px; letter-spacing: .06em;
    background: rgba(12, 10, 27, .78); color: var(--mm-gold); border: 1px solid rgba(230, 196, 126, .4);
}

.mm-ev-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.mm-ev-tag {
    font-family: var(--mm-caps); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase;
    padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--fg-dim);
}
.mm-ev-tag--kind { border-color: rgba(230, 196, 126, .5); color: var(--accent); }
.mm-ev-tag--alert { border-color: rgba(227, 169, 180, .6); color: var(--mm-rose); }
.mm-ev-title { margin: 0; font-family: var(--mm-serif); font-weight: 500; font-size: clamp(23px, 2.1vw, 29px); line-height: 1.15; }
.mm-ev-title a { color: var(--fg); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .5s var(--mm-ease); }
.mm-ev-title a:hover { background-size: 100% 1px; }
.mm-ev-sub { margin: 4px 0 0; font-family: var(--mm-serif); font-style: italic; color: var(--fg-dim); }
.mm-ev-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; font-size: 14.5px; color: var(--fg-dim); }
.mm-ev-meta span { display: inline-flex; align-items: center; gap: 7px; }
.mm-ev-meta-ico { width: 16px; height: 16px; color: var(--accent); flex: none; }
.mm-ev-seats { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.mm-ev-seats-bar { flex: 0 1 180px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.mm-ev-seats-bar span { display: block; height: 100%; background: linear-gradient(90deg, #e6c47e, #e3a9b4); }
.mm-ev-seats.is-tight .mm-ev-seats-bar span { background: linear-gradient(90deg, #e3a9b4, #d6455b); }
.mm-ev-seats-txt { font-size: 12.5px; color: var(--fg-soft); }

.mm-ev-cta { display: grid; gap: 8px; justify-items: stretch; text-align: center; }
.mm-ev-price { margin: 0 0 4px; font-family: var(--mm-serif); font-size: 26px; line-height: 1.1; color: var(--fg); }
.mm-ev-price small { display: block; font-family: var(--mm-sans); font-size: 12px; color: var(--fg-soft); }
.mm-ev-btn {
    display: block; padding: 10px 16px; border-radius: 999px; text-decoration: none;
    font-family: var(--mm-caps); font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase;
    border: 1px solid transparent; transition: background .3s, border-color .3s, color .3s, box-shadow .3s;
}
.mm-ev-btn--line { border-color: rgba(230, 196, 126, .45); color: var(--fg); }
.mm-ev-btn--line:hover { border-color: var(--mm-gold); color: var(--accent); }
.mm-ev-btn--solid { color: var(--mm-ink); background: linear-gradient(110deg, #f3d99b, #e6c47e 50%, #e8b2a6); box-shadow: 0 8px 24px -10px rgba(230, 196, 126, .8); }
.mm-ev-btn--solid:hover { box-shadow: 0 12px 30px -8px rgba(230, 196, 126, 1); }
.mm-ev-btn--off { color: var(--fg-soft); border-color: var(--line); cursor: default; }

.mm-ev--compact { grid-template-columns: 84px 110px minmax(0, 1fr) 180px; }
.mm-ev--compact .mm-ev-day { font-size: 36px; }

.mm-btn.is-off { opacity: .55; pointer-events: none; }

@media (max-width: 900px) {
    .mm-ev, .mm-ev--compact {
        grid-template-columns: 76px 1fr; grid-template-areas: "date body" "thumb body" "cta cta";
        align-items: start; gap: 14px 16px; padding: 16px;
    }
    .mm-ev-date { grid-area: date; }
    .mm-ev-thumb { grid-area: thumb; }
    .mm-ev-body { grid-area: body; }
    .mm-ev-cta { grid-area: cta; grid-template-columns: 1fr 1fr; align-items: center; text-align: left; }
    .mm-ev-price { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 10px; }
    .mm-ev-price small { display: inline; }
    .mm-ev-day { font-size: 34px; }
}

/* 11 · KONTAKT -------------------------------------------------------- */
.mm-contact-hero { text-align: left; place-items: stretch; min-height: auto; }
.mm-contact-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(40px, 6vw, 90px); align-items: start; }
.mm-contact-intro { padding-top: 30px; }
.mm-contact-intro .mm-hero-lead { margin-left: 0; }
.mm-contact-lines { display: grid; gap: 14px; margin-top: 10px; }
.mm-contact-line {
    display: grid; gap: 2px; padding: 18px 22px; border-radius: 20px; text-decoration: none;
    border: 1px solid var(--line); background: var(--glass); transition: border-color .3s, transform .4s var(--mm-ease);
}
a.mm-contact-line:hover { border-color: rgba(230, 196, 126, .6); transform: translateX(6px); }
.mm-contact-label { font-family: var(--mm-caps); font-size: 11.5px; letter-spacing: .26em; text-transform: uppercase; color: var(--mm-gold); }
.mm-contact-value { font-family: var(--mm-serif); font-size: 26px; line-height: 1.2; }
.mm-contact-note { font-size: 14px; color: var(--fg-soft); }

.mm-contact-card {
    position: relative; padding: clamp(28px, 4vw, 46px); border-radius: 30px;
    background: rgba(20, 16, 41, .72); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
    border: 1px solid rgba(230, 196, 126, .28);
    box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .8), 0 0 80px -30px rgba(154, 127, 209, .5);
    scroll-margin-top: 100px;
}
.mm-contact-card-ico { width: 40px; height: 40px; color: var(--mm-gold); margin-bottom: 8px; }
.mm-contact-card-title { margin: 0 0 22px; font-family: var(--mm-serif); font-weight: 400; font-size: 36px; }

.mm-form { display: grid; gap: 16px; }
.mm-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mm-field { display: grid; gap: 6px; }
.mm-field label { font-family: var(--mm-caps); font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: rgba(245, 239, 228, .72); }
.mm-field label small { text-transform: none; letter-spacing: 0; font-family: var(--mm-sans); opacity: .7; }
.mm-field input, .mm-field textarea {
    width: 100%; padding: 14px 16px; border-radius: 14px;
    border: 1px solid rgba(230, 196, 126, .25); background: rgba(255, 255, 255, .05);
    color: var(--mm-moon); font: inherit; font-size: 16px; font-weight: 300;
    transition: border-color .3s, box-shadow .3s, background .3s;
}
.mm-field textarea { resize: vertical; min-height: 140px; }
.mm-field input::placeholder, .mm-field textarea::placeholder { color: rgba(245, 239, 228, .38); }
.mm-field input:focus, .mm-field textarea:focus {
    outline: none; border-color: var(--mm-gold); background: rgba(255, 255, 255, .08);
    box-shadow: 0 0 0 4px rgba(230, 196, 126, .12), 0 0 30px -10px rgba(230, 196, 126, .6);
}
.mm-chips--form { justify-content: flex-start; margin: -4px 0 0; gap: 8px; }
.mm-chips--form .mm-chip { font-size: 10.5px; padding: 7px 13px; }
.mm-consent { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: rgba(245, 239, 228, .7); line-height: 1.55; cursor: pointer; }
.mm-consent input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--mm-gold); flex: none; }
.mm-consent a { color: var(--mm-gold); }
.mm-form-submit { justify-self: start; margin-top: 4px; }
.mm-form-note { margin: 0; font-size: 12px; color: rgba(245, 239, 228, .42); }
.mm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mm-msg { display: flex; gap: 14px; padding: 16px 18px; border-radius: 16px; margin-bottom: 20px; }
.mm-msg p { margin: 0; }
.mm-msg--ok { background: rgba(111, 191, 126, .12); border: 1px solid rgba(111, 191, 126, .45); }
.mm-msg--ok strong { display: block; font-family: var(--mm-serif); font-size: 21px; }
.mm-msg--err { display: block; background: rgba(214, 69, 91, .12); border: 1px solid rgba(214, 69, 91, .45); }
.mm-msg-ico { width: 30px; height: 30px; color: var(--mm-gold); flex: none; }

/* 12 · STOPKA --------------------------------------------------------- */
.mm-footer {
    position: relative; z-index: 1; overflow: hidden;
    background: linear-gradient(180deg, var(--mm-footer-from, #eab39f) 0%, #8b5b78 70px, #2a1d47 190px, var(--mm-night) 340px);
    padding-top: 200px; color: var(--mm-moon);
}
.mm-footer-horizon { position: absolute; left: 50%; top: 120px; transform: translateX(-50%); width: min(900px, 140vw); opacity: .12; color: var(--mm-gold); pointer-events: none; }
.mm-footer-mandala { width: 100%; height: auto; animation: mm-spin 300s linear infinite; }
.mm-footer-grid { position: relative; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 50px; }
.mm-footer-name a { color: inherit; text-decoration: none; }
.mm-footer-name { margin: 0; font-family: var(--mm-caps); font-size: 22px; letter-spacing: .24em; text-transform: uppercase; }
.mm-footer-tag { margin: 4px 0 16px; font-family: var(--mm-serif); font-style: italic; font-size: 19px; color: var(--mm-gold); }
.mm-footer-quote { margin: 0; max-width: 340px; font-family: var(--mm-serif); font-style: italic; font-size: 18px; line-height: 1.45; color: rgba(245, 239, 228, .62); }
.mm-footer-social { display: flex; gap: 10px; margin-top: 20px; }
.mm-footer-social a {
    display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid rgba(230, 196, 126, .4); color: var(--mm-gold); text-decoration: none; transition: background .3s;
}
.mm-footer-social a:hover { background: rgba(230, 196, 126, .12); }
.mm-footer-head { margin: 8px 0 18px; font-family: var(--mm-caps); font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--mm-gold); }
.mm-footer-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.mm-footer-col a { color: rgba(245, 239, 228, .8); text-decoration: none; font-size: 15.5px; transition: color .3s; }
.mm-footer-col a:hover { color: var(--mm-gold); }
.mm-footer-num { display: inline-block; width: 30px; font-family: var(--mm-serif); font-style: italic; color: var(--mm-gold); }
.mm-footer-contact li { font-size: 15.5px; color: rgba(245, 239, 228, .8); }

.mm-footer-family { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 40px; }
.mm-footer-sister {
    display: grid; gap: 2px; padding: 20px 24px; border-radius: 20px; text-decoration: none;
    border: 1px solid rgba(230, 196, 126, .18); background: rgba(255, 255, 255, .03);
    transition: border-color .3s, background .3s;
}
.mm-footer-sister:hover { border-color: rgba(230, 196, 126, .5); background: rgba(255, 255, 255, .06); }
.mm-footer-sister-label { font-family: var(--mm-caps); font-size: 10.5px; letter-spacing: .26em; text-transform: uppercase; color: rgba(245, 239, 228, .5); }
.mm-footer-sister-name { font-family: var(--mm-serif); font-size: 26px; line-height: 1.2; }
.mm-footer-sister-tag { font-family: var(--mm-serif); font-style: italic; color: var(--mm-gold); }

.mm-footer-bottom { position: relative; border-top: 1px solid rgba(230, 196, 126, .14); padding: 22px 0 28px; text-align: center; font-size: 13px; color: rgba(245, 239, 228, .55); }
.mm-footer-bottom p { margin: 0; }
.mm-footer-bottom .manawa-creator-credit a { color: inherit; }

/* Stopka po jasnej sekcji (kontakt) albo po nocnej (404) */
.mm-after-day .mm-footer { --mm-footer-from: var(--mm-day); }
.mm-404 .mm-footer { background: var(--mm-night); padding-top: 120px; }

/* 13 · COOKIES (znaczniki z manawa_cookie_consent.php) ---------------- */
.cookie-alert-container {
    position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 150;
    max-width: 760px; margin: 0 auto; padding: 20px 22px;
    border-radius: 22px; color: var(--mm-moon);
    background: rgba(20, 16, 41, .92); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid rgba(230, 196, 126, .3);
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .7);
    animation: mm-rise .9s var(--mm-ease) both;
}
.cookie-alert-container.is-dismissed { display: none; }
.cookie-alert-content { display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cookie-text { flex: 1 1 340px; font-size: 14px; line-height: 1.55; color: rgba(245, 239, 228, .8); }
.cookie-text strong { font-family: var(--mm-serif); font-size: 19px; color: var(--mm-moon); font-weight: 500; }
.cookie-text a { color: var(--mm-gold); }
.cookie-alert-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cookie-btn {
    padding: 11px 20px; border-radius: 999px; cursor: pointer;
    font-family: var(--mm-caps); font-size: 11.5px; letter-spacing: .16em;
    background: linear-gradient(110deg, #f3d99b, #e6c47e); color: var(--mm-ink); border: 1px solid transparent;
}
.cookie-btn-outline { background: transparent; color: var(--mm-moon); border-color: rgba(230, 196, 126, .5); }

/* 14 · ANIMACJE WEJŚCIA (włącza js/mm.js) ----------------------------- */
.js [data-reveal] {
    /* translate (a nie transform), żeby efekty hover na kartach działały niezależnie */
    opacity: 0; translate: 0 32px; filter: blur(6px);
    transition: opacity 1.1s var(--mm-ease) var(--d, 0ms), translate 1.1s var(--mm-ease) var(--d, 0ms), filter 1.1s var(--mm-ease) var(--d, 0ms),
                transform .6s var(--mm-ease), border-color .5s, box-shadow .6s;
}
.js [data-reveal].is-in { opacity: 1; translate: 0 0; filter: none; }

/* 15 · TABLET I TELEFON ----------------------------------------------- */
@media (max-width: 1100px) {
    .mm-cards--4, .mm-shelves, .mm-prep { grid-template-columns: repeat(2, 1fr); }
    .mm-steps { grid-template-columns: repeat(2, 1fr); }
    .mm-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1000px) {
    .mm-burger { display: block; }
    .mm-wordmark-tag { display: none; }

    .mm-nav {
        position: fixed; inset: 0; z-index: 110;
        flex-direction: column; justify-content: center; align-items: center; gap: 4px;
        padding: 90px 24px 40px;
        background:
            radial-gradient(circle at 50% 30%, rgba(154, 127, 209, .25), transparent 60%),
            rgba(12, 10, 27, .97);
        -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
        opacity: 0; visibility: hidden; transition: opacity .45s, visibility .45s;
    }
    .mm-nav.is-open { opacity: 1; visibility: visible; }
    .mm-nav-drop { display: none; }
    .mm-nav-mobile-only { display: block; }
    .mm-nav-link { font-family: var(--mm-serif); font-size: 32px; letter-spacing: .02em; text-transform: none; padding: 8px 14px; }
    .mm-nav-link::after { bottom: 0; }
    .mm-nav-cta { margin: 20px 0 0; }
    .mm-nav .mm-nav-moons { display: flex; margin-top: 34px; }
    .mm-nav.is-open .mm-nav-link, .mm-nav.is-open .mm-nav-cta { animation: mm-rise .7s var(--mm-ease) both; }

    .mm-manifest-grid, .mm-experience-grid, .mm-cert-grid, .mm-split, .mm-guide-grid, .mm-contact-grid, .mm-ritual { grid-template-columns: 1fr; }
    .mm-manifest-media, .mm-split-media, .mm-ritual-media { max-width: 420px; margin: 0 auto; }
    .mm-ritual.is-flip .mm-ritual-media { order: 0; }
    .mm-split .mm-split-media { order: -1; }
    .mm-manifest-badge { right: -8px; }
    .mm-guide-badge { right: auto; left: -8px; }


    .mm-portals { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; gap: 40px; }
    .mm-portal:nth-child(2) { margin-top: 0; }
    .mm-shop-row, .mm-forms { grid-template-columns: 1fr 1fr; }
    .mm-courses > .mm-course { flex-basis: calc((100% - 22px) / 2); }
    .mm-cards { grid-template-columns: 1fr 1fr; }

    .mm-moves-line { grid-template-columns: 1fr; gap: 50px; }
    .mm-moves-line::before { display: none; }

    .mm-astro { max-width: 480px; margin: 0 auto; }
    .mm-temple { grid-template-columns: 1fr; gap: 16px; }
    .mm-temple-pillar { border-radius: 9999px 9999px 22px 22px; border-bottom: 1px solid var(--line); }
    .mm-temple-bridge { width: auto; grid-auto-flow: column; }
    .mm-temple-bridge-word { writing-mode: horizontal-tb; transform: none; }
    .mm-temple-bridge-line { width: 60px; height: 1px; background: linear-gradient(90deg, transparent, var(--mm-gold-2), transparent); }
    .mm-temple-base { border-radius: 22px; }

    .mm-contact-intro { padding-top: 0; }
}

@media (max-width: 720px) {
    body { font-size: 16px; }
    .mm-bar { padding: 12px 0; }
    .mm-wordmark-name { font-size: 15px; letter-spacing: .18em; }

    .mm-hero { padding-top: 110px; }
    .mm-hero-title-a { letter-spacing: .5em; margin-right: -.5em; }
    .mm-hero-verbs { font-size: 24px; gap: .2em .45em; }
    .mm-verb + .mm-verb::before { margin-right: .45em; }

    .mm-courses > .mm-course, .mm-courses--2 > .mm-course { flex-basis: 100%; }
    .mm-shop-row, .mm-forms, .mm-cards, .mm-cards--4,
    .mm-shelves, .mm-prep, .mm-prep--3, .mm-steps, .mm-mini-grid, .mm-form-row,
    .mm-family-split, .mm-footer-family { grid-template-columns: 1fr; }

    .mm-intent { width: 150px; font-size: 17px; padding: 18px; }
    .mm-intent-ico { width: 28px; height: 28px; }

    /* Vesica w pionie: koła jedno nad drugim */
    .mm-vesica { aspect-ratio: 1 / 1.62; max-width: 400px; }
    .mm-vesica-circle { width: 100%; left: 0 !important; right: auto !important; justify-content: center !important; }
    .mm-vesica-circle--mf { top: 0; align-items: flex-start; }
    .mm-vesica-circle--mm { top: auto; bottom: 0; align-items: flex-end; }
    .mm-vesica-content, .mm-vesica-circle--mm .mm-vesica-content { width: 72%; padding: 18% 0 0; text-align: center; }
    .mm-vesica-circle--mm .mm-vesica-content { padding: 0 0 18%; }
    .mm-vesica:hover .mm-vesica-circle--mf, .mm-vesica:hover .mm-vesica-circle--mm { transform: none; }

    .mm-foundation, .mm-gift { grid-template-columns: 1fr; text-align: center; justify-items: center; }
    .mm-poem-line:nth-child(odd), .mm-poem-line:nth-child(even) { text-align: center; }
    .mm-circle-head { flex-direction: column; align-items: center; text-align: center; }
    .mm-circle-head .mm-eyebrow { justify-content: center; }
    .mm-split-float { right: -4%; }

    .mm-guide-badge { width: 108px; height: 108px; font-size: 14px; bottom: 50px; }

    .mm-footer-grid { grid-template-columns: 1fr; gap: 30px; }
    .mm-cert-foot { font-size: 8.5px; }
    .mm-cert-seal { width: 30px; height: 30px; }
    .mm-hero-cta .mm-btn { width: 100%; max-width: 340px; }
}

/* 16 · OGRANICZONY RUCH ----------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
    .mm-verb, .mm-rise { opacity: 1; filter: none; transform: none; }
    .js [data-reveal] { opacity: 1; transform: none; filter: none; }
    .mm-aura { display: none; }
}

/* 17 · TERMINARZ GODZIN SPIRIT COACHINGU (includes/mm_rezerwacje.php) -
   Siatka dni i godzin: css/mm-kalendarz.css (wspólny z coaching.manawaflow.pl). */
.mm-kal-tabs {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
    margin: 0 0 18px;
}
.mm-kal-tab {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    padding: 16px 26px;
    border: 1px solid rgba(38, 29, 58, .16); border-radius: 999px;
    text-decoration: none; color: var(--mm-ink);
    background: rgba(255, 250, 243, .7);
    transition: background .35s, color .35s, border-color .35s, box-shadow .35s;
}
.mm-kal-tab:hover { border-color: var(--mm-ink); }
.mm-kal-tab.is-active {
    color: var(--mm-moon);
    background: linear-gradient(160deg, var(--mm-indigo), var(--mm-violet));
    border-color: transparent;
    box-shadow: 0 16px 36px -18px rgba(34, 26, 69, .8);
}
.mm-kal-tab-name { font-family: var(--mm-serif); font-size: 21px; font-weight: 500; line-height: 1.2; }
.mm-kal-tab-meta { font-family: var(--mm-caps); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--mm-gold-ink); }
.mm-kal-tab.is-active .mm-kal-tab-meta { color: var(--mm-gold); }
.mm-kal-note { margin-top: 30px; }
@media (max-width: 560px) {
    .mm-kal-tabs { grid-template-columns: 1fr; }
}

/* =====================================================================
   WYPRZEDANE (04.10.2026) — termin oznaczony w sklepie jako wyprzedany.
   Pieczęć w kroju marki (Marcellus), złoto + głęboka róża; termin widać
   do dnia przed szkoleniem, w dniu szkolenia znika ze strony (API).
   ===================================================================== */
.mm-soldout-stamp {
    position: absolute; z-index: 2; top: 50%; left: 50%;
    padding: 7px 14px 6px; border-radius: 4px;
    font-family: var(--mm-caps); font-size: 12.5px; letter-spacing: .3em; text-transform: uppercase; white-space: nowrap;
    color: var(--mm-moon);
    background: linear-gradient(120deg, rgba(168, 84, 111, .95), rgba(90, 61, 114, .95));
    border: 1px solid var(--mm-gold);
    box-shadow: 0 0 0 3px rgba(12, 10, 27, .35), 0 0 0 4px rgba(230, 196, 126, .55), 0 14px 30px -10px rgba(12, 10, 27, .8);
    transform: translate(-50%, -50%) rotate(-9deg);
    pointer-events: none;
    animation: mmSoldoutStamp .7s var(--mm-ease) .3s both;
}
.mm-soldout-stamp--lg { font-size: 16px; padding: 10px 22px 9px; }
@keyframes mmSoldoutStamp {
    from { opacity: 0; transform: translate(-50%, -50%) rotate(-9deg) scale(1.6); filter: blur(3px); }
    to   { opacity: 1; transform: translate(-50%, -50%) rotate(-9deg) scale(1); filter: none; }
}
@media (prefers-reduced-motion: reduce) { .mm-soldout-stamp { animation: none; } }
.mm-ev.is-soldout .mm-ev-thumb img, .mm-next.is-soldout .mm-next-media img { filter: grayscale(.7) brightness(.7); }
.mm-ev.is-soldout .mm-ev-day, .mm-ev.is-soldout .mm-ev-mon { opacity: .55; }
.mm-ev-tag--soldout { border-color: var(--mm-rose-deep); background: var(--mm-rose-deep); color: var(--mm-moon); }
.mm-ev-btn--soldout {
    cursor: default; color: var(--mm-rose); border-color: rgba(227, 169, 180, .55);
    background: repeating-linear-gradient(-45deg, transparent 0 8px, rgba(227, 169, 180, .08) 8px 16px);
}
.mm-soldout-btn {
    cursor: default; color: var(--mm-rose); border-color: rgba(227, 169, 180, .6);
    background: repeating-linear-gradient(-45deg, transparent 0 9px, rgba(227, 169, 180, .1) 9px 18px);
}
.mm-soldout-btn:hover { transform: none; }
.mm-day .mm-soldout-btn, .mm-parchment .mm-soldout-btn, .mm-sunrise .mm-soldout-btn,
.mm-day .mm-ev-btn--soldout, .mm-parchment .mm-ev-btn--soldout, .mm-sunrise .mm-ev-btn--soldout { color: var(--mm-rose-deep); border-color: rgba(168, 84, 111, .5); }
