
/* V1.0.2 Compact Professional Photo 1030 */

/* Keep the hero copy dominant. */
.hero-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr) !important;
  gap:34px !important;
  align-items:center !important;
}

.hero-profile-stage{
  min-height:0 !important;
  justify-content:flex-end !important;
  padding:10px 4px !important;
}

.professional-portrait{
  width:min(100%,300px) !important;
  aspect-ratio:1/1 !important;
  border-radius:50% !important;
  box-shadow:
    0 22px 50px rgba(7,31,70,.16),
    0 0 0 8px rgba(255,255,255,.65),
    0 0 0 9px rgba(7,31,70,.07) !important;
  background:#eef3f7 !important;
}

.professional-portrait:before{
  display:none !important;
}

.professional-portrait:after{
  display:none !important;
}

.professional-portrait img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* The uploaded image already has a clean circular portrait treatment,
   so do not add text overlays on top of the face. */
.hero-profile-caption{
  position:static !important;
  margin-top:13px !important;
  text-align:center !important;
  color:#071f46 !important;
}

.hero-profile-caption small{
  color:#1976d2 !important;
  font-size:8px !important;
}

.hero-profile-caption strong{
  color:#071f46 !important;
  font-size:18px !important;
  margin-top:4px !important;
}

.hero-profile-caption span{
  color:#617187 !important;
  font-size:9px !important;
  margin-top:4px !important;
  line-height:1.45 !important;
}

/* Convert floating badges into a calm compact strip below the photo. */
.hero-profile-badge{
  position:static !important;
  display:inline-flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:82px;
  padding:8px 9px !important;
  margin:8px 3px 0 !important;
  border:1px solid #dbe4ef !important;
  background:#fff !important;
  color:#071f46 !important;
  box-shadow:0 7px 18px rgba(7,31,70,.055) !important;
  backdrop-filter:none !important;
}

.hero-profile-badge b{
  font-size:11px !important;
  color:#071f46 !important;
}

.hero-profile-badge span{
  color:#6b7b90 !important;
  font-size:7px !important;
}

.hero-profile-stage{
  display:block !important;
  text-align:center !important;
}

.photo-asset-status,
.professional-portrait-fallback{
  display:none !important;
}

/* Contact photo stays intentionally small. */
.contact-profile-side{
  grid-template-columns:72px 1fr !important;
  gap:12px !important;
}

.contact-profile-photo{
  width:72px !important;
  height:72px !important;
  border-radius:50% !important;
  background:#eef3f7 !important;
}

.contact-profile-photo img{
  object-position:center center !important;
}

.contact-profile-fallback{
  display:none !important;
}

@media(max-width:1050px){
  .hero-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr) !important;
  }
  .professional-portrait{
    width:min(100%,270px) !important;
  }
}

@media(max-width:900px){
  .hero-grid{
    grid-template-columns:1fr !important;
  }
  .hero-profile-stage{
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center !important;
    max-width:520px;
    margin:8px auto 0;
  }
  .professional-portrait{
    width:220px !important;
    flex:0 0 220px;
  }
  .hero-profile-caption{
    flex:1 1 220px;
    margin:0 0 0 20px !important;
    text-align:left !important;
  }
  .hero-profile-badge{
    margin-top:12px !important;
  }
}

@media(max-width:620px){
  .hero-profile-stage{
    display:block !important;
    max-width:100%;
    margin-top:18px;
  }
  .professional-portrait{
    width:180px !important;
    margin:0 auto;
  }
  .hero-profile-caption{
    margin:12px auto 0 !important;
    text-align:center !important;
    max-width:280px;
  }
  .hero-profile-badge{
    min-width:76px;
  }
  .contact-profile-side{
    grid-template-columns:58px 1fr !important;
  }
  .contact-profile-photo{
    width:58px !important;
    height:58px !important;
  }
}

@media(max-width:420px){
  .professional-portrait{
    width:155px !important;
  }
}
