/*
 * Page overrides for Traning Program.
 *
 * Extracted from the page's own style block during migration. These sit on top
 * of the shared `fbi-fb-*` stylesheets and repaint the shared structures for
 * this page. Loaded by any shared-system widget set to this page.
 */



/* ===== HERO — gradient (site-wide standard) ===== */

/* ===== SECTIONS ===== */
.fbtp .kicker::before{content:"";width:32px;height:2px;border-radius:2px;
background:linear-gradient(90deg,var(--cyan),var(--blue))}
.fbtp .center p{color:var(--mut);font-size:15.5px;margin-top:14px}
.fbtp .prose p{color:var(--mut);margin-top:16px;font-size:15.5px;line-height:1.8}

/* ===== OVERVIEW — clean frame + session chip (SLOT 1) ===== */
.fbtp .duo{display:grid;grid-template-columns:1.06fr .94fr;gap:60px;align-items:center}
.fbtp .frame{position:relative}
.fbtp .frame::before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:16px;
border:1px solid var(--line);background:var(--bg)}
.fbtp .frame img{position:relative;z-index:1;width:100%;border-radius:14px;object-fit:cover;
aspect-ratio:4/3;box-shadow:0 20px 48px rgba(4,24,83,.15);transition:transform .6s ease}
.fbtp .frame:hover img{transform:scale(1.015)}
.fbtp .session{position:absolute;z-index:2;left:-14px;bottom:24px;background:#fff;
border:1px solid var(--line);border-radius:12px;padding:14px 20px;
box-shadow:0 12px 30px rgba(4,24,83,.14)}
.fbtp .session small{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:10px;
font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);margin-bottom:3px}
.fbtp .session b{font-family:'IBM Plex Sans',sans-serif;font-size:13.8px;font-weight:700;
color:var(--navy)}

/* ===== CREDENTIAL STRIP — refined stats ===== */
.fbtp .creds{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;
border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fbtp .cred{padding:28px 30px;border-right:1px solid var(--line)}
.fbtp .cred:last-child{border-right:0}
.fbtp .cred b{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:19px;
font-weight:700;color:var(--navy2);margin-bottom:4px}
.fbtp .cred span{font-size:13.4px;color:var(--mut)}
.fbtp .cred i{display:block;width:26px;height:3px;border-radius:2px;margin-bottom:14px;
background:linear-gradient(90deg,var(--cyan),var(--blue));font-style:normal}

/* ===== LEARNING PATH strip ===== */
.fbtp .path{display:flex;align-items:center;justify-content:center;gap:0;margin:0 auto 54px;
max-width:640px}
.fbtp .path .ph{flex:1;text-align:center;position:relative;padding:0 10px}
.fbtp .path .ph b{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:14.5px;
font-weight:700;color:var(--navy2);margin-bottom:2px}
.fbtp .path .ph span{font-size:12px;color:var(--mut);letter-spacing:.04em}
.fbtp .path .arrow{flex:0 0 46px;height:1.5px;background:var(--line);position:relative}
.fbtp .path .arrow::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%) rotate(45deg);
width:7px;height:7px;border-top:1.5px solid var(--sky);border-right:1.5px solid var(--sky)}

/* ===== MODULE CARDS — course catalog ===== */
.fbtp .mods{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fbtp .mod{background:#fff;border:1px solid var(--line);border-radius:12px;
padding:26px 26px 22px;transition:.26s;box-shadow:0 2px 10px rgba(4,24,83,.04);
display:flex;flex-direction:column}
.fbtp .mod:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(4,24,83,.1);
border-color:rgba(11,135,208,.45)}
.fbtp .mod .mhead{display:flex;align-items:center;justify-content:space-between;gap:12px;
margin-bottom:14px}
.fbtp .mod .mcode{font-family:'IBM Plex Sans',sans-serif;font-size:11px;font-weight:700;
letter-spacing:.2em;text-transform:uppercase;color:var(--sky)}
.fbtp .mod .mtag{font-family:'IBM Plex Sans',sans-serif;font-size:10px;font-weight:700;
letter-spacing:.12em;text-transform:uppercase;color:var(--navy2);
background:var(--bg);border:1px solid var(--line);border-radius:100px;padding:4px 12px}
.fbtp .mod h3{font-size:16.4px;font-weight:700;color:var(--navy)!important;line-height:1.35;
padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.fbtp .mod p{font-size:13.9px;color:var(--mut);line-height:1.68;flex:1}
.fbtp .mod .mfoot{display:flex;align-items:center;gap:8px;margin-top:16px;
font-family:'IBM Plex Sans',sans-serif;font-size:11.5px;font-weight:600;
letter-spacing:.08em;text-transform:uppercase;color:#9AA8BF}
.fbtp .mod .mfoot::before{content:"";width:7px;height:7px;border-radius:50%;
background:linear-gradient(135deg,var(--cyan),var(--blue))}

/* ===== SYLLABUS — dotted-leader index card ===== */
.fbtp .syl{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
box-shadow:0 14px 38px rgba(4,24,83,.09)}
.fbtp .syl .shead{padding:22px 30px;border-bottom:1px solid var(--line);
display:flex;align-items:center;justify-content:space-between;gap:14px}
.fbtp .syl .shead h3{font-size:16.5px;font-weight:700;color:var(--navy)!important}
.fbtp .syl .shead span{font-family:'IBM Plex Sans',sans-serif;font-size:10.5px;font-weight:700;
letter-spacing:.18em;text-transform:uppercase;color:var(--sky);
border:1px solid rgba(11,135,208,.4);border-radius:100px;padding:5px 14px;white-space:nowrap}
.fbtp .syl ol{list-style:none;counter-reset:unit;padding:10px 30px 16px}
.fbtp .syl li{counter-increment:unit;display:flex;gap:16px;align-items:baseline;
padding:15px 0;border-bottom:1px dashed var(--line);font-size:14.2px;color:var(--mut);line-height:1.65}
.fbtp .syl li:last-child{border-bottom:0}
.fbtp .syl li::before{content:"Unit 0" counter(unit);flex:0 0 62px;
font-family:'IBM Plex Sans',sans-serif;font-size:11.5px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;color:var(--sky)}
.fbtp .syl li b{color:var(--navy2);font-weight:600}

/* ===== CTA — refined navy ===== */
.fbtp .cta{position:relative;color:#fff;overflow:hidden;text-align:center;
background:linear-gradient(115deg,#03123E,var(--navy2) 52%,#05489B);padding:88px 0}
.fbtp .cta::before{content:"";position:absolute;inset:0;opacity:.09;
background-image:repeating-linear-gradient(112deg,transparent 0 52px,rgba(46,176,231,.8) 52px 53px)}
.fbtp .cta .wrap{position:relative;z-index:2;max-width:720px}
.fbtp .cta h2{color:#fff!important;margin:0 auto 14px;max-width:640px}
.fbtp .cta p{color:rgba(255,255,255,.86);max-width:560px;margin:0 auto 30px;font-size:15.5px}

/* ---- responsive: kept last so these are not overridden ---- */
@media(prefers-reduced-motion:reduce){
.fbtp .frame img{transition:none!important}}
@media(max-width:940px){
.fbtp .mods{grid-template-columns:repeat(2,1fr)}
.fbtp .creds{grid-template-columns:1fr}
.fbtp .cred{border-right:0;border-bottom:1px solid var(--line)}
.fbtp .cred:last-child{border-bottom:0}
.fbtp .path{flex-direction:column;gap:14px}
.fbtp .path .arrow{display:none}}
@media(max-width:620px){
.fbtp .mods{grid-template-columns:1fr}
.fbtp .syl .shead{flex-direction:column;align-items:flex-start}
.fbtp .syl li{flex-direction:column;gap:4px}}
