:root { --stack-edge: #252525; }
html { scroll-padding-top: 132px; }
header.top {
  top: 18px; left: 24px; right: 24px; max-width: 1232px; margin: auto; height: 88px;
  background: #fff; border: 2px solid var(--stack-edge); border-radius: 24px;
  box-shadow: 0 7px 0 var(--teal); pointer-events: auto;
}
header.top .logo { top: 16px; left: 22px; }
header.top .logo-art { width: 212px; }
.top-nav { top: 16px; right: 20px; gap: 16px; align-items: center; }
.nav-pill { height: 48px; gap: 2px; padding: 0; }
.nav-pill a { border: 1px solid transparent; border-radius: 12px; padding: 10px 13px; font-weight: 600; font-size: 1rem; transition: background .16s, color .16s, transform .16s, box-shadow .16s; }
.nav-pill a:hover, .nav-pill a:focus-visible { background: var(--rose); color: #fff; border-color: var(--stack-edge); box-shadow: -3px 3px 0 var(--stack-edge); transform: translate(2px,-2px); }
.nav-pill a[aria-current="page"], .nav-pill a.cur, .nav-pill a.on { background: #efefef; color: var(--ink); }
.nav-pill a[aria-current="page"]:hover, .nav-pill a.cur:hover, .nav-pill a.on:hover { background: var(--rose); color: white; }
.nav-icon.phone { width: auto; height: 46px; padding: 0 18px; display: inline-flex; gap: 12px; font-weight: 600; font-size: 1rem; border-radius: 14px; color: #fff; }
.nav-icon.phone svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.m-menu { top: 128px; border: 2px solid var(--ink); box-shadow: -5px 5px 0 var(--teal); }
.m-menu a { border-radius: 10px; padding-inline: 12px; }
.m-menu a:hover { background: var(--rose); color: white; }
.menu-lines { fill: none !important; stroke: currentColor !important; stroke-width: 2; }

.bcard, .ncard, .prog, .tile {
  --card-edge: #153d3b;
  border: 1.5px solid var(--card-edge); border-radius: 22px;
  box-shadow: -10px 10px 0 var(--card-edge);
  transition: transform .2s ease, box-shadow .2s ease;
}
.bcard:nth-child(2), .prog.t2 { --card-edge: #8d1f26; }
.bcard:nth-child(3), .prog.t3 { --card-edge: #145d5e; }
.bcard:hover, .prog:hover, .tile:hover {
  transform: translate(3px,-3px);
  box-shadow: -13px 13px 0 var(--card-edge);
}
.nitem, .nitem.more, .nitem:hover, .nitem.more:hover {
  border: 1px solid var(--line); box-shadow: none; transform: none;
}
.nitem:hover { border-color: var(--teal); }
.ncard { --card-edge: var(--teal); border-color: var(--card-edge); box-shadow: -10px 10px 0 var(--card-edge); }
.card, details { border: 1px solid var(--line); box-shadow: none; transform: none; }
.trio, .prog-grid, .news, .posts .grid, .page-training-programs #grid { gap: 36px; padding-left: 10px; padding-bottom: 14px; }
.track { gap: 36px; padding-bottom: 42px; }
.faq-list { padding-left: 8px; }
details { margin-bottom: 22px; }
.card .top .ico { border: 1px solid var(--ink); box-shadow: none; transition: transform .18s, background .18s, color .18s, box-shadow .18s; }
.card .top:hover .ico { color: #fff; background: var(--rose); box-shadow: none; transform: none; }

.stack-btn.stack-btn, #cb-fab.stack-btn {
  --button-edge: var(--card-edge, #153d3b);
  border: 1.5px solid var(--button-edge); box-shadow: 0 5px 0 var(--button-edge);
  transform-origin: center;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
.stack-btn.stack-btn:hover, .stack-btn.stack-btn:focus-visible, #cb-fab.stack-btn:hover, #cb-fab.stack-btn:focus-visible {
  color: #fff; background: var(--rose); border-color: var(--button-edge);
  transform: translateY(-2px);
  box-shadow: 0 8px 0 var(--button-edge);
}
.stack-btn.stack-btn:active, #cb-fab.stack-btn:active {
  transform: translateY(3px); box-shadow: 0 2px 0 var(--button-edge);
}
.pill-btn.outline, .pill-btn.ghost { background: #fff; }
.bcard .pill-btn { border-color: var(--button-edge); }
.bcard .pill-btn:hover, .band .pill-btn:hover { color: white; background: var(--rose); }
.tab { margin: 3px; border: 1px solid var(--line); box-shadow: none; transition: background .18s, color .18s; }
.tab:hover, .tab:focus-visible { background: var(--teal); color: white; box-shadow: none; transform: none; }
.tabs { overflow: visible; border: 0; background: transparent; gap: 8px; }
.tab:not(.on) { background: white; }
.tab.on { background: var(--teal); }
.arrows button:hover svg { color: white; }
.cb-opt { margin: 3px 4px 5px; }
.cb-body { padding-right: 22px; }

.f-social a, .soc a { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: auto; height: 48px; padding: 0 18px; border-radius: 14px; color: var(--teal); background: #fff; font-size: .9rem; font-weight: 600; }
.f-social svg, .soc svg { width: 22px; height: 22px; flex: none; }
.social-arrow { font-size: 1.2rem; }
.linkedin-cta { gap: 12px; }
.linkedin-cta svg { width: 21px; height: 21px; color: var(--teal); }
.linkedin-cta:hover svg, .linkedin-cta:focus-visible svg { color: white; }

.founder-portrait { position: absolute; left: 0; bottom: 0; width: 285px; height: 340px; overflow: hidden; border-radius: 26px; }
.person .founder-portrait img { position: absolute; top: 0; bottom: auto; left: 50%; width: auto; max-width: none; height: 146%; margin: 0; transform: translateX(-50%); border-radius: 0; object-fit: fill; }
.founder-news img { height: 150% !important; width: 100%; object-fit: cover; object-position: 58% top; }

@media (hover: hover) and (pointer: fine) {
  #drag-cursor { display: block; }
  .ncard, .words { cursor: none; }
}
@media (hover: none), (pointer: coarse) { #drag-cursor { display: none; } }
@media (min-width: 861px) and (max-width: 1100px) {
  header.top .logo-art { width: 182px; }
  header.top .logo { top: 20px; left: 18px; }
  .top-nav { right: 14px; gap: 10px; }
  .nav-pill a { font-size: .94rem; padding-inline: 8px; }
  .nav-icon.phone { font-size: .76rem; padding-inline: 12px; gap: 8px; }
}
@media (max-width: 860px) {
  html { scroll-padding-top: 112px; }
  header.top { top: 12px; left: 12px; right: 12px; height: 76px; border-radius: 20px; box-shadow: 0 5px 0 var(--teal); }
  header.top .logo { top: 16px; left: 16px; }
  header.top .logo-art { width: 168px; }
  .top-nav { top: 16px; right: 16px; left: auto; }
  .nav-icon.phone, .nav-pill { display: none; }
  .nav-icon.burger { gap: 7px; display: inline-flex; padding: 0 12px; border-radius: 12px; height: 40px; font-size: .9rem; }
  .nav-icon.burger svg { width: 17px; height: 17px; }
  .m-menu { top: 108px; left: 16px; right: 16px; }
  .trio, .prog-grid, .news, .posts .grid, .page-training-programs #grid { gap: 30px; padding-left: 8px; padding-right: 2px; }
  .founder-portrait { position: relative; width: 252px; height: 300px; margin: 0 auto 26px; }
  .person .founder-portrait img { width: auto; height: 146%; margin: 0; }
  .f-social a, .soc a { height: 46px; }
  .tabs { gap: 8px; }
  .tab { font-size: .77rem; }
}
@media (max-width: 360px) {
  header.top .logo-art { width: 146px; }
  header.top .logo { top: 19px; left: 12px; }
  .top-nav { right: 12px; }
  .nav-icon.burger { padding-inline: 9px; font-size: .82rem; gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .stack-btn.stack-btn:hover, #cb-fab.stack-btn:hover, .bcard:hover, .prog:hover, .tile:hover { transform: none; }
}


.news, .posts .grid, .page-training-programs #grid { padding-left: 0; padding-bottom: 0; }
.faq-list { padding-left: 0; }

#drag-cursor .dc-in { gap: 7px; transform: translate(-42%, -35%) scale(.85); }
#drag-cursor.show .dc-in { transform: translate(-42%, -35%) scale(1); }
#drag-cursor .dc-icon { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: white; color: var(--ink); border: 2px solid var(--ink); box-shadow: -3px 3px 0 var(--teal); transition: transform .15s; }
#drag-cursor svg { width: 28px; height: 34px; filter: none; }
#drag-cursor .hand-shape { fill: #fff; }
#drag-cursor span { display: flex; align-items: center; gap: 7px; color: #fff; background: var(--rose); border: 1px solid var(--ink); border-radius: 999px; padding: 5px 11px; white-space: nowrap; font-weight: 600; font-size: .72rem; text-transform: none; letter-spacing: .01em; text-shadow: none; }
#drag-cursor span b { font-size: 1rem; line-height: 1; font-weight: 400; }
body:has(.track.dragging) #drag-cursor .dc-icon, body:has(.words.is-dragging) #drag-cursor .dc-icon { transform: rotate(-10deg) scale(.94); }
@media (min-width: 861px) and (max-width: 980px) {
  .nav-pill, .nav-icon.phone { display: none; }
  .nav-icon.burger { display: inline-flex; gap: 8px; width: auto; padding: 0 16px; border-radius: 14px; font-size: 1rem; color: white; }
  .m-menu { top: 124px; }
}
@media (max-width: 860px) {
  .news, .posts .grid, .page-training-programs #grid { padding-left: 0; padding-right: 0; }
}
.tab:hover, .tab:focus-visible { background: var(--teal); color: #fff; box-shadow: none; transform: none; }

.page-training-programs .tabs {
  display: flex; flex-wrap: nowrap; justify-content: flex-start; width: max-content;
  max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
  padding: 5px; gap: 2px; border: 2px solid var(--ink); border-radius: 999px;
  background: #fff; box-shadow: none; overscroll-behavior-x: contain;
  scroll-padding-inline: 7px; -webkit-overflow-scrolling: touch;
}
.page-training-programs .tabs::-webkit-scrollbar { display: none; }
.page-training-programs .tab {
  flex: 0 0 auto; margin: 0; white-space: nowrap; border: 0; border-radius: 999px;
  padding: 14px 22px; font-size: .9rem; background: transparent; box-shadow: none;
}
.page-training-programs .tab.on { background: var(--teal); color: #fff; }
.page-training-programs .tab:hover, .page-training-programs .tab:focus-visible {
  background: var(--teal); color: white; transform: none; box-shadow: none;
}
.page-training-programs .tab:focus-visible { outline-offset: -4px; }
.nitem, .nitem.more { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
@media (hover: hover) and (pointer: fine) {
  .insights .nitem:hover, .posts .nitem:hover {
    border-color: var(--teal); transform: translate(3px,-3px);
    box-shadow: -10px 10px 0 var(--teal);
  }
}
.cb-msg a:not(.go) { color: #087d81; text-decoration: underline; overflow-wrap: anywhere; }
#page-progress {
  position: fixed; top: 0; left: 0; width: 100%; height: 3px;
  z-index: 2147483647; pointer-events: none; background: #ef1b25;
  transform: scaleX(0); transform-origin: left; opacity: 1;
  transition: transform 1.8s cubic-bezier(.1,.55,.2,1), opacity .18s ease;
}
#page-progress[hidden] { display: none; }
#page-progress.is-complete { transition: transform .2s ease, opacity .18s ease; }
@media (max-width: 860px) {
  .page-training-programs .tabs { width: 100%; margin-top: 32px; }
  .page-training-programs .tab { padding: 12px 18px; font-size: .85rem; }
  .people { max-width: 560px; }
  .person { text-align: left; width: 100%; }
  .person h3 { text-align: left; line-height: 1.2; }
  .person p, .person blockquote { text-align: left; line-height: 1.75; overflow-wrap: break-word; }
  .person .founder-portrait { margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .insights .nitem:hover, .posts .nitem:hover { transform: none; }
}
.cb-msg a[href^="mailto:"] { display: block; font-size: .75rem; line-height: 1.65; }

.words { min-width: 0; touch-action: none; -webkit-user-select: none; user-select: none; }
.words.is-dragging ul { transition: none; }
.insights .nitem:active, .posts .nitem:active,
.insights .nitem.is-touch-pressed, .posts .nitem.is-touch-pressed {
  border-color: var(--teal); transform: translate(3px,-3px);
  box-shadow: -10px 10px 0 var(--teal);
}
@media (max-width: 860px) {
  .turn-row { flex-direction: column; flex-wrap: nowrap; gap: 10px; }
  .turn-row .disp { font-size: clamp(1.7rem, 7vw, 2.3rem); }
  .words { --lh: 64px; flex: none; width: 100%; max-width: 380px; height: 192px; margin: 0 auto; }
  .words li { font-size: clamp(1.8rem, 8vw, 2.1rem); white-space: nowrap; }
  .track { padding-left: 20px; padding-right: 20px; scroll-padding-left: 20px; scroll-snap-type: x proximity; }
  .track .ncard { scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
  .insights .nitem:active, .posts .nitem:active,
  .insights .nitem.is-touch-pressed, .posts .nitem.is-touch-pressed { transform: none; }
}
