:root {
  --ink: #191d1a;
  --paper: #f1efe9;
  --paper-2: #e7e3da;
  --muted: #8a8f89;
  --line: rgba(11, 13, 12, 0.18);
  --accent: #b6e13d;
  --accent-deep: #91b921;
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.site-header { position: fixed; z-index: 20; top: 0; left: 0; right: 0; height: 84px; padding: 0 clamp(24px, 4vw, 64px); display: flex; align-items: center; justify-content: space-between; color: #f7f5ef; mix-blend-mode: difference; }
.brand { display: flex; align-items: center; gap: 14px; text-transform: uppercase; letter-spacing: .11em; font-size: 11px; font-weight: 600; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: Manrope, sans-serif; letter-spacing: -.06em; font-size: 12px; }
#site-nav { display: flex; align-items: center; gap: 36px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.nav-cta { padding-bottom: 5px; border-bottom: 1px solid currentColor; }
.lang-link { min-width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; }
.menu-button { display: none; color: inherit; border: 0; background: transparent; text-transform: uppercase; letter-spacing: .08em; }

.hero { min-height: 100svh; max-width: var(--max); margin: 0 auto; padding: 150px clamp(24px, 6vw, 88px) 54px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 6vw; color: #f3f1eb; background: var(--ink); overflow: hidden; position: relative; }
.hero::before { content: ""; position: absolute; width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; top: -220px; left: 42%; }
.hero-copy { display: flex; flex-direction: column; justify-content: center; z-index: 1; }
.eyebrow, .section-label { text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 600; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: #c7c9c4; }
.eyebrow span { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(182,225,61,.14); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Manrope, sans-serif; letter-spacing: -.055em; font-weight: 500; }
h1 { margin: 28px 0 30px; font-size: clamp(64px, 7.4vw, 120px); line-height: .9; }
h1 em, .contact h2 em { color: var(--accent); font-style: normal; }
.hero-lead { max-width: 590px; color: #b9bcb7; font-size: clamp(17px, 1.5vw, 22px); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 34px; margin-top: 28px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; padding: 18px 22px; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; font-weight: 600; }
.button-primary { background: var(--accent); color: var(--ink); }
.button-primary:hover { background: #c5f04c; }
.text-link { font-size: 12px; text-transform: uppercase; letter-spacing: .09em; border-bottom: 1px solid #626660; padding-bottom: 6px; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 10px 22px; padding-top: 54px; margin-top: auto; color: #8f938e; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; }
.portrait-wrap { align-self: end; z-index: 1; }
.portrait-frame { height: min(68vh, 760px); overflow: hidden; background: #262a27; position: relative; }
.portrait-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(11,13,12,.6)); }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; filter: saturate(.72) contrast(1.04); }
.portrait-caption { margin: 18px 0 0; display: flex; align-items: center; gap: 14px; color: #9b9f99; font-size: 11px; line-height: 1.45; text-transform: uppercase; letter-spacing: .08em; }
.portrait-caption span { color: var(--accent); font-family: Manrope; font-size: 33px; font-weight: 600; letter-spacing: -.06em; }

.statement, .focus, .experience, .contact { max-width: var(--max); margin: 0 auto; padding: clamp(90px, 12vw, 180px) clamp(24px, 6vw, 88px); }
.statement { display: grid; grid-template-columns: .42fr 1fr; gap: 40px; }
.section-label { color: #676b66; }
.statement h2, .section-heading h2 { font-size: clamp(46px, 5.5vw, 82px); line-height: 1.02; }
.statement h2 span { color: #92968f; }
.statement > div > p { max-width: 700px; margin-left: auto; color: #555a55; font-size: 18px; line-height: 1.75; }

.focus { background: var(--paper-2); }
.section-heading { display: grid; grid-template-columns: .42fr 1fr; gap: 40px; }
.focus-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.focus-grid article { min-height: 310px; padding: 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }
.focus-grid article > span, .experience-no { color: #8b9089; font-size: 11px; letter-spacing: .15em; }
.focus-grid h3, .experience-list h3 { margin: auto 0 20px; font-family: Manrope; font-size: 31px; letter-spacing: -.04em; font-weight: 500; }
.focus-grid p { max-width: 450px; color: #5c615c; line-height: 1.65; }

.experience { background: var(--paper); }
.experience-list { margin-top: 72px; border-top: 1px solid var(--line); }
.experience-list article { display: grid; grid-template-columns: .2fr 1fr auto; gap: 30px; padding: 38px 0; border-bottom: 1px solid var(--line); align-items: start; }
.experience-list h3 { margin-top: -8px; }
.experience-list div p { max-width: 680px; color: #626762; line-height: 1.65; }
.experience-list article > span { font-size: 25px; }
.credentials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); margin-top: 90px; }
.credentials div { background: var(--ink); color: var(--paper); padding: 30px; min-height: 140px; display: flex; flex-direction: column; justify-content: space-between; }
.credentials strong { font-family: Manrope; font-size: 20px; font-weight: 500; }
.credentials span { color: #929792; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }

.contact { color: var(--paper); background: var(--ink); display: grid; grid-template-columns: .34fr 1fr; gap: 50px; }
.contact .section-label { color: #8f948e; }
.contact-main > p { color: #a7aba5; font-size: 16px; }
.contact h2 { font-size: clamp(56px, 7vw, 105px); line-height: .92; margin: 24px 0 58px; }
.button-light { background: var(--paper); color: var(--ink); max-width: 470px; text-transform: none; letter-spacing: 0; font-size: 14px; }
.contact-links { grid-column: 2; margin-top: 70px; border-top: 1px solid rgba(255,255,255,.18); display: grid; grid-template-columns: repeat(2, 1fr); }
.contact-links a { padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.18); display: flex; flex-direction: column; gap: 8px; }
.contact-links a:nth-child(odd) { padding-right: 30px; }
.contact-links a:nth-child(even) { padding-left: 30px; border-left: 1px solid rgba(255,255,255,.18); }
.contact-links span { color: #8f948e; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.contact-links strong { font-size: 14px; font-weight: 500; }

footer { max-width: var(--max); margin: 0 auto; padding: 28px clamp(24px, 6vw, 88px); display: flex; justify-content: space-between; color: #646964; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }

[dir="rtl"] body { font-family: "Vazirmatn", "DM Sans", sans-serif; }
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3 { font-family: "Vazirmatn", Manrope, sans-serif; letter-spacing: -.035em; }
[dir="rtl"] .site-header, [dir="rtl"] .brand, [dir="rtl"] #site-nav { direction: rtl; }
[dir="rtl"] .eyebrow { letter-spacing: .08em; }
[dir="rtl"] .hero-copy, [dir="rtl"] .statement, [dir="rtl"] .focus, [dir="rtl"] .experience, [dir="rtl"] .contact { text-align: right; }
[dir="rtl"] .statement > div > p { margin-right: auto; margin-left: 0; }
[dir="rtl"] .experience-list article { grid-template-columns: auto 1fr .2fr; }
[dir="rtl"] .experience-list article > span { order: -1; transform: scaleX(-1); }
[dir="rtl"] .contact-links a:nth-child(odd) { padding-left: 30px; padding-right: 0; }
[dir="rtl"] .contact-links a:nth-child(even) { padding-right: 30px; padding-left: 0; border-right: 1px solid rgba(255,255,255,.18); border-left: 0; }
[dir="rtl"] footer { direction: rtl; }

@media (max-width: 900px) {
  .site-header { height: 72px; }
  .menu-button { display: block; }
  #site-nav { display: none; position: absolute; top: 72px; left: 20px; right: 20px; padding: 24px; flex-direction: column; align-items: flex-start; background: #222722; color: white; mix-blend-mode: normal; }
  #site-nav.open { display: flex; }
  .hero { grid-template-columns: 1fr; padding-top: 124px; }
  .portrait-wrap { margin-top: 36px; }
  .portrait-frame { height: 58vh; }
  .hero-meta { margin-top: 25px; }
  .statement, .section-heading, .contact { grid-template-columns: 1fr; }
  .statement > div > p { margin-left: 0; }
  .focus-grid { grid-template-columns: 1fr; }
  .credentials { grid-template-columns: 1fr; }
  .contact-links { grid-column: 1; }
}

@media (max-width: 560px) {
  .brand-name { display: none; }
  h1 { font-size: clamp(53px, 16vw, 76px); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .text-link { width: fit-content; }
  .focus-grid article { min-height: 250px; }
  .experience-list article { grid-template-columns: 42px 1fr; }
  .experience-list article > span { display: none; }
  .contact-links { grid-template-columns: 1fr; }
  .contact-links a:nth-child(n) { padding: 22px 0; border-left: 0; }
  [dir="rtl"] .contact-links a:nth-child(n) { padding: 22px 0; border-right: 0; }
  .button-light { font-size: 12px; gap: 10px; }
}

@media (prefers-reduced-motion: no-preference) {
  .focus-grid article, .experience-list article { transition: background-color .25s ease, transform .25s ease; }
  .focus-grid article:hover { background: rgba(255,255,255,.33); }
  .experience-list article:hover { transform: translateX(6px); }
}
