  :root {
    --gold:#b8933f; --gold-dark:#96742c; --gold-light:#d4b45f;
    --navy:#16233f; --navy-soft:#24365c; --navy-deep:#0f1830;
    --paper:#ffffff; --paper-soft:#f6f4ef;
  }
  html { scroll-behavior:smooth; }
  section[id], #kontakt { scroll-margin-top:90px; }
  body { font-family:'DM Sans',sans-serif; background:#ffffff; color:#16233f; overflow-x:hidden; }

  .font-display { font-family:'Playfair Display',Georgia,serif; }
  .font-body { font-family:'DM Sans',sans-serif; }

  .eyebrow { letter-spacing:.28em; text-transform:uppercase; font-size:.7rem; font-weight:600; color:var(--gold-dark); }
  .gold-rule { width:56px; height:2px; background:linear-gradient(90deg,var(--gold),var(--gold-dark)); border-radius:2px; }
  .gold-text { color:var(--gold-dark); }

  header { transition:background .3s, box-shadow .3s, backdrop-filter .3s; }
  header.scrolled { background:rgba(255,255,255,.92); backdrop-filter:blur(12px); box-shadow:0 4px 24px rgba(22,35,63,.08); }
  header.top { background:transparent; }
  header.top .nav-link { color:#fff; }
  header.top .nav-link:hover { color:var(--gold-light); }
  header.top .lang-btn { border-color:rgba(255,255,255,.4); color:#fff; }
  header.top .menu-icon { color:#fff; }
  header.top #mobile-menu .lang-btn { border-color:rgba(22,35,63,.22); color:#16233f; }
  header.top #mobile-menu .lang-btn.active { background:var(--navy); border-color:var(--navy); color:#fff; }
  .nav-link { position:relative; color:#24365c; transition:color .25s; font-weight:500; }
  .nav-link::after { content:''; position:absolute; bottom:-6px; left:0; width:0; height:2px; background:var(--gold); transition:width .3s; }
  .nav-link:hover::after, .nav-link.active::after { width:100%; }
  .lang-btn { border:1px solid rgba(22,35,63,.22); color:#16233f; transition:all .2s; }
  .lang-btn.active { background:var(--navy); color:#fff; border-color:var(--navy); }
  header.top .lang-btn.active { background:var(--gold); border-color:var(--gold); color:#16233f; }
  #mobile-menu { transition:max-height .35s ease, opacity .3s ease; max-height:0; overflow:hidden; opacity:0; }
  #mobile-menu.open { max-height:420px; opacity:1; }

  .btn-gold { background:linear-gradient(135deg,#d4b45f,#b8933f); color:#16233f; font-weight:600; transition:box-shadow .25s, transform .25s; box-shadow:0 8px 24px rgba(184,147,63,.30); }
  .btn-gold:hover { box-shadow:0 14px 36px rgba(184,147,63,.45); transform:translateY(-2px); }
  .btn-navy { background:var(--navy); color:#fff; font-weight:600; transition:background .25s, box-shadow .25s, transform .25s; }
  .btn-navy:hover { background:var(--navy-soft); box-shadow:0 12px 30px rgba(22,35,63,.28); transform:translateY(-2px); }
  .btn-ghost { border:1.5px solid rgba(255,255,255,.5); color:#fff; font-weight:500; transition:all .25s; }
  .btn-ghost:hover { border-color:var(--gold-light); background:rgba(212,180,95,.15); }
  .btn-outline { border:1.5px solid var(--gold); color:var(--gold-dark); font-weight:600; transition:all .25s; }
  .btn-outline:hover { background:var(--gold); color:#16233f; }

  .hero { position:relative; min-height:82vh; display:flex; align-items:center; background:#0f1830; }
  @media (max-width:900px){ .hero { min-height:auto; } }
  .hero-img { position:absolute; inset:0; background-image:url('/assets/img/hero-snow.webp?v=1787309082717'); background-size:cover; background-position:center 35%; }
  .hero-img::after { content:''; position:absolute; inset:0;
    background:linear-gradient(105deg, rgba(15,24,48,.92) 0%, rgba(15,24,48,.72) 42%, rgba(15,24,48,.25) 72%, rgba(15,24,48,.15) 100%); }
  @media (max-width:900px){ .hero-img::after { background:linear-gradient(180deg, rgba(15,24,48,.75) 0%, rgba(15,24,48,.85) 55%, rgba(15,24,48,.92) 100%); } }

  .quote-card { background:rgba(255,255,255,.97); backdrop-filter:blur(6px); box-shadow:0 30px 80px rgba(15,24,48,.45); border:1px solid rgba(255,255,255,.6); }
  .qc-input { width:100%; background:#fff; border:1px solid rgba(22,35,63,.16); border-radius:.75rem; padding:.7rem .9rem; font-size:.9rem; color:#16233f; transition:border-color .2s, box-shadow .2s; }
  .qc-input:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,147,63,.16); }
  .qc-input::placeholder { color:rgba(22,35,63,.4); }
  select.qc-input { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b8933f' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:38px; cursor:pointer; }

  .stat-num { font-family:'Playfair Display',serif; font-weight:700; color:var(--navy); line-height:1; }

  .svc-card { display:block; background:#fff; border:1px solid rgba(22,35,63,.08); border-radius:1.25rem; overflow:hidden; box-shadow:0 12px 40px rgba(22,35,63,.06); transition:transform .3s, box-shadow .3s; }
  .svc-card:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(22,35,63,.13); }
  .svc-card-img { aspect-ratio:4/3; overflow:hidden; }
  .svc-lead-size { font-size:.95rem; }
  @media (min-width:640px){ .svc-card-img { aspect-ratio:16/11; } }
  .svc-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
  .svc-card:hover .svc-card-img img { transform:scale(1.06); }
  /* --- typografia kart uslug (premium hierarchia) --- */
  .svc-card-body h3 { letter-spacing:-.015em; margin-bottom:.55rem; }
  .svc-card-body [data-svc$="-lead"] { color:var(--navy); font-weight:600; font-size:1.06rem; line-height:1.5; letter-spacing:-.005em; margin-bottom:1.1rem; }
  .svc-checks { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
  .svc-checks li { display:flex; align-items:flex-start; gap:.6rem; color:rgba(22,35,63,.74); font-family:'DM Sans',sans-serif; font-size:.9rem; line-height:1.5; }
  .svc-check-ic { flex-shrink:0; width:1.4rem; height:1.4rem; margin-top:.02rem; border-radius:9999px; background:rgba(184,147,63,.12); border:1px solid rgba(184,147,63,.38); color:var(--gold-dark); font-size:.72rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; line-height:1; }

  .fleet-card { background:#fff; border:1px solid rgba(22,35,63,.08); border-radius:1.25rem; overflow:hidden; box-shadow:0 12px 40px rgba(22,35,63,.06); transition:transform .3s, box-shadow .3s; display:flex; flex-direction:column; }
  .fleet-card:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(22,35,63,.13); }
  .fleet-card > .p-6 { display:flex; flex-direction:column; flex:1 1 auto; }
  .fleet-card > .p-6 > a.btn-outline { margin-top:1rem; }
  @media (min-width:1024px){
    .fleet-card-vip { grid-column:span 3 / span 3; }
  }
  .fleet-card-vip-media { display:grid; grid-template-columns:1fr; }
  .fleet-card-vip-media-item { height:13rem; overflow:hidden; }
  @media (min-width:1024px){
    .fleet-card-vip-media { grid-template-columns:1fr 1fr; }
    .fleet-card-vip-media-item { height:22rem; }
  }
  .video-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.9rem; background:linear-gradient(150deg,#1a1a1a,#0a0a0a); }
  .video-play-btn { width:4rem; height:4rem; border-radius:9999px; border:2px solid rgba(212,180,95,.5); background:rgba(212,180,95,.08); display:flex; align-items:center; justify-content:center; font-size:1.35rem; color:rgba(212,180,95,.9); padding-left:.2rem; }
  .video-placeholder-label { font-family:'DM Sans',sans-serif; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(212,180,95,.75); }
  .owner-photo-wrap { max-width:19rem; margin-left:auto; margin-right:auto; }
  @media (min-width:1024px){ .owner-photo-wrap { max-width:21rem; margin-left:0; margin-right:auto; } }
  .fleet-grid-wrap { perspective:1400px; }
  /* --- flota: czytelnosc opisu + premium "piguly" specyfikacji --- */
  .fleet-card [data-fl="1-d"], .fleet-card [data-fl="3-d"], .fleet-card [data-fl="4-d"] { color:rgba(22,35,63,.72); font-size:.9rem; line-height:1.7; letter-spacing:.002em; margin-bottom:0; min-height:11.5rem; flex-shrink:0; }
  .fleet-card [data-fl="5-d"] { color:rgba(22,35,63,.72); font-size:.9rem; line-height:1.7; letter-spacing:.002em; margin-bottom:0; }
  .fleet-specs { gap:.5rem !important; margin-top:1.15rem; padding-top:1.15rem; margin-bottom:1.1rem; border-top:1px solid rgba(22,35,63,.08); }
  .fleet-more { margin-top:auto; padding-top:.85rem; border-top:1px solid rgba(22,35,63,.08); }
  .fleet-more[open] { margin-top:.85rem; }
  .fleet-more summary { cursor:pointer; list-style:none; font-family:'DM Sans',sans-serif; font-size:.85rem; font-weight:700; letter-spacing:.02em; color:#16233f; display:flex; align-items:center; justify-content:center; gap:.45rem; padding:.65rem 1.1rem; border-radius:.6rem; background:linear-gradient(135deg,#d9b25a,#b8933f); box-shadow:0 2px 8px rgba(184,147,63,.35); transition:transform .15s, box-shadow .15s, filter .15s; }
  .fleet-more summary:hover { filter:brightness(1.06); transform:translateY(-1px); box-shadow:0 4px 12px rgba(184,147,63,.45); }
  .fleet-more summary::-webkit-details-marker { display:none; }
  .fleet-more summary::after { content:'▾'; font-size:.75rem; transition:transform .2s; }
  .fleet-more[open] summary::after { transform:rotate(180deg); }
  .fleet-more ul { margin-top:.7rem; padding-left:1.1rem; list-style:disc; }
  .fleet-more li { font-family:'DM Sans',sans-serif; font-size:.82rem; line-height:1.65; color:rgba(22,35,63,.65); margin-bottom:.35rem; }
  .fleet-more li .opt-code { color:rgba(22,35,63,.4); font-size:.75rem; letter-spacing:.03em; }
  .fleet-specs > span { background:rgba(184,147,63,.09); border:1px solid rgba(184,147,63,.28); color:rgba(22,35,63,.82); font-size:.78rem; font-weight:500; line-height:1; padding:.42rem .72rem; border-radius:9999px; }

  .rate-table { background:rgba(255,255,255,.04); border:1px solid rgba(212,180,95,.25); border-radius:1.5rem; padding:2.25rem; }
  .rate-table-head { text-align:center; margin-bottom:1.75rem; }
  .rate-table-grid { display:grid; gap:1.25rem; }
  @media (min-width:768px){ .rate-table-grid { grid-template-columns:1fr 1fr; } }
  .rate-season { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.10); border-radius:1rem; padding:1.5rem; }
  .rate-season.featured { border-color:var(--gold); background:rgba(212,180,95,.08); }
  .rate-season-label { font-family:'Playfair Display',serif; color:#fff; font-size:1.05rem; margin-bottom:1rem; }
  .rate-season-label span { display:block; font-family:'DM Sans',sans-serif; font-size:.72rem; letter-spacing:.08em; color:rgba(255,255,255,.45); margin-top:.2rem; font-style:normal; }
  .rate-season ul { display:flex; flex-direction:column; gap:.65rem; }
  .rate-season li { display:flex; justify-content:space-between; font-family:'DM Sans',sans-serif; font-size:.88rem; color:rgba(255,255,255,.8); border-bottom:1px dashed rgba(255,255,255,.10); padding-bottom:.55rem; }
  .rate-season li span:last-child { color:#d4b45f; font-weight:600; }

  .location-card { display:flex; gap:1rem; align-items:flex-start; background:#fff; border:1px solid rgba(22,35,63,.08); border-radius:1.1rem; padding:1.1rem 1.25rem; box-shadow:0 8px 26px rgba(22,35,63,.05); transition:transform .25s, box-shadow .25s; }
  .location-card:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(22,35,63,.10); }
  .location-pin { font-size:1.3rem; line-height:1; margin-top:.1rem; }

  .step-num { font-family:'Playfair Display',serif; font-size:2.4rem; font-weight:700; color:var(--gold); line-height:1; }
  .step-connector { position:absolute; top:1.1rem; left:calc(50% + 2.2rem); right:calc(-50% + 2.2rem); height:2px; background:linear-gradient(90deg,var(--gold-light),rgba(184,147,63,.15)); }
  @media (max-width:768px){ .step-connector{ display:none; } }

  .price-card { background:#fff; border:1px solid rgba(22,35,63,.10); border-radius:1.5rem; transition:transform .3s, box-shadow .3s; }
  .price-card:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(22,35,63,.12); }
  .price-card.featured { background:linear-gradient(160deg,#1b2c4e,#16233f); color:#fff; border:1px solid var(--gold); box-shadow:0 30px 70px rgba(22,35,63,.30); transform:scale(1.04); }
  .price-card.featured .price-amt, .price-card.featured h3 { color:#fff; }
  .price-badge { background:linear-gradient(135deg,#d4b45f,#b8933f); color:#16233f; }

  .review { background:#fff; border:1px solid rgba(22,35,63,.08); border-radius:1.25rem; box-shadow:0 10px 30px rgba(22,35,63,.05); }

  .reveal { opacity:0; transform:translateY(34px); transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
  .reveal.in { opacity:1; transform:none; }
  .reveal.d1{transition-delay:.08s} .reveal.d2{transition-delay:.16s} .reveal.d3{transition-delay:.24s} .reveal.d4{transition-delay:.32s}
  .reveal.flip { transform:translateY(46px) rotateY(-24deg) scale(.92); transform-style:preserve-3d; }
  .reveal.flip.in { transform:none; }
  .reveal.spin .wm-icon { transform:rotate(-190deg) scale(.4); opacity:0; transition:transform .6s cubic-bezier(.34,1.56,.64,1), opacity .5s ease; }
  .reveal.spin.in .wm-icon { transform:rotate(0) scale(1); opacity:1; }
  @media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} .svc-card:hover img{transform:none} .reveal.spin .wm-icon{opacity:1;transform:none} }

  .scroll-cue { animation:bob 2.4s infinite; }
  @keyframes bob { 0%,100%{transform:translateY(0);opacity:.6} 50%{transform:translateY(8px);opacity:1} }

  /* ---- uzupełnienie brakujących klas w statycznym tailwind.css ---- */
  .bg-navy-deep { background-color:var(--navy-deep); }
  .bg-paper-soft { background-color:var(--paper-soft); }
  .mt-6 { margin-top:1.5rem; }
  .pb-24 { padding-bottom:6rem; }
  .mb-0\.5 { margin-bottom:.125rem; }
  .mb-1\.5 { margin-bottom:.375rem; }
  .items-stretch { align-items:stretch; }
  .gap-x-3 { column-gap:.75rem; }
  .gap-y-1\.5 { row-gap:.375rem; }
  .gap-7 { gap:1.75rem; }
  .mb-2\.5 { margin-bottom:.625rem; }
  .location-grid { display:grid; grid-template-columns:1fr; }
  .region-map { aspect-ratio:4/3; background:linear-gradient(160deg,#16233f,#0d1830); }
  .region-map svg { display:block; width:100%; height:100%; }
  @media (min-width:640px){ .sm\:text-2xl{ font-size:1.5rem; line-height:2rem; } .sm\:text-sm{ font-size:.875rem; line-height:1.25rem; } }
  @media (min-width:1024px){ .lg\:grid-cols-4{ grid-template-columns:repeat(4,minmax(0,1fr)); } .location-grid{ grid-template-columns:1.3fr 1fr; } }  a.location-card { text-decoration:none; color:inherit; cursor:pointer; }
