
/* Layout: a night-sky expedition page. Navy ground, gold rules like contour lines,
   a hero with the round logo as a seal, then offer, method, a sample itinerary, contact. */
:root {
  --navy-deep: #070f20;
  --navy: #0b1730;
  --navy-raised: #112042;
  --gold: #d4a64a;
  --gold-soft: #f0d48a;
  --ink: #ece8dc;
  --ink-muted: #a7afc4;
  --line: rgba(212, 166, 74, 0.28);
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--navy);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  padding-block: 0;
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

a { color: inherit; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 3px; }

.wrap { max-width: 1080px; margin: 0 auto; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 600; line-height: 1.1; text-wrap: balance; margin: 0; }
p { margin: 0; }
.eyebrow {
  font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); font-weight: 600; margin-bottom: 14px;
}

/* Header */
header.top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 20px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img { width: 44px; height: 44px; border-radius: 50%; display: block; object-fit: cover; flex: none; }
.brand span { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; letter-spacing: 0.04em; }
nav.main { display: flex; gap: 6px 22px; flex-wrap: wrap; font-size: 0.95rem; }
nav.main a { text-decoration: none; color: var(--ink-muted); padding: 4px 0; border-bottom: 1px solid transparent; }
nav.main a:hover { color: var(--gold-soft); border-bottom-color: var(--gold); }

/* Hero */
.hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 48px; align-items: center; padding-block: 56px 72px; }
.hero h1 { font-size: clamp(2.5rem, 6.2vw, 4.6rem); letter-spacing: -0.01em; }
.hero h1 em { font-style: italic; color: var(--gold-soft); font-weight: 500; }
.hero p.lead { margin-top: 22px; max-width: 34em; font-size: 1.1rem; color: var(--ink-muted); }
.cta-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 32px; }
.btn {
  display: inline-block; text-decoration: none; font-weight: 600; font-size: 0.98rem;
  padding: 13px 26px; border-radius: 2px; border: 1px solid var(--gold);
}
.btn.solid { background: var(--gold); color: var(--navy-deep); }
.btn.solid:hover { background: var(--gold-soft); border-color: var(--gold-soft); }
.btn.ghost { color: var(--gold-soft); }
.btn.ghost:hover { background: rgba(212, 166, 74, 0.12); }
.seal { justify-self: center; width: 100%; max-width: 340px; position: relative; }
.seal::before {
  content: ""; position: absolute; inset: -14px; border-radius: 50%;
  border: 1px solid var(--line);
}
.seal img { width: 100%; height: auto; display: block; border-radius: 50%; }

/* Sections */
section { padding-block: 72px; border-top: 1px solid var(--line); }
.section-head { max-width: 40em; margin-bottom: 40px; }
.section-head :is(h1, h2) { font-size: clamp(2rem, 4.4vw, 3rem); }
.section-head p { margin-top: 14px; color: var(--ink-muted); }
.section-head p.eyebrow { margin-top: 0; color: var(--gold); }

/* Galeria */
.gallery-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 64px; align-items: center; }
.gallery-text { min-width: 0; }
.gallery-text :is(h1, h2) { font-size: clamp(2rem, 4.2vw, 2.9rem); }
.gallery-text p:not(.eyebrow) { margin-top: 16px; color: var(--ink-muted); max-width: 26em; }
.gallery-text .note { font-size: 0.85rem; letter-spacing: 0.04em; margin-top: 26px; }
.slider { min-width: 0; }
.slides { position: relative; aspect-ratio: 4 / 3; max-width: 100%; overflow: hidden; background: var(--navy-deep); outline: 1px solid var(--line); outline-offset: 10px; touch-action: pan-y; }
.slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 0.9s ease; }
.slide.is-active { opacity: 1; z-index: 1; }
.slide img { width: 100%; height: 100%; object-fit: cover; display: block; max-width: none; }
.slide figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 64px 22px 18px; background: linear-gradient(to top, rgba(7, 15, 32, 0.85), rgba(7, 15, 32, 0)); font-family: var(--font-display); font-size: 1.45rem; font-weight: 600; color: var(--ink); }
.slider-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 30px; }
.dots { display: flex; flex-wrap: wrap; }
.dot { width: 24px; height: 24px; display: grid; place-items: center; background: none; border: 0; padding: 0; cursor: pointer; }
.dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; border: 1px solid var(--gold); background: transparent; transition: background 0.2s; }
.dot[aria-current="true"]::before { background: var(--gold); }
.dot:focus-visible, .sbtn:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 2px; }
.slider-btns { display: flex; gap: 8px; }
.sbtn { width: 44px; height: 44px; display: grid; place-items: center; background: transparent; color: var(--gold-soft); border: 1px solid var(--gold); border-radius: 2px; cursor: pointer; }
.sbtn:hover { background: rgba(212, 166, 74, 0.14); }
.sbtn .ic-play { display: none; }
.sbtn.is-paused .ic-play { display: block; }
.sbtn.is-paused .ic-pause { display: none; }
@media (prefers-reduced-motion: reduce) { .slide { transition: none; } }

/* Oferta */
.offer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.offer article { padding: 30px 28px 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-width: 0; }
.offer h3 { font-size: 1.7rem; color: var(--gold-soft); }
.offer p { margin-top: 10px; color: var(--ink-muted); }
.offer .tag { display: block; margin-top: 16px; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); }

/* Dlaczego my */
.reasons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.reasons h3 { font-size: 1.45rem; margin-bottom: 8px; }
.reasons p { color: var(--ink-muted); font-size: 0.98rem; }
.reasons div { border-top: 2px solid var(--gold); padding-top: 18px; min-width: 0; }

/* Jak działamy */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; counter-reset: step; }
.steps li { counter-increment: step; min-width: 0; }
.steps li::before {
  content: counter(step); display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--gold);
  font-family: var(--font-display); font-size: 1.4rem; color: var(--gold-soft); margin-bottom: 16px;
}
.steps h3 { font-size: 1.35rem; margin-bottom: 6px; }
.steps p { color: var(--ink-muted); font-size: 0.97rem; }

/* Plan przykładowy */
.itinerary { background: var(--navy-raised); padding: 36px 32px; border-left: 3px solid var(--gold); }
.itinerary-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 22px; }
.itinerary-head h3 { font-size: 1.8rem; }
.itinerary-head .note { font-size: 0.82rem; color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase; }
.day { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 18px; padding-block: 16px; border-top: 1px solid var(--line); }
.day .when { font-family: var(--font-display); font-size: 1.25rem; color: var(--gold-soft); font-weight: 600; }
.day p { color: var(--ink-muted); }
.day strong { color: var(--ink); font-weight: 600; }

/* Kafle oferty */
.tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tile { background: var(--navy-raised); display: flex; flex-direction: column; min-width: 0; }
.tile-img { aspect-ratio: 4 / 3; overflow: hidden; }
.tile-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tile-body { padding: 24px 24px 28px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.tile h3 { font-size: 1.8rem; color: var(--gold-soft); }
.tile p { color: var(--ink-muted); font-size: 0.98rem; }
.tile-link { margin-top: auto; padding-top: 12px; align-self: flex-start; color: var(--gold-soft); font-weight: 600; font-size: 0.95rem; text-decoration: none; }
.tile-link span, .tile-link { border-bottom: 1px solid var(--gold); padding-bottom: 2px; }
.tile-link:hover { color: var(--ink); }
#oferta .length { margin-top: 56px; }

/* O nas */
.about-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.about-block { min-width: 0; }
.about-block h3 { font-size: 1.9rem; color: var(--gold-soft); margin-bottom: 16px; }
.about-block p { color: var(--ink-muted); max-width: 34em; }
.about-block p + p { margin-top: 14px; }
.values-title { font-size: 1.9rem; margin-top: 64px; margin-bottom: 24px; }
.values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.values > div { border-top: 2px solid var(--gold); padding-top: 18px; min-width: 0; }
.values h4 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; line-height: 1.15; margin: 0 0 8px; text-wrap: balance; }
.values p { color: var(--ink-muted); font-size: 0.97rem; }
.about-close { margin-top: 64px; background: var(--navy-raised); border-left: 3px solid var(--gold); padding: 40px 36px 44px; }
.about-close h3 { font-size: clamp(1.8rem, 3.6vw, 2.4rem); margin-bottom: 14px; }
.about-close p { color: var(--ink-muted); max-width: 40em; }
.about-close p + p { margin-top: 12px; }
.about-close .signoff { font-family: var(--font-display); font-size: 1.5rem; font-style: italic; color: var(--gold-soft); margin: 24px 0 28px; }

/* Grupy */
.groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.groups article { background: var(--navy-raised); border-left: 3px solid var(--gold); padding: 28px 26px 30px; min-width: 0; }
.groups h3 { font-size: 1.6rem; color: var(--gold-soft); margin-bottom: 10px; }
.groups p { color: var(--ink-muted); font-size: 0.98rem; }
#grupy .cta-row { margin-top: 36px; }

/* Kierunki */
.dest { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.dest article { border-top: 2px solid var(--gold); padding-top: 20px; min-width: 0; }
.dest h3 { font-size: 2rem; color: var(--gold-soft); margin-bottom: 10px; }
.dest p { color: var(--ink-muted); max-width: 30em; }
.length { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); display: flex; align-items: baseline; gap: 20px 40px; flex-wrap: wrap; }
.length-label { font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.length ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px 40px; flex-wrap: wrap; }
.length li { font-size: 1.05rem; color: var(--ink-muted); }
.length strong { font-family: var(--font-display); font-size: 2.6rem; font-weight: 600; color: var(--gold-soft); margin-right: 6px; }

/* Spolecznosc */
.community-inner { display: flex; justify-content: space-between; align-items: center; gap: 28px 56px; flex-wrap: wrap; }
.community-inner > div { min-width: 0; flex: 1 1 28em; }
.community :is(h1, h2), #spolecznosc :is(h1, h2) { font-size: clamp(2rem, 4.2vw, 2.9rem); }
#spolecznosc p:not(.eyebrow) { margin-top: 14px; color: var(--ink-muted); max-width: 36em; }

/* Kontakt */
.contact-info { min-width: 0; }
.contact-info :is(h1, h2) { font-size: clamp(2rem, 4.2vw, 2.9rem); }
.contact-lead { margin-top: 14px; color: var(--ink-muted); max-width: 26em; }
.contact-info dl { margin-top: 32px; }
.contact-info .fb { margin-top: 32px; }
.form { background: var(--navy-raised); border-left: 3px solid var(--gold); padding: 32px 30px; display: grid; gap: 18px; min-width: 0; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field { display: grid; gap: 6px; min-width: 0; }
.field label { font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.field input, .field textarea {
  width: 100%; font: inherit; font-size: 1rem; color: var(--ink); background: var(--navy-deep);
  border: 1px solid var(--line); border-radius: 2px; padding: 12px 14px;
}
.field textarea { resize: vertical; min-height: 130px; }
.field input::placeholder, .field textarea::placeholder { color: var(--ink-muted); opacity: 0.7; }
.field input:focus, .field textarea:focus { outline: 2px solid var(--gold-soft); outline-offset: 1px; border-color: var(--gold); }
.consent { display: flex; gap: 12px; align-items: flex-start; font-size: 0.9rem; color: var(--ink-muted); cursor: pointer; }
.consent input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--gold); flex: none; }
.form-actions { display: flex; align-items: center; gap: 14px 20px; flex-wrap: wrap; }
.form-actions .btn { cursor: pointer; font-family: inherit; }
.form-actions .btn[disabled] { opacity: 0.6; cursor: progress; }
.form-status { font-size: 0.95rem; color: var(--ink-muted); flex: 1 1 14em; }
.form-status.ok { color: var(--gold-soft); }
.form-status.err { color: #f0a6a0; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.contact dl { margin: 32px 0 0; display: grid; gap: 18px; }
.contact dt { font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); margin-bottom: 2px; }
.contact dd { margin: 0; font-size: 1.15rem; overflow-wrap: anywhere; user-select: all; }
.contact dd a { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.contact dd a:hover { color: var(--gold-soft); }
.contact .side .fb { margin-top: 28px; }
.contact .side p { color: var(--ink-muted); margin-bottom: 22px; }

/* Polityka prywatnosci */
.policy { border-top: 1px solid var(--line); }
.policy summary { cursor: pointer; padding-block: 20px; font-family: var(--font-display); font-size: 1.45rem; font-weight: 600; color: var(--gold-soft); list-style-position: inside; }
.policy summary:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 2px; }
.policy-body { max-width: 46em; padding-bottom: 36px; color: var(--ink-muted); font-size: 0.97rem; }
.policy-body h3 { font-size: 1.3rem; color: var(--ink); margin: 26px 0 8px; }
.policy-body .policy-date { font-size: 0.85rem; letter-spacing: 0.04em; }
.consent a { color: var(--gold-soft); text-underline-offset: 3px; }

footer { border-top: 1px solid var(--line); padding-block: 28px 40px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; color: var(--ink-muted); font-size: 0.88rem; }

/* Narrow screens */
@media (max-width: 860px) {
  .hero { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-block: 32px 56px; }
  .seal { max-width: 260px; order: -1; justify-self: start; }
  .reasons { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .steps { grid-template-columns: minmax(0, 1fr); }
  .tiles { grid-template-columns: minmax(0, 1fr); }
  .about-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .form-row { grid-template-columns: minmax(0, 1fr); }
  .dest { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .gallery-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .slides { outline-offset: 6px; }
  .slide figcaption { font-size: 1.25rem; padding: 48px 16px 14px; }
  .groups { grid-template-columns: minmax(0, 1fr); }
  section { padding-block: 56px; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .offer { grid-template-columns: minmax(0, 1fr); }
  .steps { grid-template-columns: minmax(0, 1fr); }
  .day { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .itinerary { padding: 26px 20px; }
  .btn { width: 100%; text-align: center; }
  .values { grid-template-columns: minmax(0, 1fr); }
  .about-close { padding: 28px 20px 32px; }
  .form { padding: 24px 18px; }
}

/* ===== Redesign: photo-led hero, arches, full-bleed bands ===== */
html { overflow-x: clip; }
body { padding-left: 0; padding-right: 0; }
.wrap { max-width: 1180px; padding-inline: max(20px, env(safe-area-inset-left, 0px)); }
.band { position: relative; border-top: 0; }
.band::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); z-index: -1; }
.band.deep::before { background: var(--navy-deep); }
.band.gold::before { background: var(--gold); }
main { isolation: isolate; }

header.top { position: sticky; top: 0; z-index: 20; padding-block: 14px; }
header.top::before { content: ""; position: absolute; inset: 0 auto 0 50%; width: 100vw; transform: translateX(-50%); background: rgba(11, 23, 48, 0.88); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); z-index: -1; }
nav.main a { font-size: 0.98rem; }

.hero { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 48px; padding-block: 56px 64px; align-items: center; }
.hero .eyebrow { margin-bottom: 20px; }
.hero h1 { font-size: clamp(2.5rem, 5vw, 4.4rem); line-height: 1.04; font-weight: 600; }
.hero h1 span { display: block; margin-top: 10px; font-style: italic; font-weight: 500; color: var(--gold-soft); }
.hero p.lead { font-size: 1.15rem; margin-top: 26px; }
.hero-art { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: end; padding-bottom: 28px; }
.arch { margin: 0; overflow: hidden; border-radius: 999px 999px 6px 6px; background: var(--navy-deep); box-shadow: 0 0 0 1px var(--line), 0 24px 50px -20px rgba(0,0,0,.6); }
.arch img { display: block; width: 100%; height: 100%; object-fit: cover; }
.arch-a { aspect-ratio: 4 / 6; }
.arch-b { aspect-ratio: 4 / 5; margin-bottom: -28px; }
.hero-seal { height: auto; aspect-ratio: 1 / 1; object-fit: cover; position: absolute; left: 50%; top: 4%; width: 22%; max-width: 112px; transform: translate(-50%, 0); border-radius: 50%; box-shadow: 0 0 0 4px var(--navy), 0 10px 30px rgba(0,0,0,.5); }

.facts { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 8px 44px; padding: 26px 20px; margin-bottom: 8px; border-block: 1px solid var(--line); }
.facts p { margin: 0; color: var(--ink-muted); font-size: 1.05rem; }
.facts strong { font-family: var(--font-display); font-size: 3rem; line-height: 1; font-weight: 600; color: var(--gold-soft); margin-right: 8px; }
.facts .facts-title, .facts .facts-end { font-family: var(--font-display); font-style: italic; font-size: 1.35rem; color: var(--ink); }

section { padding-block: 88px; scroll-margin-top: 64px; }
.section-head { max-width: 44em; margin-bottom: 48px; }
.section-head :is(h1, h2) { font-size: clamp(2.2rem, 4.8vw, 3.5rem); line-height: 1.04; }
.section-head p { font-size: 1.08rem; }

/* Oferta: lukowe kafle ze zdjeciem */
.tiles { gap: 28px; }
.tile { background: none; position: relative; }
.tile-img { aspect-ratio: 3 / 4; border-radius: 999px 999px 6px 6px; box-shadow: 0 0 0 1px var(--line); }
.tile-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(7,15,32,.92) 0%, rgba(7,15,32,.55) 38%, rgba(7,15,32,0) 62%); border-radius: inherit; }
.tile-img { position: relative; }
.tile-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 26px 28px; z-index: 1; }
.tile h3 { font-size: 2.2rem; color: var(--ink); }
.tile p { color: #d4d8e6; }
.tile-link { color: var(--gold-soft); }
.tile img { transition: transform .6s ease; }
.tile:hover img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .tile img { transition: none; } .tile:hover img { transform: none; } }

/* Galeria */
.gallery-grid { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: 56px; }
.slides { outline-offset: 12px; }

/* Jak to dziala: os czasu */
.steps { gap: 40px; position: relative; }
.steps::before { content: ""; position: absolute; top: 22px; left: 22px; right: 22px; border-top: 1px dashed var(--gold); opacity: .7; }
.steps li { position: relative; }
.steps li::before { width: 46px; height: 46px; background: var(--navy); font-size: 1.5rem; position: relative; }
.steps h3 { font-size: 1.7rem; }
.steps p { font-size: 1.02rem; max-width: 18em; }

/* Grupy: wiersze */
.groups { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--line); }
.groups article { background: none; border-left: 0; border-bottom: 1px solid var(--line); padding: 30px 0; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 12px 48px; align-items: baseline; }
.groups h3 { font-size: 2rem; margin: 0; color: var(--gold-soft); }
.groups p { font-size: 1.05rem; }

/* Dlaczego */
.reasons { gap: 48px; }
.reasons div { border-top: 0; padding-top: 0; }
.reasons h3 { font-size: 1.8rem; color: var(--gold-soft); }
.reasons h3::before { content: ""; display: block; width: 48px; height: 2px; background: var(--gold); margin-bottom: 18px; }

/* O nas */
.about-block h3 { font-size: 2.1rem; }
.values > div { border-top: 1px solid var(--gold); }

/* Spolecznosc: zlota belka */
.band.gold :is(h1, h2) { color: var(--navy-deep); }
.band.gold p { color: #2a2410 !important; }
.btn.dark { background: var(--navy-deep); color: var(--gold-soft); border-color: var(--navy-deep); }
.btn.dark:hover { background: var(--navy); }
#spolecznosc { padding-block: 64px; }

.btn { padding: 15px 30px; font-size: 1rem; }

@media (max-width: 860px) {
  .hero { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-block: 28px 44px; }
  .hero-art { max-width: 460px; margin-inline: auto; width: 100%; }
  .facts { gap: 6px 26px; }
  .facts strong { font-size: 2.4rem; }
  .steps::before { display: none; }
  .tile-img { aspect-ratio: 4 / 5; }
  .groups article { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .gallery-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  section { padding-block: 60px; }
  header.top { position: static; }
  header.top::before { display: none; }
  header.top nav.main { gap: 4px 16px; font-size: .9rem; }
}

/* O nas: portret */
.about-grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.about-photo { margin: 0; position: sticky; top: 96px; }
.about-photo .arch { aspect-ratio: 4 / 5; }
.about-photo figcaption { margin-top: 18px; font-size: .95rem; color: var(--ink-muted); }
.about-photo figcaption strong { display: block; font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; color: var(--ink); line-height: 1.2; }
.about-texts { display: grid; gap: 44px; min-width: 0; }
@media (max-width: 860px) { .about-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; } .about-photo { position: static; max-width: 340px; } }

/* ===== Multi-page additions ===== */
nav.main a[aria-current="page"] { color: var(--gold-soft); border-bottom-color: var(--gold); }
main > section:first-child, main > .page-top:first-child { border-top: 0; }
.policy-body { max-width: 46em; }
.policy-body h3 { font-family: var(--font-display); }
footer a { color: var(--ink-muted); text-underline-offset: 3px; }
footer a:hover { color: var(--gold-soft); }
.home-more { margin-top: 36px; }
.trip { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 56px; align-items: center; }
.trip-poster { margin: 0; justify-self: center; width: 100%; max-width: 440px; }
.trip-poster img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 0 0 1px var(--line), 0 28px 60px -24px rgba(0,0,0,.7); }
.trip-text h2, .trip-text h3 { font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.05; }
.trip-text p { margin-top: 16px; color: var(--ink-muted); font-size: 1.08rem; max-width: 30em; }
.trip-text .quote { font-family: var(--font-display); font-style: italic; font-size: 1.7rem; color: var(--gold-soft); line-height: 1.25; margin-top: 22px; }
.trip-text .cta-row { margin-top: 28px; }
.trip-text .chip { display: inline-block; margin-top: 18px; padding: 6px 16px; border: 1px solid var(--gold); border-radius: 999px; color: var(--gold-soft); font-size: .95rem; font-weight: 600; }
.trip-text .chip + p { margin-top: 18px; }
.page-top { padding-bottom: 8px; }
.page-top + section { padding-top: 40px; }
.trip-text small { display: block; margin-top: 18px; color: var(--ink-muted); font-size: .85rem; }
@media (max-width: 860px) { .trip { grid-template-columns: minmax(0, 1fr); gap: 36px; } .trip-poster { max-width: 380px; } }
.facts + section { border-top: 0; padding-top: 56px; }
