@font-face{font-family:"Baloo 2";src:url("../fonts/baloo-2-700.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Baloo 2";src:url("../fonts/baloo-2-800.ttf") format("truetype");font-weight:800;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-700.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-800.ttf") format("truetype");font-weight:800;font-display:swap}
/* Główkownia – nocne niebo (granat) na górze i w pasach „Za darmo”, niżej jasne sekcje jak kartki zeszytu.
   Trasa misji: Księżyc → planety → Słońce. Akcent: pomarańcz Kosmika, gwiazdka na granacie. */
:root {
  --bg: #FFF7EC;          /* kartka */
  --bg-tint: #FFF1DE;     /* krem marki */
  --surface: #FFFFFF;
  --ink: #1E1B4B;         /* granat marki */
  --ink-soft: #5E5A86;
  --line: #EBDCC6;
  --accent: #F07B2C;      /* pomarańcz Kosmika */
  --accent-ink: #FFFFFF;
  --accent-deep: #C9561A;
  --star: #FFC63D;        /* gwiazdka */
  --teal: #1F9C8A;        /* turkus Bita – wersja do tekstu na jasnym */
  --night: #1E1B4B;
  --night-2: #2E2A6B;
  --night-3: #3B3685;
  --night-ink: #FFFFFF;
  --night-soft: #C9C4F5;
  --tint-orange: #FDE2CF;
  --tint-teal: #D3F3EE;
  --tint-star: #FFEDBF;
  --dot-empty: #FFFFFF;
  --shadow: 0 14px 34px rgba(30, 27, 75, .14);
  --display: "Baloo 2", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
  --body: "Nunito", "Segoe UI", system-ui, sans-serif;
  --r: 18px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #15133A; --bg-tint: #1B1947; --surface: #232058; --ink: #F3F1FF; --ink-soft: #B9B5E4; --line: #35317A;
    --accent: #FF8E45; --accent-ink: #1E1B4B; --accent-deep: #FFB27F; --teal: #5ED3C0;
    --night: #0F0D2C; --night-2: #1E1B4B; --night-3: #2A2668; --night-soft: #C9C4F5;
    --tint-orange: #3B2547; --tint-teal: #173E4F; --tint-star: #3A3226; --dot-empty: #2A2766;
    --shadow: 0 14px 34px rgba(0, 0, 0, .35);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #15133A; --bg-tint: #1B1947; --surface: #232058; --ink: #F3F1FF; --ink-soft: #B9B5E4; --line: #35317A;
  --accent: #FF8E45; --accent-ink: #1E1B4B; --accent-deep: #FFB27F; --teal: #5ED3C0;
  --night: #0F0D2C; --night-2: #1E1B4B; --night-3: #2A2668; --night-soft: #C9C4F5;
  --tint-orange: #3B2547; --tint-teal: #173E4F; --tint-star: #3A3226; --dot-empty: #2A2766;
  --shadow: 0 14px 34px rgba(0, 0, 0, .35);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--body); font-size: 17px; line-height: 1.6; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--night); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--display); line-height: 1.08; text-wrap: balance; margin: 0; letter-spacing: -.01em; }
h1 { font-size: clamp(40px, 7vw, 76px); font-weight: 800; }
h2 { font-size: clamp(30px, 4.4vw, 46px); font-weight: 800; }
h3 { font-size: 22px; font-weight: 700; }
p { margin: 0; }
ul, ol { margin: 0; }
.wrap { max-width: 1120px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.narrow { max-width: 820px; }
.row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.row.center { justify-content: center; }
.eyebrow { font-weight: 800; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-deep); }
.eyebrow a { text-decoration: none; }
.eyebrow-star { color: var(--star); }
.lead { color: var(--ink-soft); font-size: 18px; max-width: 62ch; }
.sec { padding-block: 76px; }
.sec-tint { background: var(--bg-tint); }
.sec-head { display: flex; flex-direction: column; gap: 12px; margin-bottom: 36px; }

/* ---------- przyciski ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--display); font-weight: 700; font-size: 18px;
  line-height: 1.1; padding: 13px 24px; border-radius: 999px; border: 2px solid transparent; text-decoration: none; cursor: pointer; transition: transform .15s ease, background .15s ease; }
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible, .chip:focus-visible, summary:focus-visible, .nav a:focus-visible, .gallery:focus-visible, .mission-cover:focus-visible, .other:focus-visible { outline: 3px solid var(--star); outline-offset: 3px; }
.btn-sm { font-size: 15px; padding: 9px 18px; }
.btn-accent { background: var(--accent); color: var(--accent-ink); }
.btn-star { background: var(--star); color: #1E1B4B; }
.btn-ink { background: var(--ink); color: var(--bg); }
.btn-line { background: transparent; color: var(--ink); border-color: var(--line); }
.btn-ghost { background: transparent; color: var(--night-ink); border-color: rgba(255, 255, 255, .4); }
.btn.is-off { background: transparent; color: inherit; border: 2px dashed currentColor; opacity: .75; cursor: default; font-size: 15px; }
.btn.is-off:hover { transform: none; }

/* ---------- pasek górny ---------- */
.topbar { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--night); color: var(--night-ink); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.topbar-in { display: flex; align-items: center; gap: 18px; padding-block: 10px; }
.brand img { height: 36px; width: auto; }
.nav { display: flex; gap: 4px; margin-left: auto; overflow-x: auto; scrollbar-width: none; }
.nav::-webkit-scrollbar { display: none; }
.nav a { text-decoration: none; font-weight: 700; font-size: 15px; padding: 8px 12px; border-radius: 999px; color: var(--night-soft); white-space: nowrap; }
.nav a:hover { color: var(--night-ink); background: rgba(255, 255, 255, .08); }
@media (max-width: 760px) {
  .topbar-in { flex-wrap: wrap; row-gap: 6px; }
  .brand img { height: 30px; }
  .topbar .btn { margin-left: auto; }
  .nav { order: 3; width: 100%; margin-left: 0; }
  .nav a { padding: 6px 10px; font-size: 14px; }
}

/* ---------- hero (nocne niebo) ---------- */
.hero, .night { background: var(--night); color: var(--night-ink); position: relative; overflow: hidden; }
.hero::before, .night::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .9;
  background-image:
    radial-gradient(1.6px 1.6px at 12% 22%, #fff 99%, transparent), radial-gradient(1.2px 1.2px at 28% 70%, #FFE9A8 99%, transparent),
    radial-gradient(1.4px 1.4px at 46% 14%, #fff 99%, transparent), radial-gradient(1px 1px at 63% 48%, #fff 99%, transparent),
    radial-gradient(1.6px 1.6px at 82% 26%, #FFE9A8 99%, transparent), radial-gradient(1.2px 1.2px at 92% 76%, #fff 99%, transparent),
    radial-gradient(1px 1px at 7% 88%, #fff 99%, transparent), radial-gradient(1.3px 1.3px at 55% 90%, #E3F0FB 99%, transparent),
    radial-gradient(1px 1px at 36% 40%, #fff 99%, transparent), radial-gradient(1.4px 1.4px at 74% 62%, #fff 99%, transparent),
    radial-gradient(1.1px 1.1px at 20% 52%, #fff 99%, transparent), radial-gradient(1.2px 1.2px at 88% 8%, #fff 99%, transparent); }
.hero::after { content: ""; position: absolute; width: 640px; height: 640px; right: -220px; top: -260px; border-radius: 50%; background: var(--night-2); pointer-events: none; }
.hero { padding-block: 56px 72px; }
.hero-in { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr .65fr; gap: 40px; align-items: center; }
.hero-text { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.hero h1 em { font-style: normal; color: var(--star); display: block; }
.hero-sub { color: var(--night-soft); font-size: 19px; max-width: 48ch; }
.hero-facts { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--night-soft); font-size: 15px; }
.hero-facts b { font-family: var(--display); font-size: 22px; color: var(--night-ink); margin-right: 4px; }
.hero-art img { width: 100%; max-width: 520px; margin-inline: auto; filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .35)); animation: float 6s ease-in-out infinite; }
.hero-price { color: var(--night-soft); }
.hero-price b { font-family: var(--display); font-size: 28px; color: var(--star); margin-right: 6px; }
.hero-m .hero-art img { max-width: 380px; }
@keyframes float { 50% { transform: translateY(-10px) rotate(-1deg); } }
@media (prefers-reduced-motion: reduce) { .hero-art img { animation: none; } html { scroll-behavior: auto; } .btn { transition: none; } }
@media (max-width: 860px) { .hero-in { grid-template-columns: 1fr; gap: 24px; } .hero-art img { max-width: 260px; } .hero-m .hero-art img { max-width: 220px; } }
@media (max-width: 600px) { .hero { padding-block: 36px 44px; } .hero-text .row .btn { flex: 1 1 auto; } .hero-facts { display: grid; grid-template-columns: 1fr 1fr; } }

/* ---------- formuła ---------- */
.formula-band { background: var(--accent); color: var(--accent-ink); }
.formula { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding-block: 18px; }
.formula span { font-family: var(--display); font-weight: 800; font-size: 24px; }
.formula i { font-style: normal; font-weight: 800; font-size: 22px; opacity: .7; }
.formula p { margin-left: auto; font-weight: 700; }
@media (max-width: 600px) { .formula p { margin-left: 0; width: 100%; } }

/* ---------- trasa i misje ---------- */
.route { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 26px; position: relative; counter-reset: r; }
.route li { position: relative; padding: 12px 16px 12px 52px; border-radius: 999px; background: var(--surface); border: 2px dashed var(--line); color: var(--ink-soft); font-size: 15px; counter-increment: r; }
.route li::before { content: counter(r); position: absolute; left: 10px; top: 50%; translate: 0 -50%; width: 30px; height: 30px; border-radius: 50%;
  display: grid; place-items: center; background: var(--ink); color: var(--bg); font-family: var(--display); font-weight: 800; }
.route b { color: var(--ink); font-family: var(--display); font-size: 18px; margin-right: 6px; }
@media (max-width: 760px) { .route { grid-template-columns: 1fr; } }
.missions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 980px) { .missions { grid-template-columns: 1fr; max-width: 560px; } }
.mission { display: flex; flex-direction: column; background: var(--surface); border: 1.5px solid var(--line); border-radius: 22px; overflow: hidden; min-width: 0; }
.mission-cover { display: block; padding: 22px 22px 0; background: var(--m-tint); }
.mission-cover img { border-radius: 10px 10px 0 0; box-shadow: var(--shadow); margin-inline: auto; width: 78%; transition: transform .2s ease; }
.mission-cover:hover img { transform: translateY(-4px) rotate(-1deg); }
.mission-head { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 0; min-width: 0; }
.mission-more { display: flex; flex-direction: column; gap: 14px; padding: 12px 22px 22px; flex: 1; }
.mission-more .row { margin-top: auto; }
.mission-head h3 { font-size: 30px; }
.mission-head h3 span { display: block; font-size: 18px; color: var(--m-ink); }
.mission-scope { font-weight: 800; }
.mission-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 4px; color: var(--ink-soft); }
.mission-list li { display: flex; justify-content: space-between; border-bottom: 1px dashed var(--line); padding-block: 4px; }
.mission-list span { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--ink); }
.mission-price { color: var(--ink-soft); }
.mission .row .btn { flex: 1 1 0; white-space: nowrap; }
.mission-price b { font-family: var(--display); font-size: 26px; color: var(--ink); margin-right: 4px; }
.m-orange { --m-tint: var(--tint-orange); --m-ink: var(--accent-deep); }
.m-teal { --m-tint: var(--tint-teal); --m-ink: var(--teal); }
.m-star { --m-tint: var(--tint-star); --m-ink: var(--accent-deep); }

/* ---------- kroki ---------- */
.steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; counter-reset: s; }
.steps li { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px; background: var(--surface); border-radius: 22px; border: 1.5px solid var(--line); counter-increment: s; }
.steps li::before { content: counter(s); position: absolute; top: 18px; right: 22px; font-family: var(--display); font-weight: 800; font-size: 46px; color: var(--line); line-height: 1; }
.steps img { height: 150px; width: auto; }
.steps p { color: var(--ink-soft); }
@media (max-width: 860px) { .steps { grid-template-columns: 1fr; } .steps li { flex-direction: row; flex-wrap: wrap; align-items: center; } .steps img { height: 110px; } .steps li h3 { flex: 1; } .steps li p { width: 100%; } }

/* ---------- demo ---------- */
.demo { display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; align-items: center; }
.demo-text { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
@media (max-width: 860px) { .demo { grid-template-columns: 1fr; } }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { font-family: var(--display); font-weight: 700; font-size: 18px; padding: 6px 16px; border-radius: 12px; border: 2px solid var(--line); background: var(--surface); color: var(--ink); cursor: pointer; }
.chip[aria-pressed="true"] { border-color: var(--accent); background: var(--tint-orange); }
.board { background: var(--bg-tint); border: 1.5px solid var(--line); border-radius: 22px; padding: 26px 18px; min-width: 0; }
.eq { font-family: var(--display); font-weight: 800; font-size: clamp(34px, 5vw, 48px); text-align: center; font-variant-numeric: tabular-nums; }
.eq .res { color: var(--accent); }
.frames { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 14px; }
.frame { display: grid; grid-template-columns: repeat(5, 32px); grid-template-rows: repeat(2, 32px); gap: 5px; padding: 8px; border-radius: 12px; border: 2px solid var(--ink); background: var(--surface); }
.cell { border-radius: 50%; background: var(--dot-empty); border: 1.5px dashed var(--line); transition: background .35s ease, transform .35s ease; }
.cell.a { background: var(--accent); border-color: transparent; }
.cell.move { background: var(--star); border-color: transparent; transform: scale(1.06); }
.cell.rest { background: var(--teal); border-color: transparent; }
.cell.gap { border-color: var(--accent); border-style: solid; }
.step-text { margin-top: 18px; text-align: center; min-height: 56px; font-weight: 700; }
.step-text small { display: block; color: var(--ink-soft); font-weight: 600; font-size: 14px; }
.pips { display: flex; gap: 6px; justify-content: center; margin-block: 12px; }
.pips i { width: 9px; height: 9px; border-radius: 50%; background: var(--line); }
.pips i.on { background: var(--accent); }
@media (max-width: 420px) { .frame { grid-template-columns: repeat(5, 24px); grid-template-rows: repeat(2, 24px); gap: 4px; } }
@media (prefers-reduced-motion: reduce) { .cell { transition: none; } }

/* ---------- galeria ---------- */
.gallery { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; }
.gallery figure { margin: 0; flex: 0 0 min(260px, 72vw); scroll-snap-align: start; display: flex; flex-direction: column; gap: 10px; }
.gallery img { border-radius: 10px; box-shadow: var(--shadow); border: 1px solid var(--line); }
.gallery figcaption { font-weight: 700; font-size: 15px; color: var(--ink-soft); }

/* ---------- ceny ---------- */
.prices { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 1000px) { .prices { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .prices { grid-template-columns: 1fr; } }
.price { display: flex; flex-direction: column; gap: 8px; padding: 24px; background: var(--surface); border-radius: 22px; border: 1.5px solid var(--line); min-width: 0; }
.price > p:not(.eyebrow):not(.price-big):not(.price-was):not(.badge) { color: var(--ink-soft); }
.price .btn { margin-top: auto; }
.price-big { font-family: var(--display); font-weight: 800; font-size: 46px; line-height: 1; font-variant-numeric: tabular-nums; }
.price-big small { font-size: 20px; color: var(--ink-soft); }
.price-was { color: var(--ink-soft); font-size: 15px; text-decoration: line-through; }
.price-hot { background: var(--night); color: var(--night-ink); border-color: var(--night); }
.price-hot .price-big small, .price-hot .price-was, .price-hot > p:not(.badge) { color: var(--night-soft) !important; }
.badge { align-self: flex-start; background: var(--star); color: #1E1B4B; font-weight: 800; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }

/* ---------- darmowe pakiety ---------- */
.night { padding-block: 76px; }
.night .wrap { position: relative; z-index: 1; }
.night .lead { color: var(--night-soft); }
.starts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 980px) { .starts { grid-template-columns: 1fr; max-width: 560px; } }
.start { display: grid; grid-template-columns: 104px 1fr; gap: 18px; padding: 18px; background: var(--night-2); border-radius: 22px; border: 1px solid rgba(255, 255, 255, .1); min-width: 0; }
.start img { border-radius: 8px; box-shadow: 0 10px 22px rgba(0, 0, 0, .35); }
.start > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.start ul, .start-one ul { padding-left: 18px; color: var(--night-soft); font-size: 15px; }
.start .btn { align-self: flex-start; margin-top: auto; }
.start-grade { color: var(--star); font-weight: 800; font-size: 14px; }
.start-one { display: grid; grid-template-columns: 240px 1fr; gap: 36px; align-items: center; }
.start-one > div { display: flex; flex-direction: column; gap: 14px; }
.start-one .btn { align-self: flex-start; }
.start-one img { border-radius: 10px; box-shadow: 0 14px 30px rgba(0, 0, 0, .4); }
@media (max-width: 680px) { .start-one { grid-template-columns: 1fr; } .start-one img { max-width: 220px; } }
@media (max-width: 980px) { .start { grid-template-columns: 130px 1fr; } }
@media (max-width: 420px) { .start { grid-template-columns: 96px 1fr; } }

/* ---------- nauczyciele i załoga ---------- */
.teach { display: grid; grid-template-columns: 220px 1fr; gap: 36px; align-items: center; }
.teach > div { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.teach-art img { max-height: 260px; width: auto; margin-inline: auto; }
.teach-price { font-weight: 700; }
@media (max-width: 680px) { .teach { grid-template-columns: 1fr; } .teach-art img { max-height: 180px; } }
.crew { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.crew-card { display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: center; }
.crew-card > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.crew-card p { color: var(--ink-soft); }
@media (max-width: 760px) { .crew { grid-template-columns: 1fr; } }

/* ---------- FAQ ---------- */
.faq { display: flex; flex-direction: column; gap: 10px; }
details { background: var(--surface); border: 1.5px solid var(--line); border-radius: 14px; padding: 4px 20px; }
summary { cursor: pointer; font-family: var(--display); font-weight: 700; font-size: 19px; padding: 12px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; color: var(--accent); font-size: 24px; line-height: 1; }
details[open] summary::after { content: "−"; }
details p { color: var(--ink-soft); padding-bottom: 16px; }

/* ---------- podstrony misji ---------- */
.prods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 900px) { .prods { grid-template-columns: 1fr; } }
.prod { display: grid; grid-template-columns: 130px 1fr; gap: 16px; align-items: start; padding: 18px; background: var(--surface); border: 1.5px solid var(--line); border-radius: 20px; min-width: 0; }
.prod img { border-radius: 8px; box-shadow: var(--shadow); }
.prod > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.prod h3 span { display: block; font-size: 15px; color: var(--ink-soft); font-family: var(--body); font-weight: 800; }
.prod ul { padding-left: 18px; color: var(--ink-soft); font-size: 15px; }
.plan { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0; border: 1.5px solid var(--line); border-radius: 20px; overflow: hidden; background: var(--surface); }
.plan li { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-right: 1.5px solid var(--line); border-bottom: 1.5px solid var(--line); margin: 0 -1.5px -1.5px 0; }
.plan-wk { font-family: var(--display); font-weight: 800; color: var(--teal); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.plan b { font-family: var(--display); font-size: 19px; line-height: 1.2; }
.plan li > span:last-child { color: var(--ink-soft); font-size: 15px; }
.others { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 680px) { .others { grid-template-columns: 1fr; } }
.other { display: grid; grid-template-columns: 90px 1fr; gap: 16px; align-items: center; padding: 14px; border-radius: 18px; background: var(--m-tint); text-decoration: none; }
.other img { border-radius: 6px; }
.other b { display: block; font-family: var(--display); font-size: 22px; }
.other small { display: block; color: var(--ink-soft); font-size: 14px; }

/* ---------- stopka ---------- */
.foot { background: var(--night); color: var(--night-soft); padding-block: 44px; }
.foot-in { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; }
.foot-brand { display: flex; flex-direction: column; gap: 10px; }
.foot-brand img { height: 40px; width: auto; max-width: 230px; object-fit: contain; object-position: left; }
.foot-nav { display: flex; flex-wrap: wrap; gap: 8px 18px; align-content: start; justify-content: flex-end; }
.foot-nav a { color: var(--night-ink); font-weight: 700; text-decoration: none; }
.foot-small { grid-column: 1 / -1; font-size: 13px; border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 18px; }
@media (max-width: 680px) { .foot-in { grid-template-columns: 1fr; } .foot-nav { justify-content: flex-start; } }

/* ---------- „sprzedaż od listopada” ---------- */
.soon { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: 15px; color: var(--star); padding: 8px 0; }
.soon::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(255, 198, 61, .25); }
.soon-note { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; padding: 14px 18px; margin-bottom: 22px; border-radius: 14px; background: var(--tint-star); color: var(--ink); }
.soon-note a { font-weight: 800; color: var(--accent-deep); }

/* ---------- telefon: zwarte karty misji, cen i plików ---------- */
@media (max-width: 600px) {
  .sec, .night { padding-block: 52px; }
  .sec-head { margin-bottom: 26px; }
  .mission { display: grid; grid-template-columns: 116px 1fr; }
  .mission-cover { padding: 14px 0 0 14px; background: none; }
  .mission-cover img { width: 100%; border-radius: 6px; }
  .mission-head { padding: 14px 16px 0 14px; gap: 4px; }
  .mission-head h3 { font-size: 24px; }
  .mission-head h3 span { font-size: 16px; }
  .mission-scope { font-size: 15px; }
  .mission-price b { font-size: 22px; }
  .mission-more { grid-column: 1 / -1; padding: 12px 16px 16px; }
  .mission-list { font-size: 15px; }
  .mission .row { gap: 8px; }
  .mission .row .btn { font-size: 15px; padding: 11px 12px; }
  .mission { border-top: 6px solid var(--m-tint); }
  .prices { grid-template-columns: 1fr; gap: 12px; }
  .price { display: grid; grid-template-columns: 1fr auto; column-gap: 14px; row-gap: 2px; padding: 16px 18px; align-items: baseline; }
  .price > * { grid-column: 1; }
  .price .price-big { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 34px; text-align: right; }
  .price .price-was { grid-column: 2; grid-row: 3; text-align: right; font-size: 13px; }
  .price > p:not(.eyebrow):not(.price-big):not(.price-was):not(.badge) { font-size: 14px; grid-row: 3; }
  .price .btn, .price .soon { grid-column: 1 / -1; }
  .price .badge { justify-self: start; }
  .prod { grid-template-columns: 84px 1fr; padding: 14px; }
  .steps li { padding: 18px; }
  .teach-art img { max-height: 150px; }
  .crew-card { grid-template-columns: 90px 1fr; }
}
