:root {
  color-scheme: dark;
  --forest-1000: #031813;
  --forest-950: #06231c;
  --forest-900: #0a3027;
  --forest: #164c3e;
  --paper: #fffdf8;
  --ink: #15372f;
  --muted: #6b7c75;
  --gold: #bd842d;
  --gold-light: #efd18c;
  --line: rgba(21,55,47,.15);
}

* { box-sizing: border-box; }
html { min-width: 320px; max-width: 100%; overflow-x: hidden; background: var(--forest-1000); }
body { width: 100%; max-width: 100%; min-height: 100vh; margin: 0; overflow-x: hidden; color: #fff; background: linear-gradient(145deg,rgba(3,24,19,.84),rgba(7,39,31,.95)),url("/images/20-minut-spokojnego-umyslu-gory.jpg") center/cover fixed; font-family: Raleway,Arial,sans-serif; -webkit-font-smoothing: antialiased; }
button { font: inherit; }
[hidden] { display: none !important; }
button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
body.offer-open { overflow: hidden; }

.cart-page { display: grid; width: 100%; min-height: 100vh; padding: 28px; grid-template-columns: minmax(0,1fr); place-items: center; }
.cart-card { width: 100%; min-width: 0; max-width: 520px; padding: 45px; color: var(--ink); background: var(--paper); border-radius: 20px; text-align: center; box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.cart-card p { margin: 0; color: #98641f; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.cart-card h1 { margin: 10px 0 5px; font: 500 54px/1 "Cormorant Garamond",Georgia,serif; }
.cart-card > span { display: block; overflow-wrap: anywhere; color: var(--muted); font-size: 12px; }
.cart-card button { display: block; min-height: 44px; margin: 25px auto 0; padding: 13px 22px; color: #fff; background: var(--forest-900); border: 0; border-radius: 999px; cursor: pointer; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cart-course-only { display: flex; width: fit-content; min-height: 44px; margin: 14px auto 0; padding: 8px; align-items: center; color: var(--muted); font-size: 10px; text-underline-offset: 4px; }

.community-offer { position: fixed; inset: 0; width: min(1260px,calc(100vw - 24px)); min-width: 0; max-width: none; max-height: calc(100dvh - 24px); margin: auto; padding: 0; color: var(--ink); background: transparent; border: 1px solid rgba(239,209,140,.68); border-radius: 23px; box-shadow: 0 50px 150px rgba(0,0,0,.6),0 0 0 7px rgba(255,255,255,.025); overflow: hidden; }
.community-offer[open] { animation: offer-in .45s cubic-bezier(.22,.75,.22,1) both; }
.community-offer::backdrop { background: rgba(1,14,11,.74); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
@keyframes offer-in { from { opacity: 0; transform: translateY(12px) scale(.988); } to { opacity: 1; transform: none; } }
.dialog-shell { position: relative; width: 100%; min-width: 0; max-height: calc(100dvh - 26px); overflow: auto; overflow-x: hidden; background: var(--paper); scrollbar-width: thin; scrollbar-color: rgba(189,132,45,.55) transparent; }
.close-offer { position: absolute; z-index: 8; top: 15px; right: 16px; display: grid; width: 48px; height: 48px; padding: 0; color: #fff; background: rgba(3,24,19,.76); border: 1px solid rgba(255,255,255,.58); border-radius: 50%; place-items: center; cursor: pointer; font: 300 27px/1 Arial,sans-serif; backdrop-filter: blur(9px); transition: background .2s ease,transform .2s ease; }
.close-offer:hover { background: rgba(3,24,19,.94); transform: rotate(5deg); }

.community-hero { display: block; color: #fff; background: var(--forest-900); }
.hero-visual { position: relative; height: clamp(390px,39vw,490px); margin: 0; overflow: hidden; background: #102d24; }
.hero-visual::after { content: ""; position: absolute; inset: 28% 0 0; background: linear-gradient(180deg,transparent,rgba(3,18,13,.78)); pointer-events: none; }
.hero-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; filter: saturate(.9) contrast(.99); }
.hero-visual figcaption { position: absolute; z-index: 2; right: clamp(28px,5vw,66px); bottom: clamp(28px,4vw,48px); left: clamp(28px,5vw,66px); color: #fff; }
.hero-visual h1 { max-width: 930px; margin: 0; color: #fffaf0; font: 500 clamp(48px,5.5vw,73px)/.94 "Cormorant Garamond",Georgia,serif; letter-spacing: -.035em; text-shadow: 0 3px 28px rgba(0,0,0,.48); }
.hero-visual h1:focus { outline: none; }

.membership { display: grid; min-height: 590px; padding: 42px 48px 38px; align-items: center; grid-template-columns: minmax(440px,.88fr) minmax(0,1.12fr); gap: clamp(42px,5vw,72px); background: var(--paper); }
.membership-copy { min-width: 0; }
.membership-label { max-width: 620px; margin: 0 0 15px; color: #98641f; font-size: 15px; font-weight: 700; line-height: 1.35; letter-spacing: .11em; text-transform: uppercase; }
.membership-benefits { border-top: 1px solid var(--line); }
.membership-benefits article { position: relative; padding: 11px 0 11px 38px; border-bottom: 1px solid var(--line); }
.membership-benefits article::before { content: "✓"; position: absolute; top: 12px; left: 0; display: grid; width: 25px; height: 25px; color: #a76f20; background: #fff8e9; border: 1px solid rgba(189,132,45,.42); border-radius: 50%; place-items: center; font: 700 12px/1 Raleway,Arial,sans-serif; }
.membership-benefits h3 { margin: 0; color: var(--forest); font: 500 clamp(17px,1.45vw,21px)/1.12 "Cormorant Garamond",Georgia,serif; }
.membership-benefits p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.48; }

.platform-preview { position: relative; min-width: 0; margin: 0; padding: 25px; background: var(--forest); box-shadow: 0 28px 62px rgba(24,42,34,.16); }
.desktop-shot { display: block; width: 100%; height: auto; border: 5px solid #e6e0d6; border-radius: 5px; box-shadow: 0 20px 40px rgba(0,0,0,.24); }
.welcome-video { position: absolute; z-index: 3; top: 25.5%; left: 65.2%; width: 28.5%; height: 37%; overflow: hidden; border: 1px solid rgba(230,204,147,.58); border-radius: 8px; box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.welcome-video > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; }
.video-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(4,24,18,.08) 22%,rgba(4,24,18,.84)); }
.video-play { position: absolute; top: 17%; left: 10%; display: grid; width: 34px; aspect-ratio: 1; padding-left: 2px; color: var(--gold-light); border: 1px solid rgba(230,204,147,.76); border-radius: 50%; place-items: center; font-size: 9px; }
.video-copy { position: absolute; right: 9%; bottom: 9%; left: 9%; display: flex; color: #fff; flex-direction: column; }
.video-copy small { color: var(--gold-light); font-size: 6px; font-weight: 600; letter-spacing: .1em; }
.video-copy strong { margin-top: 4px; font: 500 clamp(12px,1.1vw,17px)/1.02 "Cormorant Garamond",Georgia,serif; }
.video-copy em { margin-top: 3px; color: rgba(255,255,255,.72); font-size: 6px; font-style: normal; }
.phone-shot { position: absolute; z-index: 4; right: 7px; bottom: 12px; width: 21%; overflow: hidden; border: 4px solid #e6e0d6; border-radius: 14px; box-shadow: 0 18px 35px rgba(0,0,0,.28); }
.phone-shot img { display: block; width: 100%; height: auto; }

.purchase-module { display: block; min-height: 590px; padding: 56px 42px 48px; color: #fff; background: radial-gradient(circle at 100% 0%,rgba(239,209,140,.15),transparent 37%),var(--forest-900); border-top: 1px solid rgba(239,209,140,.3); }
.purchase-heading,.price-wrap,.purchase-actions { width: min(790px,100%); margin-right: auto; margin-left: auto; }
.purchase-heading p { max-width: 660px; margin: 0 0 18px; color: var(--gold-light); font-size: 15px; font-weight: 700; line-height: 1.45; letter-spacing: .12em; text-transform: uppercase; }
.purchase-heading h3 { max-width: 720px; margin: 0; color: #fffaf0; font: 500 clamp(42px,4.3vw,58px)/.96 "Cormorant Garamond",Georgia,serif; }
.price-wrap { display: block; margin-top: 31px; margin-bottom: 29px; }
.price { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.price > strong { color: #fff5dc; font: 500 94px/.78 "Cormorant Garamond",Georgia,serif; letter-spacing: -.07em; }
.price > span { display: grid; gap: 2px; }
.price b { color: var(--gold-light); font-size: 20px; letter-spacing: .06em; }
.price small { color: rgba(255,255,255,.62); font-size: 12px; }
.price-wrap > p { margin: 9px 0 0; padding: 17px 0; color: rgba(255,255,255,.72); border-top: 1px solid rgba(239,209,140,.26); border-bottom: 1px solid rgba(239,209,140,.26); font-size: 14px; line-height: 1.55; }
.price-wrap > p strong { color: #fff4d7; }
.offer-button { width: 100%; min-height: 72px; padding: 18px 24px; color: var(--forest-900); background: linear-gradient(135deg,#f1d490,#d6a44e); border: 0; border-radius: 999px; box-shadow: 0 16px 34px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.42); cursor: pointer; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; transition: transform .2s ease,box-shadow .2s ease; }
.offer-button:hover { transform: translateY(-2px); box-shadow: 0 17px 35px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.4); }
.offer-button:disabled { cursor: wait; opacity: .78; transform: none; }
.purchase-actions form { margin: 0; }
.checkout-total { margin: 12px auto 0; color: rgba(255,255,255,.9); font-size: 12px; line-height: 1.5; text-align: center; }
.checkout-total strong { color: var(--gold-light); }
.checkout-terms { max-width: 620px; margin: 5px auto 10px; color: rgba(255,255,255,.6); font-size: 10px; line-height: 1.5; text-align: center; }
.preview-note { min-height: 15px; margin: 8px 0 0; color: transparent; font-size: 9px; line-height: 1.35; text-align: center; transition: color .2s ease; }
.preview-note.is-visible { color: var(--gold-light); }
.decline { display: flex; width: fit-content; min-height: 48px; margin: 2px auto 0; padding: 8px; align-items: center; color: rgba(255,255,255,.66); background: transparent; border: 0; cursor: pointer; font-size: 10px; text-align: center; text-decoration: underline; text-underline-offset: 4px; }
.decline:hover { color: #fff; }
.leo-privacy-settings { min-height: 44px; }

@media (max-width: 1040px) {
  .membership { min-height: 550px; padding-right: 32px; padding-left: 32px; grid-template-columns: minmax(390px,.9fr) minmax(0,1.1fr); gap: 34px; }
  .platform-preview { padding: 18px; }
  .purchase-module { padding-right: 30px; padding-left: 30px; }
  .purchase-heading p { font-size: 13px; }
}

@media (max-width: 760px) {
  .community-offer { inset: 0; width: 100%; min-width: 0; height: 100dvh; max-width: 100%; max-height: none; margin: 0; border: 0; border-radius: 0; }
  .dialog-shell { height: 100dvh; max-height: none; }
  .close-offer { position: fixed; top: 11px; right: 10px; width: 48px; height: 48px; }
  .community-hero { display: block; min-height: 0; }
  .hero-visual { height: 300px; margin: 0; }
  .hero-visual figcaption { right: 20px; bottom: 23px; left: 20px; }
  .hero-visual h1 { max-width: 420px; font-size: clamp(40px,11.5vw,51px); }
  .membership { display: block; min-height: 0; padding: 36px 20px 34px; }
  .membership-label { padding-right: 35px; font-size: 13px; }
  .membership-benefits article { padding-top: 13px; padding-bottom: 13px; padding-left: 40px; }
  .membership-benefits article::before { top: 13px; width: 27px; height: 27px; }
  .membership-benefits h3 { font-size: 20px; }
  .membership-benefits p { font-size: 12px; line-height: 1.5; }
  .platform-preview { margin-top: 33px; padding: 14px; }
  .welcome-video { border-radius: 5px; }
  .video-play { width: 24px; font-size: 6px; }
  .video-copy small,.video-copy em { font-size: 4px; }
  .video-copy strong { font-size: 9px; }
  .phone-shot { right: 2px; bottom: -7px; width: 24%; border-width: 3px; border-radius: 10px; }

  .purchase-module { display: block; min-height: 0; padding: 42px 22px 36px; }
  .purchase-heading p { max-width: 430px; font-size: 12px; }
  .purchase-heading h3 { font-size: 34px; }
  .price-wrap { margin: 24px 0 22px; }
  .price > strong { font-size: 76px; }
  .price b { font-size: 16px; }
  .price small { font-size: 9px; }
  .price-wrap > p { font-size: 11px; }
  .offer-button { min-height: 59px; font-size: 11px; }
  .decline { font-size: 10px; }
}

@media (max-width: 520px) {
  .cart-page { padding: 16px; }
  .cart-card { padding: 32px 20px; }
  .cart-card h1 { font-size: clamp(38px,12vw,50px); overflow-wrap: anywhere; }
}

@media (max-width: 390px) {
  .hero-visual { height: 270px; }
  .hero-visual h1 { font-size: 38px; }
  .membership { padding-right: 17px; padding-left: 17px; }
  .membership-label { font-size: 12px; }
  .membership-benefits h3 { font-size: 18px; }
  .membership-benefits p { font-size: 11px; }
  .purchase-module { padding-right: 18px; padding-left: 18px; }
  .purchase-heading p { font-size: 10px; }
  .purchase-heading h3 { font-size: 31px; }
  .price-wrap > p { font-size: 10px; }
}

/* 6.1 — pełny kolaż, większa typografia i spokojniejsza hierarchia premium */
.hero-visual { height: auto; overflow: hidden; background: var(--forest-900); }
.hero-visual::after { display: none; }
.hero-visual img { width: 100%; height: auto; object-fit: contain; object-position: center; filter: none; }
.hero-visual figcaption { position: static; padding: 30px clamp(34px,5vw,66px) 36px; color: #fff; background: linear-gradient(135deg,var(--forest-900),#123e33); border-top: 1px solid rgba(239,209,140,.28); }
.hero-visual h1 { max-width: 980px; font-size: clamp(52px,5.7vw,76px); text-shadow: none; }

.membership { min-height: 710px; padding-top: 52px; padding-bottom: 50px; grid-template-columns: minmax(500px,.94fr) minmax(0,1.06fr); gap: clamp(48px,5.4vw,76px); }
.membership-label { margin-bottom: 19px; font-size: 18px; line-height: 1.32; letter-spacing: .105em; }
.membership-benefits article { padding-top: 15px; padding-bottom: 15px; padding-left: 44px; }
.membership-benefits article::before { top: 15px; width: 30px; height: 30px; font-size: 14px; }
.membership-benefits h3 { font-size: clamp(21px,1.75vw,25px); line-height: 1.12; }
.membership-benefits p { margin-top: 6px; font-size: 12px; line-height: 1.52; }
.platform-preview { padding: 29px; }
.welcome-video > img { object-position: 50% 30%; }

.purchase-heading p { max-width: 720px; font-size: 17px; line-height: 1.45; }

@media (max-width: 1040px) {
  .membership { min-height: 650px; grid-template-columns: minmax(430px,.94fr) minmax(0,1.06fr); }
  .membership-label { font-size: 16px; }
  .membership-benefits h3 { font-size: 21px; }
  .membership-benefits p { font-size: 11px; }
  .purchase-heading p { font-size: 15px; }
}

@media (max-width: 760px) {
  .hero-visual { height: auto; }
  .hero-visual figcaption { position: static; padding: 23px 20px 27px; }
  .hero-visual h1 { max-width: 440px; font-size: clamp(41px,11.7vw,53px); }
  .membership { min-height: 0; padding-top: 40px; padding-bottom: 40px; }
  .membership-label { padding-right: 24px; margin-bottom: 16px; font-size: 15px; }
  .membership-benefits article { padding-top: 15px; padding-bottom: 15px; padding-left: 43px; }
  .membership-benefits article::before { top: 15px; width: 29px; height: 29px; }
  .membership-benefits h3 { font-size: 21px; }
  .membership-benefits p { font-size: 13px; }
  .platform-preview { padding: 16px; }
  .purchase-heading p { font-size: 14px; }
}

@media (max-width: 390px) {
  .hero-visual h1 { font-size: 39px; }
  .membership-label { font-size: 14px; }
  .membership-benefits h3 { font-size: 20px; }
  .membership-benefits p { font-size: 12px; }
  .purchase-heading p { font-size: 12px; }
}

/* 6.1 — finalny hero 50/50 zgodny z ofertą Praźródła */
.community-hero { display: grid; min-height: 0; grid-template-columns: 54% 46%; align-items: stretch; background: radial-gradient(circle at 0 100%,rgba(205,162,80,.12),transparent 38%),var(--forest-900); }
.hero-copy { display: flex; min-width: 0; padding: 39px clamp(39px,4.8vw,66px); justify-content: center; flex-direction: column; color: #fff; }
.hero-copy h1 { max-width: 650px; margin: 0; color: #fffaf0; font: 500 clamp(42px,4.1vw,54px)/1 "Cormorant Garamond",Georgia,serif; letter-spacing: -.032em; }
.hero-copy h1:focus { outline: none; }
.hero-statement { max-width: 650px; margin: 20px 0 0; color: #fff; font: 400 clamp(25px,2.15vw,32px)/1.06 "Cormorant Garamond",Georgia,serif; letter-spacing: -.02em; }
.hero-lead { max-width: 660px; margin: 20px 0 0; color: rgba(255,255,255,.84); font-size: clamp(17px,1.3vw,19px); line-height: 1.66; }
.hero-visual { height: auto; min-height: 0; }
.hero-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.membership-label { font-size: 21px; }
.membership-benefits p { font-size: 13px; line-height: 1.55; }
.purchase-heading h3 span { display: block; }
.purchase-heading h3 span + span { margin-top: 5px; }

@media (max-width: 1040px) and (min-width: 761px) {
  .community-hero { min-height: 0; grid-template-columns: 53% 47%; }
  .hero-copy { padding-right: 34px; padding-left: 34px; }
  .hero-copy h1 { font-size: 43px; }
  .hero-statement { font-size: 27px; }
  .hero-lead { font-size: 17px; }
  .hero-visual { min-height: 0; }
  .membership-label { font-size: 19px; }
  .membership-benefits p { font-size: 12px; }
}

@media (max-width: 760px) {
  .community-hero { display: block; min-height: 0; }
  .hero-copy { padding: 35px 22px 31px; }
  .hero-copy h1 { font-size: clamp(37px,10vw,44px); line-height: 1.02; }
  .hero-statement { margin-top: 18px; font-size: clamp(26px,7.2vw,32px); }
  .hero-lead { margin-top: 18px; font-size: 15px; line-height: 1.62; }
  .hero-visual { height: 312px; min-height: 0; }
  .hero-visual img { position: absolute; height: 100%; object-fit: cover; object-position: top center; }
  .membership-label { font-size: 17px; }
  .membership-benefits p { font-size: 13px; }
}

@media (max-width: 390px) {
  .hero-copy { padding-right: 18px; padding-left: 18px; }
  .hero-copy h1 { font-size: 34px; }
  .hero-statement { font-size: 25px; }
  .hero-lead { font-size: 14px; }
  .membership-label { font-size: 16px; }
  .membership-benefits p { font-size: 12.5px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}

/* 6.1 — korekta kompozycji: pełny kolaż bez kadrowania */
@media (min-width: 1041px) {
  .community-offer {
    width: min(1120px,calc(100vw - 40px));
  }

  .community-hero {
    grid-template-columns: 58% 42%;
  }

  .hero-copy {
    padding: 42px clamp(48px,4.7vw,64px);
  }

  .hero-copy h1 {
    font-size: clamp(46px,3.9vw,52px);
    line-height: .96;
  }

  .hero-statement {
    margin-top: 22px;
    font-size: clamp(27px,2.1vw,30px);
  }

  .hero-lead {
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.58;
  }
}

.hero-visual {
  align-self: start;
  overflow: visible;
}

.hero-visual img {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 1040px) and (min-width: 761px) {
  .community-hero {
    grid-template-columns: 55% 45%;
  }

  .hero-copy {
    padding: 34px 36px;
  }

  .hero-copy h1 {
    font-size: 42px;
    line-height: .97;
  }

  .hero-statement {
    margin-top: 18px;
    font-size: 26px;
  }

  .hero-lead {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.55;
  }
}

@media (max-width: 760px) {
  .hero-visual {
    height: auto;
  }

  .hero-visual img {
    position: static;
    height: auto;
    object-fit: contain;
  }
}

/* 6.1 — kompaktowy hero: pełny kolaż i złoty tytuł */
.hero-copy h1 {
  color: #e5bd68;
  letter-spacing: -.025em;
  text-wrap: balance;
}

@media (min-width: 1041px) {
  .community-hero {
    grid-template-columns: minmax(0,1fr) clamp(250px,23%,270px);
  }

  .hero-copy {
    padding: 30px clamp(46px,4.4vw,60px);
  }

  .hero-copy h1 {
    max-width: none;
    font-size: clamp(50px,4.2vw,58px);
    line-height: .96;
    white-space: nowrap;
  }

  .hero-statement {
    margin-top: 18px;
  }

  .hero-lead {
    margin-top: 16px;
    line-height: 1.52;
  }
}

@media (max-width: 1040px) and (min-width: 761px) {
  .community-hero {
    grid-template-columns: minmax(0,1fr) 240px;
  }

  .hero-copy {
    padding: 30px 34px;
  }

  .hero-copy h1 {
    font-size: 45px;
    line-height: .98;
  }
}

@media (max-width: 760px) {
  .hero-copy h1 {
    font-size: clamp(39px,10.8vw,48px);
    line-height: 1;
  }
}
