:root {
  --red: #d70812;
  --red-bright: #ef101b;
  --ink: #070a0d;
  --max: 1440px;
  --header-height: 112px;
  --slide-duration: 4000ms;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #fff; background: #fff; font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { position: fixed; inset: 0 0 auto 0; z-index: 1000; height: var(--header-height); margin: 0; background: rgba(7,10,13,.94); border-bottom: 1px solid rgba(255,255,255,.055); box-shadow: 0 8px 28px rgba(0,0,0,.12); -webkit-backdrop-filter: blur(14px) saturate(120%); backdrop-filter: blur(14px) saturate(120%); transform: translate3d(0,0,0); backface-visibility: hidden; will-change: box-shadow, border-color; transition: box-shadow .3s ease, border-color .3s ease; }
.site-header.is-scrolled { height: var(--header-height); background: rgba(7,10,13,.94); border-bottom-color: rgba(255,255,255,.09); box-shadow: 0 14px 38px rgba(0,0,0,.28); -webkit-backdrop-filter: blur(14px) saturate(120%); backdrop-filter: blur(14px) saturate(120%); }
.header-inner { width: min(calc(100% - 76px), var(--max)); height: 100%; margin: 0 auto; display: grid; grid-template-columns: 365px 1fr auto; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; gap: 13px; width: max-content; }
.brand-mark { width: 94px; height: 58px; color: var(--red); filter: drop-shadow(0 3px 8px rgba(215,8,18,.14)); }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font-size: 37px; font-weight: 900; letter-spacing: .018em; }
.brand-copy small { margin-top: 7px; font-size: 15px; line-height: 1.35; font-weight: 700; color: #f3f3f3; }
.main-nav { display: flex; justify-content: center; align-items: center; gap: 53px; height: 100%; }
.main-nav a { position: relative; display: grid; place-items: center; height: 100%; font-size: 17px; font-weight: 500; white-space: nowrap; }
.main-nav a::after { content: ""; position: absolute; left: 50%; bottom: 22px; width: 0; height: 3px; border-radius: 4px; background: var(--red-bright); transform: translateX(-50%); transition: width .2s ease; }
.main-nav a:hover::after, .main-nav a.is-active::after { width: 64px; }
.site-header.is-scrolled .main-nav a::after { bottom: 22px; }
.header-actions { display: flex; align-items: center; gap: 35px; }
.phone-link { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.phone-link svg { width: 34px; height: 34px; transform: rotate(-5deg); }
.phone-link span { display: flex; flex-direction: column; line-height: 1.15; }
.phone-link small { font-size: 15px; color: #f2f2f2; }
.phone-link strong { margin-top: 5px; font-size: 17px; font-weight: 800; }
.header-cta { display: grid; place-items: center; min-width: 235px; height: 53px; padding: 0 26px; border-radius: 28px; background: linear-gradient(180deg, #df0b14, #bd050d); box-shadow: 0 14px 30px rgba(176,0,7,.28); font-size: 16px; font-weight: 900; transition: transform .2s ease, filter .2s ease; }
.header-cta:hover, .button-primary:hover { transform: translateY(-2px); filter: brightness(1.08); }
.menu-toggle { display: none; }

.hero-slider { position: relative; min-height: 1000px; overflow: hidden; isolation: isolate; background: #080b0e; outline: none; }
.slides, .hero-slide { position: absolute; inset: 0; }
.hero-slide { opacity: 0; visibility: hidden; pointer-events: none; z-index: 0; transition: opacity .9s cubic-bezier(.22,.61,.36,1), visibility 0s linear .9s; }
.hero-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 2; transition-delay: 0s; }
.slide-media { position: absolute; inset: -12px; z-index: -5; width: calc(100% + 24px); height: calc(100% + 24px); object-fit: cover; object-position: center center; transform: scale(1.045); filter: saturate(.98) contrast(1.02); transition: transform 4.6s cubic-bezier(.2,.65,.3,1), filter .9s ease; }
.hero-slide.is-active .slide-media { transform: scale(1); }
.hero-slide::before { content: ""; position: absolute; inset: 0; z-index: -4; background: linear-gradient(90deg, rgba(3,7,9,.94) 0%, rgba(3,7,9,.82) 31%, rgba(3,7,9,.38) 55%, rgba(3,7,9,.06) 82%), linear-gradient(180deg, rgba(4,7,9,.20) 0%, rgba(4,7,9,.02) 58%, rgba(4,7,9,.53) 88%, rgba(4,7,9,.20) 100%); }
.hero-slide::after { content: ""; position: absolute; z-index: -3; left: 0; top: 130px; width: min(760px, 57vw); height: 630px; background: radial-gradient(ellipse at 25% 48%, rgba(3,7,9,.60), rgba(3,7,9,0) 72%); pointer-events: none; }
.hero-inner { width: min(calc(100% - 188px), 1335px); margin: 0 auto; padding-top: 255px; }
.hero-copy { max-width: 760px; }
.eyebrow, .hero-copy h1, .hero-lead, .hero-buttons { opacity: 0; transform: translate3d(-24px, 0, 0); transition: opacity .62s ease, transform .75s cubic-bezier(.16,1,.3,1); }
.hero-slide.is-active .eyebrow, .hero-slide.is-active .hero-copy h1, .hero-slide.is-active .hero-lead, .hero-slide.is-active .hero-buttons { opacity: 1; transform: translate3d(0,0,0); }
.hero-slide.is-active .eyebrow { transition-delay: .14s; }.hero-slide.is-active .hero-copy h1 { transition-delay: .22s; }.hero-slide.is-active .hero-lead { transition-delay: .30s; }.hero-slide.is-active .hero-buttons { transition-delay: .38s; }
.eyebrow { margin: 0 0 25px; color: #e20c17; font-size: 16px; font-weight: 800; letter-spacing: .015em; }
.hero-copy h1 { margin: 0; font-size: clamp(44px, 3.25vw, 51px); line-height: 1.11; letter-spacing: -.035em; font-weight: 900; text-shadow: 0 2px 8px rgba(0,0,0,.18); }
.hero-lead { margin: 25px 0 0; color: #f1f2f3; font-size: 22px; line-height: 1.56; letter-spacing: -.012em; }
.hero-buttons { display: flex; gap: 19px; margin-top: 39px; }
.button { display: inline-grid; place-items: center; height: 59px; padding: 0 27px; border-radius: 20px; font-size: 16px; font-weight: 900; white-space: nowrap; transition: transform .2s ease, background .2s ease, border-color .2s ease, filter .2s ease; }
.button-primary { min-width: 195px; background: linear-gradient(180deg, #e10c15, #c7070f); box-shadow: 0 16px 34px rgba(151,0,6,.3); }.button-wide { min-width: 294px; }
.button-secondary { min-width: 232px; border: 1.5px solid rgba(255,255,255,.84); background: rgba(11,14,17,.58); backdrop-filter: blur(7px); }
.button-secondary:hover { background: rgba(255,255,255,.1); transform: translateY(-2px); }

.benefits { position: absolute; left: 50%; bottom: 102px; transform: translate(-50%, 18px); width: min(calc(100% - 174px), 1348px); min-height: 127px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; padding: 18px; border: 1px solid rgba(255,255,255,.30); border-radius: 16px; background: linear-gradient(180deg, rgba(7,10,12,.965), rgba(7,10,12,.90)); box-shadow: 0 22px 40px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.035); backdrop-filter: blur(13px); opacity: 0; transition: opacity .62s ease, transform .72s cubic-bezier(.16,1,.3,1); }
.hero-slide.is-active .benefits { opacity: 1; transform: translate(-50%, 0); transition-delay: .44s; }
.benefit { min-height: 82px; display: flex; align-items: center; gap: 20px; padding: 0 24px; }
.benefit + .benefit { border-left: 1px solid rgba(255,255,255,.32); }
.benefit svg { flex: 0 0 54px; width: 54px; height: 54px; fill: none; stroke: #e30b17; stroke-width: 3.6; stroke-linecap: round; stroke-linejoin: round; }
.benefit h2 { margin: 0 0 9px; font-size: 15px; line-height: 1.22; font-weight: 800; }
.benefit p { margin: 0; color: #e1e2e3; font-size: 14px; line-height: 1.55; }

.slider-arrow { position: absolute; z-index: 20; top: 50%; width: 46px; height: 68px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; color: rgba(255,255,255,.78); background: rgba(7,10,12,.18); backdrop-filter: blur(8px); cursor: pointer; transform: translateY(-50%); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.slider-arrow:hover { color: #fff; border-color: rgba(255,255,255,.52); background: rgba(7,10,12,.58); }.slider-arrow:active { transform: translateY(-50%) scale(.96); }
.slider-arrow svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.slider-arrow-prev { left: 26px; }.slider-arrow-next { right: 26px; }
.slider-tabs { position: absolute; z-index: 25; left: 50%; bottom: 56px; display: flex; align-items: center; gap: 10px; transform: translateX(-50%); }
.slider-tab { position: relative; width: 76px; height: 8px; padding: 0; overflow: hidden; border: 0; border-radius: 999px; background: rgba(255,255,255,.25); box-shadow: 0 1px 8px rgba(0,0,0,.35); cursor: pointer; }
.slider-tab::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.07); transition: background .2s ease; }
.slider-tab span { position: absolute; inset: 0; background: var(--red-bright); transform: scaleX(0); transform-origin: left center; }
.slider-tab.is-active span { animation: tab-progress var(--slide-duration) linear forwards; }
.hero-slider.is-paused .slider-tab.is-active span { animation-play-state: paused; }.slider-tab:hover::before { background: rgba(255,255,255,.24); }
.slider-status { position: absolute; z-index: 25; right: 52px; bottom: 45px; display: flex; align-items: center; gap: 9px; font-size: 12px; letter-spacing: .12em; color: rgba(255,255,255,.62); }
.slider-status strong { color: #fff; font-size: 14px; }.slider-status span { width: 34px; height: 1px; background: rgba(255,255,255,.35); }.slider-status em { font-style: normal; }
@keyframes tab-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.hero-slider::after { content: ""; position: absolute; z-index: 30; left: -2%; right: -2%; bottom: -9px; height: 38px; background: repeating-linear-gradient(164deg, transparent 0 22px, rgba(255,255,255,.94) 23px 36px, transparent 37px 52px), linear-gradient(#fff,#fff); clip-path: polygon(0 48%,4% 44%,9% 58%,15% 42%,21% 56%,28% 41%,34% 58%,41% 45%,48% 61%,55% 40%,62% 55%,69% 44%,76% 58%,84% 43%,91% 55%,100% 44%,100% 100%,0 100%); pointer-events: none; }


/* Sekcja O nas */
.about-section { position: relative; overflow: hidden; padding: 76px 32px 72px; color: #0b1320; scroll-margin-top: 92px; }
.about-layout { width: min(100%, 1400px); min-height: 760px; margin: 0 auto; display: grid; grid-template-columns: minmax(430px, 45%) minmax(0, 55%); overflow: hidden; border: 1px solid rgba(16,24,34,.08); border-radius: 24px; background: #f8f7f4; box-shadow: 0 24px 70px rgba(21,27,35,.10); }
.about-visual { position: relative; min-height: 760px; overflow: hidden; background: #d9d4ca; }
.about-visual img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center center; }
.about-visual-shade { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0 72%, rgba(248,247,244,.2) 82%, #f8f7f4 100%); pointer-events: none; }
.about-content { position: relative; z-index: 2; align-self: center; width: min(100%, 820px); padding: 68px 48px 58px 74px; }
.about-heading { margin-bottom: 26px; }
.about-kicker { margin: 0 0 15px; color: var(--red-bright); font-size: 14px; font-weight: 900; letter-spacing: .02em; }
.about-kicker-line, .about-title-line { display: block; width: 57px; height: 2px; background: var(--red-bright); }
.about-heading h2 { max-width: 760px; margin: 24px 0 26px; font-size: clamp(44px, 3.55vw, 58px); line-height: 1.04; letter-spacing: -.045em; font-weight: 900; }
.about-heading h2 span { color: var(--red-bright); }
.about-copy { max-width: 770px; display: grid; gap: 24px; }
.about-copy p { margin: 0; color: #1e2630; font-size: 16px; line-height: 1.72; }
.about-copy strong { color: #0b1320; }
.about-features { margin-top: 48px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.about-feature { min-height: 198px; padding: 34px 28px 26px; border-radius: 12px; background: rgba(255,255,255,.64); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.about-feature-line { display: block; width: 19px; height: 2px; margin-bottom: 16px; background: var(--red-bright); }
.about-feature h3 { margin: 0 0 18px; color: #0d1520; font-size: 16px; line-height: 1.25; }
.about-feature p { margin: 0; color: #2c333c; font-size: 13px; line-height: 1.85; }
.about-stats-wrap { position: relative; z-index: 4; width: min(calc(100% - 96px), 1320px); margin: -34px auto 0; }
.about-stats { min-height: 198px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)) minmax(280px,1.15fr); align-items: stretch; padding: 28px 30px; border: 1px solid #d9dadd; border-radius: 13px; background: rgba(255,255,255,.97); box-shadow: 0 18px 38px rgba(15,24,34,.08); }
.about-stat { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 26px; text-align: center; }
.about-stat + .about-stat::before, .about-stat-cta::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 1px; background: #d9dce0; }
.about-stat strong { color: var(--red-bright); font-size: clamp(38px, 3.2vw, 48px); line-height: 1; letter-spacing: -.04em; }
.about-stat strong span { font-size: .55em; letter-spacing: 0; }
.about-stat h3 { margin: 16px 0 10px; color: #141a22; font-size: 13px; line-height: 1.35; }
.about-stat p { margin: 0; color: #313842; font-size: 12px; line-height: 1.65; }
.about-stat-cta { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 12px 12px 12px 36px; }
.about-reserve { display: flex; align-items: center; justify-content: center; gap: 20px; min-height: 54px; padding: 0 24px; border-radius: 18px; color: #fff; background: linear-gradient(180deg,#e4101b,#ca0710); box-shadow: 0 12px 26px rgba(202,7,16,.18); font-size: 18px; font-weight: 900; transition: transform .2s ease, filter .2s ease; }
.about-reserve:hover { transform: translateY(-2px); filter: brightness(1.06); }
.about-routes { display: flex; align-items: center; justify-content: center; gap: 20px; color: #1d2229; font-size: 14px; }
.about-routes span { color: var(--red-bright); font-size: 20px; }

@media (max-width: 1180px) {
  .about-section { padding-inline: 24px; }
  .about-layout { grid-template-columns: 44% 56%; }
  .about-content { padding: 58px 34px 52px 48px; }
  .about-features { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .about-feature { min-height: 165px; }
  .about-stats { grid-template-columns: repeat(2, 1fr); }
  .about-stat:nth-child(3)::before { display: none; }
  .about-stat { min-height: 155px; }
  .about-stat-cta { grid-column: 1 / -1; padding: 26px 22px 8px; flex-direction: row; align-items: center; }
  .about-stat-cta::before { top: 0; left: 24px; right: 24px; bottom: auto; width: auto; height: 1px; }
  .about-reserve, .about-routes { flex: 1; }
}
@media (max-width: 860px) {
  .about-section { padding: 48px 20px 54px; }
  .about-layout { min-height: 0; grid-template-columns: 1fr; border-radius: 18px; }
  .about-visual { min-height: 570px; }
  .about-visual-shade { background: linear-gradient(180deg, transparent 58%, #f8f7f4 100%); }
  .about-content { width: 100%; margin-top: -72px; padding: 42px 28px 58px; }
  .about-heading h2 { font-size: clamp(40px, 8vw, 56px); }
  .about-stats-wrap { width: calc(100% - 34px); margin-top: -18px; }
}
@media (max-width: 600px) {
  .about-visual { min-height: 440px; }
  .about-content { padding: 34px 20px 44px; }
  .about-heading h2 { font-size: 39px; }
  .about-copy p { font-size: 15px; }
  .about-features { grid-template-columns: 1fr; gap: 12px; margin-top: 34px; }
  .about-feature { min-height: 0; padding: 25px 24px; }
  .about-section { padding: 34px 12px 42px; }
  .about-layout { border-radius: 14px; }
  .about-stats-wrap { width: calc(100% - 18px); margin-bottom: 0; }
  .about-stats { grid-template-columns: 1fr; padding: 18px; }
  .about-stat { min-height: 145px; padding: 22px 10px; }
  .about-stat + .about-stat::before { left: 18px; right: 18px; top: 0; bottom: auto; width: auto; height: 1px; }
  .about-stat-cta { grid-column: auto; flex-direction: column; padding: 28px 10px 8px; }
  .about-reserve, .about-routes { width: 100%; }
}

.content-section { color: #17191c; background: #fff; padding: 110px 24px; }.content-section-dark { color: #fff; background: #0b0e11; }
.section-inner { width: min(100%, 1060px); margin: 0 auto; }.section-kicker { margin: 0 0 14px; color: var(--red); font-size: 14px; font-weight: 900; letter-spacing: .12em; }
.content-section h2 { max-width: 760px; margin: 0 0 20px; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; }.content-section p:not(.section-kicker) { max-width: 840px; margin: 0; font-size: 20px; line-height: 1.65; color: #555b62; }
.section-copy { display: grid; gap: 24px; }
.content-section-gift { color: #fff; background: radial-gradient(circle at 80% 20%, rgba(218,10,20,.25), transparent 35%), #14171b; }
.content-section-gift p:not(.section-kicker) { color: #d4d6d9; }
.text-cta { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 1px solid rgba(218,10,20,.7); border-radius: 999px; text-decoration: none; transition: background .2s ease, color .2s ease; }
.text-cta:hover { color: #fff; background: var(--red); }.content-section-dark p:not(.section-kicker) { color: #c6c8cb; }.content-section a { color: var(--red); font-weight: 800; }


.site-footer { color: #d7dade; background: #080b0e; border-top: 1px solid rgba(255,255,255,.08); }
.footer-main { width: min(calc(100% - 48px), 1280px); margin: 0 auto; display: grid; grid-template-columns: 1.65fr .75fr .9fr 1.15fr; gap: 72px; padding: 76px 0 62px; }
.footer-brand-column > p { max-width: 430px; margin: 24px 0 0; color: #9da3aa; font-size: 15px; line-height: 1.75; }
.footer-brand { display: inline-flex; align-items: center; gap: 14px; color: #fff; }
.footer-brand-mark { width: 78px; height: 48px; color: var(--red); }
.footer-brand span { display: flex; flex-direction: column; }
.footer-brand strong { font-size: 31px; font-weight: 900; letter-spacing: .02em; line-height: 1; }
.footer-brand small { margin-top: 7px; color: #e7e9eb; font-size: 14px; font-weight: 700; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-column h2 { margin: 0 0 12px; color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .12em; }
.footer-column > a { color: #aeb3b9; font-size: 15px; line-height: 1.5; transition: color .2s ease, transform .2s ease; }
.footer-column > a:hover { color: #fff; transform: translateX(3px); }
.footer-contact { gap: 17px; }
.footer-contact > a, .footer-contact > p { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.footer-contact span { color: #777f87; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.footer-contact strong { color: #f4f5f6; font-size: 15px; line-height: 1.4; }
.footer-bottom { width: min(calc(100% - 48px), 1280px); margin: 0 auto; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-top: 1px solid rgba(255,255,255,.08); color: #777e85; font-size: 13px; }
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 28px; }
.footer-bottom a { transition: color .2s ease; }
.footer-bottom a:hover { color: #fff; }

@media (max-width: 1260px) {
  .header-inner { width: min(calc(100% - 42px), 1180px); grid-template-columns: 305px 1fr auto; gap: 14px; }.brand-mark { width: 78px; }.brand-copy strong { font-size: 31px; }.brand-copy small { font-size: 13px; }.main-nav { gap: 28px; }.phone-link span { display: none; }.header-actions { gap: 18px; }.header-cta { min-width: 205px; }.footer-main { gap: 42px; }
  .hero-inner { width: calc(100% - 120px); }.benefits { width: calc(100% - 80px); }.benefit { padding: 0 16px; gap: 14px; }
}
@media (max-width: 960px) {
  :root { --header-height: 88px; }.site-header, .site-header.is-scrolled { height: 88px; margin: 0; background: rgba(6,9,12,.96); }.header-inner { width: calc(100% - 32px); display: flex; justify-content: space-between; }.brand-mark { width: 68px; height: 48px; }.brand-copy strong { font-size: 27px; }.brand-copy small { display: none; }.header-actions { margin-left: auto; }.phone-link { display: none; }.header-cta { min-width: 175px; height: 46px; font-size: 13px; }
  .menu-toggle { position: relative; z-index: 20; display: grid; gap: 5px; width: 44px; height: 44px; place-content: center; margin-left: 4px; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); }.menu-toggle span:not(.sr-only) { display: block; width: 20px; height: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .main-nav { position: fixed; inset: 88px 0 auto; height: auto; padding: 24px; display: grid; gap: 0; background: rgba(6,9,12,.98); transform: translateY(-130%); opacity: 0; transition: transform .25s ease, opacity .25s ease; }.main-nav.is-open { transform: translateY(0); opacity: 1; }.main-nav a { min-height: 50px; }.main-nav a::after { bottom: 3px !important; }
  .footer-main { grid-template-columns: repeat(2, 1fr); gap: 48px 64px; }.hero-slider { min-height: 930px; }.hero-inner { width: calc(100% - 70px); padding-top: 188px; }.hero-copy h1 { font-size: clamp(45px, 7vw, 51px); }.hero-lead { font-size: 20px; }.benefits { bottom: 92px; width: calc(100% - 48px); grid-template-columns: repeat(2, 1fr); }.benefit:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.25); }.benefit:nth-child(4) { border-top: 1px solid rgba(255,255,255,.25); }.benefit { padding: 17px 22px; }.slider-tabs { bottom: 42px; }.slider-status { display: none; }.slider-arrow-prev { left: 10px; }.slider-arrow-next { right: 10px; }
}
@media (max-width: 640px) {
  .header-inner { width: calc(100% - 24px); }.brand-mark { width: 56px; }.brand-copy strong { font-size: 22px; }.header-cta { display: none; }
  .hero-slider { min-height: 1140px; }.slide-media { object-position: 65% center; }.hero-slide::before { background: linear-gradient(90deg, rgba(3,7,9,.97) 0%, rgba(3,7,9,.88) 68%, rgba(3,7,9,.42) 100%), linear-gradient(180deg, rgba(4,7,9,.14), rgba(4,7,9,.5)); }.hero-inner { width: calc(100% - 40px); padding-top: 158px; }.eyebrow { margin-bottom: 18px; font-size: 13px; }.hero-copy h1 { font-size: 40px; line-height: 1.06; }.hero-lead { font-size: 17px; line-height: 1.5; }.hero-lead br { display: none; }.hero-buttons { margin-top: 28px; flex-direction: column; align-items: stretch; }.button, .button-wide { width: 100%; min-width: 0; }
  .benefits { bottom: 78px; width: calc(100% - 28px); grid-template-columns: 1fr; padding: 8px 16px; }.benefit + .benefit, .benefit:nth-child(3), .benefit:nth-child(4) { border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }.benefit { min-height: 104px; padding: 15px 8px; }.benefit h2 { font-size: 15px; }.benefit p { font-size: 13px; }
  .slider-arrow { display: none; }.slider-tabs { bottom: 35px; gap: 7px; }.slider-tab { width: 48px; height: 7px; }.content-section { padding: 80px 24px; }.footer-main { width: calc(100% - 40px); grid-template-columns: 1fr; gap: 38px; padding: 58px 0 46px; }.footer-bottom { width: calc(100% - 40px); min-height: 104px; padding: 22px 0; flex-direction: column; align-items: flex-start; justify-content: center; }.footer-bottom div { gap: 18px; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* Refined typography and composition for the About section */
@media (min-width: 1181px) {
  .about-layout {
    grid-template-columns: minmax(500px, 43%) minmax(0, 57%);
    min-height: 830px;
    overflow: visible;
  }
  .about-visual {
    min-height: 830px;
    border-radius: 24px 0 0 24px;
  }
  .about-content {
    width: 100%;
    max-width: none;
    padding: 72px 58px 70px 72px;
  }
  .about-heading {
    margin-bottom: 25px;
  }
  .about-kicker {
    margin: 0 0 25px;
    color: #e20c17;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .015em;
  }
  .about-kicker-line {
    display: none;
  }
  .about-heading h2 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(44px, 3.25vw, 51px);
    line-height: 1.11;
    letter-spacing: -.035em;
    font-weight: 900;
  }
  .about-title-line {
    width: 57px;
    margin-top: 28px;
  }
  .about-copy {
    max-width: 735px;
    gap: 20px;
  }
  .about-copy p {
    color: #1e2630;
    font-size: 22px;
    line-height: 1.56;
    letter-spacing: -.012em;
  }
  .about-features {
    position: relative;
    z-index: 5;
    width: calc(100% + 215px);
    margin: 42px 0 0 -215px;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 14px;
  }
  .about-feature {
    min-height: 154px;
    padding: 25px 24px 22px;
    border: 1px solid rgba(16,24,34,.07);
    border-radius: 14px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 32px rgba(12,18,25,.10), inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter: blur(10px);
  }
  .about-feature-line {
    margin-bottom: 13px;
  }
  .about-feature h3 {
    margin: 0 0 9px;
    color: #0d1520;
    font-size: 15px;
    line-height: 1.22;
    font-weight: 800;
  }
  .about-feature p {
    color: #3a4149;
    font-size: 14px;
    line-height: 1.55;
  }
  .about-stats-wrap {
    width: min(calc(100% - 128px), 1260px);
    margin-top: -24px;
  }
  .about-stats {
    min-height: 166px;
    padding: 21px 24px;
    border-color: rgba(255,255,255,.10);
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(180deg, rgba(11,14,17,.985), rgba(7,10,12,.97));
    box-shadow: 0 22px 44px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.035);
  }
  .about-stat {
    padding: 8px 20px;
  }
  .about-stat + .about-stat::before,
  .about-stat-cta::before {
    background: rgba(255,255,255,.22);
  }
  .about-stat strong {
    color: #e30b17;
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
  }
  .about-stat h3 {
    margin: 11px 0 7px;
    color: #fff;
    font-size: 15px;
    line-height: 1.22;
    font-weight: 800;
  }
  .about-stat p {
    color: #e1e2e3;
    font-size: 14px;
    line-height: 1.55;
  }
  .about-stat-cta {
    gap: 13px;
    padding-left: 28px;
  }
  .about-reserve,
  .about-routes {
    font-size: 14px;
    line-height: 1.3;
  }
  .about-routes {
    color: #fff;
  }
}

@media (max-width: 1180px) and (min-width: 861px) {
  .about-kicker { color: #e20c17; font-size: 16px; font-weight: 800; letter-spacing: .015em; }
  .about-kicker-line { display: none; }
  .about-heading h2 { font-size: clamp(44px, 4.8vw, 51px); line-height: 1.11; letter-spacing: -.035em; }
  .about-copy p { font-size: 20px; line-height: 1.56; }
  .about-features { position: relative; z-index: 5; width: calc(100% + 90px); margin-left: -90px; gap: 14px; }
  .about-feature { min-height: 150px; padding: 24px 22px; }
  .about-feature h3 { margin-bottom: 9px; font-size: 15px; line-height: 1.22; font-weight: 800; }
  .about-feature p { font-size: 14px; line-height: 1.55; }
  .about-stats { color: #fff; border-color: rgba(255,255,255,.10); background: linear-gradient(180deg, rgba(11,14,17,.985), rgba(7,10,12,.97)); }
  .about-stat + .about-stat::before, .about-stat-cta::before { background: rgba(255,255,255,.22); }
  .about-stat strong { color: #e30b17; font-size: 34px; }
  .about-stat h3 { color: #fff; font-size: 15px; font-weight: 800; }
  .about-stat p { color: #e1e2e3; font-size: 14px; line-height: 1.55; }
  .about-routes { color: #fff; }
}

@media (max-width: 860px) {
  .about-kicker { color: #e20c17; font-size: 14px; font-weight: 800; letter-spacing: .015em; }
  .about-kicker-line { display: none; }
  .about-heading h2 { line-height: 1.08; letter-spacing: -.035em; }
  .about-copy p { font-size: 18px; line-height: 1.55; }
  .about-features { position: relative; z-index: 5; margin-top: 36px; }
  .about-feature { min-height: 0; }
  .about-feature h3 { margin-bottom: 9px; font-size: 15px; line-height: 1.22; font-weight: 800; }
  .about-feature p { font-size: 14px; line-height: 1.55; }
  .about-stats { color: #fff; border-color: rgba(255,255,255,.10); background: linear-gradient(180deg, rgba(11,14,17,.985), rgba(7,10,12,.97)); }
  .about-stat + .about-stat::before, .about-stat-cta::before { background: rgba(255,255,255,.22); }
  .about-stat strong { color: #e30b17; font-size: 34px; }
  .about-stat h3 { color: #fff; font-size: 15px; font-weight: 800; }
  .about-stat p { color: #e1e2e3; font-size: 14px; line-height: 1.55; }
  .about-routes { color: #fff; }
}

/* Finalne dopracowanie sekcji O nas */
.about-section {
  padding-top: 18px;
}

@media (min-width: 1181px) {
  .about-layout {
    overflow: hidden;
    border-radius: 24px;
  }

  .about-visual {
    border-radius: 0;
    overflow: hidden;
  }

  .about-visual img {
    border-radius: 0;
  }

  .about-features {
    width: calc(100% + 250px);
    margin-left: -250px;
    grid-template-columns: repeat(4, minmax(245px, 1fr));
    gap: 16px;
  }

  .about-feature {
    min-height: 184px;
    padding: 27px 26px 24px;
  }

  .about-feature h3 {
    margin-bottom: 12px;
    font-size: 22px;
    line-height: 1.22;
    font-weight: 900;
    letter-spacing: -.018em;
  }

  .about-feature p {
    font-size: 14px;
    line-height: 1.52;
  }
}

@media (max-width: 1180px) {
  .about-section { padding-top: 24px; }
  .about-layout { overflow: hidden; }
  .about-visual { border-radius: 0; }
  .about-feature h3 {
    font-size: 19px;
    line-height: 1.25;
    font-weight: 900;
  }
}

@media (max-width: 640px) {
  .about-section { padding-top: 16px; }
  .about-feature h3 { font-size: 18px; }
}


@media (min-width: 1181px) {
  .about-layout {
    position: relative;
    align-items: stretch;
    overflow: hidden;

  }

  .about-visual {
    position: relative;
    align-self: stretch;
    min-height: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 0;
  }

  .about-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .about-content {
    min-width: 0;
  }

  .about-features {
    width: calc(100% + 220px);
    margin-left: -200px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
  }

  .about-feature {
    min-width: 0;
    min-height: 176px;
    padding: 26px 22px 22px;
  }

  .about-feature h3 {
    font-size: 21px;
    line-height: 1.24;
  }

  .about-feature p {
    overflow-wrap: break-word;
    hyphens: auto;
  }
}



/* Oferta + galeria */
.offer-section,
.gallery-section {
  color: #fff;
  background: #07090b;
}
.offer-section { padding: 112px 24px 42px; }
.offer-shell {
  width: min(100%, 1440px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.34fr .76fr .76fr;
  gap: 20px;
  align-items: stretch;
}
.offer-intro { padding: 4px 24px 0 8px; }
.offer-kicker,
.gallery-kicker {
  margin: 0 0 22px;
  color: var(--red);
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .08em;
}
.offer-kicker::before,
.gallery-kicker::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  margin: 0 12px 4px 0;
  background: var(--red);
}
.offer-intro h2,
.gallery-intro h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 4vw, 62px);
  line-height: 1.03;
  letter-spacing: -.045em;
  font-weight: 900;
}
.offer-intro h2 span,
.gallery-intro h2 span { color: var(--red); }
.offer-lead,
.gallery-intro > p:not(.gallery-kicker) {
  margin: 34px 0 0;
  color: #e2e4e6;
  font-size: 19px;
  line-height: 1.6;
}
.offer-included {
  margin-top: 34px;
  padding: 28px 28px 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
}
.offer-included > p {
  margin: 0 0 24px;
  color: var(--red);
  font-size: 14px;
  font-weight: 900;
}
.included-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.included-grid article { min-width: 0; }
.included-icon { display: block; width: 42px; height: 42px; color: var(--red); line-height: 1; }
.included-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.included-grid h3 { margin: 12px 0 8px; color: #fff; font-size: 15px; line-height: 1.3; font-weight: 850; }
.included-grid p { margin: 0; color: #c8cbce; font-size: 12px; line-height: 1.55; }
.offer-actions { display: flex; align-items: center; gap: 30px; margin-top: 22px; }
.offer-primary,
.gallery-more {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 0 26px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--red);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.offer-primary:hover,
.gallery-more:hover { transform: translateY(-2px); background: #f00e1b; box-shadow: 0 14px 30px rgba(218,10,20,.25); }
.offer-link { color: #fff; font-size: 13px; }
.offer-link span { margin-left: 10px; color: var(--red); font-size: 22px; }

.quad-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 12px;
  background: linear-gradient(180deg, #0c0f12 0%, #080a0c 100%);
}
.quad-card-media { position: relative; aspect-ratio: 1.14 / 1; overflow: hidden; }
.quad-card-media::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(180deg, transparent, #090b0d 92%); }
.quad-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.quad-card:hover .quad-card-media img { transform: scale(1.035); }
.quad-stock { position: absolute; z-index: 2; top: 18px; left: 18px; padding: 9px 13px; border-radius: 6px; color: #fff; background: var(--red); font-size: 16px; font-weight: 900; box-shadow: 0 6px 18px rgba(0,0,0,.28); }
.quad-stock-green { background: #54a610; }
.quad-card-body { position: relative; z-index: 3; margin-top: -30px; padding: 0 24px 22px; text-align: center; }
.quad-card h3 { margin: 0; color: #fff; font-size: clamp(25px, 1.9vw, 34px); line-height: 1.05; font-weight: 900; letter-spacing: -.02em; }
.quad-type { margin: 10px 0 22px; color: var(--red); font-size: 13px; font-weight: 900; letter-spacing: .04em; }
.quad-type-green { color: #64bb1a; }
.quad-specs { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 24px; }
.quad-specs div { display: flex; flex-direction: column; gap: 7px; padding: 3px 12px; border-left: 1px solid rgba(255,255,255,.15); }
.quad-specs div:first-child { border-left: 0; }
.quad-specs strong { font-size: 16px; line-height: 1.2; }
.quad-specs span { color: #c5c8cb; font-size: 11px; }
.quad-price { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.15); }
.quad-price strong { display: block; color: #fff; font-size: 35px; line-height: 1; font-weight: 900; }
.quad-price span { display: block; margin-top: 9px; color: var(--red); font-size: 12px; font-weight: 900; }
.quad-card:first-of-type .quad-price span { color: #65bd19; }

.gallery-section { padding: 0 24px 110px; }
.gallery-shell {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 10px;
  display: grid;
  grid-template-columns: .9fr 2.6fr;
  gap: 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
}
.gallery-intro { padding: 26px 20px 24px 20px; display: flex; flex-direction: column; align-items: flex-start; }
.gallery-intro h2 { font-size: clamp(38px, 3.2vw, 52px); }
.gallery-intro > p:not(.gallery-kicker) { margin-top: 26px; font-size: 16px; }
.gallery-more { margin-top: auto; min-width: 285px; color: var(--red); background: transparent; border: 1px solid var(--red); }
.gallery-more:hover { color: #fff; }
.gallery-grid {
  min-height: 380px;
  display: grid;
  grid-template-columns: 1.5fr .8fr .8fr .85fr;
  grid-template-rows: 1fr .78fr;
  gap: 10px;
}
.gallery-item {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #111;
  cursor: zoom-in;
}
.gallery-item-main { grid-row: 1 / 3; }
.gallery-item-wide { grid-column: 2 / 4; }
.gallery-item-tall { grid-column: 4; grid-row: 1 / 3; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, filter .35s ease; }
.gallery-item:hover img { transform: scale(1.045); filter: brightness(.82); }
.gallery-zoom { position: absolute; right: 14px; bottom: 14px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: rgba(8,10,12,.72); font-size: 24px; opacity: 0; transform: translateY(7px); transition: opacity .2s ease, transform .2s ease; }
.gallery-item:hover .gallery-zoom { opacity: 1; transform: translateY(0); }

.gallery-lightbox {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 76px;
  align-items: center;
  padding: 32px;
  color: #fff;
  background: rgba(3,5,7,.94);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease;
}
.gallery-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.gallery-lightbox-stage { width: min(100%, 1280px); margin: 0 auto; }
.gallery-lightbox-stage img { display: block; width: 100%; max-height: calc(100vh - 150px); object-fit: contain; border-radius: 10px; box-shadow: 0 24px 80px rgba(0,0,0,.5); }
.gallery-lightbox-stage figcaption { display: flex; justify-content: space-between; gap: 24px; margin-top: 15px; color: #d5d8db; font-size: 14px; }
.gallery-lightbox-stage figcaption strong { color: #fff; }
.gallery-lightbox-close,
.gallery-lightbox-arrow { border: 0; color: #fff; background: rgba(255,255,255,.08); cursor: pointer; transition: background .2s ease, transform .2s ease; }
.gallery-lightbox-close { position: absolute; top: 22px; right: 24px; width: 48px; height: 48px; border-radius: 50%; font-size: 34px; line-height: 1; }
.gallery-lightbox-arrow { width: 54px; height: 54px; border-radius: 50%; font-size: 40px; }
.gallery-lightbox-arrow:hover,
.gallery-lightbox-close:hover { background: var(--red); transform: scale(1.04); }
body.gallery-open { overflow: hidden; }

@media (max-width: 1180px) {
  .offer-shell { grid-template-columns: 1fr 1fr; }
  .offer-intro { grid-column: 1 / -1; }
  .included-grid { max-width: 900px; }
  .gallery-shell { grid-template-columns: 1fr; }
  .gallery-intro { min-height: 290px; }
  .gallery-more { margin-top: 30px; }
}
@media (max-width: 760px) {
  .offer-section { padding: 78px 18px 28px; }
  .offer-shell { grid-template-columns: 1fr; }
  .offer-intro { padding: 0; }
  .offer-intro h2 { font-size: 42px; }
  .offer-lead { font-size: 17px; }
  .included-grid { grid-template-columns: 1fr 1fr; }
  .offer-actions { align-items: stretch; flex-direction: column; gap: 16px; }
  .offer-primary { width: 100%; }
  .quad-card-media { aspect-ratio: 1.2 / 1; }
  .gallery-section { padding: 0 18px 76px; }
  .gallery-shell { padding: 8px; }
  .gallery-intro { min-height: 0; padding: 24px 16px 30px; }
  .gallery-more { width: 100%; min-width: 0; }
  .gallery-grid { min-height: 0; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 190px); }
  .gallery-item-main { grid-column: 1 / 3; grid-row: 1; }
  .gallery-item-wide { grid-column: 1 / 2; grid-row: 3; }
  .gallery-item-tall { grid-column: 2; grid-row: 2 / 4; }
  .gallery-lightbox { grid-template-columns: 46px minmax(0,1fr) 46px; padding: 18px 8px; }
  .gallery-lightbox-arrow { width: 42px; height: 42px; font-size: 30px; }
  .gallery-lightbox-stage figcaption { padding: 0 8px; }
}
@media (max-width: 480px) {
  .included-grid { grid-template-columns: 1fr; }
  .offer-included { padding: 24px 20px; }
  .quad-card-body { padding-inline: 18px; }
  .quad-specs strong { font-size: 14px; }
  .gallery-grid { grid-template-columns: 1fr; grid-template-rows: repeat(5, 210px); }
  .gallery-item-main,
  .gallery-item-wide,
  .gallery-item-tall { grid-column: 1; grid-row: auto; }
  .gallery-lightbox { grid-template-columns: 1fr; }
  .gallery-lightbox-arrow { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); }
  .gallery-lightbox-arrow:hover { transform: translateY(-50%) scale(1.04); }
  .gallery-lightbox-prev { left: 8px; }
  .gallery-lightbox-next { right: 8px; }
}

/* Spójny system typografii i komponentów: Oferta + Galeria */
.offer-kicker,
.gallery-kicker,
.offer-included > p {
  margin-bottom: 25px;
  color: #e20c17;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .015em;
  text-transform: uppercase;
}

.offer-kicker::before,
.gallery-kicker::before {
  content: none;
  display: none;
}

.offer-intro h2,
.gallery-intro h2 {
  max-width: 720px;
  color: #fff;
  font-size: clamp(44px, 3.25vw, 51px);
  line-height: 1.11;
  letter-spacing: -.035em;
  font-weight: 900;
}

.offer-lead,
.gallery-intro > p:not(.gallery-kicker) {
  font-size: 20px;
  line-height: 1.56;
  letter-spacing: -.012em;
}

.offer-section {
  padding-top: 120px;
  padding-bottom: 70px;
}

.gallery-section {
  padding-top: 50px;
  padding-bottom: 120px;
}

.offer-included,
.quad-card,
.gallery-shell {
  border-radius: 18px;
}

.gallery-item {
  border-radius: 14px;
}

.offer-primary,
.gallery-more {
  min-height: 59px;
  padding-inline: 27px;
  border-radius: 20px;
  font-size: 16px;
}

.offer-included > p {
  margin-top: 0;
}

@media (max-width: 1180px) {
  .offer-intro h2,
  .gallery-intro h2 {
    font-size: clamp(44px, 4.8vw, 51px);
    line-height: 1.11;
  }

  .offer-kicker,
  .gallery-kicker,
  .offer-included > p {
    font-size: 16px;
  }
}

@media (max-width: 640px) {
  .offer-section {
    padding-top: 82px;
    padding-bottom: 42px;
  }

  .gallery-section {
    padding-top: 24px;
    padding-bottom: 82px;
  }

  .offer-intro h2,
  .gallery-intro h2 {
    font-size: 40px;
    line-height: 1.06;
  }

  .offer-lead,
  .gallery-intro > p:not(.gallery-kicker) {
    font-size: 17px;
    line-height: 1.5;
  }

  .offer-primary,
  .gallery-more {
    font-size: 14px;
  }
}

/* Sekcja Dla grup */
.groups-section {
  --groups-red: #e30613;
  background: #f7f6f3;
  color: #0b111b;
  padding: 112px 24px 120px;
  overflow: hidden;
}
.groups-shell,
.groups-cta {
  width: min(1400px, calc(100% - 16px));
  margin-inline: auto;
}
.groups-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(48px, 5.5vw, 88px);
  align-items: start;
}
.groups-copy { padding-top: 4px; }
.groups-kicker {
  margin: 0 0 26px;
  color: var(--groups-red);
  font-size: 16px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.groups-copy h2 {
  margin: 0;
  font-size: clamp(52px, 3.25vw, 51px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 900;
  color: #080d16;
}
.groups-copy h2 span,
.groups-cta-intro h3 span { color: var(--groups-red); }
.groups-lead {
  max-width: 690px;
  margin: 38px 0 42px;
  color: #252a31;
  font-size: 20px;
  line-height: 1.62;
  letter-spacing: -.012em;
}
.groups-types {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.group-type {
  min-width: 0;
  min-height: 232px;
  padding: 28px 24px 24px;
  border: 1px solid rgba(11,17,27,.09);
  border-radius: 18px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 16px 42px rgba(22,25,30,.055);
  text-align: center;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.group-type:hover {
  transform: translateY(-6px);
  border-color: rgba(227,6,19,.22);
  box-shadow: 0 22px 54px rgba(22,25,30,.1);
}
.group-type-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 18px;
  color: var(--groups-red);
}
.group-type-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.group-type-icon-fill svg {
  fill: currentColor;
  stroke: none;
}
.group-type-icon-people svg {
  stroke-width: 2.5;
}
.group-type h3 {
  margin: 0;
  color: #0b111b;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 900;
}
.group-type-line {
  display: block;
  width: 24px;
  height: 2px;
  margin: 14px auto 13px;
  background: var(--groups-red);
}
.group-type p {
  margin: 0;
  color: #3d434b;
  font-size: 14px;
  line-height: 1.6;
}
.groups-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 390px 195px;
  gap: 12px;
}
.groups-photo {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: #161a1f;
  cursor: zoom-in;
}
.groups-photo-main { grid-column: 1 / -1; }
.groups-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .45s ease;
}
.groups-gallery:has(.groups-photo:hover) .groups-photo:not(:hover) img { filter: brightness(.78) saturate(.82); }
.groups-photo:hover img { transform: scale(1.045); }
.groups-photo-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(180deg, transparent 48%, rgba(0,0,0,.36));
  opacity: 0;
  transition: opacity .3s ease;
}
.groups-photo-overlay svg {
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 50%;
  background: rgba(0,0,0,.35);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}
.groups-photo:hover .groups-photo-overlay,
.groups-photo:focus-visible .groups-photo-overlay { opacity: 1; }
.groups-photo:focus-visible { outline: 3px solid var(--groups-red); outline-offset: 3px; }
.groups-cta {
  display: grid;
  grid-template-columns: 1.42fr 1fr 1.08fr 1.3fr;
  gap: 0;
  align-items: center;
  margin-top: 46px;
  padding: 38px 40px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  color: #fff;
  background: radial-gradient(circle at 85% 15%, rgba(227,6,19,.08), transparent 25%), linear-gradient(135deg,#0b0e11,#11161a);
  box-shadow: 0 24px 70px rgba(10,12,15,.18);
}
.groups-cta > * + * { border-left: 1px solid rgba(255,255,255,.16); }
.groups-cta-intro { padding-right: 30px; }
.groups-cta-intro h3 {
  margin: 0 0 18px;
  font-size: clamp(30px, 2.4vw, 39px);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 900;
}
.groups-cta-intro p,
.groups-cta-feature p,
.groups-cta-actions p { margin: 0; color: #c6c9cc; font-size: 14px; line-height: 1.65; }
.groups-cta-feature {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 118px;
  padding: 6px 22px;
}
.groups-cta-feature > span {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  margin-top: 1px;
  border: 1px solid var(--groups-red);
  border-radius: 50%;
  color: var(--groups-red);
  font-size: 14px;
  font-weight: 900;
}
.groups-cta-feature h4 { margin: 0 0 9px; font-size: 15px; line-height: 1.3; font-weight: 900; }
.groups-cta-actions { padding-left: 28px; text-align: center; }
.groups-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 58px;
  padding: 0 24px;
  border-radius: 16px;
  color: #fff;
  background: var(--groups-red);
  box-shadow: 0 14px 34px rgba(227,6,19,.25);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.groups-button:hover { transform: translateY(-2px); background: #f20b19; box-shadow: 0 18px 40px rgba(227,6,19,.34); }
.groups-button span { font-size: 21px; font-weight: 400; }
.groups-cta-actions p { margin-top: 17px; font-size: 17px; color: #fff; }
.groups-cta-actions p a { color: #fff; font-weight: 900; text-decoration: none; }
[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-revealed { opacity: 1; transform: none; }
.group-type:nth-child(2) { transition-delay: .1s; }
.group-type:nth-child(3) { transition-delay: .2s; }

@media (max-width: 1240px) {
  .groups-shell { grid-template-columns: 1fr; }
  .groups-copy { max-width: 1040px; }
  .groups-gallery { grid-template-rows: 440px 210px; }
  .groups-cta { grid-template-columns: 1.3fr 1fr 1fr; }
  .groups-cta-actions { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.16); margin-top: 24px; padding: 26px 0 0; display: flex; align-items: center; justify-content: flex-end; gap: 30px; }
  .groups-button { width: min(360px,100%); }
  .groups-cta-actions p { margin: 0; }
}
@media (max-width: 860px) {
  .groups-section { padding: 86px 18px 90px; }
  .groups-shell,.groups-cta { width: 100%; }
  .groups-copy h2 { font-size: clamp(43px, 9vw, 60px); }
  .groups-lead { font-size: 18px; }
  .groups-types { grid-template-columns: 1fr; }
  .group-type { min-height: 0; text-align: left; display: grid; grid-template-columns: 62px 1fr; column-gap: 16px; align-items: center; }
  .group-type-icon { grid-row: 1 / 4; margin: 0; }
  .group-type-line { margin: 10px 0; }
  .groups-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 360px 190px 190px; }
  .groups-photo-main { grid-column: 1 / -1; }
  .groups-photo:last-child { grid-column: 1 / -1; }
  .groups-cta { grid-template-columns: 1fr 1fr; padding: 30px; }
  .groups-cta-intro { grid-column: 1 / -1; padding: 0 0 26px; }
  .groups-cta > * + * { border-left: 0; }
  .groups-cta-feature { border-top: 1px solid rgba(255,255,255,.16); padding: 24px 15px; }
  .groups-cta-feature:nth-of-type(2n) { border-left: 1px solid rgba(255,255,255,.16); }
  .groups-cta-actions { grid-column: 1 / -1; flex-direction: column; justify-content: center; }
}
@media (max-width: 560px) {
  .groups-section { padding: 72px 14px 76px; }
  .groups-kicker { margin-bottom: 20px; font-size: 14px; }
  .groups-copy h2 { font-size: 41px; }
  .groups-lead { margin: 28px 0 32px; font-size: 17px; line-height: 1.55; }
  .group-type { grid-template-columns: 52px 1fr; padding: 22px 18px; }
  .group-type-icon { width: 48px; height: 48px; }
  .groups-gallery { grid-template-columns: 1fr; grid-template-rows: 300px repeat(3, 190px); }
  .groups-photo-main,.groups-photo:last-child { grid-column: auto; }
  .groups-cta { grid-template-columns: 1fr; padding: 26px 20px; }
  .groups-cta-feature,.groups-cta-feature:nth-of-type(2n) { border-left: 0; }
  .groups-cta-actions { align-items: stretch; }
  .groups-button { width: 100%; font-size: 13px; }
  .groups-cta-actions p { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .groups-photo img,.group-type,.groups-button { transition: none; }
}

/* Final UX refinements: reference PNG pictograms, consistent gallery zoom, back to top */
.group-type-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
}
.group-type-icon img {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.gallery-zoom {
  font-size: 0;
}
.gallery-zoom svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.back-to-top {
  position: fixed;
  z-index: 90;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, rgba(19,23,27,.96), rgba(7,9,11,.98));
  box-shadow: 0 14px 34px rgba(0,0,0,.25), 0 0 0 1px rgba(227,6,19,.08) inset;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(.94);
  transition: opacity .25s ease, visibility .25s ease, transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.back-to-top::after {
  content: '';
  position: absolute;
  inset: 5px;
  border-radius: 11px;
  border: 1px solid rgba(227,6,19,.28);
  pointer-events: none;
}
.back-to-top svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .25s ease;
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
.back-to-top:hover {
  border-color: rgba(227,6,19,.72);
  background: linear-gradient(145deg, #f00e1b, #c9000b);
  box-shadow: 0 16px 38px rgba(227,6,19,.28);
  transform: translateY(-3px) scale(1.02);
}
.back-to-top:hover svg { transform: translateY(-2px); }
.back-to-top:focus-visible { outline: 3px solid rgba(227,6,19,.38); outline-offset: 4px; }

@media (max-width: 720px) {
  .back-to-top {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }
  .back-to-top::after { inset: 4px; border-radius: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top { transition: opacity .01ms linear, visibility .01ms linear; }
  html:focus-within { scroll-behavior: auto; }
}

/* Premium gift voucher section */
.gift-section { color:#11151a; background:#f5f4f1; padding:96px 24px 112px; }
.gift-shell { width:min(100%,1380px); margin:0 auto; }
.gift-hero { position:relative; min-height:650px; overflow:hidden; border-radius:24px; background:#090b0e; box-shadow:0 26px 70px rgba(20,21,24,.12); }
.gift-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.gift-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,5,7,.98) 0%,rgba(3,5,7,.9) 38%,rgba(3,5,7,.25) 68%,rgba(3,5,7,.12) 100%); }
.gift-hero-copy { position:relative; z-index:1; width:min(48%,650px); padding:74px 64px; color:#fff; }
.gift-kicker { margin:0 0 24px; color:var(--red-bright); font-size:15px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.gift-hero-copy h2 { margin:0; font-size:clamp(44px,3.25vw,51px); line-height:1.04; letter-spacing:-.035em; font-weight:900; }
.gift-hero-copy h2 span,.gift-story-copy h3 span,.gift-gallery-title h3 span,.gift-final-cta h3 span { color:var(--red-bright); }
.gift-hero-copy>p:not(.gift-kicker) { margin:30px 0 0; max-width:560px; color:#d8dadd; font-size:19px; line-height:1.65; }
.gift-actions { display:flex; gap:16px; margin-top:34px; }
.gift-button { display:inline-flex; align-items:center; justify-content:space-between; min-width:210px; min-height:56px; padding:0 24px; border-radius:8px; font-size:14px; font-weight:900; transition:.22s ease; }
.gift-button-primary { background:linear-gradient(180deg,#ef101b,#cf0711); box-shadow:0 14px 30px rgba(214,8,18,.24); }
.gift-button-secondary { border:1px solid rgba(255,255,255,.5); background:rgba(255,255,255,.04); }
.gift-button:hover { transform:translateY(-2px); filter:brightness(1.08); }
.gift-steps { padding:56px 44px 64px; }
.gift-center-heading { text-align:center; margin-bottom:38px; }
.gift-center-heading h3 { margin:0; font-size:34px; line-height:1.15; font-weight:900; letter-spacing:-.02em; }
.gift-center-heading span { display:block; width:28px; height:3px; margin:15px auto 0; background:var(--red-bright); border-radius:3px; }
.gift-steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.gift-steps-grid article { position:relative; display:grid; grid-template-columns:auto 1fr; gap:20px; padding:0 30px; }
.gift-steps-grid article:not(:last-child)::after { content:'→'; position:absolute; right:-8px; top:12px; color:#b9bdc1; font-size:28px; }
.gift-steps-grid strong { color:var(--red-bright); font-size:45px; line-height:1; font-weight:900; }
.gift-steps-grid h4 { margin:3px 0 14px; font-size:17px; font-weight:900; }
.gift-steps-grid p { margin:0; color:#596068; font-size:14px; line-height:1.65; }
.gift-story { display:grid; grid-template-columns:1.12fr .88fr; min-height:510px; overflow:hidden; border-radius:22px; background:#090c0f; color:#fff; box-shadow:0 24px 65px rgba(10,13,16,.16); }
.gift-story-media img { width:100%; height:100%; object-fit:cover; }
.gift-story-copy { padding:58px 58px 50px; }
.gift-story-copy h3 { margin:0 0 26px; font-size:clamp(44px,3.25vw,51px); line-height:1.05; letter-spacing:-.035em; font-weight:900; }
.gift-story-copy>p { margin:0 0 28px; color:#c8ccd0; font-size:17px; line-height:1.65; }
.gift-story-copy ul,.gift-voucher-info ul { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.gift-story-copy li,.gift-voucher-info li { position:relative; padding-left:28px; font-size:15px; }
.gift-story-copy li::before,.gift-voucher-info li::before { content:'✓'; position:absolute; left:0; top:-1px; display:grid; place-items:center; width:18px; height:18px; border:1px solid var(--red-bright); border-radius:50%; color:var(--red-bright); font-size:11px; }
.gift-vouchers { padding:62px 30px 24px; }
.gift-voucher-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.gift-voucher-card { display:grid; grid-template-columns:1.25fr .75fr; overflow:hidden; min-height:430px; border-radius:18px; background:#0a0d10; box-shadow:0 20px 52px rgba(10,13,16,.14); }
.gift-voucher-image img { width:100%; height:100%; object-fit:cover; }
.gift-voucher-info { padding:32px 28px 26px; color:#fff; }
.gift-voucher-label { margin:0 0 12px; font-size:12px; font-weight:900; letter-spacing:.08em; }
.gift-voucher-solo .gift-voucher-label,.gift-voucher-solo .gift-voucher-info>strong { color:#55b628; }
.gift-voucher-duo .gift-voucher-label,.gift-voucher-duo .gift-voucher-info>strong { color:var(--red-bright); }
.gift-voucher-info h4 { margin:0 0 13px; font-size:29px; line-height:1.05; font-weight:900; }
.gift-voucher-person { margin:0 0 20px; color:#d5d8db; font-size:14px; }
.gift-voucher-info>strong { display:block; margin:0 0 22px; font-size:34px; }
.gift-voucher-included { margin:0 0 12px; color:#8f969d; font-size:12px; font-weight:900; }
.gift-voucher-info ul { gap:8px; }
.gift-voucher-info li { font-size:13px; padding-left:23px; }
.gift-voucher-info li::before { width:15px; height:15px; font-size:9px; }
.gift-voucher-info>a { display:flex; align-items:center; justify-content:space-between; margin-top:25px; min-height:44px; padding:0 16px; border-radius:6px; background:var(--red-bright); color:#fff; font-size:12px; font-weight:900; }
.gift-voucher-solo .gift-voucher-info>a { background:#55b628; }
.gift-gallery { display:grid; grid-template-columns:1fr 1.25fr .62fr .62fr; grid-template-rows:180px 180px; gap:12px; margin:26px 0 60px; padding:26px; border-radius:22px; background:#090c0f; }
.gift-gallery-title { grid-row:1 / 3; display:flex; align-items:center; padding:30px; color:#fff; }
.gift-gallery-title h3 { margin:0; font-size:clamp(44px,3.25vw,51px); line-height:1.05; font-weight:900; letter-spacing:-.035em; }
.gift-gallery-photo { position:relative; overflow:hidden; border:0; border-radius:12px; padding:0; cursor:pointer; background:#15191d; }
.gift-gallery-photo-main { grid-row:1 / 3; }
.gift-gallery-photo img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease,filter .4s ease; }
.gift-gallery-photo>span { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:#fff; background:rgba(8,10,12,.7); opacity:0; transition:.25s ease; }
.gift-gallery-photo:hover img { transform:scale(1.045); filter:brightness(.78); }
.gift-gallery-photo:hover>span { opacity:1; }
.gift-faq { padding:0 16px 52px; }
.gift-faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 18px; }
.gift-faq details { border:1px solid #d9dcdf; border-radius:9px; background:#fff; box-shadow:0 6px 16px rgba(30,33,36,.03); }
.gift-faq summary { position:relative; list-style:none; padding:19px 48px 19px 22px; cursor:pointer; font-size:14px; font-weight:800; }
.gift-faq summary::-webkit-details-marker { display:none; }
.gift-faq summary::after { content:'⌄'; position:absolute; right:20px; top:17px; color:var(--red-bright); font-size:18px; transition:transform .2s ease; }
.gift-faq details[open] summary::after { transform:rotate(180deg); }
.gift-faq details p { margin:0; padding:0 22px 20px; color:#596068; font-size:14px; line-height:1.6; }
.gift-final-cta { display:grid; grid-template-columns:1.15fr .9fr 1fr; align-items:center; gap:44px; padding:42px 48px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#0c0f12,#080a0c); box-shadow:0 22px 58px rgba(10,13,16,.17); }
.gift-final-cta h3 { margin:0; font-size:38px; line-height:1.08; font-weight:900; letter-spacing:-.03em; }
.gift-final-cta>p { margin:0; color:#c7cbd0; font-size:15px; line-height:1.65; }
.gift-final-cta>div:last-child { display:grid; gap:18px; }
.gift-final-cta a { display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:0 24px; border-radius:8px; background:var(--red-bright); font-size:14px; font-weight:900; }
.gift-final-cta>div:last-child p { margin:0; text-align:center; color:#c7cbd0; }
.gift-final-cta strong { color:#fff; }
@media(max-width:1100px){.gift-hero-copy{width:58%;padding:64px 44px}.gift-steps-grid{grid-template-columns:repeat(2,1fr);gap:34px 0}.gift-steps-grid article:nth-child(2)::after{display:none}.gift-voucher-card{grid-template-columns:1fr}.gift-voucher-image{height:310px}.gift-gallery{grid-template-columns:1fr 1fr 1fr;grid-template-rows:170px 170px 170px}.gift-gallery-title{grid-column:1;grid-row:1/3}.gift-gallery-photo-main{grid-column:2/4;grid-row:1/3}.gift-final-cta{grid-template-columns:1fr 1fr}.gift-final-cta>div:last-child{grid-column:1/-1}}
@media(max-width:760px){.gift-section{padding:70px 14px 82px}.gift-hero{min-height:720px}.gift-hero-shade{background:linear-gradient(180deg,rgba(3,5,7,.25),rgba(3,5,7,.96) 55%)}.gift-hero-copy{position:absolute;left:0;right:0;bottom:0;width:100%;padding:40px 26px}.gift-hero-copy h2{font-size:42px}.gift-hero-copy>p:not(.gift-kicker){font-size:16px}.gift-actions{flex-direction:column}.gift-button{width:100%}.gift-steps{padding:46px 10px}.gift-steps-grid{grid-template-columns:1fr}.gift-steps-grid article{padding:0 12px}.gift-steps-grid article::after{display:none}.gift-story{grid-template-columns:1fr}.gift-story-media{height:340px}.gift-story-copy{padding:36px 26px}.gift-vouchers{padding:50px 0 20px}.gift-voucher-grid{grid-template-columns:1fr}.gift-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto 250px 160px 160px;padding:18px}.gift-gallery-title{grid-column:1/-1;grid-row:auto;padding:20px 6px}.gift-gallery-photo-main{grid-column:1/-1;grid-row:auto}.gift-faq-grid{grid-template-columns:1fr}.gift-final-cta{grid-template-columns:1fr;padding:34px 25px}.gift-final-cta>div:last-child{grid-column:auto}.gift-final-cta h3{font-size:34px}}


/* Opinie — 9 recenzji, trzy karty na stronę */
.reviews-section{position:relative;padding:112px 28px 104px;color:#fff;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.035),transparent 35%),linear-gradient(135deg,#090c0f,#050708 70%);overflow:hidden}
.reviews-shell{width:min(1380px,100%);margin:0 auto}
.reviews-header{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(420px,.85fr);gap:80px;align-items:center;margin-bottom:52px}
.reviews-kicker{margin:0 0 23px;color:var(--red-bright);font-size:15px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.reviews-heading h2{margin:0 0 24px;font-size:clamp(44px,3.25vw,51px);line-height:.99;font-weight:900;letter-spacing:-.045em}.reviews-heading h2 span{color:var(--red-bright)}
.reviews-heading>p:last-child{margin:0;color:#c5c9ce;font-size:18px;line-height:1.72}
.reviews-summary{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:180px}
.reviews-rating{padding-right:44px;border-right:1px solid rgba(255,255,255,.16)}.reviews-rating>span,.reviews-rating small{display:block;color:#c7cbd0;font-size:16px}.reviews-rating strong{display:block;margin:4px 0 5px;font-size:60px;line-height:1;font-weight:900}.reviews-stars,.review-stars{color:var(--red-bright);letter-spacing:.12em}.reviews-stars{font-size:30px}.reviews-rating small{margin-top:12px}
.reviews-recommend{display:flex;align-items:center;gap:22px;padding-left:44px}.reviews-star-badge{display:grid;place-items:center;width:96px;height:96px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:var(--red-bright);font-size:64px;line-height:1}.reviews-recommend p{margin:0}.reviews-recommend strong{display:block;font-size:32px}.reviews-recommend span{display:block;margin-top:8px;color:#c7cbd0;font-size:17px;line-height:1.45}
.reviews-carousel{position:relative;padding:0 50px}.reviews-viewport{overflow:hidden}.reviews-track{display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}.reviews-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;min-width:100%}
.review-card{display:flex;flex-direction:column;min-height:360px;padding:34px 34px 30px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));box-shadow:inset 0 1px rgba(255,255,255,.03);transition:transform .3s ease,border-color .3s ease,background .3s ease}.review-card:hover{transform:translateY(-5px);border-color:rgba(225,6,19,.55);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))}
.review-quote{height:48px;color:var(--red-bright);font-family:Georgia,serif;font-size:68px;font-weight:900;line-height:.9}.review-stars{margin:4px 0 22px;font-size:18px}.review-card h3{margin:0 0 20px;font-size:25px;line-height:1.18;font-weight:850;letter-spacing:-.025em}.review-card>p{margin:0;color:#c4c8cd;font-size:16px;line-height:1.75}.review-card footer{display:grid;gap:5px;margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}.review-card footer strong{position:relative;padding-left:34px;font-size:17px}.review-card footer strong:before{content:"";position:absolute;left:0;top:50%;width:20px;height:2px;background:var(--red-bright)}.review-card footer span{padding-left:34px;color:#b9bec4;font-size:14px}
.reviews-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:var(--red-bright);background:rgba(7,9,11,.88);font-size:28px;transform:translateY(-50%);transition:.25s ease}.reviews-arrow:hover{color:#fff;border-color:var(--red-bright);background:var(--red-bright)}.reviews-arrow-prev{left:-18px}.reviews-arrow-next{right:-18px}
.reviews-dots{display:flex;justify-content:center;gap:20px;margin:34px 0 46px}.reviews-dots button{width:13px;height:13px;padding:0;border:0;border-radius:50%;background:#4c5156;transition:.25s ease}.reviews-dots button:hover,.reviews-dots button.is-active{background:var(--red-bright);transform:scale(1.08)}
.reviews-google{display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;padding:30px 38px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.025)}.google-mark{font-size:66px;line-height:1;font-weight:900;background:conic-gradient(from -35deg,#4285f4 0 25%,#34a853 0 45%,#fbbc05 0 68%,#ea4335 0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.reviews-google h3{margin:0 0 6px;font-size:23px}.reviews-google p{margin:0;color:#c4c8cd;font-size:16px}.reviews-google a{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:58px;padding:0 28px;border-radius:9px;background:var(--red-bright);font-size:14px;font-weight:900;white-space:nowrap;transition:.25s ease}.reviews-google a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(225,6,19,.25)}
@media(max-width:1100px){.reviews-header{grid-template-columns:1fr;gap:42px}.reviews-summary{max-width:680px}.reviews-carousel{padding:0 38px}.review-card{padding:30px 26px}.reviews-google{grid-template-columns:auto 1fr}.reviews-google a{grid-column:1/-1;justify-content:center}}
@media(max-width:760px){.reviews-section{padding:76px 14px 80px}.reviews-heading h2{font-size:43px}.reviews-heading>p:last-child{font-size:16px}.reviews-summary{grid-template-columns:1fr;gap:28px}.reviews-rating{padding:0 0 28px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.reviews-recommend{padding-left:0}.reviews-carousel{padding:0}.reviews-page{grid-template-columns:1fr;gap:16px}.review-card{min-height:330px}.reviews-arrow{display:none}.reviews-dots{gap:14px;margin:26px 0 36px}.reviews-google{grid-template-columns:1fr;padding:28px 24px;text-align:center}.google-mark{font-size:58px}.reviews-google a{width:100%;white-space:normal}.reviews-recommend{justify-content:flex-start}}

/* Rezerwacja — końcowa sekcja sprzedażowa */
.reserve-section{padding:96px 24px 110px;background:#f5f4f1;color:#0a0d11}.reserve-shell{width:min(1440px,100%);margin:0 auto;padding:54px;border:1px solid rgba(16,20,25,.08);border-radius:24px;background:linear-gradient(145deg,#fff,#fbfaf8);box-shadow:0 24px 70px rgba(20,22,25,.07)}.reserve-grid{display:grid;grid-template-columns:minmax(390px,.78fr) minmax(0,1.42fr);gap:68px;align-items:start}.reserve-intro .section-kicker{margin:0 0 26px;color:var(--red-bright);font-size:15px;font-weight:900;letter-spacing:.09em}.reserve-intro h2{margin:0;color:#0b0f14;font-size:clamp(54px,4.8vw,78px);line-height:.98;letter-spacing:-.048em;font-weight:900}.reserve-intro h2 span,.reserve-cta h3 span{color:var(--red-bright)}.reserve-lead{max-width:500px;margin:27px 0 24px;color:#353b42;font-size:19px;line-height:1.55}.reserve-phone-list{display:grid;gap:14px}.reserve-phone{display:flex;align-items:center;gap:20px;min-height:96px;padding:14px 20px;border:1px solid #e0e1e2;border-radius:16px;background:#fff;box-shadow:0 9px 24px rgba(25,28,31,.035);transition:.25s ease}.reserve-phone:hover{transform:translateY(-3px);border-color:rgba(225,6,19,.28);box-shadow:0 14px 30px rgba(25,28,31,.08)}.reserve-phone-icon{display:grid;place-items:center;flex:0 0 68px;height:68px;border-radius:50%;color:var(--red-bright);background:#fff1f1}.reserve-phone-icon svg{width:31px;height:31px;fill:currentColor}.reserve-phone small{display:block;margin-bottom:3px;color:#555b62;font-size:14px}.reserve-phone strong{display:inline-block;color:#0a0d11;font-size:38px;line-height:1;font-weight:900;letter-spacing:-.035em;transition:.2s ease}.reserve-phone:hover strong{color:var(--red-bright)}.reserve-fleet{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;margin-top:20px;padding:20px;border-radius:16px;background:#f2f1ef}.reserve-fleet-total{display:grid;grid-template-columns:auto auto 1fr;gap:14px;align-items:center;padding-right:20px;border-right:1px solid #d2d4d6}.reserve-fleet-total>span{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;color:var(--red-bright);background:#fff}.reserve-fleet-icon img{display:block;width:58px;height:54px;object-fit:contain}.reserve-fleet-total strong{font-size:34px}.reserve-fleet-total small{font-size:12px;line-height:1.35}.reserve-fleet-split{padding-left:22px}.reserve-fleet-split p{display:flex;align-items:center;gap:12px;margin:0;padding:8px 0}.reserve-fleet-split p+p{border-top:1px solid #d7d8da}.reserve-fleet-split strong{min-width:28px;color:var(--red-bright);font-size:29px}.reserve-fleet-split span{font-size:12px;line-height:1.35}.reserve-fleet-split b{font-weight:900}.reserve-capacity{display:flex;align-items:center;gap:20px;margin-top:14px;padding:14px 20px;border-radius:13px;background:#f2f1ef}.reserve-capacity>span{color:var(--red-bright)}.reserve-capacity svg{width:54px;height:42px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.reserve-capacity p{margin:0;font-size:15px;line-height:1.45}.reserve-capacity strong{color:var(--red-bright)}.reserve-offer>h3{margin:0 0 30px;text-align:center;font-size:20px;font-weight:900}.reserve-offer>h3:after{content:"";display:block;width:36px;height:3px;margin:13px auto 0;border-radius:3px;background:var(--red-bright)}.reserve-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reserve-card{overflow:hidden;border:1px solid #dedfe0;border-radius:17px;background:#fff;box-shadow:0 14px 35px rgba(19,22,25,.045);transition:.3s ease}.reserve-card:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(19,22,25,.11)}.reserve-card-media{position:relative;height:300px;padding:10px;background:linear-gradient(180deg,#fff,#f7f7f5)}.reserve-card-media img{width:100%;height:100%;object-fit:cover;border-radius:10px}.reserve-badge{position:absolute;z-index:1;left:18px;top:18px;padding:8px 14px;border-radius:6px;color:#fff;background:#2da20e;font-size:13px;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.13)}.reserve-card-duo .reserve-badge{background:var(--red-bright)}.reserve-card-title{padding:15px 18px;text-align:center;background:linear-gradient(90deg,#f3f7ec,#edf3e5)}.reserve-card-duo .reserve-card-title{background:linear-gradient(90deg,#fff0ee,#fae3e0)}.reserve-card-title h4{margin:0 0 4px;font-size:25px;line-height:1;font-weight:900}.reserve-card-title p{margin:0;font-size:13px;font-weight:800}.reserve-specs{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 16px 17px}.reserve-specs div{text-align:center;padding:0 9px}.reserve-specs div+div{border-left:1px solid #e2e3e4}.reserve-specs strong,.reserve-specs span{display:block}.reserve-specs strong{font-size:15px}.reserve-specs span{margin-top:6px;color:#575d64;font-size:11px}.reserve-price{padding:16px 18px 20px;border-top:1px solid #e6e7e8;text-align:center;color:#2d9c12}.reserve-card-duo .reserve-price{color:var(--red-bright)}.reserve-price strong,.reserve-price span{display:block}.reserve-price strong{font-size:36px;line-height:1;font-weight:900}.reserve-price span{margin-top:8px;font-size:12px;font-weight:900}.reserve-included{margin-top:18px;padding:22px 20px 21px;border-radius:15px;background:#f2f1ef}.reserve-included h3{margin:0 0 20px;text-align:center;font-size:14px;font-weight:900}.reserve-included>div{display:grid;grid-template-columns:repeat(5,1fr)}.reserve-included span{display:grid;place-items:center;min-height:44px;padding:0 14px;text-align:center;font-size:13px;line-height:1.35;font-weight:800}.reserve-included span+span{border-left:1px solid #d3d5d7}.reserve-cta{display:grid;grid-template-columns:1.02fr 1.4fr .8fr;align-items:stretch;min-height:210px;margin-top:30px;overflow:hidden;border-radius:17px;color:#fff;background:#090c0f}.reserve-cta-copy{padding:34px 38px;align-self:center}.reserve-cta-copy h3{margin:0 0 14px;font-size:35px;line-height:1.02;letter-spacing:-.035em;font-weight:900}.reserve-cta-copy p{margin:0;color:#d0d4d8;font-size:15px;line-height:1.55}.reserve-cta-image{position:relative;overflow:hidden}.reserve-cta-image:before,.reserve-cta-image:after{content:"";position:absolute;z-index:1;top:0;bottom:0;width:90px}.reserve-cta-image:before{left:0;background:linear-gradient(90deg,#090c0f,transparent)}.reserve-cta-image:after{right:0;background:linear-gradient(-90deg,#090c0f,transparent)}.reserve-cta-image img{width:100%;height:100%;object-fit:cover}.reserve-cta-contact{display:flex;flex-direction:column;justify-content:center;padding:28px 30px;border-left:1px solid rgba(255,255,255,.17)}.reserve-cta-contact small{margin-bottom:9px;color:var(--red-bright);font-size:12px;font-weight:900}.reserve-cta-contact>a:not(.reserve-cta-button){color:#fff;font-size:31px;line-height:1.2;font-weight:900;letter-spacing:-.025em}.reserve-cta-contact>a:not(.reserve-cta-button):hover{color:var(--red-bright)}.reserve-cta-button{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;margin-top:16px;padding:0 17px;border-radius:8px;background:var(--red-bright);font-size:11px;font-weight:900;box-shadow:0 10px 25px rgba(225,6,19,.25);transition:.25s ease}.reserve-cta-button:hover{transform:translateY(-2px);filter:brightness(1.08)}
@media(max-width:1180px){.reserve-shell{padding:38px}.reserve-grid{grid-template-columns:1fr;gap:48px}.reserve-intro{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.reserve-intro .section-kicker,.reserve-intro h2,.reserve-lead{grid-column:1/-1}.reserve-phone-list{grid-column:1}.reserve-fleet,.reserve-capacity{grid-column:2}.reserve-fleet{margin-top:0}.reserve-cta{grid-template-columns:1fr 1.1fr}.reserve-cta-contact{grid-column:1/-1;display:grid;grid-template-columns:auto auto auto 1fr;gap:20px;align-items:center;border-top:1px solid rgba(255,255,255,.17);border-left:0}.reserve-cta-contact small{margin:0}.reserve-cta-button{margin:0}}
@media(max-width:760px){.reserve-section{padding:70px 14px 80px}.reserve-shell{padding:26px 18px;border-radius:18px}.reserve-intro{display:block}.reserve-intro h2{font-size:46px}.reserve-lead{font-size:16px}.reserve-phone-list{margin-top:22px}.reserve-phone{min-height:82px;padding:11px 14px}.reserve-phone-icon{flex-basis:54px;height:54px}.reserve-phone strong{font-size:29px}.reserve-fleet{grid-template-columns:1fr;margin-top:14px}.reserve-fleet-total{padding:0 0 15px;border-right:0;border-bottom:1px solid #d2d4d6}.reserve-fleet-split{padding:12px 0 0}.reserve-capacity{margin-bottom:30px}.reserve-cards{grid-template-columns:1fr}.reserve-card-media{height:280px}.reserve-included>div{grid-template-columns:1fr 1fr}.reserve-included span{padding:12px}.reserve-included span+span{border-left:0;border-top:1px solid #d3d5d7}.reserve-included span:nth-child(even){border-left:1px solid #d3d5d7}.reserve-cta{grid-template-columns:1fr}.reserve-cta-image{height:220px}.reserve-cta-contact{grid-template-columns:1fr;padding:24px}.reserve-cta-contact>a:not(.reserve-cta-button){font-size:27px}.reserve-cta-button{width:100%;margin-top:4px}}


/* Modale formularzy, social media, partner i dokumenty prawne */
.reserve-send-button{margin:24px 0 6px;min-height:54px;padding:0 24px;border:0;border-radius:12px;background:var(--red);color:#fff;font:800 14px/1 inherit;letter-spacing:.02em;cursor:pointer;box-shadow:0 14px 30px rgba(227,6,19,.2);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.reserve-send-button:hover,.reserve-send-button:focus-visible{transform:translateY(-2px);box-shadow:0 18px 36px rgba(227,6,19,.3);background:#f20d1b}.reserve-send-button span{margin-left:20px}.reserve-cta-button{font-family:inherit;border:0;cursor:pointer}
.footer-brand img{display:block;width:min(220px,100%);height:auto}.footer-socials{display:flex;gap:10px;margin-top:24px}.footer-socials a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#fff;text-decoration:none;font-weight:900;font-size:18px;transition:.2s ease}.footer-socials a:hover,.footer-socials a:focus-visible{background:var(--red);border-color:var(--red);transform:translateY(-2px)}.footer-column button{display:block;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.footer-column button:hover,.footer-column button:focus-visible{color:var(--red-bright)}.footer-partner{max-width:var(--page-width);margin:0 auto;padding:24px 32px;border-top:1px solid rgba(255,255,255,.075);display:flex;align-items:center;justify-content: center;gap:34px}.footer-partner-title{flex:0 0 auto;color:#7f858b;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.footer-partner>a{display:inline-flex;align-items:center;min-height:56px;padding:5px 0;opacity:.82;transition:opacity .2s ease,transform .2s ease}.footer-partner>a:hover{opacity:1;transform:translateY(-1px)}.footer-partner img{display:block;width:340px;max-width:46vw;height:64px;object-fit:contain;object-position:left center;background:transparent;filter:grayscale(1) brightness(1.38) contrast(.88);opacity:.92;transition:filter .2s ease,opacity .2s ease}.footer-partner>a:hover img{filter:grayscale(.7) brightness(1.5) contrast(.92);opacity:1}


/* Odtworzony, stabilny układ sekcji rezerwacji */
.reserve-section-v2{padding:108px 24px 118px;background:linear-gradient(180deg,#f5f3ef 0%,#fff 55%,#f4f2ee 100%)}
.reserve-shell-v2{width:min(1380px,100%);margin:0 auto;padding:64px;border:1px solid #e1dfda;border-radius:30px;background:#fff;box-shadow:0 30px 90px rgba(20,24,29,.09)}
.reserve-heading-v2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:70px;align-items:end;margin-bottom:44px}
.reserve-heading-v2 h2{margin:14px 0 0;color:#0d141d;font-size:clamp(44px,3.25vw,51px);line-height:.98;letter-spacing:-.055em;font-weight:900}.reserve-heading-v2 h2 span{color:var(--red-bright)}
.reserve-heading-v2>p{margin:0 0 7px;color:#565d65;font-size:18px;line-height:1.75}
.reserve-main-v2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:22px}
.reserve-visual-v2{position:relative;min-height:510px;overflow:hidden;border-radius:22px;background:#090c0f}.reserve-visual-v2>img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.reserve-visual-v2:hover>img{transform:scale(1.025)}
.reserve-visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,10,.92) 0%,rgba(4,7,10,.45) 48%,rgba(4,7,10,.05) 100%),linear-gradient(0deg,rgba(4,7,10,.6),transparent 55%)}
.reserve-visual-copy{position:absolute;left:42px;bottom:42px;max-width:470px;color:#fff}.reserve-visual-copy>span{display:inline-flex;padding:9px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(0,0,0,.25);font-size:11px;font-weight:900;letter-spacing:.1em}.reserve-visual-copy h3{margin:20px 0 10px;font-size:46px;line-height:1;font-weight:900;letter-spacing:-.045em}.reserve-visual-copy p{margin:0;color:#d8dde2;font-size:17px;line-height:1.55}
.reserve-fleet-pill{position:absolute;right:24px;top:24px;display:grid;grid-template-columns:52px auto;column-gap:10px;align-items:center;padding:12px 16px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(9,12,15,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff}.reserve-fleet-pill img{grid-row:1/3;width:46px;height:42px;object-fit:contain}.reserve-fleet-pill strong{font-size:16px}.reserve-fleet-pill span{color:#aeb5bc;font-size:11px}
.reserve-contact-v2{display:flex;flex-direction:column;min-width:0;padding:34px;border-radius:22px;color:#fff;background:linear-gradient(150deg,#11161b,#07090c);box-shadow:0 22px 48px rgba(5,8,11,.22)}
.reserve-contact-top{display:flex;gap:18px;align-items:flex-start;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.12)}.reserve-step{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:var(--red-bright);color:#fff;font-size:12px;font-weight:900}.reserve-contact-top small{color:var(--red-bright);font-size:11px;font-weight:900;letter-spacing:.1em}.reserve-contact-top h3{margin:7px 0 0;font-size:27px;line-height:1.15;letter-spacing:-.025em}
.reserve-phone-grid-v2{display:grid;gap:12px;margin:28px 0}.reserve-phone-grid-v2 a{display:flex;align-items:center;min-height:82px;padding:18px 20px;border:1px solid rgba(255,255,255,.13);border-radius:14px;color:#fff;background:rgba(255,255,255,.035);transition:.25s ease}.reserve-phone-grid-v2 a:hover{transform:translateX(4px);border-color:rgba(227,6,19,.65);background:rgba(227,6,19,.08)}.reserve-phone-grid-v2 strong{display:block;font-size:clamp(35px,3vw,47px);line-height:1;font-weight:900;letter-spacing:-.035em;white-space:nowrap}
.reserve-primary-v2{display:flex;align-items:center;justify-content:space-between;min-height:60px;margin-top:auto;padding:0 22px;border:0;border-radius:12px;background:var(--red-bright);color:#fff;font:900 13px/1 inherit;cursor:pointer;box-shadow:0 16px 34px rgba(227,6,19,.25);transition:.25s ease}.reserve-primary-v2:hover{transform:translateY(-2px);background:#f20d1b;box-shadow:0 20px 42px rgba(227,6,19,.34)}.reserve-primary-v2 b{font-size:23px;font-weight:400}.reserve-response-v2{display:flex;align-items:center;gap:9px;margin:15px 2px 0;color:#9fa7af;font-size:11px}.reserve-response-v2 span{width:7px;height:7px;border-radius:50%;background:#56bb49;box-shadow:0 0 0 4px rgba(86,187,73,.12)}
.reserve-options-v2{margin-top:22px;padding:34px;border:1px solid #e4e3df;border-radius:22px;background:#f7f6f3}.reserve-options-head{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:26px}.reserve-options-head>div{display:flex;align-items:center;gap:16px}.reserve-options-head h3{margin:0;color:#0e151d;font-size:28px}.reserve-options-head p{max-width:660px;margin:0;color:#646b72;font-size:14px;line-height:1.6}
.reserve-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reserve-option-card{display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:auto auto;overflow:hidden;border:1px solid #dedfdf;border-radius:17px;background:#fff;transition:.25s ease}.reserve-option-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(16,20,24,.1)}.reserve-option-image{grid-row:1/3;position:relative;min-height:205px;overflow:hidden;background:#f1f1ef}.reserve-option-image img{width:100%;height:100%;object-fit:cover}.reserve-option-image span{position:absolute;left:14px;top:14px;padding:8px 10px;border-radius:7px;background:#2d9c12;color:#fff;font-size:10px;font-weight:900}.reserve-option-duo .reserve-option-image span{background:var(--red-bright)}.reserve-option-body{display:flex;justify-content:space-between;gap:15px;align-items:center;min-width:0;padding:25px 25px 14px}.reserve-option-body small{color:#6b7279;font-size:10px;font-weight:900;letter-spacing:.08em}.reserve-option-body h4{margin:6px 0 0;font-size:25px;line-height:1;font-weight:900}.reserve-option-body>strong{white-space:nowrap;color:#2d9c12;font-size:29px}.reserve-option-duo .reserve-option-body>strong{color:var(--red-bright)}.reserve-option-body>strong small{font-size:11px;color:inherit}.reserve-option-card ul{display:flex;gap:0;margin:0 25px 22px;padding:14px 0 0;border-top:1px solid #ececea;list-style:none}.reserve-option-card li{flex:1;color:#343a40;font-size:12px;font-weight:800;text-align:center}.reserve-option-card li+li{border-left:1px solid #e5e5e2}
.reserve-trust-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(250px,.9fr);align-items:stretch;margin-top:22px;overflow:hidden;border-radius:18px;background:#0b0e11;color:#fff}.reserve-trust-v2>div{display:flex;align-items:center;gap:14px;min-width:0;padding:24px 28px}.reserve-trust-v2>div+div{border-left:1px solid rgba(255,255,255,.12)}.reserve-trust-v2 strong{color:var(--red-bright);font-size:35px;line-height:1;font-weight:900}.reserve-trust-v2 span{color:#c6cbd0;font-size:12px;line-height:1.35}.reserve-trust-v2 button{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px;padding:0 20px;border:0;border-radius:11px;background:var(--red-bright);color:#fff;font:900 12px/1 inherit;cursor:pointer;transition:.25s ease}.reserve-trust-v2 button:hover{background:#f20d1b;transform:translateY(-2px)}
@media(max-width:1180px){.reserve-shell-v2{padding:42px}.reserve-heading-v2{grid-template-columns:1fr;gap:20px}.reserve-main-v2{grid-template-columns:1fr}.reserve-contact-v2{min-height:0}.reserve-options-grid{grid-template-columns:1fr}.reserve-trust-v2{grid-template-columns:repeat(3,1fr)}.reserve-trust-v2 button{grid-column:1/-1;min-height:58px}.footer-partner{gap:24px}}
@media(max-width:700px){.reserve-section-v2{padding:72px 14px 80px}.reserve-shell-v2{padding:24px;border-radius:20px}.reserve-heading-v2 h2{font-size:44px}.reserve-heading-v2>p{font-size:16px}.reserve-visual-v2{min-height:430px}.reserve-visual-copy{left:24px;right:24px;bottom:26px}.reserve-visual-copy h3{font-size:37px}.reserve-fleet-pill{right:14px;top:14px}.reserve-contact-v2{padding:25px 20px}.reserve-phone-grid-v2 strong{font-size:34px}.reserve-options-v2{padding:24px 18px}.reserve-options-head{display:block}.reserve-options-head p{margin-top:14px}.reserve-option-card{grid-template-columns:1fr}.reserve-option-image{grid-row:auto;height:250px}.reserve-option-body{padding:20px}.reserve-option-card ul{margin:0 20px 20px}.reserve-trust-v2{grid-template-columns:1fr}.reserve-trust-v2>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.reserve-trust-v2 button{grid-column:auto;min-height:58px}.footer-partner{padding-inline:20px;align-items:flex-start;flex-direction:column;gap:12px}.footer-partner img{width:270px;max-width:78vw;height:48px}}

/* Bezpieczne ograniczenia szerokości sekcji rezerwacji */
.reserve-section-v2 *, .reserve-shell-v2 *{box-sizing:border-box}
@media(max-width:1180px){.reserve-main-v2{grid-template-columns:1fr}.reserve-options-grid{grid-template-columns:1fr}.reserve-contact-v2{min-height:0}.reserve-trust-v2{grid-template-columns:repeat(3,minmax(0,1fr))}.reserve-trust-v2 button{grid-column:1/-1;min-height:58px}}
@media(max-width:700px){.reserve-phone-grid-v2 strong{font-size:34px}.reserve-option-card{grid-template-columns:1fr}.reserve-option-image{grid-row:auto;height:250px}.reserve-trust-v2{grid-template-columns:1fr}.reserve-trust-v2>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.12)}}


/* Modale formularzy — stabilny układ bez poziomego przewijania */
body.modal-open{overflow:hidden;padding-right:var(--scrollbar-compensation,0)}
.form-modal,.form-modal *{box-sizing:border-box}
.form-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:28px;background:rgba(3,5,7,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.form-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.form-modal-panel{position:relative;width:min(760px,calc(100vw - 56px));max-width:100%;max-height:calc(100dvh - 56px);min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:42px;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:#0d1217;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.58);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent;transform:translateY(14px) scale(.985);transition:transform .24s ease}
.form-modal.is-open .form-modal-panel{transform:translateY(0) scale(1)}
.form-modal-panel::-webkit-scrollbar{width:8px;height:0}.form-modal-panel::-webkit-scrollbar-track{background:transparent}.form-modal-panel::-webkit-scrollbar-thumb{border-radius:20px;background:rgba(255,255,255,.24)}
.form-modal-close{position:absolute;right:18px;top:16px;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.035);color:#fff;font:500 24px/1 Arial,sans-serif;cursor:pointer;transition:.2s ease}.form-modal-close:hover,.form-modal-close:focus-visible{border-color:var(--red-bright);background:var(--red-bright);transform:rotate(4deg)}
.form-modal-head{min-width:0;padding-right:56px}.form-modal-head .section-kicker{margin:0 0 13px;color:var(--red-bright);font-size:13px;font-weight:900;letter-spacing:.12em}.form-modal-head h2{margin:0;color:#fff;font-size:clamp(44px,3.25vw,51px);line-height:1.02;letter-spacing:-.045em;font-weight:900}.form-modal-head h2 span{color:var(--red-bright)}.form-modal-head>p:last-child{max-width:660px;margin:12px 0 28px;color:#b9c0c7;font-size:16px;line-height:1.55}
.quader-form{display:block;width:100%;min-width:0}.quader-form label{display:block;min-width:0;color:#e7e9eb;font-size:13px;font-weight:800}.quader-form input,.quader-form select,.quader-form textarea{display:block;width:100%;max-width:100%;min-width:0;margin-top:8px;border:1px solid rgba(255,255,255,.18);border-radius:11px;outline:0;background:#141a20;color:#fff;font:500 15px/1.35 inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.quader-form input,.quader-form select{height:48px;padding:0 14px}.quader-form textarea{min-height:94px;padding:13px 14px;resize:vertical}.quader-form input:focus,.quader-form select:focus,.quader-form textarea:focus{border-color:var(--red-bright);background:#171e25;box-shadow:0 0 0 3px rgba(227,6,19,.13)}.quader-form textarea::placeholder,.quader-form input::placeholder{color:#7f8790}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;min-width:0;margin-bottom:18px}.form-grid>*{min-width:0}
.voucher-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;margin:0 0 18px}.voucher-choice label{position:relative;min-width:0;cursor:pointer}.voucher-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.voucher-choice span{display:flex;min-width:0;min-height:92px;flex-direction:column;justify-content:center;padding:17px 18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#141a20;transition:.2s ease}.voucher-choice b{color:var(--red-bright);font-size:11px;letter-spacing:.1em}.voucher-choice strong{overflow-wrap:anywhere;margin:5px 0 4px;color:#fff;font-size:19px;line-height:1.1}.voucher-choice small{color:#abb2b9;font-size:11px}.voucher-choice input:checked+span{border-color:var(--red-bright);box-shadow:0 0 0 2px rgba(227,6,19,.16)}.voucher-choice input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.form-consent{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:20px 4px 18px;color:#b8bec4!important;font-size:12px!important;font-weight:500!important;line-height:1.5}.form-consent input{width:18px!important;height:18px!important;margin:1px 0 0!important;padding:0;accent-color:var(--red-bright)}.form-consent span{min-width:0}.form-consent a{color:#fff;text-decoration:underline;text-underline-offset:3px}.form-submit{display:flex;align-items:center;justify-content:center;gap:24px;width:100%;min-height:58px;padding:0 24px;border:0;border-radius:11px;background:var(--red-bright);color:#fff;font:900 14px/1 inherit;cursor:pointer;box-shadow:0 16px 36px rgba(227,6,19,.25);transition:.22s ease}.form-submit:hover,.form-submit:focus-visible{transform:translateY(-2px);background:#f20d1b;box-shadow:0 20px 42px rgba(227,6,19,.34)}.form-submit span{font-size:21px;font-weight:400}.form-status{min-height:20px;margin:12px 0 0;color:#9fd492;font-size:12px;text-align:center}
@media(max-width:700px){.form-modal{padding:12px}.form-modal-panel{width:100%;max-height:calc(100dvh - 24px);padding:28px 18px 24px;border-radius:18px}.form-modal-close{right:12px;top:12px;width:40px;height:40px}.form-modal-head{padding-right:44px}.form-modal-head h2{font-size:39px}.form-modal-head>p:last-child{font-size:14px;margin-bottom:22px}.form-grid,.voucher-choice{grid-template-columns:1fr;gap:14px}.voucher-choice span{min-height:80px}.form-consent{margin-top:17px}.footer-partner img{width:295px;max-width:84vw;height:56px}}
@media(prefers-reduced-motion:reduce){.form-modal,.form-modal-panel,.form-modal-close,.form-submit{transition:none!important}}


/* Kotwica rezerwacji — zatrzymuje nagłówek sekcji pod fixed headerem */
#rezerwacja{scroll-margin-top:calc(var(--header-height) + 18px)}

/* Lokalne, przezroczyste ikony marek — niezależne od stylów SVG */
.footer-socials a{overflow:hidden}
.footer-socials a img{
  display:block;
  width:21px;
  height:21px;
  object-fit:contain;
  pointer-events:none;
  opacity:.94;
  transition:transform .2s ease,opacity .2s ease;
}
.footer-socials a:hover img,.footer-socials a:focus-visible img{
  transform:scale(1.08);
  opacity:1;
}

/* Numery telefonów z podpisem i jednolitym piktogramem */
.reserve-phone-grid-v2 a{
  gap:15px;
}
.reserve-phone-icon-v2{
  display:grid;
  place-items:center;
  flex:0 0 54px;
  width:54px;
  height:54px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#f01925,#c90410);
  box-shadow:0 10px 24px rgba(227,6,19,.22);
}
.reserve-phone-icon-v2 svg{
  display:block;
  width:25px;
  height:25px;
  fill:currentColor;
}
.reserve-phone-copy-v2{
  display:block;
  min-width:0;
}
.reserve-phone-copy-v2 small{
  display:block;
  margin-bottom:7px;
  color:#aeb5bc;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
}
.reserve-phone-copy-v2 strong{
  display:block;
}
@media(max-width:700px){
  #rezerwacja{scroll-margin-top:104px}
  .reserve-phone-icon-v2{
    flex-basis:48px;
    width:48px;
    height:48px;
  }
  .reserve-phone-icon-v2 svg{width:22px;height:22px}
  .reserve-phone-copy-v2 small{font-size:9px}
}

/* Media update: looping video tiles and user-provided photography */
.gallery-video,
.gift-gallery-video{
  cursor:default;
}
.gallery-item video,
.gift-gallery-photo video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#0b0e11;
}
.gallery-video video{object-position:center center}
.gift-gallery-video video{object-position:center 43%}
.media-video-badge{
  position:absolute;
  left:14px;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  color:#fff;
  background:rgba(6,9,11,.66);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.09em;
  pointer-events:none;
}
.media-video-badge>span{
  width:0;
  height:0;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  border-left:8px solid #ed101d;
}
@media (prefers-reduced-motion:reduce){
  .gallery-video video,.gift-gallery-video video{display:none}
  .gallery-video{background:center/cover no-repeat url('../assets/media/gallery-route-poster.jpg')}
  .gift-gallery-video{background:center/cover no-repeat url('../assets/media/gift-ride-poster.jpg')}
}


/* Boks „Tak wygląda najlepszy prezent”:
   etykieta filmu jest stale widoczna, bez najeżdżania kursorem. */
.gift-gallery-photo.gift-gallery-video > .media-video-badge{
  left:14px;
  right:auto;
  bottom:14px;
  display:inline-flex;
  width:auto;
  height:auto;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  opacity:1;
  transform:none;
  color:#fff;
  background:rgba(6,9,11,.72);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.gift-gallery-photo.gift-gallery-video:hover > .media-video-badge{
  opacity:1;
  transform:none;
}

/* Formularze PHP */
.form-trap {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.form-submit:disabled { cursor: wait; opacity: .7; }
.form-status.is-success { color: #16733b; }
.form-status.is-error { color: #b42318; }

/* Potwierdzenie prawidłowej wysyłki formularza */
.form-success-panel {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 24px 32px;
}
.form-success-panel .section-kicker { margin: 18px 0 10px; }
.form-success-panel h2 { margin: 0; font-size: clamp(2rem, 5vw, 3.2rem); color: #fff; }
.form-success-panel h2 span { color: #ff1026; }
.form-success-panel > p:not(.section-kicker) { margin: 16px 0 30px; color: #b7bec3; font-size: 1.05rem; }
.form-success-icon {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
  background: #0c8f45;
  box-shadow: 0 0 34px rgba(12, 143, 69, .38);
}
.form-success-close {
  min-width: 220px;
  border: 0;
  border-radius: 12px;
  padding: 17px 30px;
  font: inherit;
  font-weight: 700;
  color: #fff;
  background: #ff1026;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(255, 16, 38, .24);
}
.form-success-close:hover { filter: brightness(1.08); }
.form-success-close:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.quader-form[hidden], .form-modal-head[hidden] { display: none !important; }


/* Widok potwierdzenia po wysłaniu — wersja 2026-07-14 */
.form-modal [hidden] { display: none !important; }
.form-modal.has-success .form-modal-panel { min-height: 520px; }
.form-modal.has-success .form-success-panel:not([hidden]) { display: flex !important; }
.form-success-panel { width: 100%; }
@media (max-width:700px) {
  .form-modal.has-success .form-modal-panel { min-height: min(520px, calc(100dvh - 24px)); }
  .form-success-panel { min-height: 390px; padding: 42px 14px 24px; }
  .form-success-close { width: 100%; min-width: 0; }
}


/* 2026-07: stabilny układ slidera na iOS/Safari.
   Na małych ekranach aktywny slajd wyznacza wysokość sekcji, a boks zalet
   znajduje się w normalnym przepływie dokumentu — nie może nachodzić na CTA. */
@media (max-width: 640px) {
  .hero-slider {
    min-height: 0;
    height: auto;
    overflow: hidden;
  }

  .hero-slider .slides {
    position: relative;
    inset: auto;
  }

  .hero-slider .hero-slide {
    position: absolute;
    inset: 0;
    min-height: 0;
    padding: 0 0 92px;
  }

  .hero-slider .hero-slide.is-active {
    position: relative;
    inset: auto;
    z-index: 2;
  }

  .hero-slider .hero-inner {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding-top: calc(var(--header-height) + 68px);
  }

  .hero-slider .hero-copy h1 {
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .hero-slider .hero-buttons {
    position: relative;
    z-index: 2;
    margin-bottom: 0;
  }

  .hero-slider .benefits {
    position: relative;
    left: auto;
    bottom: auto;
    width: calc(100% - 28px);
    min-height: 0;
    margin: 34px auto 0;
    padding: 8px 16px;
    transform: translateY(18px);
  }

  .hero-slider .hero-slide.is-active .benefits {
    transform: translateY(0);
  }

  .hero-slider .slider-tabs {
    bottom: 34px;
  }
}

/* Bardzo wąskie iPhone'y: zachowanie czytelnych odstępów i brak przepełnień. */
@media (max-width: 390px) {
  .hero-slider .hero-inner {
    width: calc(100% - 32px);
  }

  .hero-slider .hero-copy h1 {
    font-size: clamp(34px, 10.3vw, 40px);
  }

  .hero-slider .hero-lead {
    font-size: 16px;
  }

  .hero-slider .benefits {
    width: calc(100% - 20px);
    padding-inline: 12px;
  }

  .hero-slider .benefit {
    gap: 16px;
  }

  .hero-slider .benefit svg {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
  }
}
