.page-hero{ position: relative; padding-top: 170px; padding-bottom: 110px; padding-left: var(--pad-x); padding-right: var(--pad-x); background: var(--navy-black); color: #fff; overflow: hidden; }
.page-hero::before{ content:''; position:absolute; inset:0; background: radial-gradient(ellipse 60% 50% at 90% 30%, rgba(0,160,223,.30), transparent 60%), radial-gradient(ellipse 50% 60% at 0% 100%, rgba(13,152,122,.22), transparent 60%); }
.page-hero-inner{ position:relative; z-index:2; }
.page-hero .eyebrow{ margin-bottom: 22px; }
.page-hero h1{ color: #fff; max-width: 22ch; }
.page-hero h1 .em{ color: var(--cyan); }
.page-hero .lead{ color: rgba(255,255,255,.78); margin-top: 28px; max-width: 720px; }

/* Founders message section — swipeable */
.founders-msg{
 padding: clamp(80px, 11vw, 140px) var(--pad-x);
 background: var(--paper);
 position: relative;
 overflow: hidden;
}
.founders-msg .row-head{ margin-bottom: clamp(40px, 5vw, 60px); }
.msg-viewport{
 position: relative;
 max-width: 1100px;
 margin: 0 auto;
 overflow: hidden;
 border-radius: 24px;
 background: linear-gradient(135deg, #f0f7ff 0%, #ffffff 60%, #e8f4ff 100%);
 border: 1px solid var(--line);
 box-shadow: 0 30px 70px rgba(2,6,31,.06);
}
.msg-track{
 display: flex;
 transition: transform .6s cubic-bezier(.22,.61,.36,1);
}
.msg-slide{
 flex: 0 0 100%;
 display: grid;
 grid-template-columns: 280px 1fr;
 gap: clamp(30px, 4vw, 60px);
 padding: clamp(40px, 5vw, 70px);
 align-items: center;
 box-sizing: border-box;
}
@media (max-width: 760px){
 .msg-slide{ grid-template-columns: 1fr; text-align: center; }
}
.msg-photo{
 width: 260px; height: 340px;
 border-radius: 24px;
 overflow: hidden;
 background: linear-gradient(135deg, #2a7de1 0%, #00a0df 100%);
 box-shadow: 0 20px 50px rgba(42,125,225,.25);
 margin: 0 auto;
}
.msg-photo img{
 width: 100%; height: 100%;
 object-fit: cover;
 object-position: center 25%;
 display: block;
}
.msg-quote-mark{
 font-family: var(--display);
 font-size: 80px;
 font-weight: 800;
 line-height: .8;
 color: var(--blue);
 opacity: .25;
 margin-bottom: 12px;
}
.msg-quote{
 font-family: var(--display);
 font-size: clamp(20px, 2.4vw, 28px);
 font-weight: 500;
 line-height: 1.4;
 letter-spacing: -.015em;
 color: var(--ink);
 margin-bottom: 24px;
}
.msg-author{
 font-family: var(--mono);
 font-size: 12px;
 letter-spacing: .14em;
 text-transform: uppercase;
 color: var(--grey-1);
}
.msg-author b{ color: var(--ink); font-family: var(--display); font-size: 16px; letter-spacing: -.005em; text-transform: none; display: block; margin-bottom: 4px; }

/* Swipe controls */
.msg-controls{
 display: flex;
 justify-content: center;
 gap: 16px;
 align-items: center;
 margin-top: 30px;
}
.msg-arrow{
 width: 48px; height: 48px;
 border-radius: 50%;
 border: 1px solid var(--line);
 background: var(--paper);
 display: grid; place-items: center;
 cursor: pointer;
 transition: all .25s var(--ease);
}
.msg-arrow:hover{ background: var(--blue); color: #fff; border-color: var(--blue); }
.msg-arrow svg{ width: 20px; height: 20px; }
.msg-dots{ display: flex; gap: 8px; }
.msg-dot{
 width: 8px; height: 8px;
 border-radius: 50%;
 background: var(--line);
 cursor: pointer;
 transition: all .25s var(--ease);
 border: none;
}
.msg-dot.is-active{ background: var(--blue); width: 24px; border-radius: 100px; }

/* Leader grid */
.leaders-section{ padding: clamp(64px, 8vw, 120px) var(--pad-x); background: #fff; }
.row-head{ margin-bottom: clamp(40px,5vw,64px); }
.leaders-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 36px); }
@media (max-width: 880px){ .leaders-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px){ .leaders-grid{ grid-template-columns: 1fr; } }

.leader{ position: relative; }
.leader-card{
 background:#fff; border:1px solid var(--line); border-radius:22px;
 padding:36px 26px 30px; text-align:center;
 display:flex; flex-direction:column; align-items:center;
 box-shadow:0 6px 20px rgba(2,6,31,.05);
 transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
 text-decoration:none; color:inherit;
}
.leader-card:hover{ transform:translateY(-6px); box-shadow:0 24px 54px rgba(2,6,31,.12); border-color:rgba(42,125,225,.28); }
.leaders-grid .leader-photo{
 width:148px; height:148px; border-radius:50%; overflow:hidden;
 background:linear-gradient(135deg,#eaf1fb,#dfeaf8);
 box-shadow:0 10px 26px rgba(2,6,31,.10);
 position:relative; margin-bottom:22px; flex-shrink:0;
}
.leaders-grid .leader-photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform .5s var(--ease); }
.leader-card:hover .leader-photo img{ transform:scale(1.05); }
.leader--founder .leader-photo{ box-shadow:0 0 0 3px rgba(42,125,225,.20), 0 12px 28px rgba(2,6,31,.14); }
.leader-name{ font-family: var(--display); font-size: 20px; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; color: var(--ink); margin: 0; }
.leader-role{ font-family: var(--mono); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; color: var(--blue); font-weight: 600; margin-top: 9px; }
.leader-focus{ margin-top: 12px; color: var(--grey-1); font-size: 13.5px; line-height: 1.55; max-width: 32ch; }
.leader-contact{ margin-top: 16px; display:flex; align-items:center; gap:12px; }
.leader-email{ font-family: var(--body); font-size: 12.5px; color: var(--grey-1); text-decoration:none; border-bottom:1px solid var(--line); transition: color .25s var(--ease), border-color .25s var(--ease); }
.leader-email:hover{ color: var(--blue); border-color: var(--blue); }
.leader-li{ width:34px; height:34px; border-radius:50%; background:var(--off); display:grid; place-items:center; color:var(--ink); transition: all .25s var(--ease); text-decoration:none; }
.leader-li:hover{ background:#0a66c2; color:#fff; transform:scale(1.08); }
.leader-li svg{ width:15px; height:15px; }
.leader-view{ margin-top:14px; font-family: var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--blue); }
.leader-profile-btn{ margin-top:16px; display:inline-flex; align-items:center; gap:8px; font-family:var(--body); font-size:12.5px; font-weight:600; color:var(--blue); text-decoration:none; padding:9px 18px; border:1.5px solid var(--blue); border-radius:100px; transition:all .25s var(--ease); }
.leader-profile-btn:hover{ background:var(--blue); color:#fff; transform:translateY(-1px); }
.leader-profile-btn .arr{ width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);display:inline-block; }

/* Stats */
.team-stats{ padding: clamp(60px,8vw,100px) var(--pad-x); background: var(--ink); color: #fff; position: relative; overflow: hidden; }
.team-stats::before{ content:''; position:absolute; inset:0; background: radial-gradient(ellipse 60% 50% at 50% 100%, rgba(0,160,223,.18), transparent 60%); }
.team-stats > *{ position:relative; z-index:2; }
.team-stats h2{ color: #fff; }
.team-stats h2 .em{ color: var(--cyan); }
.stats-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: clamp(40px,5vw,60px); background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.10); border-radius: 20px; overflow: hidden; }
/* .stat / .stat b / .stat h4 now owned by the applab/stat-counter block's "dark" variant */
@media(max-width: 880px){ .stats-grid{ grid-template-columns: repeat(2,1fr); } }

/* Join-our-team CTA — copy on the left, team photos on the right */
.cta{ padding: clamp(80px, 11vw, 150px) var(--pad-x); background: var(--navy-black); color: #fff; position: relative; overflow: hidden; }
.cta::before{ content:''; position:absolute; inset:0; background: radial-gradient(ellipse 60% 40% at 50% 100%, rgba(0,160,223,.22), transparent 60%); }
.cta > *{ position: relative; z-index: 2; }
.cta-inner{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 5vw, 80px); align-items: center; max-width: 1240px; margin: 0 auto; }
.cta .eyebrow{ color: var(--cyan); margin-bottom: 28px; }
.cta h2{ color: #fff; max-width: 14ch; }
.cta h2 .em{ color: var(--cyan); }
.cta .lead{ color: rgba(255,255,255,.7); margin-top: 26px; max-width: 46ch; }
.cta-actions{ margin-top: clamp(34px, 5vw, 54px); display: flex; gap: 14px; flex-wrap: wrap; }
.cta-photos{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
/* .cta-photo is a wp:image figure now (class ends up on the <figure>, not the <img>) */
figure.cta-photo{ margin: 0; transition: transform .5s var(--ease); }
figure.cta-photo img{ width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; display: block; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
figure.cta-photo:hover{ transform: translateY(-4px); }
@media(max-width: 900px){ .cta-inner{ grid-template-columns: 1fr; } .cta-photos{ order: 2; } }
