/* Dataframe Labs · site-level styles for page types beyond the homepage.
   Depends on dfl.css tokens. Keep additions here; never edit dfl.css by hand. */

/* mobile nav panel */
.dfl-nav{position:relative}
.dfl-nav-panel{display:none;position:absolute;left:0;right:0;top:100%;background:var(--dfl-page);border-bottom:1px solid var(--dfl-rule);padding:8px 0 16px;z-index:20}
.dfl-nav-panel[data-open="true"]{display:block}
.dfl-nav-panel a{display:block;padding:14px 0;border-bottom:1px solid var(--dfl-rule);font-size:17px;color:var(--dfl-ink);text-decoration:none}
.dfl-nav-panel .dfl-btn{margin-top:16px;width:100%;justify-content:center;color:var(--dfl-page)}
.dfl-skip{position:absolute;left:-9999px;top:12px;padding:12px;background:#fff;border:1px solid var(--dfl-ink);z-index:100}
.dfl-skip:focus{left:12px}

/* page header (interior pages) */
.dfl-pagehead{padding:64px 0 72px}
.dfl-pagehead .dfl-kicker{margin-bottom:20px}
.dfl-pagehead .dfl-h1{max-width:16ch;margin-bottom:24px}
.dfl-pagehead .dfl-lede{max-width:56ch}

/* generic page prose (about, legal, research index intro) */
.dfl-prose{max-width:72ch}
.dfl-prose h2{font-size:var(--dfl-h3);font-weight:600;letter-spacing:-0.02em;line-height:1.15;margin:56px 0 16px}
.dfl-prose h3{font-size:var(--dfl-h4);font-weight:500;margin:36px 0 10px}
.dfl-prose p,.dfl-prose li{font-size:var(--dfl-body);line-height:1.65;color:var(--dfl-text)}
.dfl-prose p{margin:0 0 20px}
.dfl-prose ul,.dfl-prose ol{padding-left:22px;margin:0 0 20px}
.dfl-prose li{margin-bottom:8px}
.dfl-prose a{color:var(--dfl-accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.dfl-prose strong{color:var(--dfl-ink);font-weight:600}
.dfl-prose table{border-collapse:collapse;width:100%;margin:0 0 28px;font-size:var(--dfl-small)}
.dfl-prose th{font-family:var(--dfl-font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--dfl-muted);text-align:left;padding:12px 14px;background:var(--dfl-surface);border-bottom:1px solid var(--dfl-rule)}
.dfl-prose td{padding:12px 14px;border-bottom:1px solid var(--dfl-rule);color:var(--dfl-text);vertical-align:top}
.dfl-prose pre{background:var(--dfl-surface);border:1px solid var(--dfl-rule);padding:24px;overflow-x:auto;font-family:var(--dfl-font-mono);font-size:14px;line-height:1.7;margin:0 0 28px}
.dfl-prose code{font-family:var(--dfl-font-mono);font-size:.92em}
.dfl-prose :not(pre)>code{background:var(--dfl-surface);padding:2px 6px}
.dfl-prose blockquote{margin:0 0 20px;padding:16px 20px;border-left:2px solid var(--dfl-ink);color:var(--dfl-text)}
.dfl-prose hr{border:0;border-top:1px solid var(--dfl-rule);margin:40px 0}
.dfl-prose img{max-width:100%;height:auto}

/* article */
.dfl-article-head{padding:64px 0 48px;border-bottom:1px solid var(--dfl-rule)}
.dfl-article-head .dfl-h1{max-width:22ch;margin:20px 0 24px;font-size:var(--dfl-h2);font-weight:600}
.dfl-article-meta{display:flex;gap:24px;flex-wrap:wrap;font-family:var(--dfl-font-mono);font-size:13px;color:var(--dfl-muted)}
.dfl-article-body{padding:56px 0 96px}
.dfl-article-foot{padding:48px 0 96px;border-top:1px solid var(--dfl-rule)}
.dfl-pager{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.dfl-pager a{display:block;padding:20px 0;border-top:1px solid var(--dfl-ink);text-decoration:none;color:var(--dfl-ink)}
.dfl-pager a span{display:block;font-family:var(--dfl-font-mono);font-size:11px;color:var(--dfl-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.dfl-pager a b{font-weight:500;font-size:19px;line-height:1.3}
.dfl-pager a.next{text-align:right}

/* research index list */
.dfl-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--dfl-ink)}
.dfl-list li{display:grid;grid-template-columns:200px 1fr 140px;gap:32px;padding:32px 0;border-bottom:1px solid var(--dfl-rule);align-items:baseline}
.dfl-list h3{font-size:29px;font-weight:500;letter-spacing:-0.015em;line-height:1.25;margin:0 0 10px}
.dfl-list h3 a{color:var(--dfl-ink);text-decoration:none}
.dfl-list h3 a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.dfl-list p{font-size:var(--dfl-small);line-height:1.6;color:var(--dfl-text);margin:0;max-width:60ch}
.dfl-list time{font-family:var(--dfl-font-mono);font-size:13px;color:var(--dfl-muted);text-align:right;display:block}

/* domain page */
.dfl-questions{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--dfl-rule);border-top:2px solid var(--dfl-ink)}
.dfl-questions li{background:var(--dfl-page);padding:32px 28px;font-size:24px;font-weight:500;letter-spacing:-0.015em;line-height:1.3}
.dfl-questions li span{display:block;font-family:var(--dfl-font-mono);font-size:12px;color:var(--dfl-accent);margin-bottom:14px;font-weight:500}
.dfl-captable .dfl-table td{font-size:var(--dfl-small);padding:16px}
.dfl-captable .dfl-table td.id{font-family:var(--dfl-font-mono);font-size:13px;color:var(--dfl-muted);white-space:nowrap}
.dfl-captable .dfl-table td.name{color:var(--dfl-ink);font-weight:500}
.dfl-captable .dfl-table td.form{font-family:var(--dfl-font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--dfl-muted);white-space:nowrap}
.dfl-cols{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.dfl-cols ul{margin:24px 0 0;padding:0;list-style:none}
.dfl-cols li{padding:14px 0;border-top:1px solid var(--dfl-rule);font-size:var(--dfl-small);color:var(--dfl-text)}

/* capabilities index */
.dfl-audiences{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:32px;border-top:1px solid var(--dfl-ink)}
.dfl-audiences h3{font-size:var(--dfl-h4);font-weight:600;margin:0 0 10px}
.dfl-audiences p{font-size:var(--dfl-small);line-height:1.6;color:var(--dfl-text);margin:0}

/* work */
.dfl-work-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--dfl-rule);border-top:2px solid var(--dfl-ink);margin-top:40px}
.dfl-work-meta div{background:var(--dfl-page);padding:20px 24px}
.dfl-work-meta dt{font-family:var(--dfl-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dfl-muted);margin-bottom:6px}
.dfl-work-meta dd{margin:0;font-size:var(--dfl-small);color:var(--dfl-ink);font-weight:500}

/* contact */
.dfl-form{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px}
.dfl-form .span2{grid-column:span 2}
.dfl-form .dfl-btn{margin-top:8px}

/* team */
.dfl-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dfl-team div{background:var(--dfl-surface);padding:32px}
.dfl-team b{display:block;font-size:var(--dfl-h4);font-weight:600;margin-bottom:6px}
.dfl-team span{display:block;font-family:var(--dfl-font-mono);font-size:12px;color:var(--dfl-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.dfl-team p{font-size:var(--dfl-small);line-height:1.55;color:var(--dfl-text);margin:0}

@media (max-width:1023px){
  .dfl-list li{grid-template-columns:160px 1fr;gap:24px}
  .dfl-list time{grid-column:2;text-align:left}
  .dfl-cols{gap:40px}
  .dfl-team{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .dfl-pagehead{padding:40px 0 48px}
  .dfl-article-head{padding:40px 0 32px} .dfl-article-body{padding:40px 0 64px}
  .dfl-pager,.dfl-questions,.dfl-cols,.dfl-audiences,.dfl-form,.dfl-team,.dfl-work-meta{grid-template-columns:1fr}
  .dfl-form .span2{grid-column:auto}
  .dfl-list li{grid-template-columns:1fr;gap:8px;padding:24px 0} .dfl-list time{grid-column:auto}
  .dfl-list h3{font-size:24px}
  .dfl-questions li{font-size:20px;padding:24px}
  .dfl-captable{overflow-x:auto}
  .dfl-pager a.next{text-align:left}
}
