/* Premium v4 refinements: new hero visual + layout fixes requested by client */

/* HERO */
.hero{
  background:
    linear-gradient(90deg, rgba(248,244,239,.98) 0%, rgba(248,244,239,.96) 26%, rgba(248,244,239,.82) 40%, rgba(248,244,239,.42) 56%, rgba(248,244,239,.10) 74%, rgba(248,244,239,.02) 100%),
    url("../assets/hero-generated-premium-v2.webp") 80% center/cover no-repeat;
  min-height: 690px;
}
.hero-layout{
  grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
  min-height: 690px;
}
.hero-content{
  padding: 88px 0 94px;
  max-width: 620px;
}
.hero-lead{max-width:480px}
.hero-visual--background-only{height:690px}
.hero-visual--background-only .hero-signature{
  right: 4%;
  bottom: 146px;
  top: auto;
  max-width: 210px;
}
.hero-visual--background-only .hero-seal{right:4%;bottom:40px}

/* ABOUT */
.about-section{
  width: min(1380px, calc(100% - 56px));
  margin: 76px auto;
  padding: 22px;
  gap: 22px;
  grid-template-columns: minmax(0,33%) minmax(0,39%) minmax(0,28%);
  min-height: 640px;
  align-items: stretch;
}
.about-photo{
  min-height: 596px;
  height: auto;
  border-radius: 24px;
}
.about-photo img{object-position:center 11%}
.about-content{
  margin: 0;
  min-height: 596px;
  padding: 44px clamp(28px,3vw,42px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.about-features{
  margin: 0;
  min-height: 596px;
  padding: 16px 0 16px 28px;
  align-self: stretch;
}

/* FINAL CTA / ZACZYNAMY */
.final-cta{
  min-height: 370px;
  background: linear-gradient(90deg,#e6d4c5 0%, #f6eee7 37%, #f0e7de 100%);
}
.final-cta-image{
  width: 28%;
  opacity: .85;
  background-position: 34% center;
  mask-image: linear-gradient(to right, #000 58%, rgba(0,0,0,.65) 72%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, #000 58%, rgba(0,0,0,.65) 72%, transparent 100%);
}
.final-cta-inner{
  min-height: 370px;
  display: grid;
  grid-template-columns: minmax(220px,28%) minmax(360px,42%) minmax(230px,30%);
  gap: 36px;
  align-items: center;
  padding: 60px 0;
}
.final-cta-copy{
  grid-column: 2;
  width: 100%;
  align-items: center;
  text-align: center;
}
.final-cta-copy > p{max-width:540px}
.cta-signature{
  grid-column: 3;
  justify-self: start;
  max-width: 280px;
  position: static;
  text-align: left;
}

@media (max-width: 1190px){
  .hero{background-position: 84% center}
  .about-section{width:min(1380px, calc(100% - 36px));grid-template-columns:minmax(0,34%) minmax(0,40%) minmax(0,26%);gap:18px;padding:18px}
  .final-cta-image{width: 26%;background-position: 28% center}
  .final-cta-inner{grid-template-columns:minmax(180px,24%) minmax(320px,46%) minmax(210px,30%);gap:28px}
}

@media (max-width: 990px){
  .hero,
  .hero-layout,
  .hero-visual--background-only{min-height: 590px}
  .hero{background-position: 70% center}
  .hero-content{padding: 56px 0 72px}
  .hero-visual--background-only{height:590px}

  .about-section{
    width:min(100%, calc(100% - 32px));
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 18px;
    min-height: 0;
  }
  .about-photo{min-height: 520px;height: 520px}
  .about-photo img{object-position:center 8%}
  .about-content,
  .about-features{min-height:0}
  .about-content{padding: 18px 10px 8px;margin:0}
  .about-features{padding: 18px 10px 0;margin:0;border-left:0;border-top:1px solid rgba(156,122,91,.14)}

  .final-cta-image{
    width: 34%;
    opacity: .5;
    background-position: 36% center;
    mask-image: linear-gradient(to right,#000 45%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right,#000 45%, transparent 100%);
  }
  .final-cta-inner{
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 16px;
    padding: 56px 0;
  }
  .final-cta-copy,
  .cta-signature{grid-column:auto;justify-self:center;text-align:center}
}

@media (max-width: 700px){
  .hero{
    min-height: 0;
    background:
      linear-gradient(180deg, rgba(248,244,239,.95) 0%, rgba(248,244,239,.86) 38%, rgba(248,244,239,.26) 82%, rgba(248,244,239,.08) 100%),
      url("../assets/hero-generated-premium-v2.webp") 62% center/cover no-repeat;
  }
  .hero-layout{display:flex;flex-direction:column;min-height:0}
  .hero-content{padding:42px 0 18px;max-width:none}
  .hero-visual--background-only{height:325px;min-height:325px}
  .hero-visual--background-only .hero-signature{right:3%;bottom:86px;max-width:160px}
  .hero-visual--background-only .hero-seal{right:3%;bottom:14px}

  .about-section{width:calc(100% - 20px);margin:44px auto;padding:14px;gap:14px}
  .about-photo{min-height:440px;height:440px}
  .about-content{padding:14px 6px 4px}
  .about-features{padding:16px 6px 0}

  .final-cta-image{
    width:100%;
    opacity:.16;
    background-position:center top;
    mask-image: linear-gradient(180deg,#000 0%, transparent 88%);
    -webkit-mask-image: linear-gradient(180deg,#000 0%, transparent 88%);
  }
  .final-cta-inner{padding:54px 0}
}
