/* Xonware hero carousel — spec-built (hs1). Namespace xh-, fully isolated. */
:root{
  --xw-navy-950:#07152f;--xw-navy-900:#0b1b38;--xw-blue-700:#2448a8;--xw-blue-500:#168bd2;
  --xw-cyan-500:#20b7d7;--xw-teal-500:#13a99e;--xw-lime-500:#85c440;--xw-violet-500:#6d43e6;
  --xw-amber-500:#e6a521;--xw-coral-500:#e3655b;--xw-paper:#f3f3ee;--xw-white:#fff;
  --xw-ink-muted:#53617a;--xw-line:#cbd4df;--xw-line-soft:#e6ebef;--xw-hero-max:1440px;
  --xw-radius-small:4px;--xw-ease-enterprise:cubic-bezier(.22,1,.36,1);--xw-ease-standard:cubic-bezier(.4,0,.2,1);
  --xh-dwell:8000ms;
}
.xh{position:relative;background:var(--xw-paper);color:var(--xw-navy-900);
  min-height:min(900px,calc(100svh - 76px));display:grid;grid-template-columns:92px 1fr;overflow:hidden}
.xh *,.xh *::before,.xh *::after{box-sizing:border-box}

/* ---------- rail ---------- */
.xh-rail{position:relative;background:var(--xw-navy-950);display:flex;flex-direction:column;align-items:center;
  padding:110px 0 40px;gap:44px;z-index:3}
.xh-rail__word{position:absolute;bottom:30px;left:50%;transform:translateX(-50%) rotate(180deg);
  writing-mode:vertical-rl;font:600 10px 'JetBrains Mono',monospace;letter-spacing:.34em;color:rgba(255,255,255,.34)}
.xh-rail__track{position:absolute;top:110px;bottom:120px;width:1px;background:rgba(255,255,255,.16)}
.xh-rail__stop{position:relative;background:none;border:0;padding:8px;min-width:44px;min-height:44px;
  display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer}
.xh-rail__dot{position:relative;width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.28);
  transition:background .2s var(--xw-ease-standard),box-shadow .2s}
.xh-rail__stop.is-active .xh-rail__dot{background:var(--xw-cyan-500);
  box-shadow:0 0 0 3px var(--xw-navy-950),0 0 0 5px var(--xw-cyan-500)}
.xh-rail__fill{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--xw-cyan-500) calc(var(--xh-prog,0)*1turn),transparent 0);
  opacity:0;mask:radial-gradient(circle,transparent 55%,#000 56%)}
.xh-rail__stop.is-active .xh-rail__fill{opacity:1}
.xh-rail__num{font:600 11px 'JetBrains Mono',monospace;letter-spacing:.1em;color:rgba(255,255,255,.5);
  transition:color .2s}
.xh-rail__stop.is-active .xh-rail__num{color:var(--xw-cyan-500)}
.xh-rail__stop:focus-visible{outline:2px solid var(--xw-cyan-500);outline-offset:2px;border-radius:4px}

/* ---------- viewport / slide ---------- */
.xh-viewport{position:relative;min-height:inherit}
.xh-slide{position:absolute;inset:0;display:flex;flex-direction:column;
  padding:clamp(24px,3vh,40px) clamp(24px,4vw,72px) clamp(24px,3.4vh,44px);
  max-width:var(--xw-hero-max);margin-inline:auto;width:100%;
  opacity:0;visibility:hidden;transform:translateX(14px);pointer-events:none}
.xh-slide[data-state="active"]{position:relative;opacity:1;visibility:visible;transform:none;pointer-events:auto}
.xh-slide[data-state="exiting"]{visibility:visible;opacity:0;transform:translateX(-10px);
  transition:opacity 300ms var(--xw-ease-standard),transform 300ms var(--xw-ease-standard)}
.xh-slide[data-state="entering"]{visibility:visible;opacity:1;transform:none;pointer-events:auto;
  transition:opacity 650ms var(--xw-ease-enterprise),transform 650ms var(--xw-ease-enterprise)}

/* micro header */
.xh-micro{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:baseline;
  padding-bottom:14px;border-bottom:1px solid var(--xw-line);
  font:600 11px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase}
.xh-micro span:nth-child(1){color:var(--xw-blue-700)}
.xh-micro span:nth-child(2){color:var(--xw-lime-500)}
.xh-micro span:nth-child(3){color:var(--xw-blue-500);text-align:right}

/* content grid */
.xh-grid{flex:1;display:grid;grid-template-columns:54% 46%;gap:clamp(20px,3vw,48px);align-items:center;min-height:0}
.xh-content{max-width:640px}
.xh-label{font:600 12px 'JetBrains Mono',monospace;letter-spacing:.22em;color:var(--xw-blue-700);
  text-transform:uppercase;margin:0 0 clamp(14px,2.2vh,26px)}
.xh-display{font-family:'Manrope','Inter',sans-serif;font-weight:800;color:#0c1220;
  font-size:clamp(2.7rem,4.9vw,5.6rem);line-height:.94;letter-spacing:-.05em;margin:0 0 clamp(16px,2.4vh,26px);text-wrap:balance}
.xh-line{display:block;overflow:hidden}
.xh-line>span{display:block;transform:translateY(0)}
.xh-grad{background:linear-gradient(92deg,#1f2f8f 0%,#2448a8 30%,#168bd2 62%,#20b7d7 100%);
  -webkit-background-clip:text;background-clip:text;color:var(--xw-blue-700);-webkit-text-fill-color:transparent}
.xh-grad--teal{background-image:linear-gradient(92deg,var(--xw-teal-500) 10%,var(--xw-cyan-500) 90%);color:var(--xw-teal-500)}
@supports not (background-clip:text){.xh-grad{color:var(--xw-blue-500);-webkit-text-fill-color:currentColor}}
.xh-copy{font:400 clamp(15.5px,1.05vw,18px)/1.62 'Inter',sans-serif;color:var(--xw-ink-muted);
  max-width:620px;margin:0 0 clamp(18px,2.6vh,30px)}
.xh-ctas{display:flex;gap:14px;flex-wrap:wrap}
.xh-btn{display:inline-flex;align-items:center;gap:10px;font:600 15px/1 'Inter',sans-serif;
  padding:16px 26px;border-radius:var(--xw-radius-small);text-decoration:none;
  transition:background .18s var(--xw-ease-standard),color .18s,border-color .18s}
.xh-btn--pri{background:var(--xw-navy-900);color:#fff}
.xh-btn--pri svg{width:15px;height:15px;transition:transform .18s var(--xw-ease-standard)}
.xh-btn--pri:hover{background:var(--xw-navy-950)}
.xh-btn--pri:hover svg{transform:translateX(4px)}
.xh-btn--sec{background:transparent;border:1px solid var(--xw-navy-900);color:var(--xw-navy-900)}
.xh-btn--sec:hover{background:#fff}
.xh-btn:focus-visible,.xh-mdot:focus-visible{outline:2px solid var(--xw-blue-700);outline-offset:2px}
.xh-proof{display:flex;gap:clamp(22px,3vw,40px);list-style:none;margin:clamp(20px,3vh,34px) 0 0;padding:clamp(16px,2.2vh,24px) 0 0;
  border-top:1px solid var(--xw-line);flex-wrap:wrap}
.xh-proof li{display:flex;flex-direction:column;gap:5px;padding-right:clamp(22px,3vw,40px);border-right:1px solid var(--xw-line-soft)}
.xh-proof li:last-child{border-right:0;padding-right:0}
.xh-proof b{font:800 clamp(1.25rem,1.7vw,1.9rem)/1 'Manrope',sans-serif;color:#1f3b8f;letter-spacing:-.02em}
.xh-proof span{font:600 10px 'JetBrains Mono',monospace;letter-spacing:.18em;color:var(--xw-ink-muted)}
.xh-slide[data-theme="sec"] .xh-proof b{color:var(--xw-teal-500)}

/* diagram */
.xh-diagram{align-self:stretch;display:flex;align-items:center;min-height:0}
.xhd{width:100%;height:auto;max-height:min(62vh,560px);display:block}

/* ---------- entrance choreography ---------- */
[data-xh-animate]{transition:opacity .5s var(--xw-ease-enterprise),transform .5s var(--xw-ease-enterprise)}
.xh-slide[data-state="inactive"] [data-xh-animate]{opacity:0}
.xh-slide[data-state="entering"] [data-xh-animate="micro"]{transition-duration:.3s}
.xh-slide[data-state="entering"] [data-xh-animate="label"]{transition-duration:.32s;transition-delay:.05s}
.xh-slide[data-state="entering"] .xh-line>span{animation:xh-linein .55s var(--xw-ease-enterprise) both}
.xh-slide[data-state="entering"] .xh-line:nth-child(2)>span{animation-delay:.09s}
.xh-slide[data-state="entering"] [data-xh-animate="copy"]{transition-delay:.1s}
.xh-slide[data-state="entering"] [data-xh-animate="cta"]{transition-delay:.17s}
.xh-slide[data-state="entering"] [data-xh-animate="proof"]{transition-delay:.24s}
.xh-slide[data-state="entering"] [data-xh-animate="diagram"]{transition-duration:.6s;transition-delay:.3s}
@keyframes xh-linein{from{transform:translateY(104%)}to{transform:translateY(0)}}
.xh-slide[data-state="exiting"] [data-xh-animate="diagram"]{opacity:0;transform:translateX(8px);transition-duration:.26s}
.xh-slide[data-state="exiting"] [data-xh-animate="proof"],
.xh-slide[data-state="exiting"] [data-xh-animate="cta"]{opacity:0;transition-duration:.18s}
.xh-slide[data-state="exiting"] [data-xh-animate="copy"],
.xh-slide[data-state="exiting"] [data-xh-animate="headline"]{opacity:0;transform:translateY(-10px);transition-duration:.3s}
/* diagram internals */
.xh [data-xh-path]{stroke-dasharray:var(--pl,600);stroke-dashoffset:var(--pl,600)}
.xh-slide[data-state="active"] [data-xh-path],.xh-slide[data-state="entering"] [data-xh-path]{
  animation:xh-draw 1.2s var(--xw-ease-standard) forwards;animation-delay:calc(.55s + var(--pi,0)*.1s)}
@keyframes xh-draw{to{stroke-dashoffset:0}}
.xh [data-xh-node]{opacity:0;transform:scale(.96);transform-origin:center;transform-box:fill-box}
.xh-slide[data-state="active"] [data-xh-node],.xh-slide[data-state="entering"] [data-xh-node]{
  animation:xh-pop .18s var(--xw-ease-standard) forwards;animation-delay:calc(.8s + var(--ni,0)*.14s)}
@keyframes xh-pop{to{opacity:1;transform:scale(1)}}
.xh [data-xh-tick]{opacity:0}
.xh-slide[data-state="active"] [data-xh-tick],.xh-slide[data-state="entering"] [data-xh-tick]{
  animation:xh-fade .3s ease forwards;animation-delay:calc(1.5s + var(--ti,0)*.12s)}
@keyframes xh-fade{to{opacity:1}}

/* ---------- mobile pagination ---------- */
.xh-mobiledots{display:none}
.xh-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* ---------- responsive ---------- */
@media(max-width:1279px){
  .xh-grid{grid-template-columns:56% 44%}
  .xh-display{font-size:clamp(2.5rem,4.6vw,4rem)}
  .xhd .xhd-ledger{display:none}
}
@media(max-width:767px){
  .xh{grid-template-columns:1fr;min-height:0}
  .xh-rail{display:none}
  .xh-slide{position:absolute;padding:22px 16px 18px}
  .xh-slide[data-state="active"]{position:relative}
  .xh-micro{grid-template-columns:1fr;gap:4px;font-size:10px}
  .xh-micro span:nth-child(3){text-align:left}
  .xh-micro span:nth-child(2){display:none}
  .xh-grid{grid-template-columns:1fr;gap:18px;align-items:start}
  .xh-display{font-size:clamp(2.4rem,11vw,3.6rem);line-height:.98;letter-spacing:-.04em}
  .xh-copy{font-size:15.5px}
  .xh-ctas{flex-direction:column}
  .xh-btn{justify-content:center;width:100%;min-height:48px}
  .xh-diagram{order:5;max-width:480px}
  .xhd{max-height:300px}
  .xh-proof{gap:16px}
  .xh-proof b{font-size:1.15rem}
  .xh-mobiledots{display:flex;justify-content:center;gap:10px;padding:6px 0 20px;background:var(--xw-paper)}
  .xh-mdot{min-width:44px;min-height:44px;border:0;background:none;cursor:pointer;display:grid;place-items:center}
  .xh-mdot span{font:600 11px 'JetBrains Mono',monospace;color:var(--xw-ink-muted);
    border-bottom:2px solid var(--xw-line);padding:4px 6px;transition:color .2s,border-color .2s}
  .xh-mdot.is-active span{color:var(--xw-blue-700);border-color:var(--xw-cyan-500)}
}
/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .xh *,.xh *::before,.xh *::after{animation:none!important;transition:opacity .1s linear!important}
  .xh [data-xh-path]{stroke-dashoffset:0!important}
  .xh [data-xh-node],.xh [data-xh-tick]{opacity:1!important;transform:none!important}
  .xh-slide[data-state="inactive"] [data-xh-animate]{opacity:0}
  .xh-slide[data-state="active"] [data-xh-animate]{opacity:1}
}

/* ---------- hs2: reference look & feel ---------- */
.xh-diagram{position:relative;padding-left:clamp(18px,2vw,34px)}
.xh-diagram::before{content:'';position:absolute;left:0;top:-8%;bottom:-8%;width:0;
 border-left:1.5px dashed var(--xw-line)}
.xh-micro{letter-spacing:.16em}
.xh-label{letter-spacing:.24em}
.xh-label::first-letter{color:var(--xw-blue-500)}
.xh-proof li b:only-child{font:700 13px 'JetBrains Mono',monospace;letter-spacing:.16em;color:#1f3b8f}
.xh-slide[data-theme="sec"] .xh-proof li b:only-child{color:#1f3b8f}
.xh-slide[data-theme="sec"] .xh-proof li:last-child b:only-child{color:var(--xw-cyan-500)}
.xh-btn--pri{box-shadow:0 10px 22px -12px rgba(7,21,47,.55)}
.xh-btn--sec{background:rgba(255,255,255,.6)}
.xh-rail__track{top:96px;bottom:110px;background:rgba(255,255,255,.22)}
.xh-rail__dot{width:9px;height:9px}
.xh-rail__stop.is-active .xh-rail__dot{width:15px;height:15px}
@media(max-width:767px){.xh-diagram{padding-left:0}.xh-diagram::before{display:none}}
