
:root{--bg:#eee7dd;--paper:#f7f2eb;--ink:#11141b;--muted:#6e665f;--line:rgba(17,20,27,.14);--gold:#a77a45;--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;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--pad);border-bottom:1px solid var(--line);background:rgba(238,231,221,.91);backdrop-filter:blur(18px)}.brand{font-weight:800;letter-spacing:.16em;text-decoration:none}.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;border-radius:999px;padding:.7rem 1rem}
.wrap{width:min(1180px,calc(100% - 2*var(--pad)));margin:auto}.hub-hero,.case-hero{padding:clamp(5rem,9vw,8rem) 0 3rem}.eyebrow{font-size:.58rem;letter-spacing:.15em;color:#876f55}.hub-hero h1,.case-hero h1{font-size:clamp(3rem,7vw,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}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-bottom:7rem}.work-card{border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;background:#f5eee6;text-decoration:none;display:flex;flex-direction:column}.work-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#161616}.work-body{padding:1.2rem;display:flex;flex-direction:column;gap:.7rem;min-height:15rem}.work-body span{font-size:.54rem;letter-spacing:.12em;color:#8a765f}.work-body h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1;letter-spacing:-.045em;margin:.2rem 0}.work-body p{font-size:.78rem;line-height:1.75;color:var(--muted);margin:0}.work-body b{margin-top:auto}
.case-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:end}.case-image{aspect-ratio:4/3;border-radius:1.3rem;overflow:hidden;background:#171817;border:1px solid var(--line)}.case-image img{width:100%;height:100%;object-fit:cover}.meta{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.meta span{font-size:.58rem;border:1px solid var(--line);border-radius:999px;padding:.45rem .62rem}.case-grid{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:clamp(2rem,6vw,6rem);padding:2rem 0 7rem}.case h2{font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.08;letter-spacing:-.04em;margin:3rem 0 1rem}.case h3{font-size:1.15rem;margin:1.7rem 0 .6rem}.case p,.case li{font-size:.94rem;line-height:1.85;color:#393633}.case ul{padding-inline-start:1.2rem}.statement{font-size:1.2rem!important;line-height:1.7!important;color:var(--ink)!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.3rem 0}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin:1.2rem 0}.fact{border:1px solid var(--line);border-radius:.9rem;padding:1rem;background:#f6efe7}.fact span{font-size:.52rem;letter-spacing:.1em;color:#8a755e}.fact strong{display:block;margin-top:.35rem;font-size:.95rem}.decision{padding:1rem 0;border-top:1px solid var(--line)}.decision:last-child{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;text-align:center;border-radius:999px;padding:.7rem .8rem}.case-links{display:flex;gap:.6rem;flex-wrap:wrap;margin:2rem 0}.case-links a{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:.65rem .8rem;font-size:.7rem}.cta-block{margin-top:3rem;background:#171817;color:#f4ede4;border-radius:1.2rem;padding:1.5rem}.cta-block h2{margin:0 0 .6rem}.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){.work-grid{grid-template-columns:1fr}.case-hero{grid-template-columns:1fr}.case-grid{grid-template-columns:1fr}.side{position:relative;top:auto;order:-1}}
@media(max-width:620px){.wrap{width:calc(100% - 2rem)}.top nav a:not(.cta){display:none}.hub-hero,.case-hero{padding-top:4.2rem}.hub-hero h1,.case-hero h1{font-size:clamp(2.5rem,11vw,4rem)}.facts{grid-template-columns:1fr}.case p,.case 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.32!important
}
body[dir="rtl"] .eyebrow,
body[dir="rtl"] .work-body span,
body[dir="rtl"] .fact span,
body[dir="rtl"] .side strong{
  letter-spacing:0!important
}
body[dir="rtl"] .hub-hero p,
body[dir="rtl"] .lead,
body[dir="rtl"] .case p,
body[dir="rtl"] .case 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"] .case-hero{
    padding-top:3.5rem
  }
  body[dir="rtl"] .hub-hero h1,
  body[dir="rtl"] .case-hero h1{
    font-size:clamp(1.8rem,7.7vw,2.45rem)!important;
    line-height:1.35!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
  }
}
