/* Homepage hero sliders (design/odot-hero-sliders): five designs on one shared slider (hero.js).
   Every class is prefixed oh- and scoped under .ohs, so nothing here can touch the rest of the site. */
.ohs{--ink:#08223F;--ink2:#41506B;--mute:#6B7891;--line:#E2E7F0;--paper:#F5F8FC;--blue:#0074CC;--blue-h:#0A63AE;--brand:#0099F8;--sky:#E6F3FE;--ok:#0E9F5A;--stage:#EEF4FB;--wrap:1240px;--gut:24px;--ease:cubic-bezier(.22,.8,.2,1);
  position:relative;font-family:'Manrope','Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow:hidden}
.ohs *,.ohs *::before,.ohs *::after{box-sizing:border-box}
.ohs a{color:inherit;text-decoration:none}
.ohs button{font:inherit;color:inherit;cursor:pointer;margin:0}
.ohs img{display:block;max-width:100%}
.ohs h1,.ohs h2,.ohs p,.ohs ul{margin:0}
.ohs a:focus-visible,.ohs button:focus-visible,.ohs [tabindex]:focus-visible{outline:3px solid #7CCBFF;outline-offset:3px}
.ohs .oh-wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.ohs .oh-btn-p{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border-radius:14px;padding:16px 26px;font-size:16.5px;font-weight:700;transition:background .15s,transform .15s var(--ease),box-shadow .2s;box-shadow:0 10px 22px -12px rgba(0,116,204,.7)}
.ohs .oh-btn-p:hover{background:var(--blue-h);transform:translateY(-1px)}
.ohs .oh-btn-s{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:16px 22px;font-size:16.5px;font-weight:700;box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .15s,transform .15s var(--ease)}
.ohs .oh-btn-s:hover{box-shadow:inset 0 0 0 1.5px var(--brand);transform:translateY(-1px)}
.ohs .oh-ctas{display:flex;gap:12px;flex-wrap:wrap}
.ohs .oh-who{font-size:16px;font-weight:600;color:var(--blue)}
.ohs .oh-lead{margin:18px 0 0;font-size:19px;line-height:1.55;color:var(--ink2);max-width:520px}
.ohs .oh-cover{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}

/* motion: crossfade + rise; photos settle from a slight zoom; live cards spring in after the photo */
.ohs .oh-fade{transition:opacity .7s var(--ease),transform .8s var(--ease);will-change:opacity,transform}
.ohs .oh-zoom{transition:transform 7s ease-out;transform:scale(1.07)}
.ohs .is-active .oh-zoom,.ohs .is-active.oh-zoom{transform:scale(1)}
.ohs .oh-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--brand);transform-origin:left;transform:scaleX(0);pointer-events:none}
.ohs .is-active>.oh-prog,.ohs .is-active .oh-prog{animation:ohProg var(--dur,6s) linear both}
.ohs.oh-paused .oh-prog,.ohs.oh-still .oh-prog{animation-play-state:paused}
.ohs.oh-still .is-active>.oh-prog,.ohs.oh-still .is-active .oh-prog{animation:none;transform:scaleX(1)}
.ohs .oh-chip-wrap{pointer-events:none}
.ohs .is-active .oh-chip-anim{animation:ohChipIn .7s .35s var(--ease) both}
@keyframes ohProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ohChipIn{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:none}}
@keyframes ohBlink{50%{opacity:.25}}
.ohs [hidden]{display:none!important}
.ohs .oh-v1>*,.ohs .oh-v3-grid>*,.ohs .oh-v5>*,.ohs .oh-panel>*{min-width:0}
/* stacked slides: only the active one is visible */
.ohs .oh-stack{position:relative}
.ohs .oh-stack>.oh-layer{position:absolute;inset:0;opacity:0;pointer-events:none}
.ohs .oh-stack>.oh-layer.is-active{opacity:1;pointer-events:auto}

/* ===================== 1 · spotlight ===================== */
.ohs .oh-v1{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:72px}
.ohs .oh-v1-texts{height:330px}
.ohs .oh-v1-text{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:28px;transform:translateY(16px)}
.ohs .oh-v1-text.is-active{transform:none}
.ohs .oh-v1 h1,.ohs .oh-v3 h1,.ohs .oh-v5 h1,.ohs .oh-h1{margin:12px 0 0;font:800 62px/1.02 'Manrope','Source Sans 3',system-ui,sans-serif;letter-spacing:-2.2px;max-width:600px;text-wrap:balance}
.ohs .oh-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:40px}
.ohs .oh-tab{position:relative;overflow:hidden;flex-shrink:0;border:0;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:700;background:var(--paper);color:var(--ink2);transition:background .25s,color .25s}
.ohs .oh-tab:hover{background:#e9eff7}
.ohs .oh-tab.is-active{background:var(--ink);color:#fff}
.ohs .oh-v1-media{position:relative;height:620px}
.ohs .oh-v1-media .oh-backdrop{position:absolute;right:-24px;top:-24px;width:72%;height:86%;border-radius:40px;background:var(--sky)}
.ohs .oh-v1-photos{position:absolute;left:40px;right:0;top:0;bottom:40px}
.ohs .oh-v1-photos .oh-layer{border-radius:36px;overflow:hidden;box-shadow:0 30px 60px rgba(8,34,63,.14)}
.ohs .oh-v1-chips{position:absolute;left:0;bottom:0}
.ohs .oh-v1-chips .oh-layer{inset:auto;left:0;bottom:0}

/* ===================== 2 · persona ===================== */
.ohs.oh-v2-bg{background:var(--paper)}
.ohs .oh-v2{padding-top:56px;padding-bottom:72px}
.ohs .oh-v2-head{text-align:center}
.ohs .oh-v2-head h1{margin:0;font:800 64px/1.04 'Manrope','Source Sans 3',system-ui,sans-serif;letter-spacing:-2px;text-wrap:balance}
.ohs .oh-v2-head p{margin:14px auto 0;font-size:19px;line-height:1.55;color:var(--ink2);max-width:640px}
.ohs .oh-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:30px 0 34px}
.ohs .oh-pill{flex-shrink:0;border:0;border-radius:999px;padding:12px 18px;font-size:15px;font-weight:700;background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:background .25s,color .25s,box-shadow .25s,transform .2s var(--ease)}
.ohs .oh-pill:hover{transform:translateY(-1px)}
.ohs .oh-pill.is-active{background:var(--ink);color:#fff;box-shadow:0 10px 24px rgba(8,34,63,.22)}
.ohs .oh-panel{position:relative;background:#fff;border-radius:36px;box-shadow:0 0 0 1px var(--line),0 30px 60px rgba(8,34,63,.08);display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden}
.ohs .oh-v2-img{height:480px}
.ohs .oh-v2-chips{position:absolute;right:20px;bottom:20px}
.ohs .oh-v2-chips .oh-layer{inset:auto;right:0;bottom:0;transform:scale(.95);transform-origin:right bottom}
.ohs .oh-v2-txt{height:480px}
.ohs .oh-v2-txt .oh-layer{padding:40px 48px;display:flex;flex-direction:column;justify-content:center;transform:translateX(24px)}
.ohs .oh-v2-txt .oh-layer.is-active{transform:none}
.ohs .oh-v2-txt h2{margin:10px 0 0;font:800 42px/1.05 'Manrope','Source Sans 3',system-ui,sans-serif;letter-spacing:-1px}
.ohs .oh-points{list-style:none;margin:20px 0 26px;padding:0;display:flex;flex-direction:column;gap:12px}
.ohs .oh-points li{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.45;color:var(--ink2)}
.ohs .oh-tick{flex-shrink:0;margin-top:2px;width:22px;height:22px;border-radius:50%;background:var(--ok);display:flex;align-items:center;justify-content:center}

/* ===================== 3 · cinema ===================== */
.ohs.oh-v3-bg{background:var(--ink);color:#fff}
.ohs .oh-v3{padding-top:40px;padding-bottom:48px}
.ohs .oh-v3-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px}
.ohs .oh-v3-texts{height:600px}
.ohs .oh-v3-text{display:flex;flex-direction:column;justify-content:center;transform:translateY(18px)}
.ohs .oh-v3-text.is-active{transform:none}
.ohs .oh-v3 .oh-who{color:#7CCBFF}
.ohs .oh-v3 h1,.ohs .oh-v3 .oh-h1{font-size:68px;line-height:1;letter-spacing:-2.6px}
.ohs .oh-v3 .oh-lead{color:#C9D6E8;max-width:480px}
.ohs .oh-v3 .oh-btn-p{background:var(--brand)}
.ohs .oh-v3 .oh-btn-s{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.ohs .oh-v3-media{position:relative;height:600px}
.ohs .oh-v3-media .oh-layer{border-radius:36px;overflow:hidden}
.ohs .oh-v3-chips{position:absolute;left:-40px;bottom:40px}
.ohs .oh-v3-chips .oh-layer{inset:auto;left:0;bottom:0}
.ohs .oh-rail{display:flex;gap:12px;margin-top:32px;padding:4px 0}
.ohs .oh-thumb{flex:1;min-width:0;position:relative;overflow:hidden;border:0;text-align:left;display:flex;align-items:center;gap:10px;padding:8px;border-radius:16px;background:rgba(255,255,255,.04);color:#fff;opacity:.72;transition:background .25s,opacity .25s}
.ohs .oh-thumb:hover{opacity:.9}
.ohs .oh-thumb.is-active{background:rgba(255,255,255,.12);opacity:1}
.ohs .oh-thumb img{width:52px;height:52px;border-radius:11px;object-fit:cover;object-position:var(--pos,50% 50%);flex-shrink:0}
.ohs .oh-thumb span{font-size:14px;font-weight:700;line-height:1.2}
.ohs .oh-thumb .oh-prog{left:8px;right:8px;bottom:3px;border-radius:2px}

/* ===================== 4 · mosaic ===================== */
.ohs .oh-v4{padding-top:48px;padding-bottom:64px}
.ohs .oh-v4-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px}
.ohs .oh-v4-head h1{margin:0;font:800 60px/1.02 'Manrope','Source Sans 3',system-ui,sans-serif;letter-spacing:-2.2px;max-width:720px;text-wrap:balance}
.ohs .oh-v4-head p{margin:0;font-size:17.5px;line-height:1.55;color:var(--ink2);max-width:400px}
.ohs .oh-v4-head .oh-ctas{margin-top:18px}
.ohs .oh-tiles{display:flex;gap:10px;height:540px;margin-top:40px}
.ohs .oh-tile{position:relative;flex:1 1 0;min-width:0;border-radius:28px;overflow:hidden;cursor:pointer;transition:flex .8s var(--ease)}
.ohs .oh-tile.is-active{flex:6 1 0;cursor:default}
.ohs .oh-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transform:scale(1.12);transition:transform 1.2s var(--ease)}
.ohs .oh-tile.is-active>img{transform:scale(1)}
.ohs .oh-tile-label{position:absolute;left:50%;bottom:14px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;background:#fff;border-radius:999px;padding:14px 8px;font-size:14px;font-weight:700;white-space:nowrap;transition:opacity .3s}
.ohs .oh-tile.is-active .oh-tile-label{opacity:0}
.ohs .oh-tile-card{position:absolute;left:20px;bottom:20px;width:440px;max-width:calc(100% - 40px);background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 20px 40px rgba(8,34,63,.18);opacity:0;transform:translateY(14px);transition:opacity .5s .3s,transform .55s .3s var(--ease);pointer-events:none}
.ohs .oh-tile.is-active .oh-tile-card{opacity:1;transform:none;pointer-events:auto}
.ohs .oh-tile-card .oh-who{font-size:14px}
.ohs .oh-tile-card h2{margin:6px 0 0;font:800 30px/1.08 'Manrope','Source Sans 3',system-ui,sans-serif;letter-spacing:-.6px}
.ohs .oh-tile-card p{margin:8px 0 0;font-size:15.5px;line-height:1.5;color:var(--ink2)}
.ohs .oh-tile-card a{display:inline-block;margin-top:12px;font-size:15px;font-weight:700;color:var(--blue)}
.ohs .oh-tile .oh-chip-wrap{position:absolute;right:18px;top:18px;transform:scale(.9);transform-origin:right top;opacity:0;transition:opacity .4s .2s}
.ohs .oh-tile.is-active .oh-chip-wrap{opacity:1}
.ohs .oh-tile .oh-prog{top:0;bottom:auto;height:4px}

/* ===================== 5 · stage ===================== */
.ohs.oh-v5-bg{background:var(--stage)}
.ohs .oh-v5{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;padding-top:40px;padding-bottom:64px}
.ohs .oh-v5-texts{height:300px}
.ohs .oh-v5-text{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:28px;transform:translateY(16px)}
.ohs .oh-v5-text.is-active{transform:none}
.ohs .oh-v5 h1,.ohs .oh-v5 .oh-h1{font-size:58px;letter-spacing:-2px;margin:0}
.ohs .oh-v5 .oh-btn-s{background:#fff}
.ohs .oh-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:34px}
.ohs .oh-li{position:relative;overflow:hidden;border:0;text-align:left;display:flex;align-items:center;gap:10px;background:transparent;border-radius:14px;padding:10px 12px;font-size:14.5px;font-weight:700;color:var(--ink2);transition:background .25s,box-shadow .25s}
.ohs .oh-li:hover{background:rgba(255,255,255,.6)}
.ohs .oh-li.is-active{background:#fff;color:var(--ink);box-shadow:0 10px 24px rgba(8,34,63,.10)}
.ohs .oh-li .oh-ico{width:30px;height:30px;border-radius:9px;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s,color .25s}
.ohs .oh-li.is-active .oh-ico{background:var(--blue);color:#fff}
.ohs .oh-stage{position:relative;height:640px}
.ohs .oh-monitor{position:absolute;left:0;top:70px;width:600px;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px rgba(8,34,63,.16)}
.ohs .oh-phone{position:absolute;right:0;top:20px;width:280px;height:580px;border-radius:44px;background:var(--ink);padding:10px;box-shadow:0 40px 80px rgba(8,34,63,.35)}
.ohs .oh-phone-screen{position:relative;width:100%;height:100%;border-radius:35px;overflow:hidden;background:var(--paper)}
.ohs .oh-notch{position:absolute;top:8px;left:50%;width:84px;height:22px;margin-left:-42px;border-radius:12px;background:var(--ink);z-index:3}
.ohs .oh-phone-screen .oh-layer img{width:100%;height:60%;object-fit:cover;object-position:var(--pos-m,50% 50%)}
.ohs .oh-phone-chip{position:absolute;left:0;right:0;top:52%;display:flex;justify-content:center}
.ohs .oh-phone-chip>div{transform:scale(.8);transform-origin:top center}
.ohs .oh-tabbar{position:absolute;left:0;right:0;bottom:0;height:13%;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;color:#9AA7B8;z-index:2}

/* ===================== phones and small tablets ===================== */
@media (max-width:960px){
  .ohs{--gut:16px}
  .ohs .oh-cover,.ohs .oh-tile>img{object-position:var(--pos-m,var(--pos,50% 50%))}
  .ohs .oh-btn-p,.ohs .oh-btn-s{padding:15px 20px;font-size:16px}
  .ohs .oh-lead{font-size:16.5px}
  .ohs .oh-who{font-size:15px}
  .ohs .oh-tabs,.ohs .oh-pills,.ohs .oh-rail,.ohs .oh-list{flex-wrap:nowrap;overflow-x:auto;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding-left:var(--gut);padding-right:var(--gut);scrollbar-width:none}
  .ohs .oh-tabs::-webkit-scrollbar,.ohs .oh-pills::-webkit-scrollbar,.ohs .oh-rail::-webkit-scrollbar,.ohs .oh-list::-webkit-scrollbar{display:none}
  /* 1 */
  .ohs .oh-v1{grid-template-columns:1fr;gap:50px;padding-top:20px;padding-bottom:36px}
  .ohs .oh-v1-media{order:-1;height:420px}
  .ohs .oh-v1-media .oh-backdrop{right:-16px;top:-12px}
  .ohs .oh-v1-photos{left:0;bottom:0}.ohs .oh-v1-photos .oh-layer{border-radius:28px}
  .ohs .oh-v1-chips{left:12px;bottom:-28px;transform:scale(.86);transform-origin:left bottom}
  .ohs .oh-v1-texts{height:250px}
  .ohs .oh-v1 h1,.ohs .oh-v1 .oh-h1{font-size:38px;letter-spacing:-1.2px}
  .ohs .oh-tabs{margin-top:26px}
  /* 2 */
  .ohs .oh-v2{padding-top:24px;padding-bottom:40px}
  .ohs .oh-v2-head{text-align:left}
  .ohs .oh-v2-head h1{font-size:38px;letter-spacing:-1px}
  .ohs .oh-v2-head p{margin-left:0;font-size:16.5px}
  .ohs .oh-pills{justify-content:flex-start;margin-top:22px;margin-bottom:22px;padding-top:4px;padding-bottom:4px}
  .ohs .oh-panel{grid-template-columns:1fr;border-radius:28px}
  .ohs .oh-v2-img{height:300px}
  .ohs .oh-v2-chips{right:12px;bottom:12px}.ohs .oh-v2-chips .oh-layer{transform:scale(.78)}
  .ohs .oh-v2-txt{height:430px}
  .ohs .oh-v2-txt .oh-layer{padding:24px 22px;justify-content:flex-start}
  .ohs .oh-v2-txt h2{font-size:30px}
  .ohs .oh-points li{font-size:15.5px}
  /* 3 */
  .ohs .oh-v3{padding-top:0;padding-bottom:32px}
  .ohs .oh-v3-grid{grid-template-columns:1fr;gap:24px}
  .ohs .oh-v3-media{order:-1;height:400px;margin:0 calc(var(--gut) * -1)}
  .ohs .oh-v3-media .oh-layer{border-radius:0 0 28px 28px}
  .ohs .oh-v3-chips{left:16px;bottom:16px;transform:scale(.8);transform-origin:left bottom}
  .ohs .oh-v3-texts{height:360px}
  .ohs .oh-v3 h1,.ohs .oh-v3 .oh-h1{font-size:40px;letter-spacing:-1.2px}
  .ohs .oh-rail{margin-top:6px}
  .ohs .oh-thumb{flex:0 0 auto;min-width:170px}
  /* 4 */
  .ohs .oh-v4{padding-top:20px;padding-bottom:32px}
  .ohs .oh-v4-head h1{font-size:36px;letter-spacing:-1.1px}
  .ohs .oh-v4-head p{font-size:16.5px}
  .ohs .oh-tiles{flex-direction:column;height:auto;margin-top:24px}
  .ohs .oh-tile{flex:0 0 58px;border-radius:22px;transition:flex-basis .7s var(--ease)}
  .ohs .oh-tile.is-active{flex:0 0 440px}
  .ohs .oh-tile-label{left:12px;transform:none;writing-mode:horizontal-tb;padding:8px 14px;bottom:12px}
  .ohs .oh-tile-card{left:12px;bottom:12px;width:calc(100% - 24px);padding:16px 18px}
  .ohs .oh-tile-card h2{font-size:24px}
  .ohs .oh-tile .oh-chip-wrap{display:none}
  /* 5 */
  .ohs .oh-v5{grid-template-columns:1fr;gap:24px;padding-top:16px;padding-bottom:36px}
  .ohs .oh-stage{order:-1;height:440px}
  .ohs .oh-monitor{left:-40px;top:40px;width:400px}
  .ohs .oh-phone{right:20px;top:0;width:220px;height:440px}
  .ohs .oh-phone-chip>div{transform:scale(.62)}
  .ohs .oh-v5-texts{height:200px}
  .ohs .oh-v5 h1,.ohs .oh-v5 .oh-h1{font-size:36px;letter-spacing:-1.1px}
  .ohs .oh-list{display:flex;margin-top:24px}
  .ohs .oh-li{flex-shrink:0}
}
@media (max-width:380px){
  .ohs .oh-v1 h1,.ohs .oh-v3 h1,.ohs .oh-h1{font-size:34px}
  .ohs .oh-v2-head h1{font-size:32px}
  .ohs .oh-v4-head h1,.ohs .oh-v5 h1,.ohs .oh-v5 .oh-h1{font-size:32px}
}
@media (prefers-reduced-motion:reduce){.ohs *,.ohs *::before,.ohs *::after{animation:none!important;transition:none!important}}
/* admin's private preview marker (only rendered while an admin previews a design) */
.ohs-pv{position:fixed;left:16px;bottom:16px;z-index:9990;max-width:calc(100vw - 32px);background:#08223F;color:#fff!important;font:600 13px/1.4 'Manrope','Source Sans 3',system-ui,sans-serif;padding:10px 14px;border-radius:12px;box-shadow:0 12px 30px rgba(8,34,63,.3);text-decoration:none}
.ohs-pv:hover{background:#0A63AE}
