/* /instiv2/about/ page styles: the story peel stack, the company panel layers, founder, podcast, contact. */

.ab-h1 { max-width: 10.11em; }
.ab-sub { max-width: 29.02em; }
.ab-kc { justify-content: center; }
.ab-subc { margin-left: auto; margin-right: auto; max-width: 27.76em; }

/* ---------- panel layers ---------- */
.ab-status { display: grid; gap: 10px; align-content: center; }
.ab-st { display: grid; grid-template-columns: 14px 1fr; gap: 14px; align-items: start; padding: 14px 18px; border-radius: 14px; background: rgba(214,226,255,.04); border: 1px solid rgba(214,226,255,.10); opacity: 0; transform: translateY(10px); transition: opacity .5s, transform .7s var(--ease); }
.ab-st:nth-child(2) { transition-delay: .1s; } .ab-st:nth-child(3) { transition-delay: .2s; } .ab-st:nth-child(4) { transition-delay: .3s; }
.pl.is-on .ab-st { opacity: 1; transform: none; }
.ab-st i { width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; }
.ab-st.ok i { background: #3DDC97; box-shadow: 0 0 0 4px rgba(61,220,151,.18); }
.ab-st.wait i { background: #F4AE55; box-shadow: 0 0 0 4px rgba(244,174,85,.18); }
.ab-st.no i { background: rgba(226,233,246,.5); box-shadow: 0 0 0 4px rgba(226,233,246,.1); }
.ab-st b { display: block; font-size: 15px; }
.ab-st span { font-size: 13.5px; line-height: 1.5; color: rgba(226,233,246,.7); }

.ab-isnot { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-content: center; }
.ab-col { display: grid; gap: 8px; align-content: start; }
.ab-col p { margin: 0 0 4px; font: 500 11px/1 "JetBrains Mono", "JBM Fallback", monospace; letter-spacing: .14em; text-transform: uppercase; }
.ab-col.is p { color: #3DDC97; } .ab-col.not p { color: #FF9B9B; }
.ab-col span { position: relative; padding: 12px 14px 12px 38px; border-radius: 12px; font-size: 14px; line-height: 1.4; background: rgba(214,226,255,.04); border: 1px solid rgba(214,226,255,.10); opacity: 0; transform: translateX(-10px); transition: opacity .5s, transform .7s var(--ease); }
.ab-col.not span { transform: translateX(10px); }
.ab-col span::before { content: ""; position: absolute; left: 14px; top: 50%; width: 12px; height: 2px; background: #FF9B9B; }
.ab-col.is span::before { width: 10px; height: 6px; margin-top: -5px; background: none; border-left: 2px solid #3DDC97; border-bottom: 2px solid #3DDC97; transform: rotate(-45deg); }
.ab-col span:nth-child(3) { transition-delay: .08s; } .ab-col span:nth-child(4) { transition-delay: .16s; } .ab-col span:nth-child(5) { transition-delay: .24s; }
.pl.is-on .ab-col span { opacity: 1; transform: none; }


/* ---------- one big number on a plate (instead of a chip stack) ---------- */
.ab-big { display: flex; align-items: baseline; gap: 16px; margin: 30px 0 0; max-width: 520px; }
.ab-big b { font: 700 clamp(64px, 7.4vw, 116px)/.9 Inter, "Inter Fallback", sans-serif; letter-spacing: -0.05em; background: linear-gradient(120deg, #F2F5FB 10%, #7FB2FF 55%, #3DDC97); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.ab-big span { font-size: 15px; line-height: 1.45; color: var(--muted); max-width: 16.4em; }
.ab-big-page b { background-image: linear-gradient(120deg, var(--page-text) 15%, #3B7BE0 60%, #1FAF74); }
.ab-big-page span { color: var(--page-muted); }

/* ---------- founder: portrait, credentials, the 2009 to 2026 scrubber ---------- */
.ab-fd { color: var(--page-text); }
/* P1: the founder kicker sits on the page surface, so it takes the page inks (it was white on white in light) */
.ab-fd .kicker { color: var(--page-muted); } .ab-fd .kicker .num { color: var(--page-text); border-color: var(--page-line); }
.ab-fd-in { max-width: 1400px; margin: 0 auto; padding: clamp(70px, 11vh, 130px) var(--pad); }
.ab-fd-top { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(28px, 5vw, 90px); align-items: center; }
.ab-portrait { --ar: 4 / 5; max-width: 470px; }
.ab-portrait > img { object-position: 50% 20%; }
.ab-fd .lede { margin: 18px 0 0; max-width: 29.02em; font-size: clamp(16px, 1.25vw, 19px); color: var(--page-muted); }
.ab-cred { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 8px; max-width: 560px; }
.ab-cred li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 16px; border-radius: 14px; background: var(--page-2); border: 1px solid var(--page-line); font-size: 14px; }
.ab-cred li span { color: var(--page-muted); text-align: right; }
.ab-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ab-links a { padding: 9px 14px; border-radius: 99px; font-size: 13.5px; font-weight: 600; border: 1px solid var(--page-line); background: var(--page-glass); color: var(--page-text); }
.ab-links a:hover { border-color: var(--page-faint); }
.ab-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding-top: 0; padding-bottom: 0; }

.ab-tl { position: relative; margin-top: clamp(40px, 7vh, 80px); padding: clamp(22px, 3vw, 44px); border-radius: 30px; color: #EAF0FA; overflow: hidden;
  background: radial-gradient(70% 90% at 0% 0%, rgba(127,178,255,.16), rgba(127,178,255,0) 60%), radial-gradient(60% 80% at 100% 100%, rgba(61,220,151,.10), rgba(61,220,151,0) 60%), #070C18;
  box-shadow: 0 0 0 1px rgba(214,226,255,.10), 0 60px 120px -60px rgba(5,8,15,.7); }
.ab-tl-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.ab-tl-count { display: flex; align-items: flex-end; gap: 14px; }
.ab-tl-count b { min-width: 1.48em; text-align: right; font: 700 clamp(64px, 8vw, 128px)/.86 Inter, "Inter Fallback", sans-serif; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; background: linear-gradient(120deg, #F2F5FB 10%, #7FB2FF 55%, #3DDC97); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ab-tl-count span { padding-bottom: 8px; font: 500 12px/1.4 "JetBrains Mono", "JBM Fallback", monospace; letter-spacing: .1em; text-transform: uppercase; color: rgba(226,233,246,.6); }
.ab-tl-yr { font: 700 clamp(56px, 9vw, 150px)/.8 Inter, "Inter Fallback", sans-serif; letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 1px rgba(214,226,255,.28); font-variant-numeric: tabular-nums; user-select: none; }
.ab-tl-list { list-style: none; margin: clamp(22px, 4vh, 40px) 0 0; padding: 0; display: grid; }
.ab-tl-list li { grid-area: 1 / 1; max-width: 39.12em; opacity: 0; transform: translate3d(0, 10px, 0); transition: opacity .45s var(--ease), transform .6s var(--ease); pointer-events: none; }
.ab-tl-list li.is-on { opacity: 1; transform: none; pointer-events: auto; }
.ab-tl-list time { font: 500 12px/1 "JetBrains Mono", "JBM Fallback", monospace; letter-spacing: .14em; text-transform: uppercase; color: #3DDC97; }
.ab-tl-list h3 { margin: 10px 0 0; font-size: clamp(24px, 2.4vw, 36px); line-height: 1.08; letter-spacing: -0.03em; }
.ab-tl-list p { margin: 10px 0 0; font-size: clamp(15px, 1.15vw, 17px); line-height: 1.55; color: rgba(226,233,246,.74); }
.ab-tl-track { position: relative; height: 64px; margin-top: clamp(22px, 4vh, 40px); }
.ab-tl-rail { position: absolute; left: 0; right: 0; top: 20px; height: 4px; border-radius: 4px; background: rgba(214,226,255,.1); }
.ab-tl-fill { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, #7FB2FF, #3DDC97); transform-origin: 0 50%; transform: scaleX(var(--f, 1)); }
.ab-tl-gap { position: absolute; left: 17%; width: 19%; top: -3px; height: 10px; background: repeating-linear-gradient(90deg, #070C18 0 6px, transparent 6px 10px); opacity: .85; }
.ab-tl-ticks { position: absolute; inset: 0; pointer-events: none; }
.ab-tl-ticks i { position: absolute; top: 15px; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: #070C18; border: 2px solid rgba(214,226,255,.35); transition: border-color .3s, background .3s, transform .3s var(--ease); }
.ab-tl-ticks i.on { border-color: #3DDC97; background: #3DDC97; }
.ab-tl-ticks i.cur { transform: scale(1.35); box-shadow: 0 0 0 6px rgba(61,220,151,.18); }
.ab-tl-ticks em { position: absolute; top: 40px; transform: translateX(-50%); font: 500 12px/1 "JetBrains Mono", "JBM Fallback", monospace; font-style: normal; color: rgba(226,233,246,.55); white-space: nowrap; }
.ab-tl-ticks em:first-of-type { transform: none; } .ab-tl-ticks em:last-of-type { transform: translateX(-100%); }
.ab-tl-range { position: absolute; left: -10px; right: -10px; top: 4px; width: calc(100% + 20px); height: 36px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: grab; touch-action: pan-y; }
.ab-tl-range:active { cursor: grabbing; }
.ab-tl-range::-webkit-slider-runnable-track { height: 36px; background: transparent; }
.ab-tl-range::-moz-range-track { height: 36px; background: transparent; }
.ab-tl-range::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; margin-top: 4px; border-radius: 50%; background: #F2F5FB; box-shadow: 0 0 0 6px rgba(127,178,255,.25), 0 8px 20px rgba(0,0,0,.5); }
.ab-tl-range::-moz-range-thumb { width: 28px; height: 28px; border: 0; border-radius: 50%; background: #F2F5FB; box-shadow: 0 0 0 6px rgba(127,178,255,.25), 0 8px 20px rgba(0,0,0,.5); }
.ab-tl-range:focus-visible { outline: none; }
.ab-tl-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px #7FB2FF, 0 0 0 8px rgba(127,178,255,.3); }
.ab-tl-stops { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ab-tl-stops button { min-height: 44px; padding: 0 16px; border-radius: 999px; font: 600 14px/1 Inter, "Inter Fallback", sans-serif; color: #EAF0FA; background: rgba(255,255,255,.06); border: 1px solid rgba(214,226,255,.16); cursor: pointer; transition: background .25s, border-color .25s; }
.ab-tl-stops button:hover { background: rgba(255,255,255,.12); border-color: rgba(214,226,255,.32); }
.ab-tl-stops button:disabled { opacity: .4; cursor: default; }
.no-js .ab-tl-list li { position: static; opacity: 1; transform: none; grid-area: auto; margin-bottom: 14px; }
.no-js .ab-tl-track, .no-js .ab-tl-head { display: none; }

/* ---------- rules in the open: full bleed recording, three big numbers ---------- */
.ab-rules { position: relative; overflow: hidden; color: var(--text); background: var(--ink); }
.ab-rules > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; filter: brightness(.55) saturate(.95); transform: scale(1.04); }
.ab-rules::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(5,8,15,.82), rgba(5,8,15,.25) 40%, rgba(5,8,15,.9) 88%); }
.ab-rules-in { position: relative; z-index: 2; display: grid; gap: clamp(36px, 8vh, 90px); min-height: 100svh; align-content: space-between; max-width: 1400px; margin: 0 auto; padding: clamp(90px, 14vh, 150px) var(--pad) clamp(40px, 7vh, 70px); }
.ab-rules .sub { max-width: 30.28em; }
.ab-wall { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ab-wall li { padding: 24px 24px 26px; border-radius: 22px; background: rgba(10,18,34,.5); border: 1px solid var(--line); backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); }
.ab-wall b { display: block; font: 700 clamp(48px, 5.6vw, 88px)/.95 Inter, "Inter Fallback", sans-serif; letter-spacing: -0.05em; background: linear-gradient(120deg, #F2F5FB 15%, #7FB2FF 60%, #3DDC97); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ab-wall span { display: block; margin-top: 12px; font-size: 15px; line-height: 1.5; color: var(--muted); }
.ab-rules-cap { margin: -20px 0 0; font: 500 12px/1.4 "JetBrains Mono", "JBM Fallback", monospace; letter-spacing: .06em; color: var(--faint); }

/* ---------- on camera: one framed swipe strip, quiet until you reach for it ---------- */
.ab-tv { color: var(--text); background: radial-gradient(70% 50% at 20% 0%, rgba(127,178,255,.16), rgba(127,178,255,0) 60%), radial-gradient(60% 50% at 100% 100%, rgba(61,220,151,.08), rgba(61,220,151,0) 60%), #05080F; }
.ab-tv-in { max-width: 1400px; margin: 0 auto; padding: clamp(80px, 12vh, 130px) 0 clamp(60px, 9vh, 100px); }
.ab-tv-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; padding: 0 var(--pad); margin-bottom: clamp(24px, 4vh, 40px); }
.ab-tv .kicker { color: var(--muted); } .ab-tv .kicker .num { color: var(--text); border-color: var(--line); }
.ab-tv-side { display: grid; gap: 18px; justify-items: start; max-width: 29.02em; }
.ab-tv-side p { margin: 0; color: var(--muted); }
.ab-tv-btns { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.ab-tv .pg-strip-nav button { border-color: var(--line); background: rgba(255,255,255,.06); color: var(--text); }
.ab-vstrip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(380px, 37%); gap: 16px; overflow-x: auto; padding: 6px var(--pad) 14px; scroll-snap-type: x mandatory; scroll-padding: 0 var(--pad); scrollbar-width: none; }
.ab-vstrip::-webkit-scrollbar { display: none; }
.ab-vstrip > .soc-vcell { scroll-snap-align: start; padding: 6px; border-radius: 28px; background: linear-gradient(160deg, rgba(214,226,255,.16), rgba(214,226,255,.03)); box-shadow: 0 0 0 1px rgba(214,226,255,.08), 0 30px 60px -30px rgba(0,0,0,.7); }
.ab-vstrip .soc-yt > img { filter: grayscale(1) brightness(.62) contrast(1.05); transition: transform 1.4s var(--ease), filter .6s var(--ease); }
.ab-vstrip .soc-yt:hover > img, .ab-vstrip .soc-yt:focus-visible > img { filter: grayscale(0) brightness(.92); }
.ab-vstrip .soc-play { width: 50px; left: auto; right: 14px; top: 14px; transform: none; }
.ab-vstrip .soc-yt:hover .soc-play, .ab-vstrip .soc-yt:focus-visible .soc-play { transform: scale(1.08); }
.ab-vstrip .soc-yt-cap b { font-size: 16px; }

.ab-rv-in { max-width: 1400px; margin: 0 auto; padding: clamp(70px, 11vh, 120px) var(--pad); color: var(--page-text); }
.ab-rv { min-height: 0; }

/* ---------- podcast: the episode page recording beside the words ---------- */
.ab-pod { color: var(--page-text); }
.ab-pod-media { --ar: 16 / 10; }
.ab-pod-band .ctas { margin-top: 26px; }
.ab-solid { background: var(--page-text); color: var(--page); }
.ab-solid:hover { opacity: .9; }
.ab-ghost { background: var(--page-glass); color: var(--page-text); border-color: var(--page-line); }
.ab-ghost:hover { border-color: var(--page-faint); }

/* ---------- contact ---------- */
.ab-contact { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; color: var(--text); background: var(--ink); }
.ab-contact > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; filter: brightness(.35) saturate(.8); }
.ab-contact-in { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 90px); align-items: center; width: 100%; max-width: 1400px; margin: 0 auto; padding: 90px var(--pad); }
.ab-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ab-card { display: grid; gap: 6px; align-content: start; min-height: 170px; padding: 22px; border-radius: 20px; background: var(--glass); border: 1px solid var(--line); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); transition: transform .5s var(--ease), border-color .3s; }
.ab-card:hover { transform: translateY(-3px); border-color: rgba(214,226,255,.35); }
.ab-card span { font: 500 11px/1 "JetBrains Mono", "JBM Fallback", monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--faint); }
.ab-card b { font-size: 19px; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.ab-card small { font-size: 13px; line-height: 1.5; color: var(--muted); }

@media (max-width: 860px) {
  .ab-h1 { font-size: 36px; }
  .ab-big { margin-top: 22px; gap: 12px; }
  .ab-big b { font-size: 64px; }
  .ab-big span { font-size: 14px; }
  .ab-isnot { grid-template-columns: 1fr; gap: 10px; align-content: start; }
  .ab-col { gap: 5px; }
  .ab-col span { padding: 8px 10px 8px 32px; font-size: 13px; }
  .ab-col span::before { left: 11px; }
  .ab-status { gap: 6px; align-content: start; }
  .ab-st { padding: 10px 12px; gap: 10px; }
  .ab-st span { font-size: 12px; }

  .ab-fd-in { padding-top: 56px; padding-bottom: 56px; }
  .ab-fd-top { grid-template-columns: 1fr; gap: 22px; }
  .ab-portrait { --ar: 3 / 2; max-width: none; }
  .ab-portrait > img { object-position: 50% 18%; }
  .ab-fd .h-l { font-size: 40px; }
  .ab-cred li { flex-direction: column; gap: 2px; }
  .ab-cred li span { text-align: left; }
  .ab-tl { margin-top: 28px; padding: 20px 18px 18px; border-radius: 24px; }
  .ab-tl-count span { font-size: 12px; padding-bottom: 4px; }
  .ab-tl-yr { font-size: 44px; }
  .ab-tl-list li h3 { font-size: 22px; }
  .ab-tl-list li p { font-size: 15px; }
  .ab-tl-ticks em { font-size: 12px; }
  .ab-tl-ticks em.mid { display: none; }
  .ab-tl-stops button { flex: 1; padding: 0 10px; }

  .ab-rules > video { position: relative; inset: auto; display: block; height: auto; aspect-ratio: 16 / 10; object-position: 30% 40%; filter: none; transform: none; }
  .ab-rules::before { inset: auto; top: 0; left: 0; right: 0; aspect-ratio: 16 / 10; height: auto; background: linear-gradient(180deg, rgba(5,8,15,0) 55%, var(--ink)); }
  .ab-rules-in { min-height: 0; padding-top: 6px; padding-bottom: 40px; gap: 26px; }
  .ab-wall { grid-template-columns: 1fr; gap: 10px; }
  .ab-wall li { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; padding: 16px 18px; }
  .ab-wall b { font-size: 44px; }
  .ab-wall span { margin: 0; font-size: 14px; }
  .ab-rules-cap { margin-top: -10px; }

  .ab-tv-in { padding-top: 64px; padding-bottom: 48px; }
  .ab-tv .pg-strip-nav { display: none; }
  .ab-vstrip { grid-auto-columns: 84%; }

  .ab-rv-in { padding-top: 56px; padding-bottom: 56px; }
  .ab-pod-band { padding-top: 56px; padding-bottom: 56px; gap: 24px; }
  .ab-pod-band .ctas .btn { flex: 1 1 auto; }

  .ab-contact { min-height: 0; }
  .ab-contact-in { grid-template-columns: 1fr; padding: 64px var(--pad); }
  .ab-cards { grid-template-columns: 1fr; }
  .ab-card { min-height: 0; padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .ab-st, .ab-col span { opacity: 1; transform: none; }
  .ab-tl-list li, .ab-tl-fill, .ab-tl-ticks i { transition: none; }
  .ab-rules > video { transform: none; }
}
.ab-vstrip .soc-yt-cap small { display: none; }
.ab-vstrip .soc-yt-cap em { font-size: 12px; }
.ab-rv .soc-src { font-size: 12px; }
.ab-pod-media figcaption { font-size: 12px; }
.ab-card span { font-size: 12px; }

/* phone legibility: the screen panel's small print and the shared chart labels, nothing under 12px */
@media (max-width: 860px) {
  .pnl .pl-top { font-size: 12px; letter-spacing: .08em; }
  .pnl .pl-note { font-size: 12px; }
  .iv2-stats dt, .iv2-eyebrow, .iv2-cap, .iv2-legend, .iv2-tag, .iv2-chip { font-size: 12px; }
  .ab-col p, .ab-card span { font-size: 12px; letter-spacing: .1em; }
}

/* F2: links inside FAQ answers read as links */
