/* chart-shark.com — shared marketing layer on top of the design system */
.wrap{max-width:var(--max-w-marketing);margin:0 auto;padding:0 var(--s-6)}
.banner{background:var(--ink-900);color:var(--text-on-ink);font-family:var(--font-display);font-weight:600;font-size:13px;line-height:20px;padding:var(--s-2) 0}
.banner .wrap{display:flex;justify-content:center;gap:2px var(--s-3);flex-wrap:wrap;align-items:center;text-align:center}
.banner .wrap>*{min-width:0}
@media(max-width:960px){.banner{font-size:12px;line-height:18px}}
.banner a{color:var(--blue-300);border-bottom-color:rgba(123,167,209,.5);white-space:nowrap}
.banner a:hover{color:var(--text-on-ink)}
.banner-book{display:inline-flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid rgba(11,45,83,.25)}
.banner-book .sep{opacity:.5}
@media(max-width:600px){.banner-book{border-left:0;padding-left:0}}
.nav{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s-6);border-bottom:1px solid var(--line)}
.nav img{height:22px;width:auto;display:block}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--s-6);align-items:center}
.nav ul a{color:var(--text-body);border:0;font-family:var(--font-display);font-weight:600;font-size:14px}
.nav ul a:hover{color:var(--ink-900)}
.nav ul a.cs-btn--primary,.nav ul a.cs-btn--primary:hover{color:var(--paper-50)}
@media(max-width:760px){.nav ul li:not(:last-child){display:none}}
section{padding:var(--s-24) 0}
@media(max-width:760px){section{padding:var(--s-14) 0}}
.eyebrow{display:block;margin-bottom:var(--s-3)}
.lede{font-size:18px;line-height:28px;color:var(--text-body);max-width:56ch;text-wrap:pretty}
.t-display{font-size:clamp(36px,5.2vw,56px);line-height:1.08;text-wrap:balance}
h2{text-wrap:balance}
.cta-row{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center}
.cs-btn{white-space:nowrap}
a.cs-btn{border-bottom-width:1px}
a.cs-btn--primary,a.cs-btn--primary:hover{color:var(--paper-50)}
a.cs-btn--secondary,a.cs-btn--secondary:hover,a.cs-btn--ghost,a.cs-btn--ghost:hover{color:var(--ink-900)}
.cs-btn--primary:hover:not([disabled]){background:var(--ink-600);box-shadow:var(--shadow-1)}
.cs-btn--secondary:hover:not([disabled]){background:var(--paper-100);border-color:var(--steel-300);box-shadow:var(--shadow-1)}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-8)}
.step .n{font-family:var(--font-mono);font-size:var(--t-mono-size);font-weight:500;color:var(--text-muted);font-feature-settings:"tnum","zero";margin-bottom:var(--s-3)}
.step h3{margin-bottom:var(--s-2)}
.step p{color:var(--text-muted)}
.cs-icon{color:var(--ink-900);margin-bottom:var(--s-4);width:22px;height:22px}
/* dark band */
.band{background:var(--ink-900);color:var(--text-on-ink)}
.band h2,.band h3,.band .t-display{color:var(--text-on-ink)}
.band p,.band .lede{color:#C9D4E2}
.band .eyebrow{color:var(--blue-300)}
.band .n{color:var(--blue-300)}
.band .cs-icon{color:var(--blue-300)}
.band hr{border:0;border-top:1px solid var(--line-ondark)}
.band .cs-btn--primary,.band a.cs-btn--primary:hover{background:var(--paper-50);color:var(--ink-900)}
.band .cs-btn--primary:hover:not([disabled]){background:var(--steel-200);box-shadow:var(--shadow-1)}
.band .cs-btn--ghost,.band a.cs-btn--ghost:hover{color:var(--text-on-ink);border-color:rgba(253,251,246,.4)}
.band .cs-btn--ghost:hover:not([disabled]){background:rgba(253,251,246,.12);border-color:var(--text-on-ink)}
.band .cs-btn--ghost:hover{background:rgba(253,251,246,.1);border-color:var(--text-on-ink)}
.band a{color:var(--blue-300);border-bottom-color:rgba(123,167,209,.5)}
.band a:hover{color:var(--text-on-ink)}
/* product glimpse — flagged filter opened to its reasoning */
.glimpse{background:var(--paper-0);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-3);overflow:hidden;text-align:left;color:var(--text-body)}
.glimpse .g-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);flex-wrap:wrap}
.glimpse .g-head .crumb{font-family:var(--font-mono);font-size:12px;line-height:16px;color:var(--text-muted);font-feature-settings:"tnum","zero";margin-bottom:var(--s-1)}
.glimpse .g-head h3{font-size:16px;line-height:22px;color:var(--text-strong)}
.glimpse .g-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
@media(max-width:700px){.glimpse .g-body{grid-template-columns:1fr}}
.glimpse .g-col{padding:var(--s-5)}
.glimpse .g-col+.g-col{border-left:1px solid var(--line)}
@media(max-width:700px){.glimpse .g-col+.g-col{border-left:0;border-top:1px solid var(--line)}}
.glimpse .g-col .eyebrow{margin-bottom:var(--s-2)}
.glimpse .reason{font-size:14px;line-height:22px;color:var(--text-body);margin:0 0 var(--s-4)}
.glimpse .src{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}
.glimpse .src li{display:grid;grid-template-columns:52px 1fr;gap:var(--s-3);font-size:13px;line-height:20px;color:var(--text-body);padding:var(--s-2) var(--s-3);background:var(--paper-50);border:1px solid var(--line);border-radius:var(--r-sm)}
.glimpse .src code{font-size:12px;line-height:20px;color:var(--text-muted)}
.glimpse .src .q{color:var(--text-body)}
.glimpse .src .q em{font-style:normal;background:var(--signal-flag-bg);color:var(--signal-flag);padding:0 .2em;border-radius:2px}
.glimpse .kv{display:grid;grid-template-columns:auto 1fr;gap:var(--s-1) var(--s-4);font-size:13px;line-height:20px;color:var(--text-muted);margin-top:var(--s-4)}
.glimpse .kv code{font-size:13px;line-height:20px}
.glimpse .g-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-top:1px solid var(--line);background:var(--paper-50);flex-wrap:wrap}
.glimpse .g-foot .who{font-size:13px;line-height:20px;color:var(--text-muted)}
.glimpse .g-foot .acts{display:flex;gap:var(--s-2);flex-wrap:wrap}
/* team */
.founder{display:flex;flex-direction:column;gap:var(--s-4)}
.founder image-slot{width:96px;height:96px}
.founder .role{font-family:var(--font-display);font-weight:600;font-size:13px;line-height:20px;color:var(--text-muted)}
.founder p{color:var(--text-muted);font-size:14px;line-height:22px;margin:0}
/* inner pages */
.page-head{padding:var(--s-18) 0 var(--s-10);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(30px,3.6vw,44px);line-height:1.1;text-wrap:balance}
.page-head .lede{margin-top:var(--s-4)}
.prose{max-width:68ch}
.prose h2{margin:var(--s-10) 0 var(--s-3)}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 var(--s-4);text-wrap:pretty}
.prose ul{margin:0 0 var(--s-4);padding-left:var(--s-5)}
.prose li{margin:var(--s-1) 0}
.prose .ph{background:var(--signal-amber-bg);color:var(--text-strong);padding:0 .3em;border-radius:2px;font-family:var(--font-mono);font-size:13px}
.side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s-10) var(--s-14);align-items:start}
.side .sticky{position:sticky;top:var(--s-8)}
@media(max-width:800px){.side{grid-template-columns:1fr}.side .sticky{position:static}.side .sticky .toc{flex-direction:row;flex-wrap:wrap;gap:var(--s-2) var(--s-5);padding-bottom:var(--s-6);border-bottom:1px solid var(--line)}}
.toc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}
.toc a{color:var(--text-muted);border:0;font-family:var(--font-display);font-weight:600;font-size:14px}
.toc a:hover{color:var(--ink-900)}
.bio{display:grid;grid-template-columns:160px minmax(0,1fr);gap:var(--s-8);padding:var(--s-10) 0;border-top:1px solid var(--line)}
.bio:last-child{border-bottom:1px solid var(--line)}
@media(max-width:700px){.bio{grid-template-columns:1fr}}
.bio .headshot{display:block;width:160px;height:160px;object-fit:cover;border-radius:var(--r-lg)}
.bio .role{font-family:var(--font-display);font-weight:600;font-size:13px;line-height:20px;color:var(--text-muted);margin:var(--s-1) 0 var(--s-4)}
.bio p{margin:0;text-wrap:pretty}
.bio .orgs{font-family:var(--font-mono);font-weight:500;font-size:13px;line-height:20px;color:var(--blue-500);border-top:1px solid var(--line);padding-top:var(--s-3);margin-top:var(--s-4);font-feature-settings:"tnum","zero"}
.stool{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-8);margin-top:var(--s-10)}
.stool div{border-top:1px solid var(--line-strong);padding-top:var(--s-4)}
.stool h3{font-size:16px;line-height:24px;margin-bottom:var(--s-2)}
.stool p{margin:0;color:var(--text-muted);font-size:14px;line-height:22px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
@media(max-width:600px){.form{grid-template-columns:1fr}}
.form .full{grid-column:1/-1}
.form select.cs-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A6B82' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:36px}
.radio-row{display:flex;gap:var(--s-2);flex-wrap:wrap}
.radio-row label{display:inline-flex;align-items:center;gap:var(--s-2);padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper-0);font-size:14px;cursor:pointer;white-space:nowrap}
.radio-row label:hover{background:var(--paper-100)}
.radio-row input{accent-color:var(--ink-900);margin:0}
.aside-card{display:flex;flex-direction:column;gap:var(--s-5)}
.aside-card .cs-card h3{font-size:16px;line-height:24px;margin-bottom:var(--s-2)}
.aside-card .cs-card p{margin:0;font-size:14px;line-height:22px;color:var(--text-muted)}
.aside-card .cs-card code{display:block;margin-top:var(--s-2)}
/* footer */
footer{border-top:1px solid var(--line);padding:var(--s-10) 0;color:var(--text-muted);font-size:13px;line-height:20px}
footer .wrap{display:flex;justify-content:space-between;gap:var(--s-6);flex-wrap:wrap;align-items:center}
footer ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--s-5);flex-wrap:wrap}
footer a{color:var(--text-muted);border:0}
footer a:hover{color:var(--ink-900)}
footer img{height:18px;width:auto;display:block}
