:root{ --pe-green:#133225; --pe-orange:#df6a3e; --pe-beige:#f9eee2; --pe-white:#fff; }

.pe-apps{ position:relative; }
.pe-apps--white{ background:var(--pe-white); }
.pe-apps--beige{ background:var(--pe-beige); }

.pe-apps__wrap{
  max-width:1200px; margin:0 auto; padding: clamp(40px,6vw,84px) 20px;
}

.pe-apps__kicker{
  color:var(--pe-orange); text-transform:uppercase; letter-spacing:.06em; font-weight:700; margin:0 0 6px;
}
.pe-apps__title{
  color:var(--pe-green); font-size: clamp(26px,3.4vw,40px); margin:.1rem 0 .6rem; line-height:1.1;
}
.pe-apps__intro{ color:#2a3a31; max-width:65ch; margin:0 0 18px; line-height:25px; }

.pe-apps__grid{
  display:grid; grid-template-columns:repeat(18,1fr); gap: clamp(14px,2vw,24px);
}
.pe-app{
  grid-column: span 6;
  display:flex; flex-direction:column; background:#fff; border:1px solid rgba(19,50,37,.10);
  border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.pe-app:hover{ transform: translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.10); }

.pe-app__media{ aspect-ratio: 16/9; background:rgba(19,50,37,.04); }
.pe-app__media img{ width:100%;     height: 230px; object-fit:cover; display:block; }
.pe-app__ico{ width:64px; height:64px; margin:20px; display:block; opacity:.9; }

.pe-app__body{ padding:16px 16px 18px; }
.pe-app__title{ color:var(--pe-green); font-size:1.1rem; margin:0 0 6px; }
.pe-app__desc{ margin:0 0 10px; color:#34463c; line-height:25px; }
.pe-link{ color:var(--pe-orange); font-weight:700; text-decoration:none; }
.pe-link:hover{ text-decoration:underline; }

.pe-apps__cta{ margin: clamp(16px,3vw,28px) 0 0; }
.pe-btn{
  display:inline-flex; align-items:center; justify-content:center; border-radius:999px;
  padding:10px 16px; font-weight:700; background:var(--pe-orange); color:#fff; text-decoration:none;
  box-shadow:0 8px 20px rgba(223,106,62,.20);
}
.pe-btn:hover{ transform: translateY(-1px); box-shadow:0 12px 24px rgba(223,106,62,.28); }

@media (max-width:980px){
  .pe-app{ grid-column: span 6; }
}

@media (max-width:600px){
  .pe-app{ grid-column: span 24; }
  .pe-app__media img{ height: 100%; }
}
