@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/Archivo-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/Archivo-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/Archivo-800.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Inter-700.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-400.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-500.ttf) format('truetype');
}

@font-face{font-family:"Source Code Pro";src:url('/fonts/SourceCodePro-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--terminal:"Source Code Pro",monospace;--paper:#e8ecf2;--dim:#a1a7b3;--rule:#32343e;--ink:#111116;--plate:#191b24;--brand-blue:#092889}
body{background:var(--ink);font-family:acumin-pro,sans-serif;font-size:16px;color:var(--paper)}
.site-header,.eng-nav{border-bottom:1px solid var(--rule);background:#111116fa}.header-inner{height:58px}.site-header nav,.eng-nav nav,.eng-nav .nav-tools,.product-nav nav{font:11px var(--terminal);letter-spacing:.08em;text-transform:uppercase;gap:18px}.site-header .brand img{max-width:126px}.nav-contact{font:11px var(--terminal)!important;padding:12px 16px!important;border-radius:0!important;min-height:40px}
.eng-frame{max-width:1440px;margin:auto;border-inline:1px solid var(--rule)}.eng-nav{height:60px;display:flex;align-items:center;gap:28px;padding:0 34px;position:sticky;top:0;z-index:40}.eng-brand{display:flex;align-items:center;gap:10px;font:17px var(--terminal);letter-spacing:-.03em;white-space:nowrap}.eng-brand img{width:28px;height:28px;object-fit:contain}.eng-nav nav{display:flex;align-items:center;flex:1}.eng-nav a{color:var(--dim);text-decoration:none}.eng-nav a:hover{color:white}.eng-nav .eng-brand{color:var(--paper)}.nav-tools{display:flex;align-items:center;gap:10px!important}.nav-tools a{padding:12px;border:1px solid var(--rule);white-space:nowrap}.nav-tools .primary{background:var(--brand-blue);color:white}
.eng-announcement{font:10px/1.6 var(--terminal);letter-spacing:.06em;border-bottom:1px solid var(--rule);padding:10px 34px;color:var(--dim)}.eng-announcement span{display:inline-block;width:6px;height:6px;background:#c9cdd5;margin-right:12px;animation:signal 2.5s ease-in-out infinite}
.eng-hero{position:relative;overflow:hidden;padding:66px 34px 48px;border-bottom:1px solid var(--rule)}.eng-hero>*{position:relative;z-index:1}.eng-hero:after{content:"";position:absolute;inset:0 -120px 0 55%;background:var(--hero-mark) center/contain no-repeat;opacity:.09;filter:grayscale(1);pointer-events:none}.eng-kicker{font:10px/1.7 var(--terminal);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin:0 0 22px}.eng-kicker:before{content:"";display:inline-block;width:34px;height:1px;background:#576b9f;margin:0 16px 4px 0}.eng-hero h1{font-family:nimbus-sans,acumin-pro,sans-serif!important;font-weight:700!important;font-size:clamp(48px,6.8vw,84px)!important;letter-spacing:-.055em;line-height:.98;max-width:760px;margin:0 0 30px}.eng-hero h1 em{font-style:normal;color:#b8c2db}.eng-hero .eng-intro{max-width:565px;font-size:17px;line-height:1.65;color:#bdc2cc;margin:0 0 26px}.eng-hero .eng-footnote{font:10px/1.8 var(--terminal);color:var(--dim);margin:22px 0 0;max-width:640px}.eng-command{display:flex;align-items:stretch;border:1px solid var(--rule);max-width:650px;min-height:48px;background:#101116}.eng-command code{font:12px/1.7 var(--terminal);padding:14px 18px;overflow-wrap:anywhere;flex:1;white-space:pre-wrap}.eng-command code:before{content:"› ";color:#aebddd}.eng-command button,.eng-command a{font:10px var(--terminal);letter-spacing:.1em;text-transform:uppercase;border:0;border-left:1px solid var(--rule);padding:0 16px;background:transparent;color:var(--paper);display:flex;align-items:center;cursor:pointer;text-decoration:none}.eng-command button:hover,.eng-command a:hover{background:#20232d}.eng-command button:focus-visible,.eng-command a:focus-visible{outline:2px solid #c9cdd5;outline-offset:-3px}
.eng-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule)}.eng-stat{padding:24px 34px;border-right:1px solid var(--rule)}.eng-stat:last-child{border-right:0}.eng-stat strong{display:block;font:700 34px/1.1 nimbus-sans,sans-serif;letter-spacing:-.035em;margin-bottom:12px}.eng-stat small{font:9px/1.7 var(--terminal);text-transform:uppercase;letter-spacing:.16em;color:var(--dim);display:block;position:relative;padding-left:14px}.eng-stat small:before{content:"";width:5px;height:5px;background:#8191b7;position:absolute;left:0;top:5px;animation:signal 3s ease-in-out infinite}.eng-strip-note{font:10px/1.8 var(--terminal);color:var(--dim);padding:12px 34px;border-bottom:1px solid var(--rule);margin:0}
.eng-section{padding:60px 34px;border-bottom:1px solid var(--rule)}.eng-section h2{font:700 clamp(30px,3.8vw,48px)/1.08 nimbus-sans,sans-serif;letter-spacing:-.035em;max-width:650px;margin:0 0 18px}.eng-section>p,.eng-section .section-intro{font-size:15px;line-height:1.7;color:var(--dim);max-width:850px}.eng-section-label,.eng-panel-head{font:10px/1.6 var(--terminal);letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}.eng-section-label{margin-bottom:22px;display:flex;justify-content:space-between;gap:20px}.eng-panel{border:1px solid var(--rule);background:var(--plate);margin-top:24px}.eng-panel-head{display:flex;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--rule);text-transform:none;letter-spacing:.04em}.eng-panel-head span:first-child:before{content:"";display:inline-block;width:6px;height:6px;background:#93a7cc;border-radius:50%;margin-right:10px}.eng-demo{padding:30px;display:grid;grid-template-columns:190px 1fr;gap:30px;background:#101218}.eng-demo-steps{display:flex;flex-direction:column;gap:0}.eng-demo-steps button{font:11px/1.6 var(--terminal);padding:14px 10px;text-align:left;border:0;border-bottom:1px solid var(--rule);color:var(--dim);background:none;cursor:pointer}.eng-demo-steps button[aria-pressed="true"]{color:#fff;background:#1b246e;border-left:2px solid #bdc7df}.eng-demo-output{min-height:250px;border:1px solid var(--rule);padding:22px;background:#171923}.eng-demo-output h3{font:700 22px nimbus-sans,sans-serif;margin:0 0 15px}.eng-demo-output pre{font:12px/1.9 var(--terminal);white-space:pre-wrap;color:#bdc7df;margin:0;overflow-wrap:anywhere}.eng-demo-controls{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--rule);font:10px var(--terminal);color:var(--dim)}.eng-demo-controls button{background:transparent;color:var(--paper);border:1px solid var(--rule);padding:9px 14px;font:10px var(--terminal);cursor:pointer}.eng-caption{font-size:12px!important;color:var(--dim);margin:12px 0 0}
.eng-stations{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:38px}.eng-station{padding:24px 22px 0 0;border-top:1px solid var(--rule);position:relative}.eng-station:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border:2px solid #93a4c5;background:var(--ink);border-radius:50%}.eng-station h3{font-size:19px;margin:0 0 8px}.eng-station small{font:10px var(--terminal);color:#b9c3dc;letter-spacing:.1em}.eng-station p{font-size:14px;line-height:1.65;color:var(--dim)}
.eng-detail{display:grid;grid-template-columns:120px 1.35fr 1fr;gap:40px;padding:34px 0;border-top:1px solid var(--rule)}.eng-detail-number{font:700 42px/1 nimbus-sans,sans-serif;color:#454956}.eng-detail-number small{display:block;font:9px/1.9 var(--terminal);letter-spacing:.15em;text-transform:uppercase;color:var(--dim);margin-top:14px}.eng-detail h3{font-size:22px;line-height:1.25;margin:0 0 14px}.eng-detail p{font-size:15px;line-height:1.7;color:var(--dim);margin:0}.eng-artifact{border:1px solid var(--rule);padding:20px;background:var(--plate);font:11px/1.9 var(--terminal);white-space:pre-wrap;overflow-wrap:anywhere;color:#c9cdd5;margin:0}.eng-artifact .muted{color:#929baa}.eng-artifact-title{display:block;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--rule);color:#b8c6e4}.eng-mechanism{display:grid;grid-template-columns:1fr 40px 1fr;gap:20px;align-items:center;padding:24px}.eng-chips{display:flex;gap:7px;flex-wrap:wrap}.eng-chips span{border:1px solid #3e4351;padding:5px 8px;font:11px var(--terminal);color:#bdc2cc}.eng-mechanism p{font:10px var(--terminal);color:var(--dim)}.eng-end{padding:42px 34px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--rule)}.eng-end h2{font-size:32px;margin:0}.eng-end a{border:1px solid var(--rule);padding:14px 20px;font:11px var(--terminal);text-transform:uppercase;text-decoration:none;background:var(--brand-blue);color:white}
.eyebrow,.section-label,.principles-label,.graphic-caption,.footer-bottom,.text-link{font-family:var(--terminal)!important}.eyebrow,.section-label{font-size:10px!important}.button{font:11px var(--terminal)!important;border-radius:0!important}.section h2{font-size:clamp(28px,3.5vw,42px)}.control-panel p,.capability-copy p,.prose p{font-size:15px;line-height:1.75}.control-panel{border-radius:0}.section,.page-hero{border-bottom:1px solid var(--rule)}
@keyframes signal{0%,100%{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1050px){.eng-nav{padding:0 20px;gap:20px}.eng-nav nav{gap:12px}.eng-detail{grid-template-columns:75px 1fr 1fr;gap:22px}.eng-stat{padding:22px}.eng-stat strong{font-size:29px}}
@media(max-width:760px){.eng-nav{height:auto;min-height:58px;flex-wrap:wrap;padding:12px 18px;gap:12px}.eng-nav nav{order:3;width:100%;flex-basis:100%;overflow-x:auto;padding:8px 0 0;white-space:nowrap}.nav-tools{margin-left:auto}.nav-tools a{padding:9px}.eng-hero{padding:48px 20px 36px}.eng-hero:after{opacity:.04;inset:0 -120px 0 20%}.eng-announcement{padding:10px 20px}.eng-hero h1{font-size:52px!important}.eng-hero .eng-intro{font-size:16px}.eng-strip{grid-template-columns:1fr 1fr}.eng-stat{padding:22px 20px;border-bottom:1px solid var(--rule)}.eng-stat:nth-child(2){border-right:0}.eng-stat strong{font-size:28px}.eng-strip-note{padding:12px 20px}.eng-section{padding:42px 20px}.eng-section-label{font-size:9px;flex-wrap:wrap}.eng-demo{grid-template-columns:1fr;padding:16px;gap:16px}.eng-demo-steps{flex-direction:row;overflow:auto}.eng-demo-steps button{flex:0 0 125px}.eng-demo-output{padding:18px;min-height:280px}.eng-stations{grid-template-columns:1fr}.eng-station{border-top:0;border-left:1px solid var(--rule);padding:0 0 25px 25px}.eng-station:before{left:-5px;top:4px}.eng-detail{grid-template-columns:55px 1fr;gap:16px}.eng-detail .eng-artifact{grid-column:2}.eng-detail-number{font-size:32px}.eng-detail-number small{font-size:8px}.eng-mechanism{grid-template-columns:1fr}.eng-end{padding:32px 20px;flex-direction:column;align-items:start}.eng-command code{font-size:11px;padding:12px}.eng-command button,.eng-command a{padding:0 12px}.eng-panel-head span:last-child{display:none}}

html [hidden]{display:none!important}.eng-frame>.site-header .container{width:calc(100% - 68px);max-width:none}.eng-frame>.site-header .header-inner{gap:24px}.eng-frame>.site-header nav{gap:18px}.eng-frame .site-header nav a{white-space:nowrap}@media(max-width:1100px){.eng-frame>.site-header nav{gap:12px;font-size:10px}.eng-frame>.site-header .container{width:calc(100% - 36px)}}

@media(max-width:500px){.eng-stat strong{font-size:24px;overflow-wrap:anywhere}.eng-stat small{letter-spacing:.1em}.eng-nav .eng-brand{font-size:15px}.eng-nav{gap:10px}.eng-nav .nav-tools{font-size:9px}}

.praxis-public{--brand-blue:#092889}.praxis-public .eng-brand img{background:#092889;border:1px solid #3754a0;width:32px;height:32px;padding:0}.praxis-public .eng-hero:after{opacity:.12}

/* Praxis: neutral charcoal surfaces and the original Dynecon blue. */
.praxis-public{--terminal:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--ink:#111116;--plate:#21262d;--rule:#30363d;--paper:#f0f2f4;--dim:#b1b6bc;--brand-blue:#092889;font-family:Inter,sans-serif;background:#111116;color:var(--paper)}
.praxis-public .eng-nav,.praxis-public .eng-hero,.praxis-public .eng-section,.praxis-public .eng-end,.praxis-public .eng-strip,.praxis-public .site-footer{background:#111116;background-image:none}
.praxis-public #canon{background:#21262d}
.praxis-public .eng-panel,.praxis-public .eng-artifact,.praxis-public .eng-demo-output{background:#21262d;border-color:#30363d}
.praxis-public .eng-panel-head,.praxis-public .eng-demo-controls,.praxis-public .eng-mechanism{background:#30363d}
.praxis-public .eng-demo,.praxis-public .eng-command{background:#161b22}
.praxis-public .eng-hero:after{filter:none;opacity:1;inset:12% 4% 12% 65%;background-size:contain}
.praxis-public .eng-brand img{background:#092889;border-color:#092889;filter:none;opacity:1}
.praxis-public .nav-tools .primary,.praxis-public .eng-end>a,.praxis-public .eng-demo-steps button[aria-pressed="true"]{background:#092889;background-image:none;color:#fff;border-color:#092889;box-shadow:none}
.praxis-public .nav-tools .primary:hover,.praxis-public .eng-end>a:hover{background:#092889;border-color:#fff}
.praxis-public .eng-hero h1,.praxis-public .eng-section h2{font-family:Archivo,sans-serif!important;font-size:clamp(30px,4.2vw,58px)!important;font-weight:700!important;line-height:1.08;letter-spacing:-.035em}
.praxis-public .eng-hero h1{max-width:760px}.praxis-public .eng-hero h1 em{color:#b1b6bc}
.praxis-public h3,.praxis-public .eng-end h2,.praxis-public .eng-stat strong{font-family:Archivo,sans-serif}
.praxis-public .eng-intro,.praxis-public p{font-family:Inter,sans-serif}
.praxis-public .eng-kicker,.praxis-public .eng-footnote,.praxis-public .eng-strip-note,.praxis-public .eng-mechanism p{font-family:var(--terminal)}
.praxis-public .eng-artifact-title,.praxis-public .eng-demo-output pre,.praxis-public .eng-station small{color:#c9cdd1}
.praxis-public .eng-station:before{border-color:#929aa3}.praxis-public .eng-kicker:before,.praxis-public .eng-stat small:before{background:#929aa3}
@media(max-width:760px){.praxis-public .eng-hero:after{inset:20px 20px auto auto;width:64px;height:64px;opacity:1}.praxis-public .eng-hero .eng-kicker{max-width:calc(100% - 80px)}}

/* Consistent small interface typography, including mobile. */
.praxis-public .eng-footnote,.praxis-public .eng-kicker,.praxis-public .eng-announcement,.praxis-public .eng-stat small,.praxis-public .eng-strip-note,.praxis-public .eng-section-label,.praxis-public .eng-panel-head,.praxis-public .eng-nav nav,.praxis-public .eng-nav .nav-tools,.praxis-public .eng-command button,.praxis-public .eng-command a,.praxis-public .eng-demo-steps button,.praxis-public .eng-demo-controls,.praxis-public .eng-demo-controls button,.praxis-public .eng-station small,.praxis-public .eng-detail-number small,.praxis-public .eng-artifact,.praxis-public .eng-chips span,.praxis-public .eng-mechanism p,.praxis-public .eng-end a{font-size:11.5px!important}

/* Hermes.Crew green accent for the four capability indicators. */
.praxis-public .eng-stat small:before{background:#3fb950;animation:praxis-signal 2.5s ease-in-out infinite}
@keyframes praxis-signal{0%,100%{opacity:.45}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.praxis-public .eng-stat small:before{animation:none;opacity:1}}

/* Locally served reference typography, shared across the public sites. */
:root{--terminal:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body{font-family:Inter,sans-serif}
.eng-hero h1,.eng-section h2{font-family:Archivo,sans-serif!important;font-size:clamp(30px,4.2vw,58px)!important}
h1,h2,h3,h4,.eng-stat strong,.eng-detail-number{font-family:Archivo,sans-serif!important}
pre,code,kbd,samp,.eng-artifact,.eng-artifact *, .eng-demo-output pre,.eng-command code{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:11.5px}

/* Praxis annotation refinements: title belongs to the main card. */
.praxis-public .eng-demo-title{margin:0;padding:24px 30px 0;background:#161b22;font:700 22px/1.3 Archivo,sans-serif}
.praxis-public .eng-demo-output pre,.praxis-public .eng-artifact,.praxis-public .eng-artifact *{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:11.5px!important}
.praxis-public .eng-hero:after{inset:5% 1% 5% 56%}
.praxis-public .eng-brand img{width:40px;height:40px;background:#092889;filter:none}
.praxis-public .eng-demo-steps button{position:relative;padding-right:24px}
.praxis-public .eng-demo-steps button[aria-pressed="true"]:after{content:"";position:absolute;right:10px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#3fb950;animation:praxis-signal 2.5s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.praxis-public .eng-demo-steps button[aria-pressed="true"]:after{animation:none}}
@media(max-width:760px){.praxis-public .eng-demo-title{padding:20px 16px 0}.praxis-public .eng-hero:after{inset:18px 18px auto auto;width:80px;height:80px}}

/* Shared animated brand marks; original artwork forms the mask. */
body.praxis-public .eng-hero{background:#050608!important;isolation:isolate}
body.praxis-public .eng-hero:after,body.praxis-public .eng-hero:before{content:"";position:absolute;inset:5% 3% 5% 58%;pointer-events:none;z-index:0;filter:none;opacity:1;-webkit-mask:var(--hero-mark) center/contain no-repeat;mask:var(--hero-mark) center/contain no-repeat}
body.praxis-public .eng-hero:after{background:#30363d;opacity:.65}
body.praxis-public .eng-hero:before{z-index:1;background:linear-gradient(115deg,transparent 35%,#092889 45%,#8096bd 50%,#092889 55%,transparent 65%);background-size:300% 300%;animation:brand-trace 7s linear infinite;opacity:.8}
body.praxis-public .eng-hero>*{z-index:2}
@keyframes brand-trace{0%{background-position:100% 100%}100%{background-position:0% 0%}}
@media(prefers-reduced-motion:reduce){body.praxis-public .eng-hero:before{animation:none;opacity:0}}
@media(max-width:760px){body.praxis-public .eng-hero:after,body.praxis-public .eng-hero:before{inset:18px 18px auto auto;width:80px;height:80px}.eng-hero .eng-kicker{padding-right:80px}}

/* Shared animated brand marks; original artwork forms the mask. */
body.eng-frame .eng-hero{background:#050608!important;isolation:isolate}
body.eng-frame .eng-hero:after,body.eng-frame .eng-hero:before{content:"";position:absolute;inset:5% 3% 5% 58%;pointer-events:none;z-index:0;filter:none;opacity:1;-webkit-mask:var(--hero-mark) center/contain no-repeat;mask:var(--hero-mark) center/contain no-repeat}
body.eng-frame .eng-hero:after{background:#30363d;opacity:.65}
body.eng-frame .eng-hero:before{z-index:1;background:linear-gradient(115deg,transparent 35%,#092889 45%,#8096bd 50%,#092889 55%,transparent 65%);background-size:300% 300%;animation:brand-trace 7s linear infinite;opacity:.8}
body.eng-frame .eng-hero>*{z-index:2}
@keyframes brand-trace{0%{background-position:100% 100%}100%{background-position:0% 0%}}
@media(prefers-reduced-motion:reduce){body.eng-frame .eng-hero:before{animation:none;opacity:0}}
@media(max-width:760px){body.eng-frame .eng-hero:after,body.eng-frame .eng-hero:before{inset:18px 18px auto auto;width:80px;height:80px}.eng-hero .eng-kicker{padding-right:80px}}

/* Praxis contrast and active workflow feedback. */
body.praxis-public .eng-hero{background:#030405!important}
body.praxis-public .eng-mechanism{background:#080b0f;border-color:#30363d}
body.praxis-public .eng-artifact,body.praxis-public .eng-demo-output{background:#0b0f14}
body.praxis-public .eng-detail-number{color:#5773a6}
body.praxis-public .eng-detail-number small{color:#b1b6bc}
body.praxis-public .eng-demo-steps button[aria-pressed="true"]{animation:praxis-active 2.5s ease-in-out infinite}
@keyframes praxis-active{0%,100%{box-shadow:inset 3px 0 #3fb950,inset 0 0 0 1px #092889}50%{box-shadow:inset 3px 0 #77df87,inset 0 0 0 1px #5576be}}
@media(prefers-reduced-motion:reduce){body.praxis-public .eng-demo-steps button[aria-pressed="true"]{animation:none}}

/* Give the Praxis symbol a prominent desktop hero presence. */
@media(min-width:761px){body.praxis-public .eng-hero:before,body.praxis-public .eng-hero:after{-webkit-mask-size:155% auto;mask-size:155% auto}}

/* Compact Praxis page rhythm; preserve the approved brand and console hierarchy. */
.praxis-public .eng-section{padding-top:28px;padding-bottom:28px}
.praxis-public #walkthrough{padding-top:24px;padding-bottom:24px}
.praxis-public .eng-kicker{margin-bottom:12px}
.praxis-public .eng-section-label{margin-bottom:14px}
.praxis-public .eng-panel{margin-top:18px}
.praxis-public .eng-demo-title{padding:16px 20px 0}
.praxis-public .eng-demo{padding:20px;gap:24px}
.praxis-public .eng-demo-output{min-height:220px;padding:18px}
.praxis-public .eng-stations{margin-top:24px}
.praxis-public .eng-detail{padding:22px 0}
.praxis-public .eng-detail:last-child{padding-bottom:0}
.praxis-public .eng-end{padding-top:24px;padding-bottom:24px}
.praxis-public .site-footer{padding-top:0;padding-bottom:0}
.praxis-public .product-footer{padding-top:24px;padding-bottom:24px}
.praxis-public .eng-brand img{padding:5px}
.praxis-frameworks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:22px 0;border-top:1px solid var(--rule)}
.praxis-frameworks article{padding:18px 20px 18px 0;border-bottom:1px solid var(--rule)}
.praxis-frameworks h3{font-size:18px;margin:0 0 8px}
.praxis-frameworks p{font-size:14px;line-height:1.6;color:var(--dim);margin:0}
@media(max-width:760px){.praxis-public .eng-section{padding-top:22px;padding-bottom:22px}.praxis-frameworks{grid-template-columns:1fr}.praxis-public .eng-demo{padding:16px;gap:16px}}
