/* Valencor Advisory | Refaktoryzacja 2026-07-10 */
@media (max-width: 900px){
    .process-grid{grid-template-columns: repeat(2,1fr);}
  }

@media (max-width: 900px){
    .value-grid{grid-template-columns: repeat(2,1fr);}
  }

@media (max-width: 800px){
    .team-grid{grid-template-columns: 1fr;}
  }

@media (max-width: 800px){
    .contact-grid{grid-template-columns:1fr;}
    .contact-card--company{
      grid-column:auto;
      padding:32px 24px;
      text-align:center;
    }
    .contact-company__registry{justify-content:center;}
  }

@media (max-width: 480px){
    .contact-company__registry{flex-direction:column;align-items:center;gap:8px;}
  }

@media (max-width: 820px){
    nav ul{
      position:fixed;
      top:0; right:-100%;
      width:72%;
      height:100vh;
      background: var(--navy-deep);
      flex-direction:column;
      align-items:flex-start;
      padding: 100px 36px;
      gap:28px;
      transition: right .3s ease;
      z-index:99;
    }
    nav ul.open{right:0;}
    nav a{color:var(--white);}
    .nav-toggle{
      display:flex;
      flex-direction:column;
      gap:5px;
      cursor:pointer;
      z-index:101;
      background:none;
      border:none;
      padding:6px;
    }
    .nav-toggle span{
      width:24px; height:2px;
      background:rgba(255,255,255,0.9);
      display:block;
    }
    header.scrolled .nav-toggle span{
      background:var(--navy);
    }
    .about-grid{grid-template-columns:1fr; gap:50px;}
    section{padding:80px 0;}
  }

@media (max-width: 480px){
    .container{padding:0 20px;}
    .nav-wrap{padding:14px 20px;}
    .team-card{flex-direction:column;}
    .team-photo{width:110px;height:138px;}
  }

@media (prefers-reduced-motion: reduce){
    *{transition:none !important; scroll-behavior:auto !important;}
  }

/* Aktualizacja 2026-07-10: responsywne logo SVG */
@media (max-width: 820px){
  .header-logo img{height:44px;}
  .hero-logo img{height:clamp(110px, 36vw, 154px);}
}
@media (max-width: 480px){
  .header-logo img{height:38px;}
  .footer-inner .f-logo img{height:54px;}
}

/* Aktualizacja 2026-07-10: pełnoekranowe menu mobilne */
@media (max-width: 820px){
  .nav-wrap{
    position:relative;
    justify-content:space-between;
  }

  .nav-toggle{
    margin-left:auto;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    gap:0;
    border-radius:50%;
    position:relative;
  }

  .nav-toggle span{
    position:absolute;
    left:11px;
    width:24px;
    height:2px;
    transition:transform .25s ease, opacity .2s ease, top .25s ease, background-color .2s ease;
  }
  .nav-toggle span:nth-child(1){top:14px;}
  .nav-toggle span:nth-child(2){top:22px;}
  .nav-toggle span:nth-child(3){top:30px;}

  .nav-toggle[aria-expanded="true"] span{
    background:var(--white) !important;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg);}

  header nav ul{
    inset:0;
    width:100vw;
    height:100dvh;
    right:auto;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:88px 28px 36px;
    gap:34px;
    overflow:hidden;
    background:rgba(10,31,51,.84);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    transform:translateX(100%);
    transition:transform .3s ease, opacity .3s ease, visibility .3s ease;
  }

  header nav ul.open{
    right:auto;
    opacity:1;
    visibility:visible;
    transform:translateX(0);
  }

  header nav a,
  header.scrolled nav a{
    color:var(--white);
    font-size:clamp(24px, 7vw, 34px);
    line-height:1.25;
    letter-spacing:.08em;
    text-align:center;
  }

  body.menu-open{
    overflow:hidden;
    height:100dvh;
    touch-action:none;
  }
}

@media (max-width: 680px){
  .contact-modal{padding:12px;align-items:end;}
  .contact-modal__dialog{width:100%;max-height:calc(100dvh - 24px);padding:36px 20px 24px;}
  .contact-modal__close{top:12px;right:12px;}
  .contact-modal__header{padding:0 22px;margin-bottom:22px;}
  .contact-form__grid{grid-template-columns:1fr;}
  .contact-form__actions{flex-direction:column;align-items:stretch;}
  .contact-form__actions .btn{width:100%;text-align:center;}
}

/* Aktualizacja 2026-07-14: responsywna belka SVG */
@media (max-width: 820px){
  .hero-tagline{min-height:64px;}
  .hero-tagline > img{
    width:160%;
    max-width:none;
    min-height:64px;
    transform:translateX(0);
  }
  .footer-tags > img{width:100%;}
}
@media (max-width: 520px){
  .hero-tagline > img{
    width:210%;
  }
}

/* Aktualizacja 2026-07-14: pełna, kompaktowa belka także na mobile */
@media (max-width:820px){
  .hero-tagline{height:44px;min-height:44px;}
  .hero-tagline > img{
    width:100%;
    max-width:1600px;
    height:44px;
    min-height:0;
    transform:none;
  }
}
@media (max-width:520px){
  .hero-tagline{height:40px;min-height:40px;}
  .hero-tagline > img{width:100%;height:40px;transform:none;}
}


/* Aktualizacja 2026-07-14: belka w stopce skaluje się identycznie jak górna */
@media (max-width:820px){
  .footer-tagline{height:44px;min-height:44px;}
  .footer-tagline > img{width:100%;height:44px;max-width:1600px;}
}
@media (max-width:520px){
  .footer-tagline{height:40px;min-height:40px;}
  .footer-tagline > img{width:100%;height:40px;}
  footer{padding-bottom:24px;}
  .footer-copy{margin-top:20px;}
}

/* Aktualizacja 2026-07-14: modal zgód cookies */
@media (max-width:680px){
  .cookie-modal{padding:12px;align-items:end;}
  .cookie-modal__dialog{width:100%;max-height:calc(100dvh - 24px);padding:34px 20px 24px;}
  .cookie-modal__actions,.cookie-modal__settings-actions{flex-direction:column;align-items:stretch;}
  .cookie-modal__actions .btn,.cookie-modal__settings-actions .btn{width:100%;text-align:center;}
  .cookie-option{gap:12px;}
}

/* Aktualizacja 2026-07-15: spójne skalowanie logotypów sekcyjnych */
@media (max-width: 820px){
  .hero-logo img,
  .section-mark img,
  .contact-section .section-mark img{
    width:auto;
    height:clamp(110px, 36vw, 154px);
    max-width:92vw;
  }
  .section-mark{
    min-height:clamp(110px, 36vw, 154px);
  }
}

@media (max-width: 820px) {
  .nav-language { margin-top: 12px; }
  .language-switch { gap: 5px; padding: 5px; }
  .nav-language .language-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: 10px 12px;
    font-size: 18px;
  }
  .nav-language .language-switch a:last-child { min-width: 70px; }
}
