@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/notokufi-arabic-400-700.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/notokufi-latin-400-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.75;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:var(--link)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,pre:focus-visible,.table-wrap:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
code,pre{font-family:var(--mono);font-size:.86em}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.skip{position:absolute;inset-inline-start:-9999px}.skip:focus{inset-inline-start:12px;top:12px;background:var(--ink);color:var(--bg);padding:8px 14px;z-index:9}
.site-head{border-bottom:1px solid var(--line);background:var(--head-bg)}
.head-row{display:flex;align-items:center;gap:24px;min-height:68px}
.mark{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.glyph{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--r-s);background:var(--ink);color:var(--bg);font-family:var(--display);font-size:18px}
.site-head nav{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.site-head nav a{color:var(--muted);text-decoration:none;white-space:nowrap;padding:6px 0}
.site-head nav a[aria-current]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
.head-actions{display:flex;align-items:center;gap:14px}
.lang{color:var(--muted);text-decoration:none;font-size:15px}
.cta{background:var(--btn);color:var(--btn-ink);text-decoration:none;padding:8px 16px;border-radius:var(--r-s);font-weight:600;white-space:nowrap}
.btn{display:inline-block;padding:12px 22px;border-radius:var(--r-s);border:1.5px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:600;font-family:inherit;font-size:16px;cursor:pointer;background:transparent}
.btn.primary{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
h1,h2,h3{font-family:var(--display);line-height:1.25;margin:0;font-weight:700}
h1{font-size:clamp(38px,6vw,72px)}
h2{font-size:clamp(26px,3.2vw,38px)}
h3{font-size:20px}
.lede{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:60ch;margin:18px 0 0}
.hero{padding:72px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero-art{margin:0}
.hero-art figcaption{font-size:14px;color:var(--muted);margin-top:12px}
.facts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:56px 0 0;border-block:1px solid var(--line)}
.facts li{padding:18px 20px;border-inline-start:1px solid var(--line);font-weight:600;overflow-wrap:anywhere}
.facts li:first-child{border-inline-start:0;padding-inline-start:0}
h1 .ln,h2 .ln{display:block}
.brief-sec .brief-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.brief-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:0}
.brief-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:19px;font-weight:600}
.conn{display:grid;gap:0;margin:0 0 18px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--panel)}
.conn div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);direction:ltr;text-align:left}
.conn div:last-child{border-bottom:0}
.conn dt{color:var(--muted);font-size:14px}.conn dd{margin:0;overflow-wrap:anywhere}
.quotes{padding-inline-start:1.2em;margin:0 0 12px}.quotes li{margin:6px 0}
.contact-form{display:grid;gap:18px;max-width:720px}
.contact-form label{display:grid;gap:6px;font-weight:600}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-s);background:var(--panel);color:var(--ink);width:100%}
.contact-form .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.contact-form .consent input{width:auto;margin-top:6px}
.form-bottom{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.privacy-note{font-size:14px;color:var(--muted)}
.button{display:inline-block;padding:12px 22px;border-radius:var(--r-s);border:1.5px solid var(--ink);color:var(--ink);font-weight:600;font-family:inherit;font-size:16px;cursor:pointer;background:transparent}
.button.primary{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
#contact-result:empty{display:none}
#contact-result{padding:12px 16px;border-radius:var(--r-s);background:var(--panel);border:1px solid var(--line)}
.sec{padding:72px 0;border-top:1px solid var(--line)}
.sec-head{max-width:640px;margin-bottom:32px}
.sec-head p{color:var(--muted);margin:10px 0 0}
.sec-body{min-width:0}
.sec-body>p,.sec-body li{max-width:72ch}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.features article h3{margin-bottom:8px}
.features article p{margin:0;color:var(--muted)}
.flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;counter-reset:f}
.flow li{counter-increment:f;position:relative;padding-top:52px}
.flow li::before{content:counter(f);position:absolute;top:0;inset-inline-start:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--accent);color:var(--accent);font-weight:700}
.flow p{margin:6px 0 0;color:var(--muted)}
.ep-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--panel);margin-bottom:18px}
.ep-line span{color:var(--muted);font-size:14px}
.ep-line code{overflow-wrap:anywhere;font-size:15px}
.ep-block+.ep-block{margin-top:48px;padding-top:32px;border-top:1px dashed var(--line)}
.ep-title{font-family:var(--mono);color:var(--accent-ink);margin-bottom:4px}
details{border-bottom:1px solid var(--line);padding:14px 0}
summary{cursor:pointer;font-weight:600;list-style-position:inside}
summary code{font-weight:400;font-size:13px;color:var(--muted)}
details p{margin:10px 0 0}
.code{margin-top:14px;border:1px solid var(--code-line);background:var(--code-bg);border-radius:var(--r-s);min-width:0;overflow:hidden}
.code-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--code-line);font-size:13px;color:var(--code-muted);direction:ltr}
.copy{font:inherit;font-size:13px;background:var(--btn);color:var(--btn-ink);border:0;border-radius:4px;padding:4px 12px;cursor:pointer}
.code pre{margin:0;padding:14px;overflow-x:auto;color:var(--code-ink);line-height:1.65;white-space:pre}
.note{font-size:14px;color:var(--muted)}
.more{font-weight:600}
.callout{border:1px solid var(--line);border-inline-start:4px solid var(--accent);background:var(--panel);padding:18px 22px;border-radius:var(--r-s)}
.callout p{margin:0}.callout p+p{margin-top:10px}
.tool-list,.scopes{display:grid;gap:0;margin:16px 0}
.tool-list div,.scopes div{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.tool-list dd,.scopes dd{margin:0;color:var(--muted)}
.table-wrap{overflow-x:auto;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{text-align:start;vertical-align:top;padding:10px 8px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:600}
.examples{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.examples blockquote{margin:0;font-family:var(--display);font-size:clamp(20px,2.4vw,28px);line-height:1.5}
.examples .note{margin:6px 0 0}
.page-head{padding:64px 0 24px}
.cta-band{padding:80px 0;background:var(--band);color:var(--band-ink)}
.cta-band p{max-width:60ch;color:inherit;opacity:.85}
.cta-band .btn.primary{margin-top:12px}
.form{display:grid;gap:18px;max-width:720px}
.form label{display:grid;gap:6px;font-weight:600}
.form input,.form select,.form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-s);background:var(--panel);color:var(--ink);width:100%}
.form .pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .consent input{width:auto;margin-top:6px}
.form-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.honeypot{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.site-foot{border-top:1px solid var(--line);padding:28px 0;margin-top:0}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
.foot-row p{margin:0;color:var(--muted)}
.foot-row nav{display:flex;flex-wrap:wrap;gap:18px}
.foot-row nav a{color:var(--muted)}
@media (max-width:900px){
 .hero-grid{grid-template-columns:1fr;gap:36px}
 .facts{grid-template-columns:1fr 1fr}
 .facts li:nth-child(3){border-inline-start:0;padding-inline-start:0}
 .facts li:nth-child(n+3){border-top:1px solid var(--line)}
 .brief-sec .brief-grid{grid-template-columns:1fr;gap:20px}
 .flow{grid-template-columns:1fr}
}
@media (max-width:640px){
 body{font-size:16px}
 .head-row{flex-wrap:wrap;gap:8px 16px;padding:10px 0}
 .site-head nav{order:3;flex-basis:100%;gap:18px}
 .head-actions{margin-inline-start:auto}
 .hero{padding:44px 0 28px}
 .sec{padding:52px 0}
 .form .pair,.contact-form .form-pair{grid-template-columns:1fr}
 .conn div{grid-template-columns:1fr;gap:2px}
 .tool-list div,.scopes div{grid-template-columns:1fr;gap:4px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Sim: a pipeline that runs. Deep teal, mint signal, Noto Kufi Arabic. */
:root{--bg:#F1F6F4;--head-bg:#F1F6F4;--panel:#FFFFFF;--ink:#0F3D3E;--muted:#4C6866;--line:#D3E2DD;--line-strong:#A8C3BB;--accent:#2BB673;--accent-ink:#1C8A55;--link:#106A6C;--focus:#2BB673;--btn:#0F3D3E;--btn-ink:#FFFFFF;--band:#0F3D3E;--band-ink:#F1F6F4;--code-bg:#0F3D3E;--code-ink:#E2F2EB;--code-line:#1E5556;--code-muted:#93B5AF;--display:"Noto Kufi Arabic",sans-serif;--body:"Noto Kufi Arabic",system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--r-s:8px}

.t-sim h1{font-size:clamp(36px,5.4vw,70px);line-height:1.4}
.t-sim .pipe{list-style:none;margin:0;padding:0;display:grid;gap:30px;position:relative}
.t-sim .pipe::before{content:"";position:absolute;inset-block:20px;inset-inline-start:22px;width:3px;background:repeating-linear-gradient(#2BB673 0 10px,transparent 10px 18px);animation:flowline 1.6s linear infinite}
@keyframes flowline{to{background-position:0 36px}}
.t-sim .pipe li{position:relative;margin-inline-start:56px;background:#FFFFFF;border:1.5px solid #0F3D3E;border-radius:10px;padding:14px 18px;font-weight:700}
.t-sim .pipe li::before{content:"";position:absolute;inset-inline-start:-42px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:#2BB673;box-shadow:0 0 0 5px #E2F2EB}
.t-sim .features article{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--panel)}
