@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/barlow-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/barlow-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/barlow-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:800;font-display:swap;src:url("fonts/barlow-latin-800-normal.woff2") format("woff2")}

:root{
  --type-family:"Barlow",Arial,sans-serif;

  --type-weight-regular:400;
  --type-weight-semibold:600;
  --type-weight-bold:700;
  --type-weight-extrabold:800;

  --type-size-xs:12px;
  --type-size-sm:13px;
  --type-size-ui:14px;
  --type-size-nav:15px;
  --type-size-body-sm:16px;
  --type-size-body:18px;
  --type-size-lead:20px;
  --type-size-subhead:22px;
  --type-size-h3:24px;
  --type-size-stat:30px;
  --type-size-h2:clamp(34px,3.6vw,48px);
  --type-size-h1:clamp(48px,5.7vw,78px);
  --type-size-hero:clamp(48px,7vw,94px);

  --type-tracking-body:0;
  --type-tracking-subhead:-.02em;
  --type-tracking-heading:-.03em;
  --type-tracking-display:-.045em;
  --type-tracking-label:.075em;

  --type-leading-display:.94;
  --type-leading-tight:1;
  --type-leading-heading:1.2;
  --type-leading-ui:1.35;
  --type-leading-small:1.45;
  --type-leading-body:1.62;

  --type-heading:#111827;
  --type-body:#405069;
  --type-subtitle:#6d7786;
}

body,button,input,textarea{font-family:var(--type-family);font-weight:var(--type-weight-regular)}
body{font-size:var(--type-size-body);line-height:var(--type-leading-body);color:var(--type-body)}
button,input,textarea{font-size:var(--type-size-body-sm);line-height:var(--type-leading-small);letter-spacing:var(--type-tracking-body)}

h1,h2,h3,h4,h5,h6{font-family:var(--type-family);color:var(--type-heading)}
h1{font-size:var(--type-size-h1);line-height:var(--type-leading-display);font-weight:var(--type-weight-extrabold);letter-spacing:var(--type-tracking-display)}
.page-home h1{font-size:var(--type-size-hero)}
h2{font-size:var(--type-size-h2);line-height:var(--type-leading-tight);font-weight:var(--type-weight-bold);letter-spacing:var(--type-tracking-heading)}
h3{font-size:var(--type-size-h3);line-height:var(--type-leading-heading);font-weight:var(--type-weight-semibold);letter-spacing:var(--type-tracking-subhead)}
h4,h5,h6{font-size:var(--type-size-lead);line-height:var(--type-leading-heading);font-weight:var(--type-weight-semibold);letter-spacing:var(--type-tracking-subhead)}

p,li{font-size:var(--type-size-body);line-height:var(--type-leading-body);font-weight:var(--type-weight-regular);letter-spacing:var(--type-tracking-body)}
strong,b{font-weight:var(--type-weight-bold)}

.kicker,.platform-label,.platform-item b,.meta-label,.toc-title,.part-label,.eco-role,.pipe-card .label,.step b{
  font-size:var(--type-size-sm);
  line-height:var(--type-leading-heading);
  font-weight:var(--type-weight-bold);
  letter-spacing:var(--type-tracking-label);
  color:var(--type-subtitle);
}
.platform-label,.platform-item b,.meta-label,.toc-title,.step b{font-size:var(--type-size-xs)}

.navlinks{font-size:var(--type-size-nav);line-height:var(--type-leading-ui);font-weight:var(--type-weight-semibold)}
.btn,.text-link{font-size:var(--type-size-nav);line-height:var(--type-leading-heading);font-weight:var(--type-weight-bold)}
.mobile-menu a{font-size:var(--type-size-body-sm);line-height:var(--type-leading-ui);font-weight:var(--type-weight-semibold)}

.hero-copy p,.hero-lead{font-size:var(--type-size-lead);line-height:var(--type-leading-small)}
.hero-meta{font-size:var(--type-size-ui);line-height:var(--type-leading-small);font-weight:var(--type-weight-semibold)}
.proof-note strong{font-size:var(--type-size-body-sm);line-height:var(--type-leading-heading)}
.proof-note span{font-size:var(--type-size-ui);line-height:var(--type-leading-small)}

.step strong,.req-row strong,.install-list li,.support-box p{font-size:var(--type-size-body-sm);line-height:var(--type-leading-small)}
.step span{font-size:var(--type-size-ui);line-height:var(--type-leading-small)}
.bullets li{font-size:var(--type-size-body-sm);line-height:var(--type-leading-small)}
.bullets li::before,.fact .fact-num,.captcha-badge{font-weight:var(--type-weight-bold)}

.edit-flow{font-size:var(--type-size-nav);line-height:var(--type-leading-ui);font-weight:var(--type-weight-semibold)}
.edit-flow .dot{font-size:var(--type-size-sm);line-height:var(--type-leading-tight)}
.edit-flow .arrow{font-size:var(--type-size-subhead);line-height:var(--type-leading-tight)}
.editor-note{font-size:var(--type-size-sm);line-height:var(--type-leading-small)}

.export-proof strong,.eco-item h3{font-size:var(--type-size-subhead);line-height:var(--type-leading-heading);letter-spacing:var(--type-tracking-subhead)}
.export-proof span,.fact span,.engine-card span,.eco-item p{font-size:var(--type-size-ui);line-height:var(--type-leading-small)}
.fact strong,.platform-item strong,.meta-value{font-size:var(--type-size-body-sm);line-height:var(--type-leading-heading)}
.source-code{font-size:var(--type-size-nav);line-height:var(--type-leading-body);font-weight:var(--type-weight-regular)}
.engine-card strong{font-size:var(--type-size-lead);line-height:var(--type-leading-heading)}
.pipe-arrow{font-size:var(--type-size-stat);line-height:var(--type-leading-tight)}

.faq-list summary{font-size:var(--type-size-body-sm);line-height:var(--type-leading-ui);font-weight:var(--type-weight-semibold);letter-spacing:var(--type-tracking-subhead)}
.faq-list summary::after{font-size:var(--type-size-subhead);line-height:var(--type-leading-tight);font-weight:var(--type-weight-regular)}
.faq-list details p{font-size:var(--type-size-nav);line-height:var(--type-leading-body)}
.faq-list a{font-weight:var(--type-weight-semibold)}

.final h2{line-height:var(--type-leading-tight)}
.final p{font-size:var(--type-size-body-sm);line-height:var(--type-leading-small)}

.support-intro p{font-size:var(--type-size-body);line-height:var(--type-leading-small)}
.support-person-caption strong,.form-masthead-copy strong{font-size:var(--type-size-lead);line-height:var(--type-leading-heading);font-weight:var(--type-weight-semibold);letter-spacing:var(--type-tracking-subhead)}
.support-person-caption span,.form-masthead-copy span{font-size:var(--type-size-ui);line-height:var(--type-leading-small)}
label,.field-label,.captcha-label,.file-control{font-size:var(--type-size-ui);line-height:var(--type-leading-ui);font-weight:var(--type-weight-semibold)}
.helper,.attachment-copy span,.status{font-size:var(--type-size-sm);line-height:var(--type-leading-small)}
.attachment-copy strong,.captcha-badge,.captcha-copy{font-size:var(--type-size-ui);line-height:var(--type-leading-ui)}
.attachment-copy strong,.helper strong{font-weight:var(--type-weight-semibold)}
.file-name,.consent{font-size:var(--type-size-xs);line-height:var(--type-leading-small)}
.captcha-refresh{font-size:var(--type-size-lead);line-height:var(--type-leading-tight)}

.download-card h2{font-size:var(--type-size-stat)}
.card-copy{font-size:var(--type-size-nav);line-height:var(--type-leading-small)}
.license{font-size:var(--type-size-ui);line-height:var(--type-leading-ui);font-weight:var(--type-weight-semibold)}
.platform-item span{font-size:var(--type-size-sm);line-height:var(--type-leading-small)}
.requirements .intro p{font-size:var(--type-size-body)}
.req-row span{font-size:var(--type-size-nav);line-height:var(--type-leading-small)}
.req-row .ok{font-weight:var(--type-weight-semibold)}

.page-privacy .policy p,.page-privacy .policy li{font-size:var(--type-size-body)}
.toc a{font-size:var(--type-size-ui);line-height:var(--type-leading-ui)}
.contact-grid .meta-value{font-size:var(--type-size-body-sm);line-height:var(--type-leading-small)}
.contact-card a{font-weight:var(--type-weight-semibold)}

@media(max-width:620px){
  .faq-list summary{font-size:var(--type-size-nav)}
}
