/* Style tylko dla strony głównej: index.html */
.hero{
  position:relative;
  min-height:100vh;
  padding-top:86px;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover}

.hero-content{
  width:90%;
  max-width:980px;
  margin:0 auto;
  padding-top:60px;
  padding-bottom:50px;
}

.hero-leaf{
  display:block;
  width:clamp(400px,58vw,450px);
  max-height:410px;
  height:auto;
  object-fit:contain;
}
.hero-content h1{
  font-size:20px;
  line-height:1.24;
  font-weight:700;
  margin:25px 0 0;
  color:#F57C00;
}
.hero p{font-size:clamp(22px,2.4vw,34px);line-height:1.24;font-weight:750;margin:0}
.service-line{display:flex;flex-wrap:wrap;gap:14px 22px;margin:26px 0 34px;font-weight:780}
.service-line span{display:inline-flex;align-items:center;gap:9px}
.service-line svg{width:22px;height:22px;color:var(--green-dark)}
.service-line a{transition:color .2s ease}
.service-line a:hover{color:var(--green-dark)}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px}
.hero-reassurance{
  max-width:630px;
  margin:18px 0 0!important;
  font-size:15px!important;
  line-height:1.55!important;
  font-weight:650!important;
  color:#4f5860;
}

.about-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:70px;align-items:center}
.about-text p{font-size:18px;color:#3e454d;margin:0 0 28px}
.about-image{position:relative}
.about-image:before{
  content:"";
  position:absolute;
  inset:8% -4% -6% 8%;
  border-radius:32px;
  background:linear-gradient(135deg,rgba(92,184,92,.14),rgba(245,124,0,.07));
  z-index:-1;
}
.about-image img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}

/* Kafelki usług — pełne grafiki zamiast małych ikon */
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.service-card{
  position:relative;
  display:block;
  padding:0;
  border-radius:24px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 18px 42px rgba(31,35,41,.08);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
  overflow:hidden;
}
.service-card:after{
  content:"Sprawdź";
  position:absolute;
  right:18px;
  bottom:18px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:var(--green-dark);
  font-size:12px;
  font-weight:850;
  opacity:0;
  transform:translateY(6px);
  transition:.22s ease;
}
.service-card img{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:0;
  transition:transform .35s ease,filter .35s ease;
}
.service-card > div{padding:24px 24px 54px}
.service-card h3{margin:0 0 7px;font-size:24px;transition:color .2s ease}
.service-card p{margin:0;color:#525b65;font-size:15px;transition:color .2s ease}
.service-card:hover{
  transform:translateY(-7px);
  box-shadow:0 28px 64px rgba(31,35,41,.16);
  border-color:rgba(36,140,59,.55);
  background:var(--green-dark);
}
.service-card:hover img{transform:scale(1.035);filter:saturate(1.06) contrast(1.02)}
.service-card:hover h3,.service-card:hover p{color:#fff}
.service-card:hover:after{opacity:1;transform:none}

.trust{background:linear-gradient(180deg,#fff 0%,#f7faf8 100%)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trust-item{
  padding:28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.trust-item:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(31,35,41,.08);border-color:rgba(36,140,59,.28)}
.trust-item .icon{font-size:34px;margin-bottom:12px}
.trust-item h3{margin:0 0 8px}
.trust-item p{margin:0;color:var(--muted);font-size:15px}

.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}
.contact-intro{max-width:760px;margin:-10px 0 24px;color:#59616a;font-size:16px}
.contact-methods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:30px}
.contact-method{
  min-height:92px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 15px;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,35,41,.045);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
  overflow:hidden;
}
.contact-method-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#f2f7f3;
  color:var(--green-dark);
  transition:.2s ease;
}
.contact-method-icon svg{width:21px;height:21px}
.contact-method strong{display:block;margin:0;font-size:15px}
.contact-method small{display:block;color:var(--muted);margin-top:2px;word-break:break-word;font-size:12px;transition:color .2s ease}
.contact-method:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(31,35,41,.1)}
.contact-method-green:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.contact-method-green:hover small{color:rgba(255,255,255,.82)}
.contact-method-green:hover .contact-method-icon{background:rgba(255,255,255,.16);color:#fff}
.contact-method-facebook:hover{background:#1877f2;border-color:#1877f2;color:#fff}
.contact-method-facebook:hover small{color:rgba(255,255,255,.82)}
.contact-method-facebook:hover .contact-method-icon{background:rgba(255,255,255,.16);color:#fff}
.contact-method-instagram:hover{background:linear-gradient(135deg,#833ab4,#c13584,#fd1d1d,#f77737);border-color:transparent;color:#fff}
.contact-method-instagram:hover small{color:rgba(255,255,255,.86)}
.contact-method-instagram:hover .contact-method-icon{background:rgba(255,255,255,.16);color:#fff}

.contact-form{padding:28px;border-radius:26px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.contact-form h3{font-size:26px;margin:0 0 18px}
.field{width:100%;border:1px solid #dde5df;background:#fbfcfb;border-radius:12px;padding:15px 16px;min-height:52px;margin-bottom:12px;font:inherit;transition:border-color .2s ease,box-shadow .2s ease}
.field:focus{outline:0;border-color:rgba(36,140,59,.65);box-shadow:0 0 0 4px rgba(36,140,59,.10)}
textarea.field{min-height:132px;resize:vertical}
.map-card img,.map-card iframe{border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--line);width:100%;min-height:420px}

@media (max-width:980px){
  .hero{min-height:auto}
  .hero-content{padding-block:48px;width:90%}
  .hero:before{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82))}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .service-cards{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .contact-methods{grid-template-columns:1fr 1fr}
}

@media (max-width:620px){
  .hero{padding-top:96px}
  .hero-content{padding-block:58px;width:90%}
  .hero-leaf{width:250px;margin:0 auto;display:block}
  .hero:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(255,255,255,.954) 0%,rgba(255,255,255,.86) 38%,rgba(255,255,255,.48) 58%,rgba(255,255,255,.10) 100%);
  }
  .hero-content h1{font-size:15px;color:#F57C00}
  .hero p{font-size:22px}
  .hero-reassurance{font-size:14px!important;text-align:left!important}
  .service-cards,.trust-grid{grid-template-columns:1fr}
  .service-card img{height:180px}
  .service-card > div{padding:20px 20px 52px}
  .contact-methods{grid-template-columns:1fr 1fr;gap:10px}
  .contact-method{min-height:86px;padding:13px 12px;gap:9px}
  .contact-method-icon{width:38px;height:38px;flex-basis:38px}
  .contact-method strong{font-size:14px}
  .contact-method small{font-size:11px}
  .map-card iframe{height:340px}
  .about-grid{gap:34px}
}

@media (max-width:430px){
  .contact-methods{grid-template-columns:1fr}
}

.service-section-intro{max-width:780px;margin:-8px 0 0;color:#5d666e}
.trust-item .icon{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  background:#edf7ef;color:var(--green-dark);margin-bottom:14px
}
.trust-item .icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
