
:root{--bg:#eee7dd;--paper:#f7f2eb;--ink:#11141b;--muted:#6c645c;--gold:#a77a45;--line:rgba(17,20,27,.14);--pad:clamp(1rem,4vw,4rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif}body[dir="rtl"]{font-family:Vazirmatn,Manrope,sans-serif}a{color:inherit}.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem var(--pad);border-bottom:1px solid var(--line);background:rgba(238,231,221,.9);backdrop-filter:blur(18px)}.brand{text-decoration:none;font-weight:800;letter-spacing:.16em}.top nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.top nav a{text-decoration:none;font-size:.72rem}.top .cta{background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:999px}
.wrap{width:min(1180px,calc(100% - 2*var(--pad)));margin:auto}.hub-hero,.service-hero{padding:clamp(5rem,9vw,8rem) 0 3rem}.eyebrow{font-size:.58rem;letter-spacing:.15em;color:#866f56}.hub-hero h1,.service-hero h1{font-size:clamp(3rem,7.5vw,7rem);line-height:.92;letter-spacing:-.065em;font-weight:500;margin:.8rem 0 1.3rem}.hub-hero p,.lead{max-width:48rem;color:var(--muted);line-height:1.85}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-bottom:6rem}.hub-card{display:grid;grid-template-columns:1fr .92fr;min-height:24rem;border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;text-decoration:none;background:#f4ede4}.hub-card img{width:100%;height:100%;object-fit:cover;background:#171817}.hub-card div{padding:1.4rem;display:flex;flex-direction:column}.hub-card span{font-size:.54rem;letter-spacing:.12em;color:#89745b}.hub-card h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1;letter-spacing:-.045em;margin:1rem 0}.hub-card p{font-size:.78rem;line-height:1.75;color:var(--muted);margin:0}.hub-card b{margin-top:auto;font-weight:500}
.service-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,6vw,6rem);align-items:end}.service-hero h1{font-size:clamp(2.9rem,6.4vw,6.4rem)}.hero-art{aspect-ratio:4/3;border-radius:1.3rem;overflow:hidden;background:#171817;border:1px solid var(--line)}.hero-art img{width:100%;height:100%;object-fit:cover;display:block}.meta{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.62rem;color:#7b7168;margin-top:1rem}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:clamp(2rem,6vw,6rem);padding:2rem 0 7rem}.content h2{font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.05;letter-spacing:-.04em;margin:3rem 0 1rem}.content h3{font-size:1.2rem;margin:2rem 0 .7rem}.content p,.content li{font-size:.94rem;line-height:1.85;color:#393633}.content ul,.content ol{padding-inline-start:1.3rem}.content strong{color:var(--ink)}.content .statement{font-size:1.2rem;line-height:1.7;color:var(--ink);padding:1.3rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.side{position:sticky;top:6rem;align-self:start;border:1px solid var(--line);border-radius:1rem;padding:1rem;background:rgba(255,255,255,.22)}.side strong{font-size:.62rem;letter-spacing:.12em}.side a{display:block;text-decoration:none;font-size:.72rem;color:var(--muted);padding:.45rem 0}.side .side-cta{margin-top:.8rem;background:var(--ink);color:#fff!important;border-radius:999px;padding:.7rem .8rem;text-align:center}
.deliverables{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.2rem 0}.deliverable{border:1px solid var(--line);border-radius:.9rem;padding:1rem;background:#f6efe7}.deliverable span{font-size:.52rem;letter-spacing:.1em;color:#8a755e}.deliverable h3{font-size:1rem;margin:.45rem 0}.deliverable p{font-size:.76rem;margin:0}.process{counter-reset:step;display:grid;gap:.7rem}.process div{counter-increment:step;border-top:1px solid var(--line);padding:1rem 0 0}.process div:before{content:"0" counter(step);display:block;font-size:.55rem;color:#8a755e;letter-spacing:.12em}.process h3{margin:.4rem 0;font-size:1.05rem}.insight-link{margin:3rem 0;padding:1.2rem;border-radius:1rem;background:#e8ddcf}.insight-link span{font-size:.55rem;letter-spacing:.12em;color:#836c50}.insight-link a{display:block;font-size:1.25rem;font-weight:600;text-decoration:none;margin-top:.4rem}.cta-block{margin-top:3rem;background:#171817;color:#f4ede4;border-radius:1.2rem;padding:1.5rem}.cta-block h2{margin:0 0 .7rem}.cta-block p{color:#c9c0b6}.cta-block a{display:inline-flex;text-decoration:none;background:#f0e7dc;color:#171817;border-radius:999px;padding:.75rem 1rem;font-size:.72rem;font-weight:700}
footer{border-top:1px solid var(--line);padding:1.25rem var(--pad);display:flex;justify-content:space-between;gap:1rem;font-size:.64rem;color:#766e66}
@media(max-width:900px){.hub-grid{grid-template-columns:1fr}.service-hero{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}.side{position:relative;top:auto;order:-1}.hub-card{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wrap{width:calc(100% - 2rem)}.top nav a:not(.cta){display:none}.hub-hero,.service-hero{padding-top:4.2rem}.hub-hero h1,.service-hero h1{font-size:clamp(2.5rem,11vw,4rem)}.hub-card{grid-template-columns:1fr}.hub-card img{aspect-ratio:16/10}.deliverables{grid-template-columns:1fr}.content-grid{padding-bottom:4rem}.content p,.content li{font-size:.9rem}footer{flex-direction:column}}

/* Compact public type scale */
.hub-hero h1,.case-hero h1,.service-hero h1,.article-hero h1,.insights-hero h1,.hero h1{
  font-size:clamp(2.15rem,4.4vw,4.35rem)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-weight:450!important
}
.work-body h2,.hub-card h2{
  font-size:clamp(1.45rem,2.2vw,2.15rem)!important;
  line-height:1.08!important
}
.case h2,.content h2,.prose h2{
  font-size:clamp(1.45rem,2.4vw,2.15rem)!important;
  line-height:1.12!important
}
.card h2{font-size:1.28rem!important;line-height:1.16!important}
.related h2{font-size:1.55rem!important}
@media(max-width:620px){
  .hub-hero h1,.case-hero h1,.service-hero h1,.article-hero h1,.insights-hero h1,.hero h1{
    font-size:clamp(1.9rem,8.5vw,2.7rem)!important
  }
  .work-body h2,.hub-card h2{font-size:1.55rem!important}
  .case h2,.content h2,.prose h2{font-size:1.55rem!important}
}


/* Persian + mobile refinement */
body[dir="rtl"]{text-align:right}
body[dir="rtl"] h1,
body[dir="rtl"] h2,
body[dir="rtl"] h3{
  letter-spacing:0!important;
  line-height:1.34!important
}
body[dir="rtl"] .eyebrow,
body[dir="rtl"] .hub-card span,
body[dir="rtl"] .deliverable span,
body[dir="rtl"] .side strong,
body[dir="rtl"] .insight-link span{
  letter-spacing:0!important
}
body[dir="rtl"] .hub-hero p,
body[dir="rtl"] .lead,
body[dir="rtl"] .content p,
body[dir="rtl"] .content li{
  line-height:2
}
@media(max-width:620px){
  .top nav a[href*="/fa/"],
  .top nav a[href*="/en/"],
  .top nav .lang-switch{
    display:inline-flex!important
  }
  body[dir="rtl"] .hub-hero,
  body[dir="rtl"] .service-hero{
    padding-top:3.5rem
  }
  body[dir="rtl"] .hub-hero h1,
  body[dir="rtl"] .service-hero h1{
    font-size:clamp(1.8rem,7.7vw,2.45rem)!important;
    line-height:1.36!important
  }
}


/* Unified calm typography — final portfolio scale */
.hub-hero h1,
.case-hero h1,
.service-hero h1,
.article-hero h1,
.insights-hero h1,
.hero h1{
  font-size:clamp(2rem,3.7vw,3.6rem)!important;
  line-height:1.04!important;
  font-weight:450!important
}
.work-body h2,
.hub-card h2{
  font-size:clamp(1.35rem,1.9vw,1.9rem)!important
}
.case h2,
.content h2,
.prose h2{
  font-size:clamp(1.35rem,2vw,1.9rem)!important;
  line-height:1.18!important
}
.card h2{font-size:1.2rem!important}
.related h2{font-size:1.4rem!important}
@media(max-width:620px){
  .hub-hero h1,
  .case-hero h1,
  .service-hero h1,
  .article-hero h1,
  .insights-hero h1,
  .hero h1{
    font-size:clamp(1.8rem,7.4vw,2.4rem)!important
  }
  .work-body h2,
  .hub-card h2,
  .case h2,
  .content h2,
  .prose h2{
    font-size:1.42rem!important
  }
}
