/* DCS Bonafide v5.3 — Human + Product Balance */

/* --- Global hero balance --- */
.v5-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:52px;align-items:center}
.v5-hero-copy h1{font-size:clamp(50px,4.7vw,72px);line-height:.985;max-width:720px}
.v5-hero-copy .v5-lead{max-width:650px}

/* --- Homepage human audience strip --- */
.v53-human-audience{padding:38px 0 8px;background:#fff}
.v53-audience-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:44px;align-items:end;margin-bottom:24px}
.v53-audience-head span{display:block;color:#2f63f3;font-size:11px;font-weight:850;letter-spacing:.16em}
.v53-audience-head h2{max-width:760px;margin:8px 0 0;font-size:clamp(30px,3.2vw,46px);line-height:1.03;letter-spacing:-.04em}
.v53-audience-head p{margin:0;color:#6c7e9a;font-size:14px;line-height:1.7}
.v53-audience-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v53-person-card{overflow:hidden;border:1px solid #dbe5f2;border-radius:28px;background:#fff;text-decoration:none;color:#162b4c;box-shadow:0 14px 38px rgba(29,67,122,.07)}
.v53-person-card img{display:block;width:100%;height:245px;object-fit:cover}
.v53-person-card:nth-child(1) img{object-position:50% 48%}
.v53-person-card:nth-child(2) img{object-position:50% 40%}
.v53-person-card:nth-child(3) img{object-position:50% 46%}
.v53-person-card>div{padding:18px 20px 20px}
.v53-person-card small{display:block;color:#3c71ee;font-size:10px;font-weight:850;letter-spacing:.14em}
.v53-person-card b{display:block;margin-top:6px;font-size:19px;letter-spacing:-.02em}
.v53-person-card span{display:block;margin-top:7px;color:#70819b;font-size:12.5px;line-height:1.5}
.v53-person-card:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(29,67,122,.11)}

/* Replace repeated pillar photos with product visuals so the homepage is not a photo catalogue. */
.v5-pillar{grid-template-rows:auto 170px}
.v53-pillar-visual{display:flex!important;position:relative;flex-direction:column;justify-content:center;min-height:170px;padding:28px!important;overflow:hidden}
.v53-pillar-visual:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-42px;bottom:-64px;border:28px solid rgba(47,99,243,.07)}
.v53-pillar-visual span{position:relative;z-index:1;font-size:18px!important;font-weight:800;letter-spacing:-.02em!important;text-transform:none!important}
.v53-pillar-visual b{position:relative;z-index:1;margin-top:7px!important;color:#5f7190!important;font-size:12.5px!important;font-weight:650}
.v53-pillar-visual i{position:absolute;right:26px;top:50%;z-index:1;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff;color:#2f63f3;font-style:normal;font-size:21px;box-shadow:0 10px 26px rgba(31,74,137,.09)}
.v53-pillar-visual.academic{background:linear-gradient(135deg,#edf4ff,#f8fbff)}
.v53-pillar-visual.employment{background:linear-gradient(135deg,#e9fbf7,#f8fffd)}
.v53-pillar-visual.professional{background:linear-gradient(135deg,#f0edff,#fbfaff)}

/* --- Existing photo hero pages: keep imagery premium and proportionate --- */
.v53-balanced-photo-stage{min-height:0!important;max-height:500px;padding:14px!important;gap:10px}
.v53-balanced-photo-stage .v52-photo-media{min-height:0;height:390px;flex:0 0 390px;border-radius:26px}
.v53-balanced-photo-stage .v52-photo-rail{grid-template-columns:1fr 1fr}
.v53-balanced-photo-stage .v52-photo-rail>div{padding:11px 13px}
.v53-balanced-photo-stage .v52-photo-rail small{font-size:9.5px}
.v53-balanced-photo-stage .v52-photo-rail b{font-size:12.5px}
.v51-page-employment .v53-balanced-photo-stage .v52-photo-media img{object-position:50% 35%}
.v51-page-academic .v53-balanced-photo-stage .v52-photo-media img{object-position:50% 47%}
.v51-page-schools .v53-balanced-photo-stage .v52-photo-media img{object-position:50% 50%}

/* --- Human + product hero stages --- */
.v53-human-hero-stage{padding:14px;border:1px solid #dbe6f3;border-radius:32px;background:linear-gradient(155deg,#f8fbff,#f2f8ff 58%,#edfdfa);box-shadow:0 20px 58px rgba(29,67,122,.09)}
.v53-hero-photo{overflow:hidden;border-radius:24px;background:#eaf2fa}
.v53-hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.v53-hero-photo.landscape{height:365px}
.v53-hero-photo.portrait{height:430px}
.v53-institution-stage .v53-hero-photo img{object-position:50% 45%}
.v53-bgv-stage .v53-hero-photo img{object-position:50% 32%}

.v53-photo-summary{display:grid;gap:8px;margin-top:10px}
.v53-photo-summary.three{grid-template-columns:repeat(3,1fr)}
.v53-photo-summary>div{padding:11px 12px;border:1px solid #dae5f2;border-radius:15px;background:#fff;min-width:0}
.v53-photo-summary small{display:block;color:#6d83a5;font-size:8.5px;font-weight:850;letter-spacing:.12em}
.v53-photo-summary b{display:block;margin-top:4px;color:#183052;font-size:11px;line-height:1.3}

.v53-professional-stage{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(230px,.72fr);gap:12px;align-items:stretch;min-height:470px}
.v53-professional-stage .v53-hero-photo{min-height:440px}
.v53-professional-stage .v53-hero-photo img{object-position:50% 18%}
.v53-side-facts{display:grid;gap:9px}
.v53-side-facts article{display:flex;flex-direction:column;justify-content:center;padding:16px;border:1px solid #dce6f2;border-radius:18px;background:#fff}
.v53-side-facts small{color:#6c83a6;font-size:9px;font-weight:850;letter-spacing:.12em}
.v53-side-facts b{margin-top:7px;color:#172d4d;font-size:13px;line-height:1.42}

.v53-candidate-layout{display:grid;grid-template-columns:minmax(235px,.8fr) minmax(250px,1fr);gap:12px;align-items:stretch}
.v53-candidate-stage .v53-hero-photo img{object-position:54% 20%}
.v53-rights-mini{display:grid;gap:8px}
.v53-rights-mini article{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;padding:11px 12px;border:1px solid #dae5f2;border-radius:16px;background:#fff}
.v53-rights-mini article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf3ff;color:#2f63f3;font-size:9px;font-weight:900}
.v53-rights-mini b{font-size:12px}
.v53-rights-mini small{display:block;margin-top:3px;color:#71839e;font-size:9.5px;line-height:1.3}

/* Short human context ribbon used on customer-facing pages. */
.v53-context-strip{padding:0 0 18px;background:#fff}
.v53-context-strip .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;padding:20px 26px;border:1px solid #dce6f2;border-radius:22px;background:linear-gradient(90deg,#f8fbff,#f3fbf9)}
.v53-context-strip span{color:#617493;font-size:13px;line-height:1.5}
.v53-context-strip b{color:#173054;font-size:14px;line-height:1.5}

/* Keep customer-facing hero imagery from overpowering the copy. */
.v51-page-employment .v5-hero-grid,
.v51-page-academic .v5-hero-grid,
.v51-page-schools .v5-hero-grid,
.v51-page-professional .v5-hero-grid,
.v51-page-institutions .v5-hero-grid,
.v51-page-employers-bgv .v5-hero-grid,
.v51-page-candidate-rights .v5-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:50px}

@media(max-width:1180px){
  .v5-hero-grid,.v51-page-employment .v5-hero-grid,.v51-page-academic .v5-hero-grid,.v51-page-schools .v5-hero-grid,.v51-page-professional .v5-hero-grid,.v51-page-institutions .v5-hero-grid,.v51-page-employers-bgv .v5-hero-grid,.v51-page-candidate-rights .v5-hero-grid{grid-template-columns:1fr}
  .v53-audience-head{grid-template-columns:1fr}
  .v53-audience-photos{grid-template-columns:repeat(3,1fr)}
  .v53-professional-stage{grid-template-columns:1fr 1fr}
  .v53-balanced-photo-stage{max-height:none}
}

@media(max-width:760px){
  .v53-human-audience{padding-top:28px}
  .v53-audience-photos{grid-template-columns:1fr}
  .v53-person-card img{height:230px}
  .v53-balanced-photo-stage .v52-photo-media{height:290px;flex-basis:290px}
  .v53-balanced-photo-stage{max-height:none}
  .v53-photo-summary.three{grid-template-columns:1fr}
  .v53-professional-stage,.v53-candidate-layout{grid-template-columns:1fr}
  .v53-professional-stage .v53-hero-photo,.v53-hero-photo.portrait,.v53-hero-photo.landscape{height:320px;min-height:0}
  .v53-context-strip .wrap{grid-template-columns:1fr}
  .v5-hero-copy h1{font-size:44px;line-height:1.01}
}
