/* Praxis extends the site's graphite, pearl, sage and square-control system. */
.praxis-page { background:#080909;color:#e9eee8;scrollbar-color:#627068 #080909; }
.praxis-page ::selection,.praxis-study ::selection { background:#c3d0bb;color:#080909; }
.praxis-page :is(a,button,pre):focus-visible,.praxis-study :is(button,pre):focus-visible { outline:2px solid #c3d0bb;outline-offset:5px; }
.praxis-page .site-header { background:#080909;color:#e9eee8;border-bottom:0; }
.praxis-page p { margin:0; }
.praxis-page h1,.praxis-page h2,.praxis-page h3 { font-weight:400;letter-spacing:-.04em; }
.praxis-page code,.praxis-demo code { font-family:"Courier New",monospace; }
.praxis-opening { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:7%;align-items:start;padding-block:clamp(24px,4svh,40px) 24px; }
.praxis-hero { min-width:0; }
.praxis-hero .praxis-hero-release { margin-bottom:16px; }
.praxis-page h1 { font-size:clamp(52px,6.1vw,88px);line-height:1.06; }
.praxis-lead { margin-top:28px!important;font-size:clamp(24px,2.4vw,34px);line-height:1.2;letter-spacing:-.025em; }
.praxis-description { margin-top:20px!important;max-width:39ch;font-size:17px;line-height:1.65;color:#a8b1aa; }
.praxis-actions { display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px; }
.praxis-primary { display:inline-flex;align-items:center;justify-content:center;background:#dbe4d7;color:#111811;white-space:nowrap; }
.praxis-primary:hover { background:#eff4ec; }
.praxis-link { display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;text-underline-offset:5px; }
.praxis-link:hover { text-decoration:underline; }
.praxis-access-note { margin-top:20px!important;max-width:46ch;font-size:13px;line-height:1.6;color:#a8b1aa; }
.praxis-hero-study { min-width:0; }
.praxis-hero-study .praxis-demo-content { min-height:0; }
.praxis-hero-study .praxis-demo pre { max-height:clamp(140px,calc(100svh - var(--nr-header-height) - 400px),340px);overflow-y:auto;overscroll-behavior:contain; }
.praxis-overview { padding-block:32px 48px; }
.praxis-overview .praxis-release { margin-top:0; }
.praxis-overview-copy { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;margin-block:12px 32px; }
.praxis-overview-copy :is(.praxis-description,.praxis-beta-note) { margin-top:0!important;max-width:52ch; }
.praxis-demo { background:#141a16;color:#e9eee8;padding:24px;min-width:0; }
.praxis-demo-heading { display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#a8b1aa; }
.praxis-demo-controls { display:flex;border-bottom:1px solid #ffffff26;margin-top:20px; }
.praxis-demo-controls button { min-height:48px;flex:1;color:#a8b1aa;background:transparent;border:0;border-bottom:2px solid transparent;padding:12px;transition:color .2s,background .2s; }
.praxis-demo-controls button[aria-pressed="true"] { color:#e9eee8;border-color:#c3d0bb; }
.praxis-demo-controls button:hover { background:#ffffff08;color:#e9eee8; }
.praxis-demo .praxis-demo-title { font-size:20px;font-weight:400;letter-spacing:-.02em;margin:24px 0 16px; }
.praxis-demo pre { font-size:12px;line-height:1.65;color:#c3d0bb;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2; }
.praxis-demo-content { min-height:352px; }
.praxis-demo-output { display:grid;gap:8px;padding-top:20px;margin-top:24px;border-top:1px solid #ffffff26;font-size:12px; }
.praxis-demo-output>span,.praxis-demo-note { color:#a8b1aa; }
.praxis-demo-output code { overflow-wrap:anywhere; }
.praxis-demo .praxis-demo-note { font-size:11px;line-height:1.5;margin:24px 0 0; }
.praxis-facts { grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr .8fr 1fr;gap:24px;margin:0;padding-top:28px;border-top:1px solid #ffffff26; }
.praxis-facts dt,.praxis-connection dt { font-size:12px;color:#a8b1aa;margin-bottom:10px; }
.praxis-facts dd { margin:0;font-size:15px;line-height:1.5; }
.praxis-facts code { font-size:13px;overflow-wrap:anywhere; }
.praxis-contents { display:flex;gap:32px;flex-wrap:wrap;border-block:1px solid #ffffff26;padding-block:12px; }
.praxis-contents a { display:flex;align-items:center;min-height:44px;font-size:14px;color:#a8b1aa; }
.praxis-contents a:hover { color:#e9eee8;text-decoration:underline;text-underline-offset:5px; }
.praxis-section { padding-block:88px;border-bottom:1px solid #ffffff26;scroll-margin-top:24px; }
.praxis-section h2 { margin:0 0 32px;font-size:clamp(36px,4.5vw,64px);line-height:1.08;text-wrap:balance; }
.praxis-section-intro { max-width:64ch;font-size:17px;line-height:1.7;color:#a8b1aa; }
.praxis-decision-rows { margin-top:48px; }
.praxis-decision-rows article { display:grid;grid-template-columns:.6fr 1fr 1.2fr;gap:7%;padding:28px 0;border-top:1px solid #ffffff26; }
.praxis-decision-rows h3 { font-size:28px;line-height:1.2;margin:0; }
.praxis-decision-rows p,.praxis-limits p { font-size:15px;line-height:1.7;color:#a8b1aa; }
.praxis-table-wrap { margin-top:40px;overflow-x:auto; }
.praxis-results { width:100%;border-collapse:collapse;font-size:17px;font-variant-numeric:tabular-nums; }
.praxis-results caption { text-align:left;color:#a8b1aa;font-size:13px;padding-bottom:20px; }
.praxis-results :is(th,td) { text-align:right;padding:20px 0 20px 24px;border-bottom:1px solid #ffffff26;font-weight:400; }
.praxis-results th:first-child { text-align:left;padding-left:0; }
.praxis-results thead th { font-size:13px;color:#a8b1aa; }
.praxis-results tbody tr:first-child { color:#c3d0bb; }
.praxis-method { margin-top:28px!important;max-width:75ch;font-size:13px;line-height:1.7;color:#a8b1aa; }
.praxis-method+.praxis-link { margin-top:20px; }
.praxis-integration { display:grid;grid-template-columns:1fr 1fr;gap:7%; }
.praxis-integration .praxis-link { margin-top:24px; }
.praxis-connection { margin:0;min-width:0; }
.praxis-connection>div { border-bottom:1px solid #ffffff26;padding:20px 0; }
.praxis-connection>div:first-child { padding-top:0; }
.praxis-connection dd { margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere; }
.praxis-limits { display:grid;grid-template-columns:1fr 1fr;gap:32px 7%;max-width:1000px; }
.praxis-close { margin-top:64px;padding-top:40px;border-top:1px solid #ffffff26;display:flex;align-items:center;flex-wrap:wrap;gap:24px; }
.praxis-close>p { font-size:28px;letter-spacing:-.03em;margin-right:auto; }
.home-page .project-praxis .project-header h3 { font-size:clamp(36px,5.2vw,76px); }
.home-page .project-praxis .project-header { flex-wrap:wrap; }
.praxis-study { grid-column:1;grid-row:2;min-width:0; }
.home-page .praxis-study .praxis-demo { padding:28px 32px; }
.home-page .praxis-study .praxis-demo-content { min-height:300px; }
.home-page .praxis-study .praxis-demo pre { font-size:13px; }
@media(min-width:1600px) { .praxis-page .section-pad { padding-inline:max(5%,calc((100vw - 1440px)/2)); } }
@media(max-width:1000px) and (min-width:768px) { .praxis-opening { column-gap:4%; }.praxis-actions { gap:12px; }.praxis-demo { padding:20px; }.praxis-facts { grid-template-columns:1fr 1fr; } }
@media(max-width:767px) {
  .praxis-opening { display:block;min-height:0;padding-block:0; }
  .praxis-hero { padding-block:24px 32px; }
  .praxis-hero-study { margin-block:0 32px; }
  .praxis-hero-study .praxis-demo pre { max-height:340px; }
  .praxis-hero .praxis-actions { gap:12px;margin-top:24px; }
  .praxis-overview { padding-block:24px 36px; }
  .praxis-overview-copy { grid-template-columns:minmax(0,1fr);gap:20px;margin-block:12px 28px; }
  .praxis-page h1 { font-size:clamp(46px,11.5vw,72px); }
  .praxis-description { font-size:16px; }
  .praxis-lead { margin-top:24px!important; }
  .praxis-demo { padding:20px; }
  .praxis-demo-content { min-height:350px; }
  .praxis-demo pre { font-size:11px; }
  .praxis-facts { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 18px; }
  .praxis-facts dd { font-size:13px; }
  .praxis-facts code { font-size:11px; }
  .praxis-contents { gap:0 24px; }
  .praxis-section { padding-block:60px; }
  .praxis-section h2 { font-size:38px; }
  .praxis-decision-rows { margin-top:32px; }
  .praxis-decision-rows article { grid-template-columns:1fr;gap:12px; }
  .praxis-results { font-size:15px; }
  .praxis-results :is(th,td) { padding:18px 0 18px 12px; }
  .praxis-results thead th { font-size:12px; }
  .praxis-integration,.praxis-limits { grid-template-columns:minmax(0,1fr);gap:36px; }
  .praxis-close { margin-top:40px;gap:20px; }
  .praxis-close>p { width:100%; }
  .home-page .project-praxis .project-header h3 { font-size:clamp(32px,9vw,54px); }
  .home-page .project-praxis .project-header { display:block; }
  .home-page .project-praxis .project-availability { margin:12px 0 0; }
  .home-page .praxis-study { order:1; }
  .home-page .praxis-study .praxis-demo { padding:20px; }
  .home-page .praxis-study .praxis-demo pre { font-size:11px; }

}
@media(prefers-reduced-motion:reduce) { .praxis-demo-controls button { transition:none; } }

.praxis-benchmark-group { margin-top:56px; }
.praxis-benchmark-group h3 { font-size:28px;line-height:1.3;margin:0;letter-spacing:-.025em; }
.praxis-benchmark-group .praxis-method { margin-top:16px!important; }
.praxis-benchmark-group .praxis-table-wrap { margin-top:24px; }
.praxis-benchmark-details { margin-top:32px;border-top:1px solid #ffffff26; }
.praxis-benchmark-details summary { cursor:pointer;padding:20px 0;font-size:20px;line-height:1.4; }
.praxis-benchmark-details .praxis-method { margin-top:0!important; }
.praxis-benchmark-details .praxis-table-wrap { margin-top:24px; }
.praxis-benchmark-details+.praxis-link { margin-top:28px; }
@media(max-width:767px) {
  .praxis-benchmark-group { margin-top:40px; }
  .praxis-benchmark-group h3 { font-size:24px; }
  .praxis-benchmark-group .praxis-results,.praxis-benchmark-details .praxis-results { font-size:13px; }
  .praxis-benchmark-group .praxis-results :is(th,td),.praxis-benchmark-details .praxis-results :is(th,td) { padding-left:8px; }
  .praxis-benchmark-group .praxis-results th:first-child,.praxis-benchmark-details .praxis-results th:first-child { padding-left:0; }
}

/* Product and model catalogs share the incumbent navigation and spread layout. */
.model-beta { color:#c3d0bb;font-size:13px;line-height:1.5; }
.praxis-release { display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:20px; }
.praxis-release a { display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#a8b1aa;text-decoration:underline;text-underline-offset:5px; }
.praxis-beta-note { margin-top:20px!important;max-width:48ch;color:#a8b1aa;font-size:14px;line-height:1.6; }
.home-page .models-section { border-bottom:1px solid #ffffff26; }
.home-page .project-console .project-header h3 { font-size:clamp(48px,6.2vw,88px); }
.console-study { grid-column:1;grid-row:2;min-width:0;padding:32px;background:#141a16;color:#e9eee8; }
.console-study-title { margin:0 0 36px;font-size:clamp(24px,3vw,40px);line-height:1.2;letter-spacing:-.03em;max-width:18ch; }
.console-study dl { margin:0 0 24px; }
.console-study dl>div { display:grid;grid-template-columns:100px 1fr;gap:24px;border-top:1px solid #ffffff26;padding:24px 0;font-size:15px;line-height:1.5; }
.console-study dt { color:#a8b1aa; }
.console-study dd { margin:0; }
@media(max-width:767px) {
  .home-page .project-console .project-header { flex-wrap:wrap; }
  .home-page .project-console .project-header h3 { font-size:clamp(38px,10vw,64px); }
  .console-study { order:1;padding:24px 20px; }
  .console-study dl>div { grid-template-columns:72px 1fr;gap:16px;font-size:14px; }
}
