/* ═══════════════════════════════════════════
   MISOUND — style.css  v10
   ═══════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: auto; }
img  { display: block; max-width: 100%; }
ul   { list-style: none; }
a    { text-decoration: none; cursor: pointer; }
button { cursor: pointer; }

:root {
  --blue:    #2459a0;
  --blue-lt: #4a80d4;
  --blue-dk: #1a3f70;
  --ink:     #0b0d12;
  --ink-2:   #111420;
  --ink-3:   #181c28;
  --smoke:   #f2f4f8;
  --white:   #ffffff;
  --muted:   #8a94a8;
  --border:  rgba(255,255,255,.07);
  --nav-h:   110px;
  --eout:    cubic-bezier(.22,1,.36,1);
  --ease:    cubic-bezier(.4,0,.2,1);
  --d0:      0.3s;
}

body { font-family:'Outfit',sans-serif; background:var(--smoke); color:var(--ink); overflow-x:hidden; }

::-webkit-scrollbar          { width:7px; }
::-webkit-scrollbar-track    { background:var(--ink); }
::-webkit-scrollbar-thumb    { background:var(--blue-dk); border-radius:4px; }
::-webkit-scrollbar-thumb:hover { background:var(--blue); }

.container { max-width:1200px; margin:0 auto; padding:0 clamp(1.2rem,4vw,3rem); }
.section   { padding:clamp(5rem,10vw,9rem) 0; }
.bg-light  { background:var(--smoke); }
.bg-dark   { background:var(--ink); }

/* ═══════════════════════════════════════════
   SILVER WAVE — jeden spójny efekt wszędzie
   Używany na: hero h1, NASZE ZESTAWY,
   SKONTAKTUJ SIĘ, MiSound w footerze
   ═══════════════════════════════════════════ */

/* Na ciemnym tle (headingi sekcji) */
.silver-wave-dark {
  background: linear-gradient(90deg,
    #ffffff 0%, #ffffff 15%,
    #c8c8c8 32%, #f0f0f0 50%, #c8c8c8 68%,
    #ffffff 85%, #ffffff 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: sw 9s linear infinite;
  display: inline-block;
  will-change: background-position;
}

/* Inline (MiSound w footer-bar) */
.silver-wave-inline {
  background: linear-gradient(90deg,
    #ffffff 0%, #ffffff 15%,
    #c8c8c8 32%, #f0f0f0 50%, #c8c8c8 68%,
    #ffffff 85%, #ffffff 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: sw 9s linear infinite;
  display: inline;
  will-change: background-position;
}

@keyframes sw {
  0%   { background-position: 100% center; }
  100% { background-position: -100% center; }
}

/* Stara klasa shimmer — zastąpiona, zostawiam alias */
.shimmer { animation: none; }

/* ═══════════════════════════════════════════
   NAVBAR
   ═══════════════════════════════════════════ */
.navbar {
  position:fixed; inset:0 0 auto 0; z-index:200;
  background:rgba(11,13,18,.97); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  height:var(--nav-h); transition:box-shadow .4s;
}
.navbar.scrolled { box-shadow:0 8px 48px rgba(0,0,0,.65); }

.nav-container {
  max-width:1200px; margin:0 auto;
  padding:0 clamp(1.2rem,4vw,3rem);
  height:100%; display:flex; align-items:center; justify-content:space-between;
}

.nav-logo { display:flex; align-items:center; }
.nav-logo-img {
height:75px; width:auto; object-fit:contain; display:block;
}
.nav-logo-text { display:none; }

.nav-menu { display:flex; align-items:center; gap:2.4rem; }

.nav-link {
  position:relative; display:flex; align-items:center; gap:8px;
  font-size:1rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase;
  color:rgba(255,255,255,.6); padding:8px 2px;
  user-select:none; white-space:nowrap; transition:color .3s;
}
.nav-link::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:2px; background:var(--blue-lt); border-radius:2px;
  transition:width .42s var(--eout);
}
.nav-link:hover { color:var(--white); }
.nav-link:hover::after { width:100%; }
.nav-link i { font-size:.88rem; pointer-events:none; transition:transform .35s cubic-bezier(.34,1.56,.64,1),color .3s; }
.nav-link:hover i { transform:translateY(-3px) scale(1.2); color:var(--blue-lt); }

.nav-btn {
  display:flex; align-items:center; gap:8px;
  font-size:.9rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--white); background:var(--blue);
  padding:11px 26px; border-radius:100px; user-select:none;
  transition:background .3s,box-shadow .3s,transform .25s;
}
.nav-btn:hover { background:var(--blue-lt); box-shadow:0 0 30px rgba(74,128,212,.45); transform:translateY(-2px); }

.hamburger { display:none; flex-direction:column; justify-content:center; gap:6px; background:none; border:none; padding:8px; width:44px; height:44px; }
.ham-line { display:block; height:2px; background:var(--white); border-radius:2px; transition:transform .35s var(--eout),opacity .25s,width .3s; }
.ham-line:nth-child(1) { width:26px; }
.ham-line:nth-child(2) { width:20px; }
.ham-line:nth-child(3) { width:26px; }
.hamburger.is-open .ham-line:nth-child(1) { transform:translateY(8px) rotate(45deg); width:26px; }
.hamburger.is-open .ham-line:nth-child(2) { opacity:0; }
.hamburger.is-open .ham-line:nth-child(3) { transform:translateY(-8px) rotate(-45deg); width:26px; }

/* ═══════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════ */
.hero {
  position:relative; min-height:100svh;
  display:flex; align-items:center; justify-content:center;
  text-align:center; overflow:hidden; background:var(--ink);
}
.hero-media { position:absolute; inset:0; overflow:hidden; }
.hero-bg-img {
  width:100%; height:100%; object-fit:cover;
  opacity:.45; transform:scale(1.2); filter:blur(8px);
  animation:hero-drift 22s ease-in-out infinite alternate;
}
@keyframes hero-drift { from{transform:scale(1.2);} to{transform:scale(1.28);} }

.hero-vignette {
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(11,13,18,.3) 0%,rgba(11,13,18,.05) 40%,rgba(11,13,18,.6) 80%,rgba(11,13,18,1) 100%);
}

.hero-body {
  position:relative; z-index:2;
  padding:calc(var(--nav-h) + 2rem) clamp(1.2rem,5vw,2rem) 4rem;
  display:flex; flex-direction:column; align-items:center;
}

.hero-eyebrow {
  font-size:.78rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.45); margin-bottom:2rem;
  opacity:0; transform:translateY(14px);
  animation:rise .9s var(--eout) var(--d0) forwards;
}

.hero-heading-wrap {
  opacity:0; transform:translateY(80px);
  animation:rise 1.1s var(--eout) calc(var(--d0) + .15s) forwards;
  margin-bottom:2rem; overflow:visible; padding:0 .12em;
  will-change:transform,opacity;
}

/* silver-wave na hero — identyczny efekt co nagłówki */
.hero-heading {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(4.1rem, 11.2vw, 9.8rem);   /* ← zmniejszone o ~25% (2/8) */
  line-height:1.02; 
  letter-spacing:.035em;
  white-space:nowrap; 
  user-select:none;
  overflow:visible; 
  padding:.05em .1em;
  background:linear-gradient(90deg,
    #ffffff 0%, #ffffff 15%,
    #c8c8c8 32%, #f0f0f0 50%, #c8c8c8 68%,
    #ffffff 85%, #ffffff 100%
  );
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:sw 9s linear calc(var(--d0) + 1.2s) infinite;
  will-change:background-position;
}

@keyframes rise {
  from { opacity:0; transform:translateY(var(--ty,80px)); }
  to   { opacity:1; transform:translateY(0); }
}
.hero-scroll-btn {
  display:inline-flex; align-items:center; justify-content:center;
  width:58px; height:58px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.22);
  color:var(--white); font-size:1.1rem;
  opacity:0; --ty:0px;
  animation:rise .6s var(--eout) calc(var(--d0) + .55s) forwards, bounce 2.4s ease-in-out calc(var(--d0) + 1.5s) infinite;
  transition:border-color .3s,background .3s;
}
.hero-scroll-btn:hover { border-color:var(--blue-lt); background:rgba(74,128,212,.2); }
@keyframes bounce { 0%,100%{transform:translateY(0);} 50%{transform:translateY(10px);} }

/* ═══════════════════════════════════════════
   O NAS
   ═══════════════════════════════════════════ */
.onas-top { margin-bottom:clamp(2.5rem,5vw,4.5rem); }
.onas-label { font-size:.8rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--blue); margin-bottom:1rem; }
.onas-heading { font-family:'Bebas Neue',sans-serif; font-size:clamp(3.5rem,7vw,6rem); line-height:1.02; letter-spacing:.03em; color:var(--ink); }
.onas-accent { color:var(--blue); }

.onas-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,6rem); align-items:center; margin-bottom:clamp(3rem,6vw,5rem); }
.onas-body { font-size:1.18rem; color:#4e5a6a; line-height:1.9; margin-bottom:1.3rem; }
.onas-features { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; margin:2rem 0 .5rem; }
.onas-feat {
  display:flex; align-items:center; gap:12px;
  font-size:1rem; font-weight:600; color:var(--ink);
  background:var(--white); border:1px solid rgba(0,0,0,.08);
  border-radius:12px; padding:1rem 1.2rem;
  transition:border-color .35s,box-shadow .35s,transform .3s var(--eout);
}
.onas-feat i { color:var(--blue); font-size:1.1rem; flex-shrink:0; }
.onas-feat:hover { border-color:var(--blue); box-shadow:0 4px 18px rgba(36,89,160,.14); transform:translateY(-2px); }

.btn-cta {
  display:inline-flex; align-items:center; gap:10px;
  margin-top:2rem; padding:15px 36px;
  background:var(--blue); color:var(--white);
  font-size:1.05rem; font-weight:700; letter-spacing:.06em; border-radius:100px;
  transition:background .3s,box-shadow .3s,transform .25s;
}
.btn-cta i { transition:transform .35s cubic-bezier(.34,1.56,.64,1); }
.btn-cta:hover { background:var(--blue-lt); box-shadow:0 8px 32px rgba(36,89,160,.4); transform:translateY(-2px); }
.btn-cta:hover i { transform:translateX(6px); }

.photo-slot { width:100%; aspect-ratio:4/3; border-radius:22px; overflow:hidden; position:relative; background:var(--ink-3); animation:photo-glow 5s ease-in-out infinite; }
@keyframes photo-glow {
  0%,100% { box-shadow:0 0 0 1px rgba(36,89,160,.2),0 20px 60px rgba(0,0,0,.15); }
  50%      { box-shadow:0 0 0 2px rgba(74,128,212,.5),0 24px 70px rgba(36,89,160,.15); }
}
.photo-slot img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; z-index:2; transition:transform .6s; }
.photo-slot:hover img { transform:scale(1.04); }
.photo-placeholder { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:linear-gradient(135deg,var(--ink-2) 0%,#1a2a45 100%); }
.ph-icon-wrap { width:72px; height:72px; border-radius:50%; border:1.5px dashed rgba(74,128,212,.4); display:flex; align-items:center; justify-content:center; color:rgba(74,128,212,.6); font-size:1.6rem; animation:ph-pulse 3s ease-in-out infinite; }
@keyframes ph-pulse { 0%,100%{transform:scale(1);opacity:.6;} 50%{transform:scale(1.1);opacity:1;} }
.ph-label { font-size:1rem; font-weight:600; color:rgba(255,255,255,.5); letter-spacing:.1em; }
.ph-hint  { font-size:.75rem; color:rgba(255,255,255,.22); letter-spacing:.06em; }

.onas-stats { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; background:var(--ink); border-radius:20px; padding:2.5rem 3rem; }
.stat { display:flex; flex-direction:column; align-items:center; gap:.4rem; text-align:center; }
.stat-num { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.6rem,4.5vw,3.8rem); letter-spacing:.06em; color:var(--white); line-height:1; }
.stat-plus { color:var(--blue-lt); }
.stat-label { font-size:.82rem; font-weight:500; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; }
.stat-divider { width:1px; height:50px; background:rgba(255,255,255,.1); }

/* ═══════════════════════════════════════════
   ZESTAWY
   ═══════════════════════════════════════════ */
.section-intro { text-align:center; margin-bottom:clamp(3rem,5vw,5rem); }
.eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--blue); margin-bottom:.7rem; }
.eyebrow--light { color:var(--blue-lt); }
.heading-xl { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,7vw,5.5rem); line-height:1; letter-spacing:.06em; color:var(--white); }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.card { background:var(--ink-3); border-radius:20px; overflow:hidden; border:1px solid var(--border); transition:transform .4s var(--eout),box-shadow .4s,border-color .4s; }
.card:hover { transform:translateY(-8px); box-shadow:0 28px 60px rgba(0,0,0,.5),0 0 0 1px var(--blue); border-color:var(--blue); }
.card-photo { height:210px; overflow:hidden; position:relative; background:var(--ink-2); }
.card-photo img { width:100%; height:100%; object-fit:cover; filter:brightness(.8) saturate(.75); transition:transform .55s,filter .4s; position:relative; z-index:1; }
.card:hover .card-photo img { transform:scale(1.08); filter:brightness(.9) saturate(1); }
.card-ph-icon { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:3rem; color:rgba(255,255,255,.12); background:linear-gradient(135deg,var(--ink-3) 0%,var(--blue-dk) 100%); z-index:0; transition:color .4s; }
.card:hover .card-ph-icon { color:rgba(255,255,255,.22); }
.card-content { padding:1.5rem 1.6rem 1.8rem; }
.card-title { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; letter-spacing:.05em; color:var(--white); margin-bottom:1rem; transition:color .3s; }
.card:hover .card-title { color:var(--blue-lt); }
.card-specs { display:flex; flex-direction:column; gap:.5rem; }
.card-specs li { display:flex; align-items:center; gap:10px; font-size:.93rem; color:var(--muted); }
.card-specs i { color:var(--blue-lt); font-size:.75rem; flex-shrink:0; }

/* ═══════════════════════════════════════════
   MAPA
   ═══════════════════════════════════════════ */
.map-wrap { width:100%; height:700px; }
.map-wrap iframe { height:100%; border:none; display:block; }

/* ═══════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════ */
.footer { background:var(--ink-2); border-top:1px solid var(--border); padding:clamp(3.5rem,7vw,5.5rem) 0 2.2rem; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); margin-bottom:3rem; align-items:start; }
.footer-heading { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.4rem,5vw,3.6rem); letter-spacing:.07em; margin-bottom:.8rem; }
.footer-region { font-size:1rem; font-weight:600; color:var(--blue-lt); margin-bottom:.6rem; }
.footer-region i { margin-right:6px; }
.footer-desc { font-size:.92rem; color:var(--muted); line-height:1.75; margin-bottom:1.8rem; max-width:320px; }
.socials { display:flex; gap:10px; }
.social { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:var(--white); font-size:1rem; transition:background .3s,border-color .3s,transform .25s var(--eout); }
.social:hover { background:var(--blue); border-color:var(--blue); transform:translateY(-3px); }
.footer-col { display:flex; flex-direction:column; gap:1.2rem; }
.contact-block { background:rgba(255,255,255,.04); border:1px solid var(--border); border-radius:12px; padding:1.3rem 1.6rem; transition:border-color .3s; }
.contact-block:hover { border-color:var(--blue); }
.contact-label { display:block; font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:.8rem; }
.contact-value { display:flex; align-items:center; gap:10px; font-size:1.15rem; font-weight:600; color:var(--white); margin-bottom:.4rem; transition:color .3s; word-break:break-all; }
.contact-value i { color:var(--muted); font-size:.9rem; flex-shrink:0; }
.contact-value:last-child { margin-bottom:0; }
.contact-value:hover { color:var(--blue-lt); }
.footer-bar { border-top:1px solid var(--border); padding-top:1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; font-size:.82rem; color:var(--muted); }

/* ═══════════════════════════════════════════
   SCROLL REVEAL
   ═══════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .9s var(--eout) var(--delay,0s),transform .9s var(--eout) var(--delay,0s); }
.reveal.is-visible { opacity:1; transform:translateY(0); }

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media (max-width:960px) {
  .cards { grid-template-columns:repeat(2,1fr); }
  .onas-grid { grid-template-columns:1fr; }
  .photo-slot { aspect-ratio:16/9; }
  .onas-stats { grid-template-columns:1fr 1fr; gap:2rem 0; padding:2rem 1.5rem; }
  .stat-divider { display:none; }
}
@media (max-width:640px) {
  .hamburger { display:flex; }
  .nav-menu { display:none; position:fixed; top:var(--nav-h); left:0; right:0; background:rgba(11,13,18,.98); backdrop-filter:blur(18px); flex-direction:column; align-items:center; padding:2.5rem 1.5rem; gap:1.6rem; border-bottom:1px solid var(--border); z-index:199; }
  .nav-menu.is-open { display:flex; }
  .nav-link { font-size:1.1rem; }
  .nav-btn  { font-size:1.05rem; padding:12px 30px; }
  .hero-heading { font-size:clamp(3.8rem,17vw,6rem); white-space:normal; }
  .onas-features { grid-template-columns:1fr; }
  .photo-slot { aspect-ratio:4/3; }
  .onas-stats { grid-template-columns:1fr 1fr; padding:1.5rem 1rem; gap:1.5rem; }
  .cards { grid-template-columns:1fr; }
  .map-wrap { height:420px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bar  { flex-direction:column; text-align:center; }
}