/* Haikotek prototype v1.4 — native scroll-snap step track (replaces the v1.3 fade slider) + sentence-case titles */
.v14 .hk-track{position:relative}
.v14 .hk-vp{display:flex;gap:var(--page-grid-gap,1.5rem);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:1.5rem;outline:none;cursor:grab;
  -webkit-user-select:none;user-select:none}
.v14 .hk-vp::-webkit-scrollbar{display:none}
.v14 .hk-vp:focus-visible{outline:2px solid var(--accent-ink,#b8360e);outline-offset:4px}
.v14 .hk-vp.free{scroll-snap-type:none;scroll-behavior:auto}
.v14 .hk-vp.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.v14 .hk-vp.dragging a{pointer-events:none}
.v14 .hk-vp .hk-slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:1fr;
  background:var(--paper);border-radius:1.5rem;overflow:hidden;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
@media(min-width:900px){.v14 .hk-vp .hk-slide{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
@media(max-width:899px){.v14 .hk-vp{gap:.75rem;border-radius:1.25rem}.v14 .hk-vp .hk-slide{flex-basis:88%;border-radius:1.25rem}}
.v14 .hk-vp img{-webkit-user-drag:none;pointer-events:none}
@media (prefers-reduced-motion:reduce){.v14 .hk-vp{scroll-behavior:auto}.v14 .hk-tab .trk::after{transition:none!important}}
/* site sentence case (like section titles / work cards), not the uppercase rail label */
.v14 .hk-copy .hk-t{margin-top:1rem;font-size:clamp(22px,2vw,28px);line-height:1.2;letter-spacing:-.01em;text-transform:none;font-weight:400;color:var(--foreground)}
.v14 .hk-tab .lb{text-transform:none;letter-spacing:0;font-size:13px}
.v14 .hk-tab .lb i{color:inherit;opacity:.7}
/* progress: fill follows scroll position (--p 0..1 set by JS) */
.v14 .hk-tab .trk::after{transform:scaleX(var(--p,0));transition:transform .12s linear}
.v14 .hk-tab[aria-current="step"] .lb{color:var(--foreground)}
.v14 .hk-tab:focus-visible{outline:2px solid var(--accent-ink,#b8360e);outline-offset:6px;border-radius:2px}
.v14 .hk-hint{margin-top:.75rem;font-size:12px;color:var(--muted)}
@media(hover:none){.v14 .hk-hint .mouse{display:none}}
@media(hover:hover){.v14 .hk-hint .touch{display:none}}
