.offer-hero{
  min-height:420px;
  background-image:
    linear-gradient(90deg, rgba(54,42,35,.5) 0%, rgba(54,42,35,.2) 48%, rgba(54,42,35,.12) 100%),
    linear-gradient(180deg, rgba(54,42,35,.18), rgba(54,42,35,.28)),
    var(--hero-image, url('../../img/pages/demande-offre/hero.jpg'));
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.offer-hero .inner{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:80px 0 42px;
}

.offer-hero .hero-title{
  max-width:860px;
  margin-bottom:14px;
}

.offer-hero .hero-sub{
  max-width:820px;
  color:rgba(255,255,255,.92);
}

.offer-intro{
  padding-top:42px;
}

.offer-split{
  grid-template-columns:1.03fr .97fr;
}

.offer-split .content{
  padding:54px 48px;
}

.media-panel{
  overflow:hidden;
  padding:0;
}

.media-panel img{
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
}

.eyebrow{
  display:inline-block;
  margin-bottom:16px;
  color:var(--green-dark);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.offer-grid{
  display:grid;
  grid-template-columns:1.55fr .85fr;
  gap:28px;
}

.offer-form-panel,
.offer-side-panel{
  padding:30px;
}

.offer-form-panel h2,
.offer-side-panel h3{
  margin:0 0 12px;
  font-size:1.7rem;
}

.offer-lead{
  margin:0 0 22px;
  color:var(--muted);
  line-height:1.65;
}

.offer-form textarea{
  min-height:180px;
}

.offer-submit{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
}

.offer-list{
  margin:0 0 22px;
  padding-left:18px;
}

.offer-list li{
  margin-bottom:8px;
  color:var(--muted);
  line-height:1.6;
}

.offer-side-media{
  margin:18px 0 20px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
}

.offer-side-media img{
  width:100%;
  height:240px;
  object-fit:cover;
}

.offer-links{
  display:grid;
  gap:10px;
}

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

@media (max-width: 820px){
  .offer-hero{
    min-height:320px;
  }

  .offer-hero .inner{
    min-height:320px;
    padding:72px 0 28px;
  }

  .offer-split{
    grid-template-columns:1fr;
  }

  .offer-split .content{
    padding:34px 24px 28px;
  }

  .media-panel img{
    min-height:280px;
  }

  .offer-form-panel,
  .offer-side-panel{
    padding:24px;
  }
}
