/* Public page: one working sample, a short training outline, and an access request. */
body[data-plctrain-surface="landing"]{margin:0;font:17px/1.55 var(--body);background:var(--paper);color:var(--ink)}
body[data-plctrain-surface="landing"] *{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:24px}
a{color:inherit;text-underline-offset:4px}
button,input{font:inherit}
button,summary{cursor:pointer}
button:disabled{opacity:.5;cursor:not-allowed}
svg{display:block}
h1,h2,h3,p,blockquote{margin:0}
.section-width{width:min(1180px,calc(100% - 88px));margin-inline:auto}
.eyebrow{font:600 12px/1.4 var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.skip-link{position:absolute;top:-90px;left:20px;z-index:20;background:var(--forest);color:white;padding:12px 18px}
.skip-link:focus{top:10px}
.site-header{display:flex;align-items:center;gap:24px;min-height:94px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:11px;font:600 30px/1 var(--display);text-decoration:none;letter-spacing:-.025em;flex-shrink:0}
.brand-mark{display:grid;place-items:center;background:var(--forest);color:var(--lime);width:36px;height:40px;border-radius:3px}
.site-descriptor{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}
.site-header nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:15px}
.site-header nav a{text-decoration:none}
.site-header nav a:hover{text-decoration:underline}
.site-header .sign-in{font-weight:600}
.page-intro{display:grid;grid-template-columns:1.08fr 1fr;gap:80px;align-items:end;padding:60px 0 47px}
.page-intro h1{font:600 clamp(45px,5.3vw,68px)/1.02 var(--display);letter-spacing:-.025em;margin-top:20px}
.intro-copy>p:first-child{font-size:19px;line-height:1.6;max-width:470px}
.intro-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:24px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border:1px solid var(--forest);border-radius:3px;background:var(--forest);color:var(--white);font:600 16px/1.3 var(--body);text-decoration:none}
.button:hover:not(:disabled){background:#345347}
.inline-link{font-size:15px;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#889580}
.inline-link span{margin-left:5px}
.access-note{font-size:13px;line-height:1.6;color:var(--muted);margin-top:14px;max-width:430px}
.preview{border:1px solid #adbba4;background:var(--white);scroll-margin-top:24px;border-radius:3px;overflow:hidden}
.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 28px 19px}
.preview-heading h2{font:600 33px/1.12 var(--display);letter-spacing:-.02em;margin-top:6px}
.preview-heading .eyebrow{font-size:11px}
.fault-badge{display:inline-block;border:1px solid #d8b99a;background:#f7ecdf;color:#874824;font-size:13px;line-height:1.3;padding:6px 10px;border-radius:2px;white-space:nowrap}
.fault-badge.resolved{border-color:#acbf92;background:#eaf1df;color:#3e612f}
.operator-message{display:grid;grid-template-columns:140px minmax(0,1fr);gap:15px;margin:0 28px 24px;padding-top:17px;border-top:1px solid var(--line)}
.report-label{font-size:13px;color:var(--muted);padding-top:2px}
.operator-message blockquote{font-size:17px;line-height:1.55;max-width:760px}
.preview-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);align-items:stretch;border-top:1px solid var(--line)}
.machine-wrap{min-width:0;background:#edf0e6;border-right:1px solid var(--line)}
.machine-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 17px;background:#e4e9dc;border-bottom:1px solid #c7d1bb;font:400 12px var(--body)}
.machine-dot{display:none}
.motion-toggle{font:400 12px var(--body);padding:3px 0;min-height:25px;border:0;background:none;text-decoration:underline;color:var(--muted)}
.conveyor-diagram{width:100%;height:auto}
.diagram-label{font:500 11px var(--mono);fill:#52654c;letter-spacing:.25px}
.signal-readout{display:flex;justify-content:space-between;gap:13px;padding:12px 17px;border-top:1px solid #cbd3be;font:400 12px var(--body);color:var(--muted)}
.signal-readout strong{color:var(--ink);font-weight:600;margin-left:5px}
.signal-readout .signal-ok{color:#426832}
.logic-readout{display:flex;align-items:center;margin:2px 17px 9px;padding:13px 0;border-top:1px solid #c5cfb8;border-bottom:1px solid #c5cfb8}
.logic-contact{display:grid;grid-template-columns:1fr auto;gap:3px 8px;flex:1;min-width:0;font:400 11px var(--body);color:#65745c}
.logic-symbol{grid-column:1/-1;font:400 24px/1 var(--mono);letter-spacing:-2px;margin-bottom:4px}
.logic-contact strong{font:400 10px var(--mono);align-self:end}
.logic-contact.is-true{color:#476e31}
.logic-contact.is-true strong{background:#d9e8c3;padding:1px 4px;border-radius:2px}
.logic-wire{flex:0 0 18px;height:2px;background:#b3c29f;margin:0 12px 22px}
.is-running .logic-wire{background:#668c45}
.diagram-caption{font:400 11px/1.5 var(--body);color:var(--muted);margin:0 17px 15px}
.preview-task{display:flex;flex-direction:column;justify-content:center;min-width:0;background:var(--white)}
.preview-controls{padding:26px}
.challenge-progress{display:flex;align-items:center;gap:10px;font:400 12px var(--body);color:#6a7462}
.challenge-progress b{font:400 10px var(--mono);margin-right:4px;color:#839077}
.challenge-progress i{height:1px;background:#d1d9c5;flex:1}
.challenge-progress [aria-current="step"]{color:var(--ink);font-weight:700}
.challenge-progress .step-complete{color:#507638}
.coach-copy{font-size:17px;line-height:1.6;margin-top:24px;min-height:82px}
.alignment-control{border-top:1px solid var(--line);padding-top:18px;margin-top:19px}
.range-heading{display:flex;align-items:baseline;gap:10px;justify-content:space-between}
.range-heading label{font-weight:600;font-size:15px}
.range-heading output{font-size:12px;color:var(--muted)}
input[type=range]{display:block;width:100%;margin:11px 0 5px;height:34px;accent-color:var(--forest);cursor:ew-resize}
.alignment-control>p{font-size:12px;line-height:1.6;color:var(--muted)}
.challenge-actions{display:flex;align-items:center;gap:14px;margin-top:23px;flex-wrap:wrap}
.challenge-button{font-size:15px;min-height:46px;padding:12px 17px;gap:15px}
.challenge-button span{font-size:18px}
.reset-button{border:0;background:none;padding:11px 0;min-height:44px;font:400 13px var(--body);color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.preview-success{display:flex;gap:12px;margin-top:23px;padding-top:19px;border-top:1px solid #b3c69f}
.success-check{font-size:22px;color:#537837;line-height:1.2}
.preview-success strong{display:block;font:600 23px/1.18 var(--display)}
.preview-success p{font-size:14px;line-height:1.6;color:var(--muted);margin:9px 0 17px}
.preview-success .button{min-height:44px;font-size:14px;gap:12px;padding:12px 17px}
.preview-footer{display:flex;justify-content:space-between;gap:24px;padding:12px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.noscript-message{font-size:16px;padding:26px;line-height:1.65}
.is-running .moving-tread{animation:tread .5s linear infinite}
.motion-paused .moving-tread{animation:none}
@keyframes tread{to{transform:translateX(24px)}}
.method-section{display:grid;grid-template-columns:1fr 2fr;gap:80px;padding:62px 0;border-bottom:1px solid var(--line)}
.section-label>span{font:400 11px var(--mono);color:var(--muted)}
.section-label h2{font:600 31px/1.1 var(--display);margin-top:12px;max-width:220px}
.method-list{margin:0;padding:0;list-style:none;counter-reset:method}
.method-list li{counter-increment:method;position:relative;padding:0 0 20px 34px;margin-bottom:20px;border-bottom:1px solid #d8ddd0}
.method-list li:last-child{border:0;padding-bottom:0;margin-bottom:0}
.method-list li:before{content:counter(method,decimal-leading-zero);position:absolute;left:0;top:3px;font:400 11px var(--mono);color:#687c58}
.method-list h3{font:600 24px/1.2 var(--display)}
.method-list p{font-size:16px;line-height:1.55;color:var(--muted);margin-top:7px;max-width:630px}
.demo-section{padding:66px 0}
.demo-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px;margin-bottom:36px}
.demo-heading h2{font:600 44px/1.06 var(--display);margin-top:14px;letter-spacing:-.02em}
.demo-heading>p{font-size:17px;color:var(--muted);line-height:1.65;max-width:490px}
.case-list{border-top:2px solid var(--ink)}
.case-row{display:grid;grid-template-columns:55px minmax(0,1fr) 220px;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);align-items:start}
.case-number{font:400 13px var(--mono);color:var(--muted);padding-top:5px}
.case-row h3{font:600 27px/1.15 var(--display)}
.case-row>div>p{font-size:16px;color:var(--muted);margin-top:7px;line-height:1.6}
.case-skill{font-size:16px;line-height:1.45}
.case-skill span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.demo-footnote{display:flex;justify-content:space-between;align-items:start;gap:35px;margin-top:20px;color:var(--muted);font-size:13px;line-height:1.6}
.demo-footnote p:first-child{max-width:650px}
.demo-footnote strong{font-weight:600;color:var(--ink)}
.access-section{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;padding:48px 0 70px;border-top:1px solid var(--line)}
.access-copy h2{font:600 44px/1.05 var(--display);letter-spacing:-.02em;margin:15px 0 17px}
.access-copy>p:not(.eyebrow):not(.access-note){font-size:17px;line-height:1.65;color:var(--muted);max-width:380px}
.access-copy>.button{margin-top:24px}
.access-copy>.access-note{max-width:335px}
.access-copy>.inline-link{display:inline-block;margin-top:23px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;font-size:16px;font-weight:600;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font:400 21px var(--body);color:var(--muted)}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list details>p{font-size:15px;line-height:1.65;color:var(--muted);padding:0 28px 20px 0}
.site-footer{display:grid;grid-template-columns:auto 1fr auto;gap:22px 30px;align-items:center;border-top:1px solid var(--line);padding:25px 0 30px}
.site-footer .brand{font-size:25px}
.site-footer .brand-mark{width:30px;height:33px}
.site-footer>p{font-size:13px;color:var(--muted)}
.site-footer>a:last-of-type{font-size:14px}
.site-footer>small{grid-column:1/-1;font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:1050px){
 .section-width{width:calc(100% - 56px)}.site-header{gap:20px}.site-descriptor{display:none}.site-header nav{gap:24px}
 .page-intro{gap:40px;padding:43px 0 35px}.page-intro h1{font-size:58px}.intro-copy>p:first-child{font-size:18px}.intro-actions{gap:17px}
 .preview-workspace{grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr)}.preview-controls{padding:23px}
 .coach-copy{font-size:16px}.signal-readout{font-size:11px}.logic-contact{font-size:10px}.logic-wire{margin-inline:8px;flex-basis:12px}
 .range-heading{flex-wrap:wrap;gap:3px 9px}.method-section,.demo-heading{gap:45px}.access-section{gap:50px}
 .case-row{grid-template-columns:40px minmax(0,1fr) 180px}.case-row h3{font-size:25px}.case-skill{font-size:15px}
}
@media(max-width:800px){
 .page-intro{grid-template-columns:1fr;gap:24px;padding:39px 0 34px}.page-intro h1{font-size:58px;line-height:1.04;margin-top:16px}.intro-copy>p:first-child{max-width:610px}
 .preview-heading{padding:23px}.operator-message{margin:0 23px 21px;grid-template-columns:110px minmax(0,1fr)}
 .preview-workspace{grid-template-columns:1fr}.machine-wrap{border-right:0;border-bottom:1px solid var(--line)}
 .conveyor-diagram{max-height:310px}.preview-controls{padding:25px}.coach-copy{min-height:0;font-size:18px;margin-top:19px}
 .challenge-progress{max-width:420px}.alignment-control{max-width:580px}.range-heading{flex-wrap:nowrap}.preview-footer{font-size:11px}
 .signal-readout{font-size:13px}.logic-contact{font-size:12px}.logic-readout{margin-inline:20px}.logic-symbol{font-size:25px}
 .diagram-caption{font-size:12px;margin-inline:20px}.logic-wire{flex-basis:25px;margin-inline:17px}
 .method-section{grid-template-columns:1fr;gap:27px;padding:40px 0}.section-label h2{max-width:none;font-size:32px;margin-top:7px}
 .method-list{padding-left:0}.demo-section{padding:45px 0}.demo-heading{grid-template-columns:1fr;gap:19px;margin-bottom:27px}
 .demo-heading h2{font-size:40px}.demo-heading>p{max-width:620px}.case-row{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:23px 0}
 .case-skill{grid-column:2;display:flex;gap:8px;font-size:14px;margin-top:0}.case-skill span{font-size:14px;margin:0}
 .case-skill span:after{content:':'}.demo-footnote{display:block}.demo-footnote p+p{margin-top:9px}
 .access-section{grid-template-columns:1fr;gap:37px;padding:37px 0 48px}.access-copy h2{font-size:40px}
 .access-copy>p:not(.eyebrow):not(.access-note){max-width:570px}.access-copy>.access-note{max-width:480px}
 .faq-list{max-width:none}.site-footer{grid-template-columns:auto 1fr;gap:18px 25px}.site-footer>a:last-of-type{grid-column:1/-1}.site-footer>p{text-align:right}
}
@media(max-width:520px){
 .section-width{width:calc(100% - 36px)}.site-header{flex-wrap:wrap;gap:18px;padding:20px 0 17px;min-height:0}
 .brand{font-size:28px}.brand-mark{width:33px;height:37px}.site-header nav{width:100%;margin-left:0;gap:24px;font-size:14px}
 .site-header .sign-in{margin-left:auto}.page-intro{padding:33px 0 30px;gap:22px}.page-intro h1{font-size:clamp(44px,11.6vw,58px)}
 .page-intro .eyebrow{font-size:11px}.intro-copy>p:first-child{font-size:17px}.intro-actions{align-items:flex-start;gap:17px;margin-top:20px}
 .button{font-size:15px;min-height:48px;padding:12px 18px}.inline-link{font-size:14px}.access-note{font-size:12px}
 .preview-heading{padding:19px 17px;gap:12px;align-items:center}.preview-heading h2{font-size:28px}.preview-heading .eyebrow{font-size:10px}
 .fault-badge{font-size:11px;padding:5px 7px}.operator-message{display:block;margin:0 17px 20px;padding-top:14px}
 .report-label{display:block;font-size:12px;margin-bottom:5px}.operator-message blockquote{font-size:16px}
 .machine-toolbar{padding:11px 13px;font-size:11px;gap:9px}.motion-toggle{font-size:11px;min-height:26px}
 .signal-readout{padding:12px 13px;font-size:11px;gap:10px;flex-wrap:wrap}.signal-readout strong{margin-left:3px}
 .logic-readout{margin-inline:13px}.logic-contact{font-size:10px;gap:3px 4px}.logic-contact strong{font-size:9px}
 .logic-wire{flex-basis:10px;margin-inline:8px}.diagram-caption{font-size:10px;margin-inline:13px}
 .preview-controls{padding:22px 18px}.challenge-progress{font-size:12px;gap:9px}.challenge-progress b{font-size:9px}
 .coach-copy{font-size:17px;line-height:1.6;margin-top:18px}.range-heading{flex-wrap:wrap;gap:5px 10px}
 .range-heading label{font-size:15px}.range-heading output{font-size:12px}.challenge-actions{gap:17px}
 .challenge-button{font-size:15px;min-height:46px;padding:12px 17px}.preview-success strong{font-size:23px}
 .preview-footer{display:block;font-size:11px;padding:12px 16px}.preview-footer>span{display:block}.preview-footer>span+span{margin-top:3px}
 .method-section{padding:34px 0}.method-list li{padding-left:30px}.method-list h3{font-size:23px}.method-list p{font-size:15px}
 .demo-heading h2{font-size:36px}.demo-heading>p{font-size:16px}.case-row h3{font-size:24px}.case-row>div>p{font-size:15px}
 .case-number{font-size:11px}.case-row{grid-template-columns:25px minmax(0,1fr)}.case-skill{font-size:13px;flex-wrap:wrap;gap:4px 7px}.case-skill span{font-size:13px}
 .access-copy h2{font-size:36px}.access-copy>p:not(.eyebrow):not(.access-note){font-size:16px}.faq-list summary{font-size:15px;padding:18px 0}.faq-list details>p{font-size:15px;padding-right:12px}
 .site-footer{grid-template-columns:1fr;gap:16px}.site-footer>p{text-align:left}.site-footer>small{font-size:11px}.site-footer .brand{font-size:25px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Explain the product before asking for a demo account. */
.page-intro{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:64px;padding-block:68px 42px;align-items:center}
.page-intro h1{font-size:clamp(3rem,5.1vw,4.1rem);line-height:1.04;max-width:680px}
.page-intro h1 span{color:var(--muted)}
.page-intro .eyebrow{font-size:.875rem;max-width:430px}
.intro-copy>p:first-child{font-size:1.125rem;line-height:1.65}
.intro-copy strong{font-weight:600;color:var(--ink)}
.access-note{font-size:.875rem}
.demo-strip{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-block:1px solid var(--line);padding-block:17px;gap:22px}
.demo-strip p{font-size:.9375rem;color:var(--muted)}
.demo-strip strong{color:var(--ink);font-weight:600;margin-right:7px}
.what-section{display:grid;grid-template-columns:1fr 2fr;gap:48px;padding-block:42px}
.what-section>.eyebrow{padding-top:7px;font-size:.875rem}
.what-section h2{font:600 clamp(1.65rem,2.5vw,2.2rem)/1.15 var(--display)}
.what-section p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.7;max-width:780px;margin-top:13px}
.audience-section,.scope-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;padding-block:48px;border-top:1px solid var(--line)}
.audience-section h2,.scope-section h2{font:600 clamp(2rem,3.5vw,2.75rem)/1.1 var(--display);margin-top:14px}
.audience-list article{padding-block:20px;border-bottom:1px solid var(--line)}
.audience-list article:first-child{padding-top:0}
.audience-list article:last-child{border-bottom:0;padding-bottom:0}
.audience-list h3{font:600 1.5rem/1.2 var(--display);margin-bottom:8px}
.audience-list p,.scope-section>div>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.65;max-width:700px}
.scope-section{padding-block:36px 48px}
.scope-section>div>p+p{margin-top:16px}
.scope-section strong{font-weight:600;color:var(--ink)}
.scope-section .eyebrow,.audience-section .eyebrow{font-size:.875rem}
.preview-heading .eyebrow,.report-label,.preview-footer,.demo-footnote,.case-skill span{font-size:.875rem}
body[data-plctrain-surface="landing"] :is(.section-width,.intro-copy,.audience-list,.scope-section>div){min-width:0}
@media(max-width:960px){.page-intro{gap:32px}.page-intro h1{font-size:clamp(2.8rem,5.7vw,3.5rem)}.audience-section,.scope-section{gap:40px}.demo-strip{gap:15px}.what-section{gap:32px}}
@media(max-width:800px){.page-intro{grid-template-columns:1fr;padding-block:40px 30px;gap:24px}.page-intro h1{font-size:clamp(2.9rem,7.4vw,4rem)}.intro-copy>p:first-child{max-width:640px}.demo-strip{grid-template-columns:1fr;gap:10px;padding-block:17px}.what-section,.audience-section,.scope-section{grid-template-columns:1fr;gap:23px;padding-block:32px}.what-section>.eyebrow{padding-top:0}.what-section p:not(.eyebrow){margin-top:12px}.audience-list h3{font-size:1.45rem}.preview-heading{align-items:flex-start}.preview-heading .eyebrow{font-size:.8125rem}}
@media(max-width:520px){.page-intro h1{font-size:clamp(2.5rem,10.7vw,3.4rem)}.page-intro .eyebrow{font-size:.8125rem}.intro-copy>p:first-child{font-size:1.0625rem}.preview-heading{flex-wrap:wrap}.preview-heading h2{font-size:1.8rem}.intro-actions{gap:18px}.access-note,.demo-strip p{font-size:.875rem}.scope-section h2,.audience-section h2{font-size:2rem}.access-copy>.button{width:100%}}
