/* OP Horizontal Scroll Panels */
.ophs{--ophs-cw:1240px;--ophs-gutter:max(24px,calc((100% - var(--ophs-cw))/2));position:relative;background:#000320;color:#fff;box-sizing:border-box}
.ophs *,.ophs *::before,.ophs *::after{box-sizing:border-box}
.ophs-pin{position:sticky;top:var(--ophs-top,0px);height:calc(100vh - var(--ophs-top,0px));overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.ophs-wrap{width:min(var(--ophs-cw),100% - 48px);margin-left:auto;margin-right:auto}

/* Header */
.ophs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}
.ophs-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;line-height:1.4;color:#fff}
.ophs-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:#5EFAF7;flex:none}
.ophs-title{margin:16px 0 0;color:#fff;font-size:clamp(30px,3.4vw,46px);font-weight:600;line-height:1.15;letter-spacing:-.01em}
.ophs-desc{max-width:420px;margin:0;color:rgba(255,255,255,.67);line-height:1.6}

/* Track + panels */
.ophs-track{display:flex;gap:var(--ophs-gap,28px);padding-left:var(--ophs-gutter);will-change:transform}
.ophs-spacer{flex:none;width:calc(var(--ophs-gutter) - var(--ophs-gap,28px));min-width:1px}
.ophs-panel{flex:none;width:560px;max-width:80vw;min-height:380px;border-radius:22px;padding:44px;border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden;display:flex;flex-direction:column}
.ophs-panel--dark{background:linear-gradient(160deg,#0a1590,#020C6A)}
.ophs-panel--light{background:#fff}
.ophs-panel>*{position:relative}
.ophs-big{position:absolute!important;right:24px;top:-10px;font-size:170px;font-weight:700;line-height:1;color:rgba(255,255,255,.03);pointer-events:none;user-select:none}
.ophs-label{display:block;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;color:#5EFAF7}
.ophs-ptitle{margin:16px 0;font-size:30px;font-weight:600;line-height:1.15;color:#fff}
.ophs-ptext{margin:0;max-width:440px;line-height:1.75;color:rgba(255,255,255,.73)}
.ophs-tags{margin-top:auto;padding-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ophs-tag{border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:7px 14px;font-size:12.5px;line-height:1.3;color:#fff}
.ophs-panel--light .ophs-big{color:rgba(0,0,0,.04)}
.ophs-panel--light .ophs-label{color:#1A85F8}
.ophs-panel--light .ophs-ptitle{color:#170939}
.ophs-panel--light .ophs-ptext{color:#585858}
.ophs-panel--light .ophs-tag{color:#170939;border-color:rgba(23,9,57,.2)}

/* Button */
.ophs-btn{--ophs-btn:#1A85F8;display:inline-flex;align-items:stretch;font-weight:600;font-size:14px;line-height:1.3;border-radius:3px;overflow:hidden;text-decoration:none!important;transition:transform .25s}
.ophs-btn span{background:var(--ophs-btn);color:#fff;padding:15px 22px}
.ophs-btn i{display:grid;place-items:center;width:48px;background:#fff;color:#020C6A;border:1px solid var(--ophs-btn);border-left:0;font-style:normal;transition:background .25s,color .25s}
.ophs-btn:hover{transform:translateY(-2px)}
.ophs-btn:hover i{background:var(--ophs-btn)!important;color:#fff!important}

/* Progress */
.ophs-progress{--ophs-pa:#1A85F8;--ophs-pb:#5EFAF7;height:2px;background:rgba(255,255,255,.12);margin-top:46px;border-radius:2px;overflow:hidden}
.ophs-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--ophs-pa),var(--ophs-pb))}

/* Stacked (tablet / mobile / reduced motion) — toggled by JS */
.ophs.ophs--stacked{height:auto!important;padding:100px 0}
.ophs--stacked .ophs-pin{position:static;height:auto;overflow:visible}
.ophs--stacked .ophs-head{flex-direction:column;align-items:flex-start;gap:18px}
.ophs--stacked .ophs-track{flex-direction:column;padding:0 24px;transform:none!important}
.ophs.ophs--stacked .ophs-panel{width:100%;max-width:none}
.ophs--stacked .ophs-spacer,.ophs--stacked .ophs-progress{display:none}
@media (max-width:640px){
  .ophs--stacked .ophs-wrap{width:calc(100% - 32px)}
  .ophs--stacked .ophs-track{padding:0 16px}
  .ophs--stacked .ophs-big{font-size:120px}
}

/* Elementor editor: keep the widget selectable */
.elementor-editor-active .ophs-big{z-index:0}
