/* Phase 3 homepage, active only with html.p3 (preview: ?p3). One sans (DM Sans) plus the serif italic accent. */
html.p3{--display:'DM Sans',sans-serif;--p3-navy:#0b1a3d;--p3-warm:#ff653e}
html.p3 h1,html.p3 h2,html.p3 h3{letter-spacing:-.025em}
html.p3 .v2-serif{font-style:italic;font-weight:400}

/* Hero */
.p3 .p3-hero{background:linear-gradient(180deg,#f3f6ff 0%,#fff 100%);padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,72px)}
.p3 .p3-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(32px,5vw,80px);align-items:center}
.p3 .p3-hero h1{font-size:clamp(2.4rem,5.2vw,4.6rem);line-height:1.02;font-weight:700;margin:18px 0 22px;max-width:16ch;color:var(--ink)}
.p3 .p3-hero h1 .v2-serif{color:var(--blue)}
.p3 .p3-hero-copy>p{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:38ch;margin:0 0 30px}
.p3 .p3-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.p3 .p3-hero-actions .btn{white-space:nowrap}
.p3 .p3-next{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px 18px 22px;box-shadow:0 24px 60px #12203714;display:flex;flex-direction:column;gap:6px}
.p3 .p3-next-photo{border-radius:16px;overflow:hidden;aspect-ratio:16/8;margin-bottom:12px}
.p3 .p3-next-photo img{width:100%;height:100%;object-fit:cover;display:block}
.p3 .p3-next .v2-label{margin:4px 6px 4px}
.p3 .p3-next-item{display:grid;grid-template-columns:58px 1fr 22px;gap:14px;align-items:center;padding:12px 6px;border-top:1px solid var(--line);color:inherit;text-decoration:none}
.p3 .p3-next-item:hover b{color:var(--blue)}
.p3 .p3-next-text b{display:block;font-weight:650;line-height:1.3}
.p3 .p3-next-text small{color:var(--muted);font-size:.9rem}
.p3 .p3-next-arrow svg{width:18px;height:18px;color:var(--blue)}
.p3 .p3-next .v2-inline-link{margin:10px 6px 0;align-self:flex-start}
.p3 .p3-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;border-radius:14px;background:var(--ice);color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.06em}
.p3 .p3-date strong{font-size:1.35rem;line-height:1;letter-spacing:0}

/* Programme */
.p3 .p3-programme h2,.p3 .v2-experts h2,.p3 .p3-team h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;font-weight:700}
.p3 .p3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.p3 .p3-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.p3 .p3-card-img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.p3 .p3-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.p3 .p3-card:hover .p3-card-img img{transform:scale(1.04)}
.p3 .p3-date-float{position:absolute;left:14px;bottom:14px;background:#fff}
.p3 .p3-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.p3 .p3-card h3{font-size:1.25rem;line-height:1.25;margin:0}
.p3 .p3-card h3 a{color:inherit;text-decoration:none}
.p3 .p3-card h3 a:hover{color:var(--blue)}
.p3 .p3-card-meta{color:var(--muted);font-size:.93rem;margin:0}
.p3 .p3-card-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}
.p3 .p3-card-foot strong{font-size:1.2rem}
.p3 .p3-book{min-height:42px;padding:0 18px;white-space:nowrap}
.p3 .p3-topics{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:36px}
.p3 .p3-topics>span{font-weight:650;margin-right:6px}
.p3 .p3-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:99px;color:var(--ink);text-decoration:none;font-size:.95rem}
.p3 .p3-chip:hover{border-color:var(--blue);color:var(--blue)}
.p3 .p3-chip-quiet{color:var(--muted)}
.p3 .p3-courses{display:grid;grid-template-columns:auto 1fr auto;gap:8px 24px;align-items:center;margin-top:28px;padding:22px 26px;border-radius:20px;background:var(--p3-navy);color:#fff;text-decoration:none}
.p3 .p3-courses .v2-label{color:#ffd943}
.p3 .p3-courses strong{font-size:1.15rem}
.p3 .p3-courses>span:last-child{color:#cdd6ee;display:flex;gap:8px;align-items:center}
.p3 .p3-courses svg{width:18px;height:18px}

/* People: one baseline */
.p3 .v2-people-strip .person-card:nth-child(even){margin-top:0}

/* Teams */
.p3 .p3-team{background:var(--blue);color:#fff}
.p3 .p3-team .v2-label{color:#dfe6ff}
.p3 .p3-team h2{color:#fff}
.p3 .p3-team .v2-serif{color:#fff}
.p3 .p3-team-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.p3 .p3-team-copy>p{font-size:1.1rem;line-height:1.6;color:#e6ebff;max-width:42ch}
.p3 .p3-team-actions{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin:26px 0 34px}
.p3 .p3-team .v2-inline-link{color:#fff}
.p3 .p3-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding-top:26px;border-top:1px solid #ffffff40}
.p3 .p3-stats dt{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1}
.p3 .p3-stats dd{margin:8px 0 0;color:#dfe6ff;font-size:.95rem}
.p3 .p3-stats a{color:#fff}
.p3 .p3-team-photo{border-radius:24px;overflow:hidden;aspect-ratio:4/3}
.p3 .p3-team-photo img{width:100%;height:100%;object-fit:cover;display:block}

@media (max-width:1000px){
  .p3 .p3-hero-grid,.p3 .p3-team-grid{grid-template-columns:1fr}
  .p3 .p3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p3 .p3-courses{grid-template-columns:1fr}
}
@media (max-width:640px){
  .p3 .p3-grid{grid-template-columns:1fr}
  .p3 .p3-stats{grid-template-columns:1fr 1fr}
  .p3 .p3-hero-actions .btn{flex:1 1 auto;justify-content:center}
  .p3 .p3-topics>span{width:100%}
}
