/* USALEH personal homepage — v1 */
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --ink:#0A1220; --ink-2:#0F1A2C; --ink-3:#16243A; --line:#22324C;
  --text:#E8ECF2; --muted:#93A0B5; --accent:#F2B544; --accent-ink:#1A1204; --cool:#5FB7D6;
  --r:16px; --w:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--text);font-family:"Vazirmatn",Tahoma,sans-serif;font-size:16px;line-height:1.9;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.ltr,[dir=ltr]{direction:ltr;unicode-bidi:isolate}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

/* top bar */
.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:14px max(20px,calc((100% - var(--w))/2));
  background:rgba(10,18,32,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.14em;font-size:15px}
.mono{width:34px;height:34px}
.mono rect{fill:var(--accent)} .mono path{fill:none;stroke:var(--accent-ink);stroke-width:3.2;stroke-linecap:round}
.nav{display:flex;gap:26px;margin-inline-start:auto;font-size:14.5px;color:var(--muted)}
.nav a:hover{color:var(--text)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .15s,background .15s,border-color .15s}
.btn:hover{transform:translateY(-1px)}
.btn-solid{background:var(--accent);color:var(--accent-ink)}
.btn-solid:hover{background:#FFC660}
.btn-line{border:1px solid #3A4C6A;color:var(--text)}
.btn-line:hover{border-color:var(--accent)}
.btn-ghost{padding:8px 18px;font-size:14px;border:1px solid var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--accent)}

/* hero */
.hero{position:relative;overflow:hidden;padding:110px 20px 90px;text-align:center;border-bottom:1px solid var(--line)}
.grid-bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:56px 56px;opacity:.45;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);
          mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%)}
.grid-bg::after{content:"";position:absolute;inset:0;
  background:radial-gradient(600px 300px at 50% 30%,rgba(242,181,68,.10),transparent 70%),
             radial-gradient(500px 260px at 80% 80%,rgba(95,183,214,.08),transparent 70%)}
.hero-in{position:relative;max-width:860px;margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 16px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;color:var(--muted);background:var(--ink-2)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.hero h1{margin:28px 0 10px;font-size:clamp(46px,9vw,104px);font-weight:900;line-height:1.15;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--accent)}
.tag{font-size:clamp(13px,1.6vw,16px);color:var(--cool);letter-spacing:.04em;font-weight:500}
.lead{max-width:720px;margin:28px auto 0;color:#C9D1DD;font-size:17.5px;text-align:justify;text-align-last:center}
.cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:640px;margin:56px auto 0;border:1px solid var(--line);border-radius:var(--r);background:rgba(15,26,44,.7)}
.stats div{padding:18px 10px}
.stats div+div{border-inline-start:1px solid var(--line)}
.stats dt{font-size:22px;font-weight:800;color:var(--text)}
.stats dd{font-size:13px;color:var(--muted)}

/* sections */
.sec{padding:96px max(20px,calc((100% - var(--w))/2))}
.sec.alt{background:var(--ink-2);border-block:1px solid var(--line)}
.sec-h{max-width:720px;margin:0 auto 52px;text-align:center}
.num{display:inline-block;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.2em;margin-bottom:10px}
.sec h2{font-size:clamp(26px,3.6vw,40px);font-weight:800;line-height:1.4}
.sec-h p{margin-top:12px;color:var(--muted)}
.body{max-width:760px;margin:44px auto 0;color:#C9D1DD;text-align:justify;text-align-last:center}

/* data chain */
.chain{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:0;counter-reset:c}
.chain li{position:relative;text-align:center;padding:22px 6px;border:1px solid var(--line);background:var(--ink-2)}
.chain li+li{border-inline-start:0}
.chain li:first-child{border-start-start-radius:var(--r);border-end-start-radius:var(--r)}
.chain li:last-child{border-start-end-radius:var(--r);border-end-end-radius:var(--r);background:var(--ink-3)}
.chain li:nth-child(4){background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.chain li:nth-child(4) span{color:#5A3E07}
.chain b{display:block;font-size:17px;font-weight:800}
.chain span{display:block;font-size:12px;color:var(--muted);direction:ltr}
.chain li:not(:last-child)::after{content:"";position:absolute;top:50%;inset-inline-end:-7px;width:12px;height:12px;z-index:2;
  transform:translateY(-50%) rotate(45deg);background:inherit;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.chain li:nth-child(4)::after{border-color:var(--accent)}

/* capability cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{padding:28px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--ink);text-align:center;transition:border-color .2s,transform .2s}
.card:hover{border-color:#3A4C6A;transform:translateY(-3px)}
.card .k{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--cool);padding:3px 10px;border:1px solid var(--line);border-radius:999px}
.card h3{margin:16px 0 10px;font-size:18px;font-weight:800;line-height:1.6}
.card p{font-size:14.5px;color:var(--muted);line-height:1.95}
.stack{margin-top:56px;text-align:center}
.stack h3{font-size:16px;font-weight:700;color:var(--muted);margin-bottom:18px}
.stack ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:860px;margin:0 auto}
.stack li{padding:7px 16px;border:1px solid var(--line);border-radius:999px;font-size:14px;background:var(--ink)}

/* path */
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative}
.steps::before{content:"";position:absolute;top:22px;inset-inline:10%;height:1px;background:linear-gradient(to left,var(--line),var(--accent))}
.steps li{position:relative;text-align:center}
.steps li>span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink-3);border:1px solid var(--line);font-weight:800;position:relative}
.steps li:last-child>span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.steps h3{margin:16px 0 6px;font-size:16.5px;font-weight:800}
.steps p{font-size:14px;color:var(--muted)}

/* contact */
.contact{text-align:center;background:radial-gradient(700px 300px at 50% 0%,rgba(242,181,68,.09),transparent 70%),var(--ink-2);border-top:1px solid var(--line)}
.contact-in{max-width:720px;margin:0 auto}
.contact p{margin-top:12px;color:var(--muted)}
.links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}

/* footer */
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;padding:16px 20px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);border-bottom:3px solid var(--accent)}
.sep{width:1px;height:14px;background:var(--line)}

/* responsive */
@media (max-width:980px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .chain{grid-template-columns:repeat(4,1fr);row-gap:12px}
  .chain li,.chain li+li{border:1px solid var(--line);border-radius:12px}
  .chain li:nth-child(4){border-color:var(--accent)}
  .chain li::after{display:none}
  .steps{grid-template-columns:1fr;gap:26px;max-width:460px;margin:0 auto}
  .steps::before{display:none}
}
@media (max-width:720px){
  .nav{display:none}
  .btn-ghost{margin-inline-start:auto}
  .hero{padding:72px 16px 64px}
  .sec{padding:72px 16px}
  .cards{grid-template-columns:1fr}
  .chain{grid-template-columns:repeat(2,1fr)}
  .chain li:last-child{grid-column:1/-1}
  .lead,.body{text-align:center}
  .stats dt{font-size:15px;white-space:nowrap}
  .stats div{padding:14px 4px}
  .foot{flex-direction:column;gap:4px}
  .sep{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.bar,.cta,.grid-bg{display:none}body{background:#fff;color:#000}}

/* ===== v3 additions ===== */
.who{margin-top:22px;font-size:20px;font-weight:800;color:var(--text)}
.stats{grid-template-columns:repeat(5,1fr);max-width:900px}
.stats dd{line-height:1.6}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.principles article{padding:22px;border:1px solid var(--line);border-radius:var(--r);text-align:center;background:var(--ink-2)}
.principles h3{font-size:16px;font-weight:800;margin-bottom:6px}
.principles p{font-size:14px;color:var(--muted)}

/* case studies */
.case{border:1px solid var(--line);border-radius:20px;background:var(--ink);padding:28px;text-align:center}
.case-feature{padding:40px;border-color:#3A4C6A;background:linear-gradient(180deg,rgba(242,181,68,.06),transparent 40%),var(--ink)}
.case-head{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.badge{font-size:12.5px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--accent);color:var(--accent-ink)}
.b-cool{background:rgba(95,183,214,.15);color:var(--cool)} .b-gold{background:rgba(212,175,55,.15);color:#E5C35A} .b-green{background:rgba(79,199,154,.15);color:#4FC79A}
.live{font-size:12.5px;padding:4px 12px;border-radius:999px;border:1px solid #2F5A49;color:#4FC79A}
.live.muted{border-color:var(--line);color:var(--muted)}
.case h3{margin:16px 0 6px;font-size:clamp(20px,2.6vw,28px);font-weight:900;line-height:1.5}
.case-sub{color:var(--cool);font-size:15px;font-weight:500}
.case-body{max-width:820px;margin:18px auto 0;color:#C9D1DD;text-align:justify;text-align-last:center}
.pipe{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:30px 0}
.pipe li{position:relative;padding:14px 8px;border:1px solid var(--line);border-radius:12px;background:var(--ink-2);font-size:13.5px;font-weight:600;line-height:1.7}
.pipe li span{display:block;margin:0 auto 6px;width:26px;height:26px;line-height:26px;border-radius:50%;background:var(--ink-3);color:var(--accent);font-size:13px}
.pipe li.end{border-color:var(--accent)}
.pipe li:not(:last-child)::after{content:"";position:absolute;top:50%;inset-inline-end:-9px;width:8px;height:2px;background:var(--accent)}
.case-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin-top:8px;text-align:start}
.case h4,.case-grid h4{font-size:15px;font-weight:800;margin-bottom:10px;color:var(--muted);text-align:center}
.ticks{list-style:none;display:grid;gap:8px}
.ticks li{position:relative;padding-inline-start:22px;font-size:14.5px;color:#C9D1DD;line-height:1.85;text-align:start}
.ticks li::before{content:"";position:absolute;inset-inline-start:2px;top:.75em;width:9px;height:9px;border-radius:2px;background:var(--accent);transform:rotate(45deg)}
.facts{display:grid;gap:10px}
.facts div{padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--ink-2)}
.facts dt{font-size:12.5px;color:var(--muted)}
.facts dd{font-weight:700;font-size:15px}
.case-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.case-row .case{display:flex;flex-direction:column}
.case-row .ticks{margin-top:16px;flex:1}
.flow-line{margin-top:16px;padding:10px;border:1px dashed var(--line);border-radius:10px;font-size:13.5px;font-weight:700;color:var(--accent)}
.stack-line{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);font-weight:600}
.tree{width:100%;max-width:280px;margin:16px auto 0;display:block}
.t-lines path{fill:none;stroke:#8a7430;stroke-width:1.4}
.t-root{fill:#D4AF37} .t-h{fill:var(--ink-3);stroke:#8a7430} .t-c{fill:var(--ink-2);stroke:#55657f}
.t-lens{fill:rgba(212,175,55,.1);stroke:#D4AF37;stroke-width:2}

/* domains */
.domains{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dom{border:1px solid var(--line);border-top:3px solid var(--c);border-radius:var(--r);background:var(--ink-2);padding:22px}
.dom header{display:flex;justify-content:center;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.dom h3{font-size:17px;font-weight:800}
.dom header span{font-size:12px;color:var(--c);font-weight:700}
.dom ul{list-style:none;display:grid;gap:8px}
.dom li{padding:10px 12px;border-radius:10px;background:var(--ink);text-align:center}
.dom li b{display:block;font-size:14.5px;font-weight:700}
.dom li span{display:block;font-size:13px;color:var(--muted)}

/* architecture */
.layers{display:flex;flex-direction:column-reverse;gap:8px;max-width:860px;margin:0 auto}
.layer{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:16px;padding:14px 20px;border:1px solid var(--line);border-radius:12px;background:var(--ink)}
.layer h3{font-size:15px;font-weight:800;color:var(--cool);text-align:center}
.layer p{font-size:14px;color:#C9D1DD;text-align:center}
.layer.top{border-color:var(--accent)} .layer.top h3{color:var(--accent)}
.ltr-p{direction:ltr}
.cross{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:860px;margin:14px auto 0}
.cross span{font-size:13px;padding:6px 14px;border:1px dashed #3A4C6A;border-radius:999px;color:var(--muted)}

/* ideas */
.sub-h{text-align:center;font-size:17px;font-weight:800;color:var(--muted);margin:40px 0 16px}
.sub-h:first-of-type{margin-top:0}
.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.ideas article{padding:20px 16px;border:1px solid var(--line);border-radius:14px;background:var(--ink-2);text-align:center;transition:border-color .2s}
.ideas article:hover{border-color:#3A4C6A}
.ideas .k{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--cool);padding:2px 10px;border:1px solid var(--line);border-radius:999px}
.ideas h4{margin:10px 0 4px;font-size:15.5px;font-weight:800;line-height:1.6}
.ideas p{font-size:13.5px;color:var(--muted)}

/* people */
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto}
.panel{padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--ink);text-align:center}
.big{font-size:34px;font-weight:900;color:var(--accent)} .big small{font-size:14px;color:var(--muted);font-weight:600}
.panel h3{font-size:18px;font-weight:800;margin:4px 0 14px}

@media (max-width:980px){
  .stats{grid-template-columns:repeat(3,1fr)}
  .stats div:nth-child(4){border-inline-start:0}
  .stats div:nth-child(n+4){border-top:1px solid var(--line)}
  .pipe{grid-template-columns:repeat(3,1fr)} .pipe li::after{display:none}
  .case-grid,.case-row,.domains{grid-template-columns:1fr}
  .domains{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats div{border-inline-start:0!important;border-top:1px solid var(--line)}
  .stats div:nth-child(-n+2){border-top:0}
  .stats div:nth-child(even){border-inline-start:1px solid var(--line)!important}
  .stats div:last-child{grid-column:1/-1}
  .principles,.domains,.two{grid-template-columns:1fr}
  .pipe{grid-template-columns:repeat(2,1fr)}
  .case,.case-feature{padding:22px 16px}
  .case-body{text-align:center}
  .layer{grid-template-columns:1fr;gap:4px}
}
.domains{display:flex;flex-wrap:wrap;justify-content:center}
.dom{flex:1 1 300px;max-width:370px}
@media (max-width:720px){.dom{max-width:none}}
