
    :root{
      --brand:#002B18;            /* szlachetna zieleń kancelaryjna */
      --brand-600:#00371E;
	  --brand-650:#00462D;
	  --brand-700:#005F3C;
      --accent:#d5b86a;           /* złoty akcent */
      --accent-700:#c4a454;
      --ink:#0b1110;              /* tekst */
      --muted:#6b7774;
      --surface:#f7f6f3;          /* tło sekcji */
      --white:#ffffff;
      --radius:1rem;
      --shadow:0 10px 30px rgba(0,0,0,.08);
    }

    html{scroll-behavior:smooth}
    body{font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial; color:var(--ink)}

    /* Nagłówki — elegancka antykwa */
    .display-font, .display-1,.display-2,.display-3,.display-4,.ozdobnik{font-family:"Imbue",serif; letter-spacing:.5px}

    /* Top bar */
    .top-bar{background:var(--brand); color:var(--white); font-size:.95rem}
    .top-bar a{color:var(--white); text-decoration:none}
    .top-bar a:hover{opacity:.9}

    /* Navbar */
    
    .navbar-brand{font-weight:800; letter-spacing:.5px}
    .dot{color:var(--accent)}
    .nav-link{font-weight:600}
    .nav-link:hover,.nav-link:focus{color:var(--accent)}
    .btn-brand{--bs-btn-color:#fff; --bs-btn-hover-color:var(--accent); --bs-btn-bg:var(--brand); --bs-btn-border-color:var(--brand); --bs-btn-hover-bg:var(--brand-600); --bs-btn-hover-border-color:var(--brand-600); border-radius:20px; padding:.65rem 1.15rem}
    .btn-accent{--bs-btn-color:var(--brand); --bs-btn-bg:var(--accent); --bs-btn-border-color:var(--accent); --bs-btn-hover-bg:var(--accent-700); --bs-btn-hover-border-color:var(--accent-700); border-radius:20px; padding:.65rem 1.15rem}
	.btn-brand i {color:white;}
	
	@media (max-width: 576px) {
  .navbar-logo {
    max-height: 50px; /* mobile */
  }
}

  .offcanvas {
  max-width: 100%;
  margin-right: 0%;
}

@media (max-width: 576px) {
  .offcanvas {
  max-width: 80%;
  margin-right: 10%;
}
}

.text-justify {
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
}


    /* Hero */
.hero {
  background: var(--surface);
}

.min-vh-60 {
  min-height: 55vh;
}

/* typografia */
.kicker {
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
}

.hero .display-2 {
  line-height: .95;
  text-wrap: balance;
  color: var(--brand);
}

.hero .lead {
  max-width: 66ch;
}

/* OBRAZ */
.hero-image {
  width: 100%;
  height: 100%;
  min-height: 420px;

  background-image: url("zdjecia/budynek_adwokat.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;

  opacity: 0.85;
}

/* mobile: obraz pod tekstem i większy wizualnie */
@media (max-width: 991.98px) {
  .hero-image {
    min-height: 300px;
    background-position: center;
    background-size: 120%;
    opacity: 0.5;
  }
}




    /* Sekcje */
    section {
  scroll-margin-top: 60px;
}

@media (max-width: 576px) {
  section {
    scroll-margin-top: 55px;
  }
}
    .section-muted{background:var(--surface)}

.title-line {
  display: flex;
  align-items: flex-start; /* wyrównanie do lewej */
}

.title-line span {
  width: 100px;
  height: 3px;
  background: var(--brand-700);
}

	

.title-lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.title-lines span:first-child {
  width: 80px;
  height: 3px;
  background:var(--brand-700);
}

.title-lines span:last-child {
  width: 40px;
  height: 3px;
  background:var(--brand-700);
}






    /* Karty specjalizacji */
    .practice-card{border:0; border-radius:var(--radius); box-shadow:var(--shadow); transition:transform .25s ease, box-shadow .25s ease; height:100%;}
    .practice-card:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.12)}
    .icon-ring{width:64px; height:64px; border-radius:50%; display:inline-grid; place-items:center; background:radial-gradient(ellipse at 50% 50%, #005F3C, #002B18); color: white; font-size:1.5rem;}
	.practice-card .icon-ring .bi{color:var(--accent);}
    .link-chev{display:inline-flex; gap:.35rem; align-items:center; font-weight:600; text-decoration:none; color:var(--accent-700)}
    .link-chev:hover{color:var(--brand-700)}

    /* CTA belka */
    .cta{position:relative; background:linear-gradient(135deg, var(--brand) 0%, var(--brand-600) 60%); color:var(--white)}
    .cta .card{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15)}
	.card i {color:var(--brand);}

    /* Dlaczego my */
    .why-item{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:1.75rem}
	.why-item i {color:var(--accent);}

    /* Liczniki */
    .stat{font-weight:800; font-size:2.0rem}

    /* Zespół */
    .team-card{border:0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow)}
    .team-card img{aspect-ratio:1/1; object-fit:cover}

    /* Opinie */
    blockquote{font-size:1.1rem}

    /* Formularz kontaktowy / stopka */
    .footer{background:#0a1512; color:#dde3e1}
    .footer a{color:#dde3e1; text-decoration:none}
    .footer a:hover{color:#fff}

    
/* OFFCANVAS: widoczny stan active */
#offcanvasNavbar .nav-link {
  color: var(--brand);            /* bazowy kolor linków w menu */
}

#offcanvasNavbar .nav-link:hover,
#offcanvasNavbar .nav-link:focus {
  color: var(--accent);
}

#offcanvasNavbar .nav-link.active {
  color: var(--accent) !important;
  font-weight: 800;
}
