:root{
  --orsi-blue:#017DC5;
--orsi-deep:#2F3F8D;
--orsi-orange:#EC6607;
--orsi-ink:#1B2A4A;
--orsi-surface:#F2F6FB;
}
body,
.Normal{
font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;
color:var(--orsi-ink);
}
a{
color:var(--orsi-blue);
}
/* ============================================================
   ORSI e-learning - course-page custom CSS  (SELF-CONTAINED)
   Prefixed .orsi-* so it never collides with the OxP/Porto theme.
   Built on YOUR existing tokens - no new colors invented:
     --orsi-blue #017DC5 - --orsi-deep #2F3F8D - --orsi-orange #EC6607
     --orsi-ink #1B2A4A  - --orsi-surface #F2F6FB
   ============================================================ */
[class^="orsi-"],[class*=" orsi-"],[class^="orsi-"] *,[class*=" orsi-"] *{box-sizing:border-box}
.orsi-banner{background:color-mix(in srgb,var(--orsi-blue) 8%,#fff);padding:24px 0 22px;text-align:center}
.orsi-banner__specialty{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--orsi-deep) 55%,#fff);margin-bottom:5px}
.orsi-banner__title{font-family:'Poppins',sans-serif;font-size:24px;font-weight:700;color:var(--orsi-deep);margin:0 0 14px;letter-spacing:-.3px}
.orsi-banner__badges{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.orsi-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;padding:5px 14px;border-radius:20px;background:#fff;color:var(--orsi-blue);border:1px solid color-mix(in srgb,var(--orsi-blue) 35%,#fff)}
.orsi-badge--strong{font-size:13px;font-weight:700;color:var(--orsi-deep);border:2px solid var(--orsi-blue)}
.orsi-banner__sep{color:color-mix(in srgb,var(--orsi-deep) 45%,#fff);font-size:14px}
.orsi-split{display:flex;flex-wrap:wrap}
.orsi-split__media,.orsi-split__body{flex:1 1 50%;min-height:440px}
.orsi-split__media{background-size:cover;background-position:center 30%}
.orsi-split__body{display:flex;flex-direction:column;justify-content:center;padding:46px 50px}
.orsi-split__body p{font-size:15px;line-height:1.7;color:#4a5266;margin:0 0 16px}
.orsi-step-module{font-family:'Poppins',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8590a3;margin-bottom:9px}
.orsi-step-eyebrow{display:block;font:700 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--orsi-blue);margin-bottom:9px}
.orsi-step-title{font-family:'Poppins',sans-serif;font-size:24px;font-weight:700;color:var(--orsi-deep);line-height:1.2;margin:0 0 14px}
.orsi-pathways{display:flex;flex-direction:column;gap:14px;margin:6px 0 26px}
.orsi-pathway{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:7px;border:1px solid #e2e7f0;background:var(--orsi-surface)}
.orsi-pathway__num{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}
.orsi-pathway--f .orsi-pathway__num{background:var(--orsi-blue)}
.orsi-pathway--p .orsi-pathway__num{background:var(--orsi-deep)}
.orsi-pathway b{display:block;color:var(--orsi-ink);font-size:14px;margin-bottom:1px}
.orsi-pathway > div span{font-size:13px;color:#6b7689;line-height:1.5}
.orsi-btn,.orsi-btn:link,.orsi-btn:visited,.orsi-btn:hover,.orsi-btn:focus{display:inline-block;align-self:flex-start;background:var(--orsi-blue);color:#fff !important;font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase;padding:13px 30px;border-radius:5px;text-decoration:none;white-space:nowrap;transition:.15s}
.orsi-btn:hover{background:color-mix(in srgb,var(--orsi-blue) 86%,#000)}
.orsi-ul{list-style:none;margin:0 0 6px;padding:0}
.orsi-ul li{position:relative;padding:6px 0 6px 22px;font-size:14px;color:#4a5266;line-height:1.55}
.orsi-ul li::before{content:"";position:absolute;left:3px;top:11px;width:6px;height:6px;border-right:2px solid var(--orsi-blue);border-top:2px solid var(--orsi-blue);transform:rotate(45deg)}
.orsi-arch{max-width:1170px;margin:0 auto;padding:10px 15px 40px}
.orsi-layer{margin-bottom:34px}
.orsi-layer__head{display:flex;align-items:center;gap:14px;padding:13px 20px;border-radius:7px;color:#fff;flex-wrap:wrap}
.orsi-layer--f .orsi-layer__head{background:var(--orsi-ink)}
.orsi-layer--p .orsi-layer__head{background:var(--orsi-deep)}
.orsi-layer__badge{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.orsi-layer__title{font-family:'Poppins',sans-serif;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:15px}
.orsi-layer__meta{margin-left:auto;font-size:11.5px;font-weight:600;letter-spacing:.03em;color:rgba(255,255,255,.72);text-align:right}
.orsi-modgrid{display:grid;gap:16px;margin-top:16px;grid-template-columns:repeat(3,1fr)}
.orsi-modgrid--4{grid-template-columns:repeat(4,1fr)}
.orsi-modcard{border:1px solid #e2e7f0;border-radius:8px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.orsi-modcard__head{padding:13px 15px;border-bottom:1px solid #eef1f6}
.orsi-layer--f .orsi-modcard__head{background:color-mix(in srgb,var(--orsi-blue) 8%,#fff)}
.orsi-layer--p .orsi-modcard__head{background:color-mix(in srgb,var(--orsi-deep) 8%,#fff)}
.orsi-modcard__chip{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.orsi-layer--f .orsi-modcard__chip{color:var(--orsi-blue)}
.orsi-layer--p .orsi-modcard__chip{color:var(--orsi-deep)}
.orsi-modcard__chip i{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;color:#fff}
.orsi-layer--f .orsi-modcard__chip i{background:var(--orsi-blue)}
.orsi-layer--p .orsi-modcard__chip i{background:var(--orsi-deep)}
.orsi-modcard__title{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:var(--orsi-ink);line-height:1.3}
.orsi-modcard__sub{font-size:11.5px;color:#7a8499;margin-top:3px}
.orsi-steps{list-style:none;margin:0;padding:8px 6px;display:flex;flex-direction:column;flex:1}
.orsi-step{display:flex;gap:9px;align-items:baseline;padding:7px 9px;border-radius:5px}
.orsi-step:hover{background:#f6f8fb}
.orsi-step__code{flex:0 0 auto;font:700 11px/1 ui-monospace,Menlo,monospace;color:#fff;padding:4px 6px;border-radius:4px;min-width:30px;text-align:center}
.orsi-layer--f .orsi-step__code{background:color-mix(in srgb,var(--orsi-blue) 78%,#fff)}
.orsi-layer--p .orsi-step__code{background:color-mix(in srgb,var(--orsi-deep) 72%,#fff)}
.orsi-step__txt{flex:1}
.orsi-step__txt b{display:block;font-size:13px;font-weight:600;color:var(--orsi-ink);line-height:1.35}
.orsi-step__txt span{font-size:11.5px;color:#8590a3}
.orsi-step__tag{display:inline-block;margin-top:3px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--orsi-orange);background:color-mix(in srgb,var(--orsi-orange) 12%,#fff);padding:1px 6px;border-radius:3px}
.orsi-arch__note{font-size:12.5px;color:#7a8499;line-height:1.6;border-left:3px solid #e2e7f0;padding:2px 0 2px 14px;margin-top:6px}
.orsi-info{max-width:1170px;margin:26px auto;padding:0 15px;display:flex;gap:28px;align-items:flex-start}
.orsi-info__aside{flex:0 0 190px;display:flex;flex-direction:column;gap:12px}
.orsi-info__icon{width:46px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--orsi-blue) 12%,#fff);display:flex;align-items:center;justify-content:center}
.orsi-info__icon svg{width:24px;height:24px;fill:none;stroke:var(--orsi-blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.orsi-info__main{flex:1;min-width:0;padding-top:2px}
.orsi-info--right{flex-direction:row-reverse}
.orsi-info--right .orsi-info__aside{align-items:flex-end}
.orsi-info--right .orsi-info__title{text-align:right}
.orsi-docblock{display:flex;gap:28px;align-items:flex-start;background:var(--orsi-surface);border:1px solid #e2e7f0;border-radius:8px;padding:22px 26px;margin-top:2px}
.orsi-tips{max-width:1170px;margin:26px auto;padding:24px 26px;background:color-mix(in srgb,var(--orsi-blue) 6%,#fff);border:1px solid color-mix(in srgb,var(--orsi-blue) 18%,#fff);border-radius:10px}
.orsi-tips__head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.orsi-tips__icon{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--orsi-blue);display:flex;align-items:center;justify-content:center}
.orsi-tips__icon svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.orsi-tips__title{font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;color:var(--orsi-ink);text-transform:uppercase;letter-spacing:.04em}
.orsi-tips__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px}
.orsi-tip{display:flex;gap:12px;align-items:flex-start}
.orsi-tip__n{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#fff;border:1.5px solid color-mix(in srgb,var(--orsi-blue) 32%,#fff);color:var(--orsi-blue);font:700 12px/1 'Poppins',sans-serif;display:flex;align-items:center;justify-content:center}
.orsi-tip__txt{font-size:14px;color:#4a5266;line-height:1.5;padding-top:4px}
@media(max-width:768px){.orsi-tips__grid{grid-template-columns:1fr}}
@media(max-width:768px){.orsi-info,.orsi-info--right,.orsi-docblock{flex-direction:column;gap:14px}.orsi-info__aside{flex-direction:row;align-items:center;flex-basis:auto}}
.orsi-info__title{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--orsi-ink);margin:0}
.orsi-doc{list-style:none;margin:0;padding:0}
.orsi-doc li{padding:6px 0;font-size:14px;color:#4a5266;line-height:1.55;border-bottom:1px solid #eef1f6}
.orsi-doc li:last-child{border-bottom:none}
.orsi-doc strong{color:var(--orsi-ink)}
.orsi-band{background:var(--orsi-blue);color:#fff;text-align:center;padding:48px 24px;margin-top:8px}
.orsi-band p{max-width:880px;margin:0 auto 14px;color:#eaf4fb;font-size:15px;line-height:1.7}
.orsi-band p:last-child{margin-bottom:0}
.orsi-band strong{color:#fff;font-weight:600}
.orsi-crumb{max-width:1170px;margin:0 auto;padding:16px 15px 0;font-size:12.5px;color:#8590a3;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.orsi-crumb a{color:var(--orsi-blue);font-weight:600;text-decoration:none}
.orsi-crumb a:hover{text-decoration:underline}
.orsi-crumb i{font-style:normal;color:#c2c9d6}
.orsi-stepnav{display:flex;flex-wrap:wrap;gap:8px;max-width:1170px;margin:0 auto;padding:22px 15px}
.orsi-stepnav__item{flex:1 1 0;min-width:120px;border:1px solid #e2e7f0;border-radius:7px;padding:11px 13px;text-decoration:none;background:#fff}
.orsi-stepnav__item--active{border-color:var(--orsi-blue);background:color-mix(in srgb,var(--orsi-blue) 8%,#fff)}
.orsi-stepnav__code{font:700 11px ui-monospace,Menlo,monospace;color:var(--orsi-blue)}
.orsi-stepnav__name{display:block;font-size:13px;font-weight:600;color:var(--orsi-ink);margin-top:3px}
.orsi-pager{display:flex;justify-content:space-between;gap:12px;max-width:1170px;margin:0 auto;padding:0 15px 10px}
.orsi-pager a{text-decoration:none;font-size:13px;font-weight:600;color:var(--orsi-blue)}
.orsi-pager a.is-disabled{color:#b6bccb;pointer-events:none}
@media(max-width:991px){.orsi-modgrid,.orsi-modgrid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.orsi-split__media,.orsi-split__body{flex:1 1 100%;min-height:300px}.orsi-split__body{padding:34px 28px}}
@media(max-width:600px){.orsi-modgrid,.orsi-modgrid--4{grid-template-columns:1fr}}
.orsi-track{max-width:1170px;margin:26px auto 2px;padding:0 15px}
.orsi-track__head{font:700 12px/1 'Poppins',sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--orsi-blue);margin:0 0 14px}
.orsi-track__bars{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.orsi-progress__top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.orsi-progress__label{font-size:12px;font-weight:600;color:var(--orsi-ink)}
.orsi-progress__val{font-size:12px;font-weight:600;color:#8590a3}
.orsi-progress__track{height:8px;border-radius:99px;background:#e6ebf2;overflow:hidden}
.orsi-progress__fill{height:100%;border-radius:99px;background:var(--orsi-blue)}
.orsi-progress--deep .orsi-progress__fill{background:var(--orsi-deep)}
.orsi-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px}
.orsi-legend span{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:#6b7689}
.orsi-legend img{width:20px;height:20px;object-fit:contain}
.orsi-modcard__chip{display:flex;width:100%}
.orsi-modcard__count{margin-left:auto;font-size:11px;font-weight:700;color:#8590a3}
.orsi-modcard__badge{width:18px;height:18px;object-fit:contain;margin-left:6px}
.orsi-step__status{width:18px;height:18px;flex:0 0 18px;margin-left:8px;object-fit:contain;align-self:center}
.orsi-modprogress{max-width:1170px;margin:0 auto;padding:18px 15px 24px}
@media(max-width:600px){.orsi-track__bars{grid-template-columns:1fr}}
.orsi-path{max-width:1170px;margin:28px auto 8px;padding:0 15px}
.orsi-path__hero{display:flex;align-items:center;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.orsi-ring{--p:26;width:66px;height:66px;border-radius:50%;flex:0 0 66px;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--orsi-blue) calc(var(--p)*1%),#e6ebf2 0)}
.orsi-ring span{width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font:700 15px 'Poppins',sans-serif;color:var(--orsi-ink)}
.orsi-path__lead{min-width:0}
.orsi-path__eyebrow{font:700 11px/1 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--orsi-blue);margin-bottom:6px}
.orsi-path__title{font-family:'Poppins',sans-serif;font-size:18px;font-weight:700;color:var(--orsi-ink);line-height:1.2}
.orsi-path__next{font-size:13px;color:#6b7689;margin-top:4px}
.orsi-path__next b{color:var(--orsi-blue)}
.orsi-path__legend{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.orsi-path__legend span{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:#6b7689}
.orsi-path__legend img{width:17px;height:17px;object-fit:contain}
.orsi-layerblock{margin-bottom:18px}
.orsi-stepper{display:flex;margin-top:14px;gap:2px}
.orsi-station{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0 6px;text-decoration:none}
.orsi-station::after{content:"";position:absolute;top:20px;left:50%;width:100%;height:3px;background:#e2e7f0;z-index:0;border-radius:99px}
.orsi-station:last-child::after{display:none}
.orsi-station--doneline::after{background:var(--orsi-green)}
.orsi-st-c{position:relative;z-index:1;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 15px 'Poppins',sans-serif;background:#fff;border:2px solid #e2e7f0;color:#9aa3b2;transition:.15s}
.orsi-st-c img{width:23px;height:23px;object-fit:contain}
.orsi-st-c svg{width:16px;height:16px}
.orsi-st-c--done{background:var(--orsi-green);border-color:var(--orsi-green);color:#fff}
.orsi-st-c--current{background:var(--orsi-blue);border-color:var(--orsi-blue);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--orsi-blue) 15%,#fff)}
.orsi-st-c--locked{background:#f1f3f7;border-color:#e6eaf1}
a.orsi-station:hover .orsi-st-c:not(.orsi-st-c--locked){transform:translateY(-2px)}
.orsi-st-nm{font-size:12px;font-weight:700;color:var(--orsi-ink);margin-top:10px;line-height:1.25}
.orsi-st-nm--locked{color:#9aa3b2}
.orsi-st-ct{font-size:10px;font-weight:600;color:#8590a3;margin-top:2px;letter-spacing:.02em}
.orsi-st-dots{display:flex;gap:4px;justify-content:center;margin-top:8px}
.orsi-st-dot{width:7px;height:7px;border-radius:50%;background:#e2e7f0}
.orsi-st-dot--done{background:var(--orsi-green)}
.orsi-st-dot--fail{background:var(--orsi-orange)}
.orsi-st-dot--current{background:var(--orsi-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--orsi-blue) 20%,#fff)}
.orsi-st-dot--review{background:#7b61c9}
.orsi-path__note{font-size:12px;color:#8590a3;line-height:1.6;border-left:3px solid #e6eaf1;padding:2px 0 2px 13px;margin-top:14px}
.orsi-path__note b{color:var(--orsi-orange)}
.orsi-modcard--locked{background:#fafbfc}
.orsi-modcard--locked .orsi-modcard__title,.orsi-modcard--locked .orsi-modcard__sub{color:#aab2c0}
.orsi-modcard__lock{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9aa3b2}
.orsi-modcard__lock svg{width:13px;height:13px}
.orsi-modcard--locked .orsi-step{opacity:.55}
.orsi-path,.orsi-stepper,.orsi-modgrid{--orsi-green:#43b05c}
@media(max-width:768px){.orsi-path__legend{margin-left:0;width:100%}.orsi-st-nm{font-size:11px}}
.orsi-map{max-width:1170px;margin:14px auto 0;padding:14px 15px 0}
.orsi-map__head{font:700 10.5px/1 'Poppins',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#9aa3b2;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.orsi-map__head b{color:var(--orsi-blue);white-space:nowrap}
.orsi-map .orsi-stepper{margin-top:0}
.orsi-map .orsi-st-c{width:34px;height:34px;font-size:13px}
.orsi-map .orsi-st-c img{width:19px;height:19px}
.orsi-map .orsi-station::after{top:16px;height:3px}
.orsi-map .orsi-st-nm{font-size:11px;margin-top:8px}
.orsi-map .orsi-st-ct{font-size:9.5px}
.orsi-map .orsi-st-dots{margin-top:6px}
.orsi-flow{max-width:1170px;margin:26px auto 0;padding:0 15px;--orsi-green:#43b05c}
.orsi-flow__layer{margin-top:30px}
.orsi-flow__band{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:8px;color:#fff}
.orsi-flow__band--f{background:var(--orsi-ink)}
.orsi-flow__band--p{background:var(--orsi-deep)}
.orsi-flow__b{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.orsi-flow__t{font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:13px}
.orsi-flow__m{margin-left:auto;font-size:11px;opacity:.72;font-weight:600;letter-spacing:.02em;text-align:right}
.orsi-flowgrid{display:grid;gap:22px;align-items:start;margin-top:22px}
.orsi-flowgrid--3{grid-template-columns:repeat(3,1fr)}
.orsi-flowgrid--4{grid-template-columns:repeat(4,1fr)}
.orsi-fnode{display:flex;flex-direction:column}
.orsi-frail{position:relative;height:44px;margin-bottom:14px;display:flex;align-items:center;justify-content:center}
.orsi-frail::before,.orsi-frail::after{content:"";position:absolute;top:50%;height:3px;background:#e2e7f0;transform:translateY(-50%);border-radius:99px}
.orsi-frail::before{left:-11px;right:50%}
.orsi-frail::after{left:50%;right:-11px}
.orsi-fnode:first-child .orsi-frail::before{display:none}
.orsi-fnode:last-child .orsi-frail::after{display:none}
.orsi-fnode--doneline .orsi-frail::after{background:var(--orsi-green)}
.orsi-fnode--donein .orsi-frail::before{background:var(--orsi-green)}
.orsi-frail .orsi-st-c{position:relative;z-index:1}
.orsi-fhead{text-align:center;margin-bottom:13px;text-decoration:none;display:block}
.orsi-fhead__nm{font:700 13.5px/1.3 'Poppins',sans-serif;color:var(--orsi-ink)}
a.orsi-fhead:hover .orsi-fhead__nm{color:var(--orsi-blue)}
.orsi-fhead__nm--locked{color:#9aa3b2}
.orsi-fhead__ct{font-size:10.5px;font-weight:600;color:#8590a3;margin-top:3px;letter-spacing:.02em}
.orsi-fcard{border:1px solid #e6eaf1;border-radius:11px;background:#fff;padding:2px 14px 6px;flex:1}
.orsi-fcard--current{border-color:var(--orsi-blue);box-shadow:0 8px 24px rgba(1,125,197,.10)}
.orsi-fcard--locked{background:#fafbfc}
.orsi-fcard--locked .orsi-step{opacity:.6}
.orsi-flow__note{font-size:12px;color:#8590a3;line-height:1.6;border-left:3px solid #e6eaf1;padding:2px 0 2px 13px;margin:26px 0 0}
.orsi-flow__note b{color:var(--orsi-orange)}
@media(max-width:860px){.orsi-flowgrid--3,.orsi-flowgrid--4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.orsi-flowgrid--3,.orsi-flowgrid--4{grid-template-columns:1fr}.orsi-frail::before,.orsi-frail::after{display:none}}
.orsi-flow .orsi-step__code{background:color-mix(in srgb,var(--orsi-blue) 12%,#fff);color:var(--orsi-blue)}


/* ############################################################
   COURSE-PAGE FRAMEWORK v2 - collision-safe
   SHARED: .orsi-lp ...     PAGE-SPECIFIC: .orsi-lp.orsi-XX ...
   Wrapper per page: A1 orsi-a1 | A2 orsi-a2 | A3 orsi-a3 | A4 orsi-a4 |
   overview orsi-ov | library orsi-lib | B1 orsi-b1 | under-construction orsi-uc
   ############################################################ */
/* --- design tokens --- */
:root{--orsi-blue:#017DC5;--orsi-deep:#2F3F8D;--orsi-orange:#EC6607;--orsi-ink:#1B2A4A;--orsi-surface:#F2F6FB;--orsi-green:#96C11E;--line:#DCE5F0;--muted:#5C6A82;--radius:16px;--shadow:0 1px 2px rgba(27,42,74,.05),0 10px 30px rgba(27,42,74,.05);--orsi-purple:#7B4F9E;}

/* --- SHARED components --- */
.orsi-lp *{box-sizing:border-box}
.orsi-lp .breadcrumb .ref{font-weight:600;color:var(--orsi-deep)}
.orsi-lp .breadcrumb span.sep{opacity:.5}
.orsi-lp .hero .frame{display:flex;flex-direction:column;align-items:center;gap:10px;color:#7d89a3}
.orsi-lp .hero .frame svg{width:46px;height:46px;opacity:.7}
.orsi-lp .hero .tag{position:absolute;top:12px;left:14px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--orsi-deep);background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:999px;padding:4px 11px}
.orsi-lp .tagrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.orsi-lp .badge.ref{background:#fff;color:var(--orsi-deep);border:1px solid var(--line);font-family:'Poppins',monospace;letter-spacing:.2px;text-transform:none}
.orsi-lp .badge.status{background:#EAF3E1;color:#4E7A10;border:1px solid #CDE3B4}
.orsi-lp .badge.type{background:#E7F2FA;color:var(--orsi-blue);border:1px solid #C7E2F3}
.orsi-lp .badge.track{background:#EDE7F6;color:#5B3F9E;border:1px solid #D8CBEE}
.orsi-lp section.s{padding:26px 4px;border-top:1px solid var(--line)}
.orsi-lp section.s:first-of-type{border-top:0}
.orsi-lp section.s p{margin:10px 0;font-size:15.5px}
.orsi-lp .h3{font-size:16px;font-weight:600;margin:20px 0 6px;color:var(--orsi-deep)}
.orsi-lp .objectives{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.orsi-lp .objectives li{display:flex;gap:12px;align-items:flex-start;font-size:15px}
.orsi-lp .video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#0b2440}
.orsi-lp .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.orsi-lp .journey{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:6px}
.orsi-lp .step{border:1px solid var(--line);border-radius:12px;padding:16px 14px;background:#fff}
.orsi-lp .step .n{font-size:12px;font-weight:700;color:var(--orsi-orange);letter-spacing:.5px}
.orsi-lp .step .t{font-weight:600;font-size:14.5px;margin:4px 0 4px;color:var(--orsi-deep)}
.orsi-lp .step .d{font-size:12.5px;color:var(--muted);margin:0}
.orsi-lp details.dt{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:10px}
.orsi-lp details.dt>summary{cursor:pointer;padding:15px 18px;font-weight:600;color:var(--orsi-deep);list-style:none}
.orsi-lp details.dt>summary::-webkit-details-marker{display:none}
.orsi-lp details.dt .body{padding:0 18px 16px}
.orsi-lp .quiz{border-left:3px solid var(--orsi-orange)}
.orsi-lp .q{margin:0 0 20px}
.orsi-lp .q:last-child{margin-bottom:0}
.orsi-lp .q .qtext{font-weight:600;margin:0 0 10px}
.orsi-lp .opts{display:grid;gap:8px}
.orsi-lp .opt:hover{border-color:var(--orsi-blue);background:#F7FBFE}
.orsi-lp .draft-note{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:#8a5a00;background:#FFF4E2;border:1px solid #F3D9A8;border-radius:8px;padding:8px 12px;margin:0 0 16px}
.orsi-lp .meta-row{display:flex;flex-wrap:wrap;gap:22px;font-size:13px;color:var(--muted);padding:18px 4px 0;border-top:1px solid var(--line);margin-top:8px}
.orsi-lp .meta-row b{color:var(--orsi-ink);font-weight:600}
.orsi-lp details#spec{margin-top:24px;background:#0e1f38;border-radius:12px;color:#cfe0f2}
.orsi-lp details#spec summary{cursor:pointer;padding:14px 18px;font-weight:600;color:#fff;font-size:13.5px}
.orsi-lp details#spec pre{margin:0;padding:0 18px 18px;overflow:auto;font-size:12.5px;line-height:1.5;font-family:'SFMono-Regular',Consolas,monospace;color:#a9c7e8}
.orsi-lp .bc-int{font-size:11.5px;color:#8b97ac;margin:-12px 0 18px;display:flex;align-items:center;gap:6px;line-height:1.4}
.orsi-lp .bc-int svg{width:13px;height:13px;color:#aab6c8;flex:0 0 auto}
.orsi-lp .kc-head{display:flex;align-items:center;gap:13px;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.orsi-lp .kc-head__ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--orsi-blue),var(--orsi-deep));display:flex;align-items:center;justify-content:center}
.orsi-lp .kc-head__ic svg{width:22px;height:22px;color:#fff}
.orsi-lp .kc-head__t{flex:1 1 auto}
.orsi-lp .kc-head__t b{display:block;font-size:16.5px;color:var(--orsi-ink);letter-spacing:-.2px}
.orsi-lp .kc-head__t span{font-size:12.5px;color:var(--muted)}
.orsi-lp .kc-head__score{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--orsi-deep);background:#EEF4FB;border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.orsi-lp .kc-progress{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.orsi-lp .kc-progress__lbl{font-size:12.5px;font-weight:700;color:var(--orsi-deep);white-space:nowrap}
.orsi-lp .kc-dots{display:flex;gap:6px}
.orsi-lp .kc-dot{width:9px;height:9px;border-radius:50%;background:#D3DEEC;transition:.2s}
.orsi-lp .kc-dot.done{background:var(--orsi-blue)}
.orsi-lp .kc-dot.active{background:var(--orsi-orange);box-shadow:0 0 0 3px rgba(236,102,7,.16)}
.orsi-lp .quiz-wrap .q{display:none;margin:0;padding:2px}
.orsi-lp .quiz-wrap .q.active{display:block;animation:orsi-kcIn .25s ease}
.orsi-lp .quiz-wrap .q .qtext{font-weight:600;margin:0 0 14px;display:flex;gap:11px;align-items:flex-start;font-size:16px}
.orsi-lp .quiz-wrap .q .qtext .qn{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--orsi-deep);color:#fff;font-size:12.5px;display:flex;align-items:center;justify-content:center;font-weight:700}
.orsi-lp .opt__k{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:#EEF3F9;color:var(--orsi-deep);font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:.14s}
.orsi-lp .opt.opt--correct{border-color:#4E9A2A;background:#F1F8E9;color:#3c6b18;font-weight:600}
.orsi-lp .opt.opt--correct .opt__k{background:#4E9A2A;color:#fff}
.orsi-lp .opt.opt--wrong{border-color:#C0392B;background:#FDF2F1;color:#a13327;font-weight:600}
.orsi-lp .opt.opt--wrong .opt__k{background:#C0392B;color:#fff}
.orsi-lp .opt.locked{cursor:default}
.orsi-lp .kc-fb{margin-top:12px;font-size:13.5px;font-weight:600;display:none;align-items:center;gap:8px}
.orsi-lp .kc-fb.show{display:flex}
.orsi-lp .kc-fb.ok{color:#4E7A10}
.orsi-lp .kc-fb.no{color:#a13327}
.orsi-lp .kc-nav{display:flex;justify-content:flex-end;margin-top:16px}
.orsi-lp .kc-next{background:var(--orsi-orange);color:#fff;border:0;border-radius:10px;padding:10px 20px;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;display:none}
.orsi-lp .kc-next.show{display:inline-block}
.orsi-lp .kc-summary{margin-top:8px;padding:16px 18px;border-radius:12px;background:#EEF4FB;border:1px solid var(--line);font-weight:600;color:var(--orsi-deep);display:none;align-items:center;gap:11px;font-size:14.5px}
.orsi-lp .kc-summary.show{display:flex}
.orsi-lp .kc-summary.pass{background:#EAF3E1;border-color:#CDE3B4;color:#4E7A10}
.orsi-lp .ministicky{position:fixed;top:0;left:0;right:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 14px rgba(27,42,74,.07);transform:translateY(-100%);transition:transform .25s ease;will-change:transform}
.orsi-lp .ministicky.show{transform:none}
.orsi-lp .ministicky__in{max-width:860px;margin:0 auto;padding:9px 22px;display:flex;align-items:center;gap:14px}
.orsi-lp .ministicky__ov{flex:0 0 auto;color:var(--muted);display:inline-flex}
.orsi-lp .ministicky__ov svg{width:16px;height:16px}
.orsi-lp .ministicky__ov:hover{color:var(--orsi-blue)}
.orsi-lp .ministicky__pos{font-size:12.5px;font-weight:600;color:var(--orsi-deep);white-space:nowrap}
.orsi-lp .ministicky__prog{flex:1 1 auto;height:6px;background:#E6EEF6;border-radius:99px;overflow:hidden;min-width:60px}
.orsi-lp .ministicky__prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orsi-blue),var(--orsi-deep));transition:width .45s}
.orsi-lp .ministicky__score{font-size:12px;color:var(--muted);font-weight:500;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.orsi-lp .ministicky__score svg{width:14px;height:14px;color:var(--orsi-blue)}
.orsi-lp .ministicky__score b{color:var(--orsi-ink)}
.orsi-lp .uhead{margin:0 0 22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.orsi-lp .uhead__back{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none;padding:13px 18px 0}
.orsi-lp .uhead__back svg{width:15px;height:15px}
.orsi-lp .uhead__back:hover{color:var(--orsi-blue)}
.orsi-lp .uhead__steps{display:flex;gap:8px;padding:12px 18px 4px;flex-wrap:wrap}
.orsi-lp .ust{flex:1 1 128px;min-width:118px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:9px 12px;text-decoration:none;color:var(--orsi-ink);background:#fff;transition:.14s}
.orsi-lp a.ust:hover{border-color:var(--orsi-blue);background:#F7FBFE}
.orsi-lp .ust__d{flex:0 0 auto;width:23px;height:23px;border-radius:50%;background:#fff;border:2px solid #D3DEEC;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#9aa8bf}
.orsi-lp .ust.done .ust__d{background:var(--orsi-blue);border-color:var(--orsi-blue);color:#fff}
.orsi-lp .ust.current{border-color:var(--orsi-orange);background:#FFF8F1}
.orsi-lp .ust.current .ust__d{border-color:var(--orsi-orange);color:var(--orsi-orange);box-shadow:0 0 0 3px rgba(236,102,7,.14)}
.orsi-lp .ust__t{line-height:1.2}
.orsi-lp .ust__t b{display:block;font-size:12.5px;color:var(--orsi-deep);font-weight:700}
.orsi-lp .ust__t span{font-size:11px;color:var(--muted)}
.orsi-lp .ust.current .ust__t b{color:var(--orsi-orange)}
.orsi-lp .uhead__bar{display:flex;align-items:center;gap:14px;padding:8px 18px 16px}
.orsi-lp .uhead__pos{font-size:12.5px;font-weight:600;color:var(--orsi-deep);white-space:nowrap}
.orsi-lp .uhead__prog{flex:1 1 auto;height:7px;background:#E6EEF6;border-radius:99px;overflow:hidden;min-width:70px}
.orsi-lp .uhead__prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orsi-blue),var(--orsi-deep));transition:width .45s}
.orsi-lp .uhead__score{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.orsi-lp .uhead__score svg{width:14px;height:14px;color:var(--orsi-blue)}
.orsi-lp .uhead__score b{color:var(--orsi-ink)}
.orsi-lp .vtag{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--orsi-orange);margin-bottom:8px}
.orsi-lp .evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}
.orsi-lp .stat{border:1px solid var(--line);border-radius:12px;padding:18px 16px;background:#fff;text-align:center}
.orsi-lp .stat .big{font-size:30px;font-weight:700;color:var(--orsi-blue);line-height:1}
.orsi-lp .stat .lab{font-size:12.5px;color:var(--muted);margin-top:8px}
.orsi-lp .steps{counter-reset:s;list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.orsi-lp .steps li{counter-increment:s;display:flex;gap:14px;align-items:flex-start;font-size:15px}
.orsi-lp .steps li::before{content:counter(s);flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--orsi-deep);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.orsi-lp .details .body,.orsi-lp details.dt .body{padding:0 18px 16px}
.orsi-lp .stat-hero{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px;box-shadow:var(--shadow)}
.orsi-lp .stat-hero .big{font-size:44px;font-weight:700;color:var(--orsi-blue);line-height:1;flex:0 0 auto}
.orsi-lp .stat-hero .lab{font-size:15px;color:var(--orsi-ink)}
.orsi-lp .cat{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff}
.orsi-lp .cat .k{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--orsi-blue)}
.orsi-lp .cat .e{font-size:13.5px;color:var(--muted);margin:0}
.orsi-lp .scale{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.orsi-lp .pill.p1{color:#B23A2E;border-color:#EBC3BD}
.orsi-lp .pill.p2{color:#B4741A;border-color:#EAD6B4}
.orsi-lp .pill.p3{color:#2F6DB0;border-color:#C3DBF0}
.orsi-lp .pill.p4{color:#4E7A10;border-color:#CDE3B4}
.orsi-lp .pill.p0{color:var(--muted)}
.orsi-lp details.acc{background:#fff;border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow:hidden;transition:border-color .15s}
.orsi-lp details.acc[open]{border-color:#C7E2F3}
.orsi-lp details.acc>summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;align-items:center;gap:12px;font-weight:600;font-size:15.5px;color:var(--orsi-deep)}
.orsi-lp details.acc>summary::-webkit-details-marker{display:none}
.orsi-lp details.acc>summary .chev{margin-left:auto;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--orsi-surface);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.orsi-lp details.acc[open]>summary .chev{transform:rotate(180deg)}
.orsi-lp details.acc>summary .chev::before{content:"";border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--orsi-blue)}
.orsi-lp details.acc>summary .ico{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:#E7F2FA;color:var(--orsi-blue);display:flex;align-items:center;justify-content:center;font-size:14px}
.orsi-lp .acc-body{padding:0 20px 18px;font-size:14.5px;color:var(--orsi-ink)}
.orsi-lp .acc-body p{margin:8px 0}
.orsi-lp .acc-body .obj-tag{display:inline-block;font-size:11px;font-weight:600;color:var(--orsi-orange);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}
.orsi-lp .callout .col2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.orsi-lp .callout .bad b{color:#B23A2E}
.orsi-lp .callout .good b{color:#4E7A10}
.orsi-lp .callout p{margin:6px 0;font-size:14.5px}
.orsi-lp .video-slot .vmeta{font-size:12.5px;opacity:.8;font-family:'Poppins',monospace}
.orsi-lp .clear{display:grid;gap:10px;margin-top:6px}
.orsi-lp .cl{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff}
.orsi-lp .cl .let{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--orsi-blue);color:#fff;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center}
.orsi-lp .cl .txt{font-size:15px}
.orsi-lp .cl .txt b{color:var(--orsi-deep)}
.orsi-lp .callout b{color:#B23A2E}
.orsi-lp .vgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.orsi-lp .vcard .vlabel{font-weight:600;font-size:14px;color:var(--orsi-deep);margin:10px 0 2px}
.orsi-lp .vcard .vq{font-size:13px;color:var(--muted);margin:0}
.orsi-lp a{color:inherit;text-decoration:none}
.orsi-lp .banner::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;
    background:radial-gradient(circle at 30% 30%, rgba(236,102,7,.5), transparent 60%);opacity:.5}
.orsi-lp .banner .badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.orsi-lp .chip.strong{background:var(--orsi-orange);border-color:var(--orsi-orange)}
.orsi-lp .split{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;box-shadow:var(--shadow);margin-top:22px}
.orsi-lp .split__media{min-height:250px;background:
      radial-gradient(120% 120% at 80% 10%, rgba(236,102,7,.14), transparent 45%),
      radial-gradient(120% 120% at 10% 90%, rgba(1,125,197,.20), transparent 50%),
      linear-gradient(135deg,#E9F2FA,#EDE9F7);display:flex;align-items:center;justify-content:center;color:#8290a8;position:relative}
.orsi-lp .split__media .ph{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12.5px}
.orsi-lp .split__media .ph svg{width:44px;height:44px;opacity:.7}
.orsi-lp .split__body{padding:30px 34px}
.orsi-lp .split__body h2{font-size:22px;font-weight:600;margin:0 0 10px;color:var(--orsi-ink)}
.orsi-lp .split__body p{font-size:14.5px;color:var(--orsi-ink);margin:10px 0}
.orsi-lp .od-cta{display:inline-block;margin-top:12px;background:var(--orsi-orange)!important;color:#fff!important;font-weight:600;font-size:14.5px;
    padding:11px 22px;border-radius:10px;transition:.15s}
.orsi-lp .od-cta:hover{filter:brightness(1.06)}
.orsi-lp .path{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 28px;margin-top:22px;
    display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.orsi-lp .ring{--p:0;flex:0 0 auto;width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:conic-gradient(var(--orsi-blue) calc(var(--p)*1%), #E6EDF6 0);position:relative}
.orsi-lp .ring::before{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}
.orsi-lp .ring span{position:relative;font-weight:700;font-size:22px;color:var(--orsi-deep)}
.orsi-lp .path__lead{flex:1 1 240px}
.orsi-lp .path__eyebrow{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--orsi-blue)}
.orsi-lp .path__title{font-size:20px;font-weight:600;margin:3px 0 4px}
.orsi-lp .path__next{font-size:14px;color:var(--muted)}
.orsi-lp .path__next b{color:var(--orsi-deep)}
.orsi-lp .legend{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}
.orsi-lp .legend span{display:flex;align-items:center;gap:8px}
.orsi-lp .ic{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.orsi-lp .ic svg{width:20px;height:20px}
.orsi-lp .ic--passed{color:var(--orsi-green)}
.orsi-lp .ic--failed{color:var(--orsi-orange)}
.orsi-lp .ic--review{color:var(--orsi-purple)}
.orsi-lp .ic--locked{color:#9aa3b2}
.orsi-lp .band{display:flex;align-items:center;gap:12px;margin:30px 0 14px;padding:12px 18px;border-radius:12px;color:#fff}
.orsi-lp .band--f{background:linear-gradient(120deg,#2b7a3f,#4E9A2A)}
.orsi-lp .band--p{background:linear-gradient(120deg,var(--orsi-deep),var(--orsi-blue))}
.orsi-lp .band .num{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.orsi-lp .band .t{font-weight:600;font-size:16px}
.orsi-lp .band .m{font-size:12.5px;opacity:.85;margin-left:auto;text-align:right}
.orsi-lp .grid--3{grid-template-columns:repeat(3,1fr)}
.orsi-lp .grid--4{grid-template-columns:repeat(4,1fr)}
.orsi-lp .mod{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.orsi-lp .mod--current{border-color:#C7E2F3;box-shadow:0 0 0 2px rgba(1,125,197,.12),var(--shadow)}
.orsi-lp .mod--locked{opacity:.72}
.orsi-lp .mod__head{padding:14px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}
.orsi-lp .mod__badge{flex:0 0 auto;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}
.orsi-lp .mod__badge--done{background:var(--orsi-green)}
.orsi-lp .mod__badge--current{background:var(--orsi-blue)}
.orsi-lp .mod__badge--locked{background:#eef2f8;color:#9aa3b2}
.orsi-lp .mod__nm{font-weight:600;font-size:14.5px;color:var(--orsi-deep)}
.orsi-lp .mod__nm.locked{color:#93a0b3}
.orsi-lp .mod__ct{font-size:12px;color:var(--muted);margin-top:1px}
.orsi-lp .mod__body{padding:8px 10px 12px}
.orsi-lp .u{display:flex;align-items:center;gap:10px;padding:8px 8px;border-radius:9px}
.orsi-lp .u:hover{background:var(--orsi-surface)}
.orsi-lp a.u--link{text-decoration:none;color:inherit;cursor:pointer}
.orsi-lp a.u--link:hover{background:#EAF3FB}
.orsi-lp .u__go{flex:0 0 auto;color:var(--orsi-blue);font-weight:700;font-size:18px;opacity:0;transition:.12s;margin-left:2px}
.orsi-lp a.u--link:hover .u__go{opacity:1}
.orsi-lp .u__code{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--orsi-blue);white-space:nowrap;min-width:44px}
.orsi-lp .u.locked .u__code{color:#9aa3b2}
.orsi-lp .u__txt{flex:1 1 auto;min-width:0}
.orsi-lp .u__txt b{font-size:13.5px;font-weight:600;display:block;line-height:1.25}
.orsi-lp .u__txt span{font-size:12px;color:var(--muted)}
.orsi-lp .u__tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--orsi-orange);background:#FFF4E2;border:1px solid #F3D9A8;border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:middle}
.orsi-lp .note{font-size:13px;color:var(--muted);margin:14px 2px 0}
.orsi-lp .note b{color:var(--orsi-ink)}
.orsi-lp .panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 26px;margin-top:22px}
.orsi-lp .panel h3{font-size:13px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:var(--orsi-blue);margin:0 0 14px;display:flex;align-items:center;gap:9px}
.orsi-lp .panel h3::before{content:"";width:20px;height:2px;background:var(--orsi-orange);border-radius:2px}
.orsi-lp .doc{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.orsi-lp .doc li{display:flex;gap:10px}
.orsi-lp .doc li::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--orsi-blue);margin-top:7px}
.orsi-lp .tips{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.orsi-lp .tip{display:flex;gap:12px;align-items:flex-start;font-size:14px}
.orsi-lp .tip .n{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--orsi-surface);color:var(--orsi-deep);font-weight:700;font-size:12.5px;display:flex;align-items:center;justify-content:center}
.orsi-lp .lib{display:flex;gap:18px;align-items:flex-start}
.orsi-lp .lib__lock{flex:0 0 auto;width:48px;height:48px;border-radius:12px;background:var(--orsi-surface);color:#9aa3b2;display:flex;align-items:center;justify-content:center}
.orsi-lp .lib__lock svg{width:24px;height:24px}
.orsi-lp .lib__status{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:#8a5a00;background:#FFF4E2;border:1px solid #F3D9A8;border-radius:999px;padding:4px 11px;margin:0 0 8px}
.orsi-lp .lib__body p{margin:0 0 10px;font-size:14.5px;color:var(--orsi-ink)}
.orsi-lp .lib__types{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.orsi-lp .ftag--ppt{background:#C43E1C}
.orsi-lp .od-cta--ghost{background:#fff;color:var(--orsi-blue);border:1px solid #C7E2F3}
.orsi-lp .od-cta--ghost:hover{background:#F7FBFE;filter:none}
.orsi-lp .closing{background:linear-gradient(120deg,#0e2440,#123a63);color:#eaf2fb;border-radius:var(--radius);padding:24px 28px;margin-top:22px}
.orsi-lp .closing p{margin:10px 0;font-size:14.5px;color:#eaf2fb}
.orsi-lp .closing b{color:#fff}
.orsi-lp .breadcrumb a{color:var(--orsi-blue);font-weight:600}
.orsi-lp .banner__in{position:relative;z-index:1;display:flex;align-items:center;gap:26px}
.orsi-lp .banner__txt{flex:1 1 auto}
.orsi-lp .banner__ill{flex:0 0 auto;width:240px;aspect-ratio:16/11;border-radius:14px;background:radial-gradient(120% 140% at 85% 12%,rgba(236,102,7,.14),transparent 45%),radial-gradient(120% 140% at 8% 90%,rgba(150,193,30,.20),transparent 48%),linear-gradient(135deg,#ffffff,#E9F2FB);border:1px solid rgba(255,255,255,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;box-shadow:0 12px 30px rgba(9,20,40,.22);position:relative;overflow:hidden}
.orsi-lp .banner__ill .tag{position:absolute;top:9px;left:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--orsi-deep);background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:3px 9px}
.orsi-lp .banner__ill svg{width:52px;height:52px;color:var(--orsi-blue);opacity:.85}
.orsi-lp .banner__ill .cap{font-size:11.5px;color:#6b7a93;font-weight:500}
.orsi-lp .gate{display:flex;gap:14px;align-items:flex-start;background:#FFF8F1;border:1px solid #F3D9A8;border-radius:12px;padding:14px 18px;margin-top:20px}
.orsi-lp .gate svg{flex:0 0 auto;width:22px;height:22px;color:#8a5a00;margin-top:1px}
.orsi-lp .gate p{margin:0;font-size:13.5px;color:#7a5410}
.orsi-lp .filters{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px}
.orsi-lp .fbtn{font-size:12.5px;font-weight:600;color:var(--orsi-deep);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer;font-family:inherit}
.orsi-lp .fbtn.active{background:var(--orsi-blue);border-color:var(--orsi-blue);color:#fff}
.orsi-lp .count{font-size:12.5px;color:var(--muted);margin:12px 2px}
.orsi-lp .group{margin-top:14px}
.orsi-lp .group__h{font-size:13px;font-weight:700;letter-spacing:.3px;color:var(--orsi-deep);margin:14px 2px 10px}
.orsi-lp .assets{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.orsi-lp .asset{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}
.orsi-lp .asset__top{display:flex;align-items:center;gap:12px}
.orsi-lp .asset__t{font-weight:600;font-size:14.5px;color:var(--orsi-ink);line-height:1.3}
.orsi-lp .asset__d{font-size:12.5px;color:var(--muted);margin:0}
.orsi-lp .asset__act{margin-top:auto;display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:13px;font-weight:600;color:var(--orsi-blue);border:1px solid #C7E2F3;border-radius:9px;padding:8px 14px;background:#F7FBFE}
.orsi-lp .asset__act svg{width:15px;height:15px}
.orsi-lp .back{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:16px}
.orsi-lp .back svg{width:15px;height:15px}
.orsi-lp .back:hover{color:var(--orsi-blue)}
.orsi-lp .badge.prev{background:#FFF4E2;color:#8a5a00;border:1px solid #F3D9A8}
.orsi-lp .xstage{background:#0b1f38;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:8px}
.orsi-lp .xbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#0e2440;color:#cfe0f2;font-size:12.5px}
.orsi-lp .xstep{font-weight:600;color:#fff}
.orsi-lp .xprog{flex:1 1 auto;height:6px;background:rgba(255,255,255,.14);border-radius:99px;overflow:hidden}
.orsi-lp .xprog i{display:block;height:100%;width:0;background:var(--orsi-orange);transition:width .3s}
.orsi-lp .xskip{margin-left:auto;font-size:12px;color:#bcd6ef;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:5px 10px;cursor:pointer}
.orsi-lp .xvideo{position:relative;aspect-ratio:16/9;background:#000}
.orsi-lp .xvideo iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.orsi-lp .xoverlay{position:absolute;inset:0;display:none;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(6,17,33,.95),rgba(6,17,33,.5) 55%,rgba(6,17,33,.1));padding:20px;color:#fff}
.orsi-lp .xoverlay.show{display:flex}
.orsi-lp .xtag{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#ffd39a}
.orsi-lp .xq{font-size:17px;font-weight:600;margin:6px 0 12px;max-width:620px}
.orsi-lp .xopts{display:flex;flex-wrap:wrap;gap:8px;max-width:720px}
.orsi-lp .xopt{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.32);color:#fff;border-radius:10px;padding:10px 15px;font-size:14px;cursor:pointer;font-family:inherit}
.orsi-lp .xopt:hover{background:rgba(255,255,255,.2)}
.orsi-lp .xopt.ok{background:rgba(78,154,42,.92);border-color:#7fca57}
.orsi-lp .xopt.no{background:rgba(192,57,43,.92);border-color:#e08b81}
.orsi-lp .xfb{margin-top:12px;font-size:14px;font-weight:600;display:none;align-items:center;gap:10px}
.orsi-lp .xfb .xnext{margin-left:4px;background:var(--orsi-orange);color:#fff;border:0;border-radius:9px;padding:8px 16px;font-weight:600;font-size:13.5px;cursor:pointer;font-family:inherit}
.orsi-lp .xstartcard,.orsi-lp .xdonecard{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;text-align:center;padding:22px;background:linear-gradient(135deg,#0b2440,#123a63)}
.orsi-lp .xdonecard{display:none}
.orsi-lp .xbtn{background:var(--orsi-orange);color:#fff;border:0;border-radius:10px;padding:11px 22px;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit}
.orsi-lp .xring{--p:0;width:104px;height:104px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(#4E9A2A calc(var(--p)*1%),rgba(255,255,255,.18) 0);position:relative}
.orsi-lp .xring::before{content:"";position:absolute;inset:10px;background:#0e2c4d;border-radius:50%}
.orsi-lp .xring b{position:relative;font-size:24px}
.orsi-lp .xverdict{font-size:14.5px;font-weight:600}
.orsi-lp .wrap{max-width:820px;margin:0 auto;padding:22px 20px 60px}
.orsi-lp .card{position:relative;border-radius:22px;overflow:hidden;color:#fff;
    background:radial-gradient(120% 130% at 85% 8%,rgba(236,102,7,.32),transparent 45%),radial-gradient(120% 130% at 8% 96%,rgba(150,193,30,.28),transparent 48%),linear-gradient(135deg,#08284b,#123a63 55%,#0d2c52);
    box-shadow:0 20px 50px rgba(15,32,60,.28);padding:44px 40px 40px}
.orsi-lp .card>*{position:relative}
.orsi-lp .pill i{width:8px;height:8px;border-radius:50%;background:var(--orsi-orange);box-shadow:0 0 0 0 rgba(236,102,7,.6);animation:orsi-pulse 1.8s infinite}
.orsi-lp h1 .accent{color:#ffb46b}
.orsi-lp .bar{height:12px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;margin:0 0 8px}
.orsi-lp .bar i{display:block;height:100%;width:15%;border-radius:99px;background:linear-gradient(90deg,var(--orsi-orange),#ffb46b);position:relative;background-size:34px 34px;animation:orsi-stripe 1.1s linear infinite;background-image:linear-gradient(45deg,rgba(255,255,255,.22) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.22) 75%,transparent 75%,transparent),linear-gradient(90deg,var(--orsi-orange),#ffb46b)}
.orsi-lp .barrow{display:flex;justify-content:space-between;font-size:12.5px;color:#a9c7e8;margin-bottom:30px}
.orsi-lp .cd-label{font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#ffd39a;margin:0 0 12px}
.orsi-lp .cd{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 6px}
.orsi-lp .cd .u{flex:1 1 0;min-width:74px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:16px 10px;text-align:center}
.orsi-lp .cd .n{font-size:38px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.orsi-lp .cd .l{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#9fbfe0;margin-top:8px}
.orsi-lp .whats{margin:32px 0 0;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.14)}
.orsi-lp .whats h2{font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#cfe0f2;margin:0 0 14px}
.orsi-lp .feats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.orsi-lp .feats li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:#e7f0fa}
.orsi-lp .feats li svg{flex:0 0 auto;width:20px;height:20px;margin-top:1px;color:var(--orsi-green)}
.orsi-lp .foot{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:13.5px;color:#bcd6ef}
.orsi-lp .foot svg{width:17px;height:17px;color:#ffb46b;flex:0 0 auto}
.orsi-lp .sign{text-align:center;font-size:12.5px;color:var(--muted);margin-top:20px}
.orsi-lp .sign b{color:var(--orsi-deep)}

/* --- Unit A.1  (scope .orsi-a1) --- */
.orsi-lp.orsi-a1{margin:0}
.orsi-lp.orsi-a1{font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;color:var(--orsi-ink);background:var(--orsi-surface);line-height:1.65;-webkit-font-smoothing:antialiased}
.orsi-lp.orsi-a1 .page{max-width:860px;margin:0 auto;padding:26px 22px 80px}
.orsi-lp.orsi-a1 .breadcrumb{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:20px}
.orsi-lp.orsi-a1 .hero{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/6;margin-bottom:20px;background:radial-gradient(120% 140% at 88% 10%,rgba(236,102,7,.16),transparent 42%),radial-gradient(120% 140% at 6% 92%,rgba(150,193,30,.20),transparent 45%),linear-gradient(120deg,#E9F2FA,#EDE9F7);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.orsi-lp.orsi-a1 .hero .cap{font-size:12.5px}
.orsi-lp.orsi-a1 .badge{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:999px;line-height:1}
.orsi-lp.orsi-a1 h1{font-size:30px;font-weight:600;margin:.05em 0 .2em;letter-spacing:-.3px;line-height:1.2}
.orsi-lp.orsi-a1 .lede{font-size:17px;color:var(--muted);margin:0 0 6px;max-width:62ch}
.orsi-lp.orsi-a1 .eyebrow{font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--orsi-blue);margin:0 0 12px;display:flex;align-items:center;gap:9px}
.orsi-lp.orsi-a1 .eyebrow::before{content:"";width:20px;height:2px;background:var(--orsi-orange);border-radius:2px}
.orsi-lp.orsi-a1 section.s h2{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--orsi-ink);letter-spacing:-.2px}
.orsi-lp.orsi-a1 .objectives li::before{content:"";flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--orsi-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat}
.orsi-lp.orsi-a1 .slot-note{font-size:12.5px;color:var(--muted);margin-top:10px}
.orsi-lp.orsi-a1 .quiz-wrap{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orsi-orange);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow)}
.orsi-lp.orsi-a1 .opt{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14.5px;cursor:pointer;transition:.12s;background:#fff}
.orsi-lp.orsi-a1 .opt input{accent-color:var(--orsi-blue);width:16px;height:16px;flex:0 0 auto}
.orsi-lp.orsi-a1 .disclaimer{font-size:12px;color:var(--muted);text-align:center;margin-top:22px}
.orsi-lp.orsi-a1 .quiz-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow)}
.orsi-lp.orsi-a1 .opt{display:flex;gap:11px;align-items:center;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;font-size:14.5px;cursor:pointer;transition:.14s;background:#fff}
.orsi-lp.orsi-a1 .opt input{display:none}
/* --- Unit A.2  (scope .orsi-a2) --- */
.orsi-lp.orsi-a2{margin:0}
.orsi-lp.orsi-a2{font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;color:var(--orsi-ink);background:var(--orsi-surface);line-height:1.65;-webkit-font-smoothing:antialiased}
.orsi-lp.orsi-a2 .page{max-width:860px;margin:0 auto;padding:26px 22px 80px}
.orsi-lp.orsi-a2 .breadcrumb{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:20px}
.orsi-lp.orsi-a2 .hero{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/6;margin-bottom:20px;background:radial-gradient(120% 140% at 88% 10%,rgba(236,102,7,.16),transparent 42%),radial-gradient(120% 140% at 6% 92%,rgba(150,193,30,.20),transparent 45%),linear-gradient(120deg,#E9F2FA,#EDE9F7);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.orsi-lp.orsi-a2 .hero .cap{font-size:12.5px}
.orsi-lp.orsi-a2 .badge{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:999px;line-height:1}
.orsi-lp.orsi-a2 h1{font-size:30px;font-weight:600;margin:.05em 0 .2em;letter-spacing:-.3px;line-height:1.2}
.orsi-lp.orsi-a2 .lede{font-size:17px;color:var(--muted);margin:0 0 6px;max-width:62ch}
.orsi-lp.orsi-a2 .eyebrow{font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--orsi-blue);margin:0 0 12px;display:flex;align-items:center;gap:9px}
.orsi-lp.orsi-a2 .eyebrow::before{content:"";width:20px;height:2px;background:var(--orsi-orange);border-radius:2px}
.orsi-lp.orsi-a2 section.s h2{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--orsi-ink);letter-spacing:-.2px}
.orsi-lp.orsi-a2 .objectives li::before{content:"";flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--orsi-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat}
.orsi-lp.orsi-a2 .slot-note{font-size:12.5px;color:var(--muted);margin-top:10px}
.orsi-lp.orsi-a2 .quiz-wrap{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orsi-orange);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow)}
.orsi-lp.orsi-a2 .opt{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14.5px;cursor:pointer;transition:.12s;background:#fff}
.orsi-lp.orsi-a2 .opt input{accent-color:var(--orsi-blue);width:16px;height:16px;flex:0 0 auto}
.orsi-lp.orsi-a2 .disclaimer{font-size:12px;color:var(--muted);text-align:center;margin-top:22px}
.orsi-lp.orsi-a2 .quiz-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow)}
.orsi-lp.orsi-a2 .opt{display:flex;gap:11px;align-items:center;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;font-size:14.5px;cursor:pointer;transition:.14s;background:#fff}
.orsi-lp.orsi-a2 .opt input{display:none}
/* --- Unit A.3  (scope .orsi-a3) --- */
.orsi-lp.orsi-a3{margin:0}
.orsi-lp.orsi-a3{font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;color:var(--orsi-ink);background:var(--orsi-surface);line-height:1.65;-webkit-font-smoothing:antialiased;}
.orsi-lp.orsi-a3 .page{max-width:860px;margin:0 auto;padding:26px 22px 80px}
.orsi-lp.orsi-a3 .breadcrumb{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:20px;}
.orsi-lp.orsi-a3 .hero{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/6;margin-bottom:20px;
    background:
      radial-gradient(120% 140% at 88% 10%, rgba(236,102,7,.16), transparent 42%),
      radial-gradient(120% 140% at 6% 92%, rgba(150,193,30,.20), transparent 45%),
      linear-gradient(120deg, #E9F2FA, #EDE9F7);
    border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
.orsi-lp.orsi-a3 .hero .cap{font-size:12.5px;letter-spacing:.3px}
.orsi-lp.orsi-a3 .badge{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:999px;line-height:1;}
.orsi-lp.orsi-a3 h1{font-size:30px;font-weight:600;margin:.05em 0 .2em;letter-spacing:-.3px;line-height:1.2}
.orsi-lp.orsi-a3 .lede{font-size:17px;color:var(--muted);margin:0 0 6px;max-width:60ch}
.orsi-lp.orsi-a3 .eyebrow{font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--orsi-blue);margin:0 0 12px;display:flex;align-items:center;gap:9px}
.orsi-lp.orsi-a3 .eyebrow::before{content:"";width:20px;height:2px;background:var(--orsi-orange);border-radius:2px}
.orsi-lp.orsi-a3 section.s h2{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--orsi-ink);letter-spacing:-.2px}
.orsi-lp.orsi-a3 .objectives li::before{content:"";flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:50%;
    background:var(--orsi-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;}
.orsi-lp.orsi-a3 .cats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.orsi-lp.orsi-a3 .cat .t{font-weight:600;font-size:15.5px;margin:4px 0 6px;color:var(--orsi-deep)}
.orsi-lp.orsi-a3 .pill{font-size:13px;font-weight:600;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:#fff}
.orsi-lp.orsi-a3 .callout{border:1px solid #F3D9A8;background:#FFF8F1;border-radius:14px;padding:18px 20px;margin-top:8px}
.orsi-lp.orsi-a3 .video-slot{position:relative;border-radius:12px;overflow:hidden;border:1px dashed #B9CFE3;background:linear-gradient(135deg,#0b2440,#123a63);aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;text-align:center;padding:20px;}
.orsi-lp.orsi-a3 .video-slot .play{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center}
.orsi-lp.orsi-a3 .video-slot .play::before{content:"";border-left:19px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:4px}
.orsi-lp.orsi-a3 .slot-note{font-size:12.5px;color:var(--muted);margin-top:10px}
.orsi-lp.orsi-a3 .quiz-wrap{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orsi-orange);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow)}
.orsi-lp.orsi-a3 .opt{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14.5px;cursor:pointer;transition:.12s;background:#fff}
.orsi-lp.orsi-a3 .opt input{accent-color:var(--orsi-blue);width:16px;height:16px;flex:0 0 auto}
.orsi-lp.orsi-a3 .disclaimer{font-size:12px;color:var(--muted);text-align:center;margin-top:22px}
.orsi-lp.orsi-a3 .quiz-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow)}
.orsi-lp.orsi-a3 .opt{display:flex;gap:11px;align-items:center;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;font-size:14.5px;cursor:pointer;transition:.14s;background:#fff}
.orsi-lp.orsi-a3 .opt input{display:none}
/* --- Unit A.4  (scope .orsi-a4) --- */
.orsi-lp.orsi-a4{margin:0}
.orsi-lp.orsi-a4{font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;color:var(--orsi-ink);background:var(--orsi-surface);line-height:1.65;-webkit-font-smoothing:antialiased}
.orsi-lp.orsi-a4 .page{max-width:860px;margin:0 auto;padding:26px 22px 80px}
.orsi-lp.orsi-a4 .breadcrumb{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:20px}
.orsi-lp.orsi-a4 .hero{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/6;margin-bottom:20px;background:radial-gradient(120% 140% at 88% 10%,rgba(236,102,7,.16),transparent 42%),radial-gradient(120% 140% at 6% 92%,rgba(150,193,30,.20),transparent 45%),linear-gradient(120deg,#E9F2FA,#EDE9F7);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.orsi-lp.orsi-a4 .hero .cap{font-size:12.5px}
.orsi-lp.orsi-a4 .badge{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:999px;line-height:1}
.orsi-lp.orsi-a4 h1{font-size:30px;font-weight:600;margin:.05em 0 .2em;letter-spacing:-.3px;line-height:1.2}
.orsi-lp.orsi-a4 .lede{font-size:17px;color:var(--muted);margin:0 0 6px;max-width:62ch}
.orsi-lp.orsi-a4 .eyebrow{font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--orsi-blue);margin:0 0 12px;display:flex;align-items:center;gap:9px}
.orsi-lp.orsi-a4 .eyebrow::before{content:"";width:20px;height:2px;background:var(--orsi-orange);border-radius:2px}
.orsi-lp.orsi-a4 section.s h2{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--orsi-ink);letter-spacing:-.2px}
.orsi-lp.orsi-a4 .objectives li::before{content:"";flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--orsi-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat}
.orsi-lp.orsi-a4 .cats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.orsi-lp.orsi-a4 .cat .t{font-weight:600;font-size:15px;margin:0 0 4px;color:var(--orsi-deep)}
.orsi-lp.orsi-a4 .callout{border-left:3px solid var(--orsi-orange);background:#FFF8F1;border-radius:0 10px 10px 0;padding:14px 18px;margin-top:12px;font-size:15px}
.orsi-lp.orsi-a4 .video-slot{position:relative;border-radius:12px;overflow:hidden;border:1px dashed #B9CFE3;background:linear-gradient(135deg,#0b2440,#123a63);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:#fff;padding:14px}
.orsi-lp.orsi-a4 .video-slot .play{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center}
.orsi-lp.orsi-a4 .video-slot .play::before{content:"";border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.orsi-lp.orsi-a4 .slot-note{font-size:12.5px;color:var(--muted);margin-top:10px}
.orsi-lp.orsi-a4 .quiz-wrap{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orsi-orange);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow)}
.orsi-lp.orsi-a4 .opt{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14.5px;cursor:pointer;transition:.12s;background:#fff}
.orsi-lp.orsi-a4 .opt input{accent-color:var(--orsi-blue);width:16px;height:16px;flex:0 0 auto}
.orsi-lp.orsi-a4 .disclaimer{font-size:12px;color:var(--muted);text-align:center;margin-top:22px}
.orsi-lp.orsi-a4 .quiz-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow)}
.orsi-lp.orsi-a4 .opt{display:flex;gap:11px;align-items:center;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;font-size:14.5px;cursor:pointer;transition:.14s;background:#fff}
.orsi-lp.orsi-a4 .opt input{display:none}
/* --- Program overview  (scope .orsi-ov) --- */
.orsi-lp.orsi-ov{margin:0}
.orsi-lp.orsi-ov{font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;color:var(--orsi-ink);background:var(--orsi-surface);line-height:1.6;-webkit-font-smoothing:antialiased;}
.orsi-lp.orsi-ov .page{max-width:1040px;margin:0 auto;padding:26px 22px 80px}
.orsi-lp.orsi-ov .banner{background:linear-gradient(120deg,var(--orsi-deep),var(--orsi-blue));color:#fff;border-radius:var(--radius);
    padding:30px 34px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.orsi-lp.orsi-ov .banner .spec{font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;opacity:.9;color:#fff!important}
.orsi-lp.orsi-ov .banner h1{font-size:30px;font-weight:600;margin:8px 0 14px;letter-spacing:-.3px;position:relative;z-index:1;max-width:80%;color:#fff!important}
.orsi-lp.orsi-ov .chip{font-size:11.5px;font-weight:600;letter-spacing:.3px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
    border-radius:999px;padding:5px 12px}
.orsi-lp.orsi-ov .eyebrow{font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--orsi-blue);margin:0 0 8px}
.orsi-lp.orsi-ov .grid{display:grid;gap:14px}
.orsi-lp.orsi-ov .ftag{font-size:10.5px;font-weight:700;letter-spacing:.3px;border-radius:6px;padding:3px 8px;color:#fff}
.orsi-lp.orsi-ov .ftag--pdf{background:#B0202B}
.orsi-lp.orsi-ov .ftag--mp4{background:#5B3F9E}
.orsi-lp.orsi-ov .ftag--doc{background:#1E5FA8}
.orsi-lp.orsi-ov .disclaimer{font-size:12px;color:var(--muted);text-align:center;margin-top:22px}
/* --- Library  (scope .orsi-lib) --- */
.orsi-lp.orsi-lib{font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;color:var(--orsi-ink);background:var(--orsi-surface);line-height:1.6;-webkit-font-smoothing:antialiased;margin:0}
.orsi-lp.orsi-lib .page{max-width:1000px;margin:0 auto;padding:26px 22px 80px}
.orsi-lp.orsi-lib .breadcrumb{font-size:13px;color:var(--muted);margin-bottom:16px}
.orsi-lp.orsi-lib .banner{background:linear-gradient(120deg,var(--orsi-deep),var(--orsi-blue));border-radius:var(--radius);padding:26px 30px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.orsi-lp.orsi-lib .banner .spec{font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:#fff!important;opacity:.9}
.orsi-lp.orsi-lib .banner h1{font-size:27px;font-weight:600;margin:8px 0 12px;color:#fff!important}
.orsi-lp.orsi-lib .chip{font-size:11.5px;font-weight:600;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 12px;color:#fff!important}
.orsi-lp.orsi-lib .ftag{flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.4px;border-radius:7px;padding:4px 8px;color:#fff}
.orsi-lp.orsi-lib .ftag--pdf{background:#B5121B}
.orsi-lp.orsi-lib .ftag--mp4{background:#7B4F9E}
.orsi-lp.orsi-lib .ftag--doc{background:#1B5EAF}
.orsi-lp.orsi-lib .disclaimer{font-size:12px;color:var(--muted);text-align:center;margin-top:26px}
/* --- B.1 preview (dark)  (scope .orsi-b1) --- */
.orsi-lp.orsi-b1{font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;color:var(--orsi-ink);background:var(--orsi-surface);line-height:1.65;-webkit-font-smoothing:antialiased;margin:0}
.orsi-lp.orsi-b1 .page{max-width:860px;margin:0 auto;padding:26px 22px 80px}
.orsi-lp.orsi-b1 .badge{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:999px;line-height:1}
.orsi-lp.orsi-b1 .eyebrow{font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--orsi-blue);margin:0 0 12px;display:flex;align-items:center;gap:9px}
.orsi-lp.orsi-b1 .eyebrow::before{content:"";width:20px;height:2px;background:var(--orsi-orange);border-radius:2px}
.orsi-lp.orsi-b1 h1{font-size:30px;font-weight:600;margin:.05em 0 .2em;letter-spacing:-.3px;line-height:1.2}
.orsi-lp.orsi-b1 .lede{font-size:17px;color:var(--muted);margin:0 0 6px;max-width:64ch}
.orsi-lp.orsi-b1 section.s h2{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--orsi-ink)}
.orsi-lp.orsi-b1 .slot-note{font-size:12.5px;color:var(--muted);margin-top:12px}
/* --- Under construction (dark)  (scope .orsi-uc) --- */
.orsi-lp.orsi-uc{font-family:'Poppins','Trebuchet MS',system-ui,sans-serif;color:var(--orsi-ink);background:var(--orsi-surface);line-height:1.6;-webkit-font-smoothing:antialiased;margin:0}
.orsi-lp.orsi-uc .grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:34px 34px;mask:radial-gradient(120% 90% at 50% 0%,#000,transparent 78%);pointer-events:none}
.orsi-lp.orsi-uc .eyebrow{font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#ffd39a;display:flex;align-items:center;gap:9px;margin:0 0 18px}
.orsi-lp.orsi-uc .eyebrow::before{content:"";width:22px;height:2px;background:var(--orsi-orange);border-radius:2px}
.orsi-lp.orsi-uc .pill{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 13px;margin-bottom:22px}
.orsi-lp.orsi-uc h1{font-size:36px;line-height:1.14;font-weight:600;letter-spacing:-.5px;margin:0 0 12px}
.orsi-lp.orsi-uc .lede{font-size:17px;color:#cfe0f2;margin:0 0 28px;max-width:60ch}

/* --- responsive / media queries --- */
@media(max-width:680px){.orsi-lp .journey{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.orsi-lp .ministicky__pos{display:none}}
@media(max-width:680px){.orsi-lp .evidence{grid-template-columns:1fr}}
@media(max-width:640px){.orsi-lp .cats{grid-template-columns:1fr}}
@media(max-width:640px){.orsi-lp .callout .col2{grid-template-columns:1fr}}
@media(max-width:680px){.orsi-lp .cats{grid-template-columns:1fr}}
@media(max-width:680px){.orsi-lp .vgrid{grid-template-columns:1fr}}
@media(max-width:760px){.orsi-lp .split{grid-template-columns:1fr}}
@media(max-width:900px){.orsi-lp .grid--3,.orsi-lp .grid--4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.orsi-lp .grid--3,.orsi-lp .grid--4{grid-template-columns:1fr}}
@media(max-width:600px){.orsi-lp .tips{grid-template-columns:1fr}}
@media(max-width:640px){.orsi-lp .banner__in{flex-direction:column;align-items:flex-start}.orsi-lp .banner__ill{width:100%}}
@media(max-width:680px){.orsi-lp .assets{grid-template-columns:1fr}}
@media(max-width:560px){.orsi-lp .feats{grid-template-columns:1fr}.orsi-lp h1{font-size:29px}.orsi-lp .card{padding:32px 22px}}

/* ------------------------------------------------------------
   ONTBREKENDE KEYFRAMES  (werden aangeroepen maar niet gedefinieerd)
   .orsi-lp .pill i        gebruikt animation:orsi-pulse
   .orsi-lp .bar i         gebruikt animation:orsi-stripe
   .orsi-lp .quiz-wrap .q  gebruikt animation:orsi-kcIn
   ------------------------------------------------------------ */
@keyframes orsi-pulse{0%{box-shadow:0 0 0 0 rgba(236,102,7,.6)}70%{box-shadow:0 0 0 9px rgba(236,102,7,0)}100%{box-shadow:0 0 0 0 rgba(236,102,7,0)}}
@keyframes orsi-stripe{from{background-position:0 0}to{background-position:34px 0}}
@keyframes orsi-kcIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}


/* ############################################################
   BLOCK FRAMEWORK v3
   ------------------------------------------------------------
   Activeer per pagina door de wrapper-div deze klassen te geven:
       orsi-lp  orsi-blk  orsi-a2

   Alles hieronder is gescoped op .orsi-lp.orsi-blk en raakt dus
   NOOIT de bestaande pagina's die enkel .orsi-lp gebruiken.
   Werkt samen met de blok-engine (JS) in de pagina zelf.

   Componenten: .blk (genummerde blokken, Viewed/Completed),
   .odi (Dr. Odi tip), .vstage en .vposter (HHH-video met poster),
   .ctabs en .cpane (clip-tabs), .car (stap-carrousel),
   .ord en .oc (sorteervraag), .rev en .rc (onthul-kaarten),
   .kcc (knowledge-check carrousel), .fin (afsluiting).
   ############################################################ */

.orsi-lp.orsi-blk {
        /* alias naar de bestaande skin-tokens: een bron van waarheid */
        --blue: var(--orsi-blue);
        --deep: var(--orsi-deep);
        --orange: var(--orsi-orange);
        --ink: var(--orsi-ink);
        --surface: var(--orsi-surface);
        --green: #4E9A2A;
        --muted: #5C6A82;
        --line: #DCE5F0
    }

    .orsi-lp.orsi-blk * {
        box-sizing: border-box
    }

    .orsi-lp.orsi-blk {
        font-family: 'Poppins', 'Trebuchet MS', system-ui, sans-serif;
        color: var(--ink);
        background: var(--surface);
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        margin: 0
    }

    .orsi-lp.orsi-blk .wrap {
        max-width: 880px;
        margin: 0 auto;
        padding: 20px 22px 80px
    }

    .orsi-lp.orsi-blk .crumb {
        font-size: 12.5px;
        color: var(--muted);
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 16px
    }

    .orsi-lp.orsi-blk .crumb b {
        color: var(--deep)
    }/* --- unit head (sticky nav + progress) --- */

    .orsi-lp.orsi-blk .uhead {
        position: sticky;
        top: 8px;
        z-index: 30;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 16px 18px;
        box-shadow: 0 8px 26px rgba(27, 42, 74, .08);
        margin-bottom: 20px
    }

    .orsi-lp.orsi-blk .uback {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 13.5px;
        font-weight: 600;
        color: var(--muted);
        text-decoration: none;
        margin-bottom: 13px
    }

    .orsi-lp.orsi-blk .uback svg {
        width: 17px;
        height:17px
    }

    .orsi-lp.orsi-blk .uback:hover {
        color: var(--blue)
    }

    .orsi-lp.orsi-blk .unav {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 10px
    }

    .orsi-lp.orsi-blk .un {
        display: flex;
        align-items: center;
        gap: 10px;
        border: 1px solid var(--line);
        border-radius: 11px;
        padding: 10px 12px;
        text-decoration: none;
        background: #fff
    }

    .orsi-lp.orsi-blk .un .num {
        flex: 0 0 26px;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        border: 2px solid #cdd7e5;
        color: #9aa3b2;
        font-weight: 700;
        font-size: 12.5px;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .orsi-lp.orsi-blk .un .lb {
        min-width:0
    }

    .orsi-lp.orsi-blk .un .c {
        font-size: 14px;
        font-weight: 700;
        color: var(--ink);
        line-height: 1.1
    }

    .orsi-lp.orsi-blk .un .t {
        font-size: 11.5px;
        color: var(--muted);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .orsi-lp.orsi-blk .un.done .num {
        background: var(--blue);
        border-color: var(--blue);
        color: #fff
    }

    .orsi-lp.orsi-blk .un.cur {
        border-color: var(--orange);
        background: #FFF6EE
    }

    .orsi-lp.orsi-blk .un.cur .num {
        border-color: var(--orange);
        color: var(--orange)
    }

    .orsi-lp.orsi-blk .un.cur .c {
        color: var(--orange)
    }

    .orsi-lp.orsi-blk .un.lock {
        opacity: .75
    }

    .orsi-lp.orsi-blk .uprog {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: 14px
    }

    .orsi-lp.orsi-blk .uprog .lab {
        font-size: 12.5px;
        font-weight: 700;
        color: var(--deep);
        white-space: nowrap
    }

    .orsi-lp.orsi-blk .uprog .bar {
        flex: 1;
        height: 8px;
        border-radius: 99px;
        background: #e6ebf2;
        overflow: hidden
    }

    .orsi-lp.orsi-blk .uprog .bar i {
        display: block;
        height: 100%;
        width: 25%;
        border-radius: 99px;
        background: linear-gradient(90deg, var(--blue), var(--deep))
    }

    .orsi-lp.orsi-blk .uprog .kc {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        font-size: 13px;
        font-weight: 600;
        color: var(--ink);
        white-space: nowrap
    }

    .orsi-lp.orsi-blk .uprog .kc svg {
        width: 16px;
        height: 16px;
        color: var(--blue)
    }

    /* === Compacte unit-banner op smartphone (na de basisregels zodat het wint) === */
    @media (max-width: 640px) {
        .orsi-lp.orsi-blk .unav { display: block !important }
        .orsi-lp.orsi-blk .un { display: none !important }
        .orsi-lp.orsi-blk .un.cur { display: flex !important; margin: 0 }
        .orsi-lp.orsi-blk .uback { padding-bottom: 6px }
        .orsi-lp.orsi-blk .uprog { flex-wrap: wrap; row-gap: 8px }
    }

    .orsi-lp.orsi-blk .uprog .kc b {
        color: var(--deep)
    }

    .orsi-lp.orsi-blk .blkbtn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 11.5px;
        font-weight: 600;
        color: var(--deep);
        background: #eef2f8;
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 5px 10px;
        cursor: pointer;
        font-family: inherit;
        white-space: nowrap
    }

    .orsi-lp.orsi-blk .blkbtn.on {
        background: var(--deep);
        color: #fff;
        border-color: var(--deep)
    }/* hero */

    .orsi-lp.orsi-blk .hero {
        position: relative;
        border-radius: 16px;
        overflow: hidden;
        aspect-ratio: 16/6;
        margin-bottom: 18px;
        border: 1px solid var(--line);
        background: radial-gradient(120% 140% at 88% 10%, rgba(236, 102, 7, .16), transparent 42%), radial-gradient(120% 140% at 6% 92%, rgba(1, 125, 197, .20), transparent 45%), linear-gradient(120deg, #0b2440, #123a63);
        display: flex;
        align-items: flex-end;
        padding: 20px 24px
    }

    .orsi-lp.orsi-blk .hero .tag {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .4px;
        text-transform: uppercase;
        color: #ffd39a;
        background: rgba(255, 255, 255, .1);
        border: 1px solid rgba(255, 255, 255, .25);
        border-radius: 999px;
        padding: 5px 12px
    }

    .orsi-lp.orsi-blk .hero__img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .orsi-lp.orsi-blk .hero::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(6, 17, 33, .55), transparent 55%);
        pointer-events: none
    }

    .orsi-lp.orsi-blk .hero .tag {
        position: relative;
        z-index: 2
    }

    .orsi-lp.orsi-blk .eyebrow {
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 1.3px;
        text-transform: uppercase;
        color: var(--blue);
        margin: 4px 0 10px;
        display: flex;
        align-items: center;
        gap: 9px
    }

    .orsi-lp.orsi-blk .eyebrow::before {
        content: "";
        width: 20px;
        height: 2px;
        background: var(--orange);
        border-radius: 2px
    }

    .orsi-lp.orsi-blk h1 {
        font-size: 30px;
        font-weight: 600;
        letter-spacing: -.3px;
        margin: .05em 0 .2em;
        line-height: 1.18
    }

    .orsi-lp.orsi-blk .lede {
        font-size: 17px;
        color: var(--muted);
        margin: 0 0 6px;
        max-width: 64ch
    }/* LO banner */

    .orsi-lp.orsi-blk .lobar {
        display: none;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
        background: #eef3fa;
        border: 1px solid #d8e4f2;
        border-radius: 12px;
        padding: 12px 16px;
        margin: 18px 0 4px
    }

    .orsi-lp.orsi-blk .lobar .ico {
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
        border-radius: 8px;
        background: var(--deep);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 15px
    }

    .orsi-lp.orsi-blk .lobar b {
        font-size:14px
    }

    .orsi-lp.orsi-blk .lobar span {
        font-size: 12.5px;
        color: var(--muted)
    }

    .orsi-lp.orsi-blk .lobar .code {
        margin-left: auto;
        font: 600 11px/1 ui-monospace, Menlo, monospace;
        color: var(--deep);
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 6px;
        padding: 5px 9px;
        display: none
    }

    .orsi-lp.orsi-blk.showblk .lobar {
        display: flex
    }

    .orsi-lp.orsi-blk.showblk .lobar .code {
        display: inline-block
    }/* block */

    .orsi-lp.orsi-blk .blk {
        position: relative;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 22px 24px;
        margin: 16px 0;
        box-shadow: 0 1px 2px rgba(27, 42, 74, .04), 0 10px 26px rgba(27, 42, 74, .045)
    }

    /* --- blok-volgnummer + status --- */
    .orsi-lp.orsi-blk .blk__n{position:absolute;left:-15px;top:24px;width:30px;height:30px;border-radius:50%;
        background:#fff;border:1px solid var(--line);color:var(--muted);
        font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;
        box-shadow:0 2px 8px rgba(27,42,74,.08);transition:all .25s ease;z-index:1}
    .orsi-lp.orsi-blk .blk__n svg{width:14px;height:14px;display:none}
    .orsi-lp.orsi-blk .blk.cur{border-color:#f6cfa8;box-shadow:0 1px 2px rgba(27,42,74,.04),0 12px 30px rgba(236,102,7,.10)}
    .orsi-lp.orsi-blk .blk.cur .blk__n{background:var(--orange);border-color:var(--orange);color:#fff;
        box-shadow:0 0 0 5px rgba(236,102,7,.14)}
    .orsi-lp.orsi-blk .blk.done .blk__n{background:#EAF3E1;border-color:#CDE3B4;color:#3f7a10}
    .orsi-lp.orsi-blk .blk.done .blk__n span{display:none}
    .orsi-lp.orsi-blk .blk.done .blk__n svg{display:block;stroke:#3f7a10}
    .orsi-lp.orsi-blk .blk.done{opacity:.97}

    /* --- Dr. Odi tip --- */
    .orsi-lp.orsi-blk .odi{display:flex;align-items:center;gap:18px;margin:16px 0;padding:16px 20px 16px 16px;
        background:linear-gradient(180deg,#FBFDFF,#F2F6FB);border:1px solid var(--line);
        border-left:4px solid var(--orange);border-radius:14px}
    .orsi-lp.orsi-blk .odi__img{width:104px;height:104px;flex:0 0 104px;border-radius:14px;
        background-color:#fff;border:1px solid var(--line);
        background-image:url("https://orsi.digital/Portals/0/Images/Illustrations/drOdi_tip_AI.jpg");
        background-repeat:no-repeat;
        background-size:384% 256%;
        background-position:52.8% 3.2%;}
    .orsi-lp.orsi-blk .odi__eb{font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;
        color:var(--orange);margin:0 0 5px}
    .orsi-lp.orsi-blk .odi p:last-child{margin:0;font-size:14.5px;line-height:1.55;color:#3d4a60}
    .orsi-lp.orsi-blk .odi b{color:var(--ink)}

    /* --- Character callouts (Dr. Odi + Dr. Niva, multi-pose) --- */
    /* Uitbreidbaar systeem. Zolang de echte illustraties nog niet geleverd zijn,
       toont .char__img een neutrale placeholder met de pose-naam.
       Per type een eigen accentkleur (tip=orange, warning=magenta-ish, welcome/summary=blue). */
    .orsi-lp.orsi-blk .char{display:flex;align-items:center;gap:18px;margin:16px 0;padding:16px 20px 16px 16px;
        background:linear-gradient(180deg,#FBFDFF,#F2F6FB);border:1px solid var(--line);
        border-left:4px solid var(--orsi-blue);border-radius:14px}
    .orsi-lp.orsi-blk .char__img{width:104px;height:104px;flex:0 0 104px;border-radius:14px;
        background-color:#fff;border:1px solid var(--line);position:relative;overflow:hidden;
        display:flex;align-items:center;justify-content:center}
    /* placeholder-inhoud: personage-initiaal + pose-label, tot echte beelden er zijn */
    .orsi-lp.orsi-blk .char__ph{display:flex;flex-direction:column;align-items:center;justify-content:center;
        gap:3px;text-align:center;padding:6px;width:100%;height:100%;
        background:repeating-linear-gradient(135deg,#F2F6FB,#F2F6FB 6px,#eaf1fa 6px,#eaf1fa 12px)}
    .orsi-lp.orsi-blk .char__who{font-size:12px;font-weight:800;letter-spacing:.4px;color:var(--orsi-deep);line-height:1}
    .orsi-lp.orsi-blk .char__pose{font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
        color:#8a93a6;line-height:1.1}
    .orsi-lp.orsi-blk .char__body{flex:1}
    .orsi-lp.orsi-blk .char__eb{font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;
        color:var(--orsi-blue);margin:0 0 5px}
    .orsi-lp.orsi-blk .char p:last-child{margin:0;font-size:14.5px;line-height:1.55;color:#3d4a60}
    .orsi-lp.orsi-blk .char b{color:var(--ink)}
    /* type-varianten: accentkleur van rand + eyebrow */
    .orsi-lp.orsi-blk .char.is-tip{border-left-color:var(--orange)}
    .orsi-lp.orsi-blk .char.is-tip .char__eb{color:var(--orange)}
    .orsi-lp.orsi-blk .char.is-warning{border-left-color:#B5121B}
    .orsi-lp.orsi-blk .char.is-warning .char__eb{color:#B5121B}
    .orsi-lp.orsi-blk .char.is-welcome{border-left-color:var(--orsi-blue)}
    .orsi-lp.orsi-blk .char.is-summary{border-left-color:var(--orsi-green)}
    .orsi-lp.orsi-blk .char.is-summary .char__eb{color:#5f8a12}
    .orsi-lp.orsi-blk .char.is-question{border-left-color:var(--orsi-deep)}
    .orsi-lp.orsi-blk .char.is-question .char__eb{color:var(--orsi-deep)}
    .orsi-lp.orsi-blk .char.is-welldone{border-left-color:var(--orsi-green)}
    .orsi-lp.orsi-blk .char.is-welldone .char__eb{color:#5f8a12}

    /* --- Character illustrations: 16 losse bestanden (in te vullen zodra de URLs er zijn) ---
       Gebruik: <aside class="char is-TYPE char--WHO pose--POSE"> ... </aside>
       Zodra een URL bekend is, zet je hier de background-image en verberg je de placeholder
       met .char--WHO.pose--POSE .char__ph{display:none}.
       WHO = odi | niki   POSE = welcome tip warning thinking summary question welldone goodbye
       Voorbeeld (straks invullen):
         .orsi-lp.orsi-blk .char--odi.pose--welcome .char__img{
             background-image:url("https://orsi.digital/Portals/0/Images/Illustrations/Characters/odi-welcome.png");
             background-size:cover;background-position:center}
         .orsi-lp.orsi-blk .char--odi.pose--welcome .char__ph{display:none}
    */



    @media (max-width:760px){
        .orsi-lp.orsi-blk .blk__n{left:12px;top:-14px}
        .orsi-lp.orsi-blk .odi{flex-direction:column;text-align:center;gap:12px;padding:18px}
        .orsi-lp.orsi-blk .odi__img{width:88px;height:88px;flex:0 0 88px}
        .orsi-lp.orsi-blk .char{flex-direction:column;text-align:center;gap:12px;padding:18px}
        .orsi-lp.orsi-blk .char__img{width:88px;height:88px;flex:0 0 88px}
    }

    .orsi-lp.orsi-blk .blk.done {
        border-color: #CDE3B4
    }

    .orsi-lp.orsi-blk .blk__status {
        position: absolute;
        top: 14px;
        right: 16px;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 10.5px;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: #3f7a10;
        background: #eef6e6;
        border: 1px solid #CDE3B4;
        border-radius: 99px;
        padding: 4px 9px
    }

    .orsi-lp.orsi-blk .blk__status svg {
        width: 12px;
        height: 12px;
        stroke: #3f7a10
    }

    .orsi-lp.orsi-blk .blk__tag {
        display: none;
        align-items: center;
        gap: 8px;
        margin: -4px 0 12px;
        flex-wrap: wrap
    }

    .orsi-lp.orsi-blk.showblk .blk__tag {
        display: flex
    }

    .orsi-lp.orsi-blk .blk__code {
        font: 600 11px/1 ui-monospace, Menlo, monospace;
        color: #fff;
        background: var(--deep);
        border-radius: 6px;
        padding: 5px 9px;
        letter-spacing: .02em
    }

    .orsi-lp.orsi-blk .blk__type {
        font-size: 10.5px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        padding: 4px 9px;
        border-radius: 6px;
        border: 1px solid
    }

    .orsi-lp.orsi-blk .t-richtext {
        color: #5b6b86;
        border-color: #cfdaea;
        background: #f4f7fb
    }

    .orsi-lp.orsi-blk .t-image {
        color: #5B3F9E;
        border-color: #D8CBEE;
        background: #f2edfa
    }

    .orsi-lp.orsi-blk .t-video_questionset {
        color: #B5121B;
        border-color: #f0c3c1;
        background: #fdeeee
    }

    .orsi-lp.orsi-blk .t-hhh_interactive {
        color: #B5121B;
        border-color: #f0c3c1;
        background: #fdeeee
    }

    .orsi-lp.orsi-blk .t-questionset {
        color: #3f7a10;
        border-color: #CDE3B4;
        background: #eef6e6
    }

    .orsi-lp.orsi-blk .blk__meta {
        font-size: 11px;
        color: #9aa3b2;
        font-family: ui-monospace, Menlo, monospace
    }

    .orsi-lp.orsi-blk .eb {
        font-size: 11.5px;
        font-weight: 600;
        letter-spacing: 1.1px;
        text-transform: uppercase;
        color: var(--blue);
        margin: 0 0 8px
    }

    .orsi-lp.orsi-blk .blk h2 {
        font-size: 20px;
        font-weight: 600;
        margin: 2px 0 6px
    }

    .orsi-lp.orsi-blk .blk p {
        font-size: 15.5px;
        margin: 8px 0;
        color: #2b3852
    }

    .orsi-lp.orsi-blk .blk p.q {
        font-weight: 500
    }

    .orsi-lp.orsi-blk .callout {
        border-left: 3px solid var(--orange);
        background: #fff8f1;
        border-radius: 0 10px 10px 0;
        padding: 12px 16px;
        font-size: 14.5px;
        color: #6b4a24;
        margin: 12px 0
    }

    .orsi-lp.orsi-blk .src {
        font-size: 11.5px;
        color: #9aa3b2;
        margin-top: 14px
    }

    .orsi-lp.orsi-blk .pq {
        margin: 14px 0;
        padding: 14px 18px;
        border-left: 3px solid var(--blue);
        background: #f2f7fc;
        border-radius: 0 10px 10px 0;
        font-size: 15px;
        font-style: italic;
        color: #2b3852
    }

    .orsi-lp.orsi-blk .pq cite {
        display: block;
        margin-top: 6px;
        font-style: normal;
        font-size: 12.5px;
        font-weight: 600;
        color: var(--deep)
    }/* MCQ */

    .orsi-lp.orsi-blk .opts {
        display: grid;
        gap: 9px
    }

    .orsi-lp.orsi-blk .opt {
        display: flex;
        align-items: center;
        gap: 11px;
        border: 1px solid var(--line);
        border-radius: 11px;
        padding: 12px 15px;
        font-size: 14.5px;
        cursor: pointer;
        background: #fff;
        text-align: left;
        font-family: inherit;
        transition: .12s;
        color: var(--ink)
    }

    .orsi-lp.orsi-blk .opt:hover {
        border-color: var(--blue);
        background: #F7FBFE
    }

    .orsi-lp.orsi-blk .opt .k {
        flex: 0 0 24px;
        width: 24px;
        height: 24px;
        border-radius: 6px;
        background: #eef2f8;
        color: var(--deep);
        font-weight: 700;
        font-size: 12.5px;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .orsi-lp.orsi-blk .opt.ok {
        border-color: var(--green);
        background:#EAF3E1
    }

    .orsi-lp.orsi-blk .opt.ok .k {
        background: var(--green);
        color: #fff
    }

    .orsi-lp.orsi-blk .opt.no {
        border-color: #c0392b;
        background:#fbeae8
    }

    .orsi-lp.orsi-blk .opt.no .k {
        background: #c0392b;
        color: #fff
    }

    .orsi-lp.orsi-blk .opt:disabled {
        cursor: default
    }

    .orsi-lp.orsi-blk .fb {
        display: none;
        margin-top: 13px;
        font-size: 14px;
        border-radius: 10px;
        padding: 12px 15px;
        line-height: 1.55
    }

    .orsi-lp.orsi-blk .fb.show {
        display: block
    }

    .orsi-lp.orsi-blk .fb.good {
        background: #EAF3E1;
        border: 1px solid #CDE3B4;
        color: #2f5e12
    }

    .orsi-lp.orsi-blk .fb.bad {
        background: #FFF4E2;
        border: 1px solid #F3D9A8;
        color: #8a5a00
    }/* video placeholder */

    /* --- HHH player met klikbare poster-overlay (A.2 BLOCK 3) --- */
    .orsi-lp.orsi-blk .vstage{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0b2440}
    .orsi-lp.orsi-blk .vstage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
    .orsi-lp.orsi-blk .vposter{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
        text-align:center;color:#fff;padding:22px;cursor:pointer;border:0;width:100%;
        background:radial-gradient(120% 130% at 85% 10%, rgba(236,102,7,.22), transparent 46%), linear-gradient(135deg,#0b2440,#123a63);
        transition:opacity .28s ease}
    .orsi-lp.orsi-blk .vposter.hide{opacity:0;pointer-events:none}
    .orsi-lp.orsi-blk .vposter .tagc{position:absolute;top:13px;left:15px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
        color:#ffd39a;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:5px 12px}
    .orsi-lp.orsi-blk .vposter .pbtn{width:66px;height:66px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;
        box-shadow:0 10px 30px rgba(236,102,7,.4);transition:transform .2s ease}
    .orsi-lp.orsi-blk .vposter:hover .pbtn{transform:scale(1.06)}
    .orsi-lp.orsi-blk .vposter .pbtn svg{width:26px;height:26px;fill:#fff;margin-left:4px}
    .orsi-lp.orsi-blk .vposter .t{font-size:19px;font-weight:800;letter-spacing:-.01em}
    .orsi-lp.orsi-blk .vposter .h{font-size:12.5px;color:#b9c9dd}
    .orsi-lp.orsi-blk .vposter .dur{position:absolute;bottom:13px;right:15px;font-size:11px;font-weight:700;color:#dbe6f2;
        background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:4px 8px}
    .orsi-lp.orsi-blk .vafter{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
    .orsi-lp.orsi-blk .vcontinue{border:0;border-radius:10px;background:var(--orange);color:#fff;font-weight:700;font-size:14px;padding:10px 18px;
        cursor:pointer;box-shadow:0 6px 16px rgba(236,102,7,.28)}
    .orsi-lp.orsi-blk .vcontinue:hover{filter:brightness(1.05)}
    .orsi-lp.orsi-blk .vcontinue:disabled{opacity:.5;cursor:default;box-shadow:none}
    .orsi-lp.orsi-blk .vhint{font-size:12.5px;color:#6b7688}

    /* clip tabs (Frego / Gallagher) */
    .orsi-lp.orsi-blk .ctabs{display:flex;gap:8px;margin:0 0 12px}
    .orsi-lp.orsi-blk .ctab{border:1px solid #dbe1ea;background:#fff;border-radius:99px;padding:8px 15px;font-size:13px;font-weight:700;color:#5a6474;cursor:pointer;display:flex;align-items:center;gap:8px}
    .orsi-lp.orsi-blk .ctab .n{width:20px;height:20px;border-radius:50%;background:#eef1f6;color:#6b7688;font-size:11px;display:flex;align-items:center;justify-content:center}
    .orsi-lp.orsi-blk .ctab.on{background:#0b2440;border-color:#0b2440;color:#fff}
    .orsi-lp.orsi-blk .ctab.on .n{background:var(--orange);color:#fff}
    .orsi-lp.orsi-blk .ctab .dn{display:none;color:#3f7a10;font-weight:800}
    .orsi-lp.orsi-blk .ctab.done .dn{display:inline}
    .orsi-lp.orsi-blk .cpane{display:none}
    .orsi-lp.orsi-blk .cpane.on{display:block}
    .orsi-lp.orsi-blk .vsub{font-size:13px;color:#6b7688;margin:-4px 0 12px}

    .orsi-lp.orsi-blk .vph {
        position: relative;
        aspect-ratio: 16/9;
        border-radius: 12px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
        text-align: center;
        color: #fff;
        padding: 22px;
        background: radial-gradient(120% 130% at 85% 10%, rgba(236, 102, 7, .22), transparent 46%), linear-gradient(135deg, #0b2440, #123a63)
    }

    .orsi-lp.orsi-blk .vph .tagc {
        position: absolute;
        top: 13px;
        left: 15px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .5px;
        text-transform: uppercase;
        color: #ffd39a;
        background: rgba(255, 255, 255, .08);
        border: 1px solid rgba(255, 255, 255, .2);
        border-radius: 99px;
        padding: 5px 12px
    }

    .orsi-lp.orsi-blk .vph .play {
        width: 66px;
        height: 66px;
        border-radius: 50%;
        background: var(--orange);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        box-shadow: 0 10px 30px rgba(236, 102, 7, .4);
        border: 0
    }

    .orsi-lp.orsi-blk .vph .play svg {
        width: 26px;
        height: 26px;
        fill: #fff;
        margin-left: 4px
    }

    .orsi-lp.orsi-blk .vph .play:disabled {
        opacity: .5;
        cursor: default
    }

    .orsi-lp.orsi-blk .vph .t {
        font-size: 15px;
        font-weight:600
    }

    .orsi-lp.orsi-blk .vph .h {
        font-size: 12px;
        color: #9fbfe0
    }

    .orsi-lp.orsi-blk .vph .fill {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 5px;
        background: rgba(255, 255, 255, .14)
    }

    .orsi-lp.orsi-blk .vph .fill i {
        display: block;
        height: 100%;
        width: 0;
        background: var(--orange)
    }

    .orsi-lp.orsi-blk .cut {
        font-size: 12.5px;
        color: var(--muted);
        background: #f6f8fb;
        border: 1px solid var(--line);
        border-left: 3px solid var(--orange);
        border-radius: 8px;
        padding: 11px 14px;
        margin-top: 12px
    }

    .orsi-lp.orsi-blk .cut b {
        color: var(--deep)
    }/* carousel */

    .orsi-lp.orsi-blk .car {
        border: 1px solid var(--line);
        border-radius: 14px;
        overflow: hidden;
        background: linear-gradient(135deg, #f3f7fc, #eef3fa);
        margin-top: 4px
    }

    .orsi-lp.orsi-blk .car__stage {
        padding: 24px 24px 18px;
        min-height: 158px
    }

    .orsi-lp.orsi-blk .car__n {
        font: 700 12px/1 'Poppins';
        color: var(--blue);
        letter-spacing: .06em;
        text-transform: uppercase;
        margin-bottom: 10px
    }

    .orsi-lp.orsi-blk .car__step {
        display: flex;
        gap: 16px;
        align-items: flex-start
    }

    .orsi-lp.orsi-blk .car__num {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: var(--blue);
        color: #fff;
        font-weight: 700;
        font-size: 19px;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .orsi-lp.orsi-blk .car__t {
        font-size: 17px;
        font-weight: 600;
        margin-bottom: 4px
    }

    .orsi-lp.orsi-blk .car__d {
        font-size: 14px;
        color: #4a5266;
        line-height: 1.6
    }

    .orsi-lp.orsi-blk .car__ctrl {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 11px 20px;
        background: #fff;
        border-top: 1px solid var(--line)
    }

    .orsi-lp.orsi-blk .car__dots {
        display: flex;
        gap: 6px;
        flex: 1;
        justify-content: center
    }

    .orsi-lp.orsi-blk .car__dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background:#cdd7e5
    }

    .orsi-lp.orsi-blk .car__dot.on {
        background: var(--blue);
        transform: scale(1.25)
    }

    .orsi-lp.orsi-blk .cbtn {
        border: 1px solid var(--line);
        background: #fff;
        border-radius: 9px;
        padding: 8px 15px;
        font-family: inherit;
        font-size: 13px;
        font-weight: 600;
        color: var(--deep);
        cursor: pointer
    }

    .orsi-lp.orsi-blk .cbtn:disabled {
        opacity: .4;
        cursor: default
    }/* ordering */

    .orsi-lp.orsi-blk .ord {
        margin-top:16px
    }

    .orsi-lp.orsi-blk .ord__h {
        font-size: 14px;
        font-weight: 600;
        margin-bottom: 10px
    }

    .orsi-lp.orsi-blk .ord__pool {
        display: flex;
        flex-wrap: wrap;
        gap: 8px
    }

    .orsi-lp.orsi-blk .oc {
        border: 1px solid var(--line);
        background: #fff;
        border-radius: 9px;
        padding: 9px 13px;
        font-family: inherit;
        font-size: 13.5px;
        cursor: pointer;
        color: var(--ink)
    }

    .orsi-lp.orsi-blk .oc:hover {
        border-color: var(--blue)
    }

    .orsi-lp.orsi-blk .oc .seq {
        display: inline-flex;
        width: 19px;
        height: 19px;
        border-radius: 50%;
        background: #eef2f8;
        color: var(--deep);
        font-size: 11px;
        font-weight: 700;
        align-items: center;
        justify-content: center;
        margin-right: 7px
    }

    .orsi-lp.orsi-blk .oc.ok {
        border-color: var(--green);
        background:#EAF3E1
    }

    .orsi-lp.orsi-blk .oc.ok .seq {
        background: var(--green);
        color: #fff
    }

    .orsi-lp.orsi-blk .oc.no {
        border-color: #c0392b;
        background: #fbeae8;
        animation:orsi-shk .3s
    }

    @keyframes orsi-shk {
        25% {
            transform:translateX(-4px)
        }

        75% {
            transform: translateX(4px)
        }
    }

    .orsi-lp.orsi-blk .oc:disabled {
        cursor: default
    }/* reveal cards */

    .orsi-lp.orsi-blk .rev {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        margin: 8px 0 2px
    }

    @media (max-width: 640px) {
        .orsi-lp.orsi-blk .rev {
            grid-template-columns: 1fr
        }
    }

    .orsi-lp.orsi-blk .rc {
        --ac: var(--blue);
        position: relative;
        border: 1px solid var(--line);
        border-radius: 14px;
        background: linear-gradient(180deg, #fff, #fbfdff);
        padding: 18px 16px 16px;
        cursor: pointer;
        min-height: 152px;
        transition: transform .15s, box-shadow .15s, border-color .15s;
        display: flex;
        flex-direction: column;
        overflow: hidden
    }

    .orsi-lp.orsi-blk .rc::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: var(--ac)
    }

    .orsi-lp.orsi-blk .rc:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 26px rgba(27, 42, 74, .12);
        border-color: var(--ac)
    }

    .orsi-lp.orsi-blk .rc--err {
        --ac:#c0392b
    }

    .orsi-lp.orsi-blk .rc--pro {
        --ac:#4E9A2A
    }

    .orsi-lp.orsi-blk .rc--eff {
        --ac: #017DC5
    }

    .orsi-lp.orsi-blk .rc__ico {
        width: 40px;
        height: 40px;
        border-radius: 11px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: color-mix(in srgb, var(--ac) 14%, #fff);
        margin-bottom: 12px
    }

    .orsi-lp.orsi-blk .rc__ico svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: var(--ac);
        stroke-width: 2.2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .orsi-lp.orsi-blk .rc .lab {
        font-size: 13.5px;
        font-weight: 700;
        color: var(--ink)
    }

    .orsi-lp.orsi-blk .rc .big {
        font-size: 29px;
        font-weight: 800;
        color: var(--ac);
        line-height: 1.05;
        margin-top: 8px;
        display: none
    }

    .orsi-lp.orsi-blk .rc .sub {
        font-size: 12px;
        color: var(--muted);
        margin-top: 6px;
        line-height: 1.5;
        display: none
    }

    .orsi-lp.orsi-blk .rc .hint {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 11.5px;
        font-weight: 600;
        color: var(--ac);
        background: color-mix(in srgb, var(--ac) 10%, #fff);
        border: 1px solid color-mix(in srgb, var(--ac) 30%, #fff);
        border-radius: 99px;
        padding: 5px 11px;
        margin-top: auto;
        align-self: flex-start
    }

    .orsi-lp.orsi-blk .rc.open .hint {
        display:none
    }

    .orsi-lp.orsi-blk .rc.open .big, .orsi-lp.orsi-blk .rc.open .sub {
        display: block
    }/* knowledge-check carousel */

    .orsi-lp.orsi-blk .kcc {
        border: 1px solid var(--line);
        border-radius: 14px;
        overflow: hidden;
        background: #fff;
        margin-top: 6px
    }

    .orsi-lp.orsi-blk .kcc__head {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 18px;
        background: #f6f8fb;
        border-bottom: 1px solid var(--line)
    }

    .orsi-lp.orsi-blk .kcc__n {
        font: 700 12px/1 'Poppins';
        color: var(--blue);
        letter-spacing: .04em;
        text-transform: uppercase
    }

    .orsi-lp.orsi-blk .kcc__dots {
        display: flex;
        gap: 6px;
        margin-left: auto
    }

    .orsi-lp.orsi-blk .kcdot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background:#cdd7e5
    }

    .orsi-lp.orsi-blk .kcdot.on {
        background: var(--blue);
        transform: scale(1.25)
    }

    .orsi-lp.orsi-blk .kcc__track {
        padding: 20px 22px
    }

    .orsi-lp.orsi-blk .kcs {
        display:none
    }

    .orsi-lp.orsi-blk .kcs.on {
        display: block;
        animation:orsi-kcin .25s ease
    }

    @keyframes orsi-kcin {
        from {
            opacity: 0;
            transform:translateX(8px)
        }

        to {
            opacity: 1;
            transform: none
        }
    }

    .orsi-lp.orsi-blk .kcs > .q:first-child {
        margin-top: 0
    }

    .orsi-lp.orsi-blk .kcnav {
        display: none;
        justify-content: flex-end;
        margin-top: 14px
    }

    .orsi-lp.orsi-blk .kcbtn {
        background: var(--deep);
        color: #fff;
        border: 0;
        border-radius: 9px;
        padding: 9px 18px;
        font-family: inherit;
        font-size: 13.5px;
        font-weight: 600;
        cursor: pointer
    }

    .orsi-lp.orsi-blk .kcbtn:hover {
        background: #26336f
    }/* summary */

    .orsi-lp.orsi-blk .fin {
        display: none;
        align-items: center;
        gap: 16px;
        flex-wrap: wrap;
        background: linear-gradient(135deg, #0b2440, #123a63);
        color: #fff;
        border-radius: 16px;
        padding: 22px 24px;
        margin-top: 18px
    }

    .orsi-lp.orsi-blk .fin.on {
        display: flex
    }

    .orsi-lp.orsi-blk .ring {
        --p: 0;
        width: 76px;
        height: 76px;
        border-radius: 50%;
        flex: 0 0 76px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: conic-gradient(var(--green) calc(var(--p) * 1%), rgba(255, 255, 255, .18) 0)
    }

    .orsi-lp.orsi-blk .ring b {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: #123a63;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 16px
    }

    .orsi-lp.orsi-blk .fin .ft {
        font-size: 14.5px;
        color:#cfe0f2
    }

    .orsi-lp.orsi-blk .fin .ft b {
        color: #fff
    }

    .orsi-lp.orsi-blk .pager {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        margin-top: 22px;
        padding-top: 16px;
        border-top: 1px solid var(--line)
    }

    .orsi-lp.orsi-blk .pager a {
        font-size: 13.5px;
        font-weight: 600;
        color: var(--blue);
        text-decoration: none
    }

    .orsi-lp.orsi-blk .pager a.dis {
        color: #b6bccb;
        pointer-events: none
    }

    /* ============================================================
       MODULE BENCHMARK TEST (.orsi-bm)
       ============================================================ */
    .orsi-lp.orsi-bm .bmbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
        font-family:inherit;font-size:15px;font-weight:700;border-radius:12px;padding:13px 26px;
        border:2px solid var(--orsi-blue);background:var(--orsi-blue);color:#fff;cursor:pointer;
        text-decoration:none;transition:.15s;margin:4px}
    .orsi-lp.orsi-bm .bmbtn:hover{background:var(--orsi-deep);border-color:var(--orsi-deep)}
    .orsi-lp.orsi-bm .bmbtn--ghost{background:#fff;color:var(--orsi-deep);border-color:var(--line)}
    .orsi-lp.orsi-bm .bmbtn--ghost:hover{background:#F7FBFE;border-color:var(--orsi-blue);color:var(--orsi-blue)}
    .orsi-lp.orsi-bm .bmbtn:disabled{opacity:.4;cursor:not-allowed}

    .orsi-lp.orsi-bm .bmq{border:1px solid var(--line);border-radius:16px;background:#fff;
        box-shadow:var(--shadow);padding:26px 28px}
    .orsi-lp.orsi-bm .bmq__head{display:flex;justify-content:space-between;align-items:center;
        margin-bottom:14px;gap:12px}
    .orsi-lp.orsi-bm .bmq__n{font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.3px}
    .orsi-lp.orsi-bm .bmq__unit{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;
        color:var(--orsi-blue);background:#EAF3FB;border-radius:20px;padding:4px 11px}
    .orsi-lp.orsi-bm .bmq .q{font-size:17px;font-weight:600;color:var(--orsi-ink);line-height:1.45;margin:0 0 16px}
    .orsi-lp.orsi-bm .bmq__nav{display:flex;justify-content:flex-end;margin-top:18px}
    /* gekozen optie: neutraal gemarkeerd, GEEN goed/fout kleur (antwoorden verborgen) */
    .orsi-lp.orsi-bm .opt.locked{cursor:default;opacity:.85}
    .orsi-lp.orsi-bm .opt.chosen{border-color:var(--orsi-deep);background:#EEF1FA;opacity:1}

    /* resultaat */
    .orsi-lp.orsi-bm .bmres{display:flex;align-items:center;gap:26px;border:1px solid var(--line);
        border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:28px 30px}
    .orsi-lp.orsi-bm .bmres__ring{flex:0 0 120px;width:120px;height:120px;border-radius:50%;
        display:flex;align-items:center;justify-content:center;
        background:conic-gradient(var(--orsi-blue) 0,#E6EEF6 0);border:0}
    .orsi-lp.orsi-bm .bmres__ring b{font-size:30px;font-weight:800;color:var(--orsi-deep);
        background:#fff;width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center}
    .orsi-lp.orsi-bm .bmres.is-pass .bmres__ring{background:conic-gradient(var(--orsi-green) 0,#E6EEF6 0)}
    .orsi-lp.orsi-bm .bmres.is-pass .bmres__ring b{color:#5f8a12}
    .orsi-lp.orsi-bm .bmres.is-fail .bmres__ring{background:conic-gradient(#B5121B 0,#E6EEF6 0)}
    .orsi-lp.orsi-bm .bmres.is-fail .bmres__ring b{color:#B5121B}
    .orsi-lp.orsi-bm .bmres__body{flex:1}
    .orsi-lp.orsi-bm .bmres__body h2{margin:0 0 6px;font-size:22px;color:var(--orsi-ink)}
    .orsi-lp.orsi-bm .bmres.is-pass .bmres__body h2{color:#5f8a12}
    .orsi-lp.orsi-bm .bmres.is-fail .bmres__body h2{color:#B5121B}
    .orsi-lp.orsi-bm .bmres__body p{margin:0 0 14px;font-size:14.5px;line-height:1.55;color:#3d4a60}

    @media (max-width:640px){
        .orsi-lp.orsi-bm .bmres{flex-direction:column;text-align:center;gap:16px}
        .orsi-lp.orsi-bm .bmq__head{flex-wrap:wrap}
    }

    /* ============================================================
       GATING: vergrendelde blokken (vervaagd + slot) en ontgrendel-highlight
       ============================================================ */
    .orsi-lp.orsi-blk .blk.locked{position:relative;opacity:.5;filter:saturate(.6);
        pointer-events:none;user-select:none}
    /* subtiele overlay met sloticoon rechtsboven het vergrendelde block */
    .orsi-lp.orsi-blk .blk.locked::after{content:"";position:absolute;top:14px;right:14px;
        width:30px;height:30px;border-radius:50%;background:#E6EEF6;border:1px solid var(--line);
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232F3F8D' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E");
        background-repeat:no-repeat;background-position:center;z-index:3}
    /* een dun lint dat aangeeft waarom het vergrendeld is */
    .orsi-lp.orsi-blk .blk.locked.next-locked::before{content:"Complete the previous block to unlock";
        position:absolute;left:50%;top:12px;transform:translateX(-50%);
        font-size:11px;font-weight:700;letter-spacing:.3px;color:var(--orsi-deep);
        background:#E6EEF6;border:1px solid var(--line);border-radius:20px;padding:4px 12px;z-index:3;
        white-space:nowrap}
    /* zachte highlight op het net ontgrendelde block */
    .orsi-lp.orsi-blk .blk.just-unlocked{animation:orsi-unlock 1.6s ease-out 1}
    @keyframes orsi-unlock{
        0%{box-shadow:0 0 0 0 rgba(1,125,197,.45)}
        30%{box-shadow:0 0 0 6px rgba(1,125,197,.18)}
        100%{box-shadow:0 0 0 0 rgba(1,125,197,0)}
    }
    @media (max-width:640px){
        .orsi-lp.orsi-blk .blk.locked.next-locked::before{font-size:10px;padding:3px 9px;white-space:normal;
            max-width:70%;text-align:center}
    }

    /* --- Gating voor losse character-callouts: gedempt tot hun block vrijkomt --- */
    .orsi-lp.orsi-blk .char.char-locked{opacity:.4;filter:saturate(.6);pointer-events:none;
        transition:opacity .5s ease,filter .5s ease}
    .orsi-lp.orsi-blk .char.char-wake{animation:orsi-charwake 1.6s ease-out 1}
    @keyframes orsi-charwake{
        0%{opacity:.4;transform:translateY(4px)}
        100%{opacity:1;transform:translateY(0)}
    }

    /* Benchmark-unit in de overview: onderscheiden van gewone leerstof-units */
    .orsi-lp.orsi-ov .u.u--benchmark{background:linear-gradient(180deg,#FFF9F0,#FFF4E4);
        border-color:#F1D9B5}
    .orsi-lp.orsi-ov .u.u--benchmark .u__code{color:var(--orange)}
    .orsi-lp.orsi-ov .u.u--benchmark .ic--locked{color:var(--orange)}


