.elj-hero { background:var(--ip-navy); min-height:82vh; display:flex; align-items:flex-end; position:relative; overflow:hidden; }
.elj-hero-texture { position:absolute; inset:0; background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.015) 0px,rgba(255,255,255,.015) 1px,transparent 1px,transparent 40px),repeating-linear-gradient(-45deg,rgba(255,255,255,.015) 0px,rgba(255,255,255,.015) 1px,transparent 1px,transparent 40px); }
.elj-hero-accent { position:absolute; bottom:0; right:0; width:50%; height:100%; background:linear-gradient(to top left, rgba(192,57,43,.1), transparent 60%); border-left:1px solid rgba(192,57,43,.15); }
.elj-hero-content { position:relative; z-index:2; padding:80px var(--pad-x); max-width:var(--max-w); margin:0 auto; width:100%; }
.elj-hero h1 { font-family:var(--font-display); font-size:clamp(42px,5.5vw,80px); font-weight:300; line-height:1.05; letter-spacing:-.01em; color:white; margin-bottom:22px; }
.elj-hero h1 em { font-style:italic; color:rgba(255,255,255,.5); }
.elj-hero-sub { font-size:16px; font-weight:300; color:rgba(255,255,255,.6); line-height:1.8; max-width:560px; margin-bottom:14px; }
.elj-conviction { font-family:var(--font-display); font-size:20px; font-style:italic; color:rgba(255,255,255,.4); max-width:520px; margin-bottom: 16px; line-height:1.5; }
.page-template-page-elj .page-hero-sub {
    margin-bottom: 40px;
}
/* Four tracks */
.track-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--ip-rule); }
.track-card { padding:44px 32px; border-right:1px solid var(--ip-rule); position:relative; overflow:hidden; cursor:pointer; transition:background var(--tr); }
.track-card:last-child { border-right:none; }
.track-card:hover { background:var(--ip-red-pale); }
.track-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--ip-red); transform:scaleX(0); transition:transform .3s ease; transform-origin:left; }
.track-card:hover::before { transform:scaleX(1); }
.track-num { font-family:var(--font-display); font-size:52px; font-weight:300; color:rgba(0,0,0,.06); line-height:1; margin-bottom:16px; }
.track-name { font-size:16px; font-weight:500; color:var(--ip-black); margin-bottom:10px; }
.track-desc { font-size:13px; color:var(--ip-mid); line-height:1.7; margin-bottom:16px; }
.track-link { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ip-red); font-weight:500; text-decoration:none; display:flex; align-items:center; gap:6px; opacity:0; transition:opacity var(--tr); }
.track-card:hover .track-link { opacity:1; }

/* Solutions grid */
.sol-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border:1px solid var(--ip-rule); background:var(--ip-rule); }
.sol-card { background:var(--ip-white); padding:48px 44px; }
.sol-card:hover { background:var(--ip-light); }
.sol-icon { font-size:32px; margin-bottom:16px; }
.sol-name { font-size:16px; font-weight:500; color:var(--ip-black); margin-bottom:10px; }
.sol-desc { font-size:14px; color:var(--ip-mid); line-height:1.75; margin-bottom:16px; }
.sol-items { list-style:none; }
.sol-item { font-size:13px; color:var(--ip-charcoal); padding:6px 0; border-bottom:1px solid var(--ip-rule); display:flex; gap:10px; }
.sol-item:last-child { border-bottom:none; }
.sol-item::before { content:'—'; color:var(--ip-red); flex-shrink:0; }

/* Philosophy band */
.elj-philosophy { background:var(--ip-black); padding:80px 0; }
.elj-phil-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.elj-phil-quote { font-family:var(--font-display); font-size:clamp(24px,3vw,38px); font-weight:300; font-style:italic; color:white; line-height:1.4; margin-bottom:24px; }
.elj-phil-body { font-size:15px; color:rgba(255,255,255,.55); line-height:1.85; }
.elj-phil-right { display:flex; flex-direction:column; gap:1px; background:rgba(255,255,255,.08); }
.elj-phil-stat { background:rgba(255,255,255,.04); padding:24px 28px; }
.elj-phil-stat-num { font-family:var(--font-display); font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--ip-red); margin-bottom:6px; }
.elj-phil-stat-val { font-size:14px; color:rgba(255,255,255,.6); line-height:1.6; }
.d-none {
    display: none;
}
body.popup-open {
    overflow: hidden;
}
.custom-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}
.custom-popup.active {
    display: flex;
    align-items: center;
    justify-content: center;
}
.cta-popup-buttons {
    max-width: 580px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.cta-popup-buttons .cta-popup-btn {
    border: none;
    cursor: pointer;
}
#ctaPopupBody * {
    color: #000;
}
.custom-popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.6);
}
.custom-popup-content {
    position: relative;
    max-width: 700px;
    width: calc(100% - 40px);
    max-height: 80vh;
    overflow-y: auto;
    background: #fff;
    margin: 60px auto;
    padding: 30px;
    border-radius: 8px;
    z-index: 2;
}
.popup-close {
    position: absolute;
    top: 15px;
    right: 20px;
    border: 0;
    background: none;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}
@media(max-width:900px){.track-grid{grid-template-columns:1fr;}.track-card{border-right:none;border-bottom:1px solid var(--ip-rule);}.sol-grid{grid-template-columns:1fr;}.elj-phil-inner{grid-template-columns:1fr;gap:40px;}}
