
/* ===============================
   User fixes v2
   =============================== */

/* Testimoni alumni auto slider */
.review-section .section-heading{
  margin-bottom:24px !important;
}
.review-marquee{
  overflow:hidden;
  position:relative;
  padding-bottom:4px;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
  mask-image:linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.review-marquee__inner{
  display:flex;
  gap:16px;
  width:max-content;
  animation:review-scroll 42s linear infinite;
}
.review-marquee:hover .review-marquee__inner{
  animation-play-state:paused;
}
.review-card{
  width:320px;
  flex:0 0 320px;
  display:grid;
  grid-template-columns:98px 1fr;
  gap:14px;
  align-items:start;
  padding:16px;
  border-radius:22px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 10px 28px rgba(59,5,12,.06);
  text-align:left;
  cursor:pointer;
}
.review-card img{
  width:100%;
  aspect-ratio:.78;
  object-fit:cover;
  border-radius:16px;
  display:block;
}
.review-card p{
  margin:0 0 12px;
  font-size:.78rem;
  line-height:1.65;
  color:var(--muted);
}
.review-card strong{
  display:block;
  font-size:.88rem;
  line-height:1.2;
  color:var(--ink);
}
.review-card small{
  display:block;
  margin-top:4px;
  font-size:.68rem;
  color:var(--red);
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.review-card .quote-mark{
  display:inline-block;
  margin-bottom:8px;
  color:var(--red);
  font-family:"Archivo",sans-serif;
  font-size:1.3rem;
  line-height:1;
}
@keyframes review-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 8px));}
}

/* Team cards: clickable photo only */
.team-grid{
  gap:14px;
}
.team-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 12px 28px rgba(59,5,12,.05);
  padding:0;
  cursor:pointer;
  text-align:left;
}
.team-card img{
  width:100%;
  aspect-ratio:.86;
  object-fit:cover;
  object-position:top;
  display:block;
}
.team-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:24%;
  background:linear-gradient(transparent, rgba(24,4,7,.34));
  pointer-events:none;
}
.team-card__tap{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:2;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--red);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.team-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(59,5,12,.09);
}
#pendamping .section-heading p{
  max-width:430px;
}

/* Facilities alignment */
.facility-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) minmax(0,.85fr);
  grid-template-rows:248px 248px;
  gap:14px;
  align-items:stretch;
}
.facility-card{
  height:100%;
  min-height:0;
  box-shadow:0 10px 24px rgba(59,5,12,.05);
  background:#ece8e7;
}
.facility-card:first-child{
  grid-row:1 / span 2;
}
.facility-card img{
  display:block;
}
.facility-more{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.facility-more .facility-card{
  aspect-ratio:1.08;
}

/* Floating consultation card */
.consult-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:60;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:20px;
  background:linear-gradient(135deg, #b10717 0%, #8d0815 100%);
  color:#fff;
  box-shadow:0 16px 38px rgba(111,10,22,.28);
  max-width:240px;
}
.consult-float:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 42px rgba(111,10,22,.34);
}
.consult-float__icon{
  width:56px;
  height:56px;
  border-radius:18px;
  background:#fff1f3;
  position:relative;
  flex:0 0 56px;
  display:grid;
  place-items:center;
}
.consult-float__avatar{
  width:28px;
  height:28px;
  border-radius:50%;
  background:#f7b7c0;
  position:relative;
}
.consult-float__avatar::before{
  content:"";
  position:absolute;
  left:50%;
  top:6px;
  width:10px;
  height:10px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#8d0815;
}
.consult-float__avatar::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:18px;
  height:9px;
  border-radius:10px 10px 5px 5px;
  transform:translateX(-50%);
  background:#8d0815;
}
.consult-float__wa{
  position:absolute;
  right:-4px;
  bottom:-4px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  padding:4px;
  box-shadow:0 4px 10px rgba(0,0,0,.18);
}
.consult-float__copy{
  display:grid;
  gap:3px;
}
.consult-float__copy b{
  font-size:.88rem;
  line-height:1.18;
}
.consult-float__copy small{
  font-size:.68rem;
  line-height:1.45;
  color:#ffe4e8;
}

/* Keep section spacing pleasant */
.review-section.section{
  padding-top:34px !important;
  padding-bottom:38px !important;
}

@media(max-width:1050px){
  .review-card{
    width:300px;
    flex-basis:300px;
  }
  .facility-grid{
    grid-template-columns:1.18fr .82fr .82fr !important;
    grid-template-rows:220px 220px !important;
  }
  .facility-card:nth-child(3){
    display:block !important;
  }
  .facility-more{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
}
@media(max-width:780px){
  .review-card{
    width:274px;
    flex-basis:274px;
    grid-template-columns:88px 1fr;
  }
  .team-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
  .facility-grid{
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:260px 190px !important;
  }
  .facility-card:first-child{
    grid-column:1 / span 2;
    grid-row:1 !important;
  }
  .facility-card:nth-child(2){
    grid-column:1;
    grid-row:2;
  }
  .facility-card:nth-child(3){
    grid-column:2;
    grid-row:2;
  }
  .facility-more{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .facility-more .facility-card{
    aspect-ratio:1.14;
  }
  .consult-float{
    display:none;
  }
}
@media(max-width:520px){
  .review-card{
    width:255px;
    flex-basis:255px;
    padding:14px;
    grid-template-columns:80px 1fr;
  }
  .review-card p{
    font-size:.74rem;
  }
  .team-card__tap{
    padding:7px 10px;
    font-size:.62rem;
  }
  .facility-grid{
    grid-template-rows:230px 165px !important;
  }
}
