/* Vahid Jafari Profile v0.30 — structured editorial profile. */
.vj-profile{background:var(--vj-color-bg-page,#f8f7f4);color:var(--vj-color-text-primary,#171717)}
.vj-profile-hero{padding-block:clamp(4rem,7vw,7rem);border-block-end:1px solid var(--vj-color-border-default,#d9d5cd)}
.vj-profile-hero__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(3rem,8vw,8rem);align-items:center}
.vj-profile-hero__media{margin:0;position:relative;max-inline-size:31rem;justify-self:start;display:flex;flex-direction:column;align-items:center}
.vj-profile-hero__media img{display:block;inline-size:100%;block-size:auto;aspect-ratio:auto;object-fit:contain;background:transparent;border-radius:0;box-shadow:none}
.vj-profile-hero__media figcaption{margin-block-start:.75rem;padding-inline-start:.25rem;font-size:.75rem;color:var(--vj-color-text-secondary,#4d4b47);letter-spacing:.03em}
.vj-profile-hero__content{max-inline-size:54rem}.vj-profile-hero__index{display:none;margin:.35rem 0;color:var(--vj-color-brand-accent,#925a3d);font-size:.78rem;font-weight:700;letter-spacing:.12em}.vj-profile-hero__content h1{margin:.2rem 0 1rem;font-size:clamp(3.25rem,6.5vw,6rem);line-height:.98;font-weight:700}.vj-profile-hero__role{max-inline-size:46rem;margin:0 0 1rem;font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.65;font-weight:600}.vj-profile-hero__intro{max-inline-size:42rem;margin:0;color:var(--vj-color-text-secondary,#4d4b47);font-size:1.05rem;line-height:1.95}.vj-profile-hero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-block-start:2rem}
.vj-profile-section{padding-block:clamp(4.5rem,7vw,7rem);border-block-end:1px solid var(--vj-color-border-default,#d9d5cd)}.vj-profile-section--statement{background:#fff}.vj-profile-section--muted{background:#efebe4}.vj-profile-section--dark{background:#171717;color:#f8f7f4;border-block-end-color:rgb(255 255 255 / 10%)}.vj-profile-section--lens{background:linear-gradient(180deg,#f8f7f4 0%,#efebe4 100%)}
.vj-profile-section__head{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start;margin-block-end:2.5rem}.vj-profile-section__head>div:last-child{max-inline-size:54rem}.vj-profile-section__head h2{margin:.55rem 0 .85rem;max-inline-size:48rem;font-size:clamp(2rem,4vw,3.35rem);line-height:1.2;font-weight:700}.vj-profile-section__head p:not(.vj-eyebrow){max-inline-size:44rem;margin:0;color:var(--vj-color-text-secondary,#4d4b47);line-height:1.9}.vj-profile-section__head--dark p:not(.vj-eyebrow){color:rgb(248 247 244 / 72%)}
.vj-profile-section__rail{display:flex;align-items:center;gap:.65rem;padding-block-start:.4rem}.vj-profile-section__rail .vj-eyebrow{margin:0}
.vj-profile-statement{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}.vj-profile-statement__body{max-inline-size:62rem}.vj-profile-statement__label{margin:0 0 .7rem;color:var(--vj-color-brand-accent,#925a3d);font-size:.86rem;font-weight:700}.vj-profile-statement h2{max-inline-size:56rem;margin:0 0 2rem;font-size:clamp(2.3rem,4.5vw,4rem);line-height:1.18}.vj-profile-richtext{max-inline-size:50rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 2rem}.vj-profile-richtext p{margin:0;color:var(--vj-color-text-secondary,#4d4b47);font-size:1.02rem;line-height:2}.vj-profile-richtext strong{color:var(--vj-color-text-primary,#171717);font-weight:700}.vj-profile-statement__highlight{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-inline-size:50rem;margin-block-start:2rem;padding:1rem 1.15rem;border-block-start:2px solid var(--vj-color-brand-accent,#925a3d);border-block-end:1px solid var(--vj-color-border-default,#d9d5cd)}.vj-profile-statement__highlight span{font-size:.75rem;font-weight:700;color:var(--vj-color-brand-accent,#925a3d)}.vj-profile-statement__highlight strong{font-size:.98rem}
.vj-profile-services--cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.vj-profile-service{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;position:relative;min-block-size:18rem;padding:1.35rem 1.35rem 1.25rem;border:1px solid var(--vj-color-border-default,#d9d5cd);border-radius:1rem;background:#fff;color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.vj-profile-service:hover{transform:translateY(-3px);border-color:#bdb6ad;box-shadow:0 18px 45px rgb(23 23 23 / 7%)}.vj-profile-service__index{font-size:.76rem;color:var(--vj-color-brand-accent,#925a3d);font-weight:700}.vj-profile-service__eyebrow{margin:0 0 .35rem!important;font-size:.72rem!important;color:var(--vj-color-brand-accent,#925a3d)!important;font-weight:700!important}.vj-profile-service h3{margin:0 0 .55rem;font-size:1.3rem;line-height:1.4}.vj-profile-service div>p:last-child{margin:0;color:var(--vj-color-text-secondary,#4d4b47);line-height:1.85}.vj-profile-service>b{position:absolute;inset-inline-end:1.1rem;inset-block-end:1rem;color:var(--vj-color-brand-accent,#925a3d);font-weight:600}
.vj-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgb(255 255 255 / 12%);border:1px solid rgb(255 255 255 / 12%)}.vj-principles article{padding:2rem 1.8rem;min-block-size:12.5rem;background:#171717}.vj-principles article>span{font-size:.75rem;font-weight:700;color:#cfb6a5}.vj-principles h3{margin:.8rem 0 .55rem;font-size:1.35rem}.vj-principles p{margin:0;max-inline-size:34rem;color:rgb(248 247 244 / 70%);line-height:1.9}
.vj-profile-lens{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}.vj-profile-lens__copy h2{margin:.8rem 0 1rem;max-inline-size:44rem;font-size:clamp(2.2rem,4.3vw,3.7rem);line-height:1.18}.vj-profile-lens__copy>p{max-inline-size:40rem;margin:0;color:var(--vj-color-text-secondary,#4d4b47);line-height:1.95}.vj-system-map{position:relative;direction:ltr;inline-size:100%;max-inline-size:42rem;aspect-ratio:640/500;margin-inline:auto;isolation:isolate}.vj-system-map__connectors{position:absolute;inset:0;inline-size:100%;block-size:100%;overflow:visible;z-index:0}.vj-system-map__connectors circle{fill:none;stroke:rgb(146 90 61 / 18%);stroke-width:1}.vj-system-map__connectors line{stroke:rgb(146 90 61 / 18%);stroke-width:1}.vj-system-map__node{position:absolute;direction:rtl;display:grid;place-items:center;min-inline-size:8.5rem;min-block-size:3.5rem;padding:.72rem 1.05rem;border-radius:999px;border:1px solid var(--vj-color-border-default,#d9d5cd);background:#fff;box-shadow:0 12px 35px rgb(23 23 23 / 7%);font-size:.86rem;font-weight:600;line-height:1.5;text-align:center;z-index:2;box-sizing:border-box}.vj-system-map__node--main{direction:rtl;inline-size:10.6rem;block-size:10.6rem;min-inline-size:10.6rem;min-block-size:10.6rem;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:#171717;color:#fff;border-color:#171717;font-size:1.08rem;line-height:1.45;box-shadow:0 18px 45px rgb(23 23 23 / 10%);gap:.1rem}.vj-system-map__node--main span{display:block}.vj-system-map__node--n1{left:4%;top:7%}.vj-system-map__node--n2{right:4%;top:7%}.vj-system-map__node--n3{right:0;top:50%;transform:translateY(-50%)}.vj-system-map__node--n4{right:10%;bottom:7%;max-inline-size:10.5rem}.vj-system-map__node--n5{left:7%;bottom:7%}
.vj-profile-question{margin:3rem 0 0;padding:1.4rem 0 0;border-block-start:2px solid var(--vj-color-brand-accent,#925a3d)}.vj-profile-question span{display:block;margin-block-end:.6rem;color:var(--vj-color-brand-accent,#925a3d);font-size:.75rem;font-weight:700}.vj-profile-question p{max-inline-size:64rem;margin:0;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.65;font-weight:600}
.vj-journey--timeline{position:relative;margin-inline-start:.25rem;padding-inline-start:2rem;border-inline-start:1px solid #c9c3ba}.vj-journey--timeline article{position:relative;display:block;padding-block:1.3rem 1.5rem}.vj-journey--timeline article:before{content:"";position:absolute;inset-inline-start:-2.32rem;inset-block-start:1.65rem;inline-size:.55rem;block-size:.55rem;border-radius:50%;background:var(--vj-color-brand-accent,#925a3d);box-shadow:0 0 0 .35rem var(--vj-color-bg-page,#f8f7f4)}.vj-journey--timeline article>span{font-size:.76rem;color:var(--vj-color-brand-accent,#925a3d);font-weight:700}.vj-journey--timeline h3{margin:0 0 .45rem;font-size:1.25rem}.vj-journey--timeline p{margin:0;max-inline-size:58rem;color:var(--vj-color-text-secondary,#4d4b47);line-height:1.9}
.vj-evidence-grid--editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vj-evidence-grid--editorial article{position:relative;min-block-size:16rem;padding:1.7rem;border:1px solid rgb(255 255 255 / 14%);background:linear-gradient(180deg,rgb(255 255 255 / 5%),rgb(255 255 255 / 1%));border-radius:1rem}.vj-evidence-grid--editorial article>span{display:block;position:absolute;inset-inline-end:1.2rem;inset-block-start:1.1rem;color:#cfb6a5;font-size:.74rem;font-weight:700}.vj-evidence-grid--editorial small{color:#cfb6a5;font-weight:700}.vj-evidence-grid--editorial h3{max-inline-size:32rem;margin:.6rem 0 .55rem;font-size:1.35rem;line-height:1.5}.vj-evidence-grid--editorial p{max-inline-size:38rem;margin:0;color:rgb(248 247 244 / 72%);line-height:1.9}.vj-profile-evidence-note{margin-block-start:1rem;padding-block-start:1rem;border-block-start:1px solid rgb(255 255 255 / 12%);color:rgb(248 247 244 / 58%);font-size:.9rem;line-height:1.8}
.vj-profile-knowledge--editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.vj-profile-knowledge--editorial a{display:flex;min-block-size:15rem;flex-direction:column;justify-content:space-between;padding:1.6rem;border:1px solid var(--vj-color-border-default,#d9d5cd);border-radius:1rem;background:#fff;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.vj-profile-knowledge--editorial a:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgb(23 23 23 / 7%)}.vj-profile-knowledge--editorial a>span{font-size:.75rem;color:var(--vj-color-brand-accent,#925a3d);font-weight:700}.vj-profile-knowledge--editorial h3{margin:.6rem 0 .35rem;font-size:1.4rem}.vj-profile-knowledge--editorial p{margin:0;color:var(--vj-color-text-secondary,#4d4b47);line-height:1.8}.vj-profile-knowledge--editorial b{align-self:flex-start;color:var(--vj-color-brand-accent,#925a3d)}
.vj-building-grid--editorial{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#d9d5cd;border:1px solid #d9d5cd}.vj-building-grid--editorial article{min-block-size:13rem;padding:1.5rem;background:#efebe4}.vj-building-grid--editorial article>span{font-size:.75rem;color:var(--vj-color-brand-accent,#925a3d);font-weight:700}.vj-building-grid--editorial h3{margin:.7rem 0 .45rem;font-size:1.2rem}.vj-building-grid--editorial p{margin:0;color:var(--vj-color-text-secondary,#4d4b47);line-height:1.85}
.vj-profile-final--split{padding-block:clamp(4.5rem,7vw,7rem)}.vj-profile-final__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.vj-profile-final h2{max-inline-size:48rem;margin:.55rem 0 0;font-size:clamp(2.15rem,4vw,3.6rem);line-height:1.2}.vj-profile-final__actions{display:flex;flex-wrap:wrap;gap:.7rem;flex:0 0 auto}
@media (max-width:980px){.vj-profile-hero__grid,.vj-profile-lens{grid-template-columns:1fr}.vj-profile-hero__media{max-inline-size:32rem;justify-self:center}.vj-profile-statement,.vj-profile-section__head{grid-template-columns:1fr}.vj-profile-services--cards{grid-template-columns:1fr}.vj-building-grid--editorial{grid-template-columns:repeat(2,minmax(0,1fr))}.vj-profile-knowledge--editorial{grid-template-columns:1fr}.vj-profile-final__inner{align-items:flex-start;flex-direction:column}}
@media (max-width:720px){.vj-profile-hero{padding-block:3.5rem}.vj-journey--timeline{margin-inline-start:0;padding-inline-start:1.25rem}.vj-journey--timeline article{padding-block:1rem 1.15rem}.vj-journey--timeline article:before{inset-inline-start:-1.55rem;inset-block-start:1.35rem}.vj-profile-hero__media{max-inline-size:27rem}.vj-profile-richtext{grid-template-columns:1fr}.vj-principles{grid-template-columns:1fr}.vj-evidence-grid--editorial,.vj-building-grid--editorial{grid-template-columns:1fr}.vj-system-map{max-inline-size:34rem;aspect-ratio:1/1}.vj-system-map__connectors{display:none}.vj-system-map__node{font-size:.74rem;min-inline-size:6.5rem;min-block-size:3.1rem;padding:.6rem .75rem}.vj-system-map__node--main{direction:rtl;inline-size:8rem;block-size:8rem;min-inline-size:8rem;min-block-size:8rem}.vj-system-map__node--n1{left:3%;top:4%}.vj-system-map__node--n2{right:3%;top:4%}.vj-system-map__node--n3{right:1%;top:50%;transform:translateY(-50%)}.vj-system-map__node--n4{right:4%;bottom:4%;max-inline-size:9rem}.vj-system-map__node--n5{left:4%;bottom:4%}.vj-profile-final__actions{width:100%}.vj-profile-final__actions .vj-button{flex:1 1 auto}}

html[lang="en-US"] .vj-system-map__node{direction:ltr}

/* VJ Profile System Map — stable mobile composition v1.07.4 */
@media (max-width:720px){
  .vj-system-map{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(8rem,1.2fr) minmax(0,1fr);
    grid-template-rows:auto clamp(7.5rem,23vw,9rem) auto;
    grid-template-areas:
      "n1 n1 n2"
      "n4 main n3"
      ". n5 .";
    gap:clamp(.85rem,3vw,1.25rem) .6rem;
    align-items:center;
    justify-items:center;
    inline-size:100%;
    max-inline-size:34rem;
    min-block-size:clamp(25rem,88vw,29rem);
    block-size:auto;
    aspect-ratio:auto;
    margin-inline:auto;
    padding-block:.5rem;
    box-sizing:border-box;
  }
  .vj-system-map__connectors{display:none}
  .vj-system-map__node{
    position:static;
    inset:auto;
    transform:none!important;
    inline-size:min(100%,10rem);
    min-inline-size:0;
    min-block-size:3.25rem;
    margin:0;
    padding:.62rem .72rem;
    font-size:.78rem;
    line-height:1.45;
    justify-self:center;
    align-self:center;
  }
  .vj-system-map__node--main{
    grid-area:main;
    inline-size:clamp(8rem,31vw,9rem);
    block-size:clamp(8rem,31vw,9rem);
    min-inline-size:clamp(8rem,31vw,9rem);
    min-block-size:clamp(8rem,31vw,9rem);
    padding:1rem;
    border-radius:50%;
    font-size:.88rem;
  }
  .vj-system-map__node--n1{grid-area:n1; justify-self:start}
  .vj-system-map__node--n2{grid-area:n2; justify-self:end}
  .vj-system-map__node--n3{grid-area:n3; justify-self:end}
  .vj-system-map__node--n4{grid-area:n4; justify-self:start; max-inline-size:9.5rem}
  .vj-system-map__node--n5{grid-area:n5; justify-self:center}
}

