@font-face {
  font-family: "Anjoman SemiBold";
  src: url("../fonts/Anjoman-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "IRANSans Medium";
  src: url("../fonts/IRANSans_Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Creato Display";
  src: url("../fonts/creato_display/CreatoDisplay-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Creato Display";
  src: url("../fonts/creato_display/CreatoDisplay-Medium.otf") format("opentype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Creato Display";
  src: url("../fonts/creato_display/CreatoDisplay-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Creato Display";
  src: url("../fonts/creato_display/CreatoDisplay-ExtraBold.otf") format("opentype");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: "Professor Multilingual";
  src: url("../fonts/IRANSans_Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Professor Multilingual";
  src: url("../fonts/creato_display/CreatoDisplay-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0000-05FF, U+2000-206F, U+20A0-20CF, U+2100-214F;
}
@font-face {
  font-family: "Professor Multilingual";
  src: url("../fonts/creato_display/CreatoDisplay-Medium.otf") format("opentype");
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  unicode-range: U+0000-05FF, U+2000-206F, U+20A0-20CF, U+2100-214F;
}
@font-face {
  font-family: "Professor Multilingual";
  src: url("../fonts/creato_display/CreatoDisplay-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  unicode-range: U+0000-05FF, U+2000-206F, U+20A0-20CF, U+2100-214F;
}

:root {
  --font-body: "IRANSans Medium", Tahoma, Arial, sans-serif;
  --font-heading: "Anjoman SemiBold", "IRANSans Medium", Tahoma, serif;
  --theme-accent: #5bbce0;
  --theme-accent-dark: #258fba;
  --theme-accent-soft: rgba(91, 188, 224, .12);
  --theme-accent-border: rgba(37, 143, 186, .30);
  --theme-border: #8da4b2;
  --theme-card: rgba(255, 253, 249, .84);
  --theme-header-bg: rgba(255, 253, 249, .94);
  --title-brush-image: url('../images/title-brush-sky-default.png');
  --paper: #f7f3ea;
  --paper-deep: #e8eef0;
  --surface: #fffdf9;
  --white: #ffffff;
  --ink: #1f2a33;
  --ink-soft: #43515c;
  --muted: #72808a;
  --forest: #173b57;
  --forest-dark: #102a40;
  --sage: #93aab5;
  --sand: #d3b77c;
  --line: rgba(31, 42, 51, .14);
  --line-light: rgba(255, 255, 255, .18);
  --shadow: 0 24px 80px rgba(24, 43, 58, .13);
  --container: min(1320px, calc(100% - 64px));
}
html[lang^="en"] {
  --font-body: "Professor Multilingual", "Creato Display", "IRANSans Medium", Arial, sans-serif;
  --font-heading: "Professor Multilingual", "Creato Display", "IRANSans Medium", Arial, sans-serif;
}
/* Color themes: default palette plus 20 modern combinations. */
html[data-professor-theme="sky-default"] {  --title-brush-image: url('../images/title-brush-sky-default.png');

  --theme-accent: #5bbce0;
  --theme-accent-dark: #258fba;
  --theme-accent-soft: rgba(91, 188, 224, .13);
  --theme-accent-border: rgba(37, 143, 186, .32);
  --theme-border: #8da4b2;
  --theme-card: rgba(255, 253, 249, .86);
  --theme-header-bg: rgba(255, 253, 249, .94);
  --paper: #f7f3ea;
  --paper-deep: #e8eef0;
  --surface: #fffdf9;
  --white: #ffffff;
  --ink: #1f2a33;
  --ink-soft: #43515c;
  --muted: #72808a;
  --forest: #173b57;
  --forest-dark: #102a40;
  --sage: #8da4b2;
  --sand: #d3b77c;
  --line: rgba(31, 42, 51, .14);
  --shadow: 0 24px 80px rgba(16, 42, 64, .14);
}
html[data-professor-theme="sky-navy"] {  --title-brush-image: url('../images/title-brush-sky-navy.png');

  --theme-accent: #61bfe5;
  --theme-accent-dark: #278fbd;
  --theme-accent-soft: rgba(97, 191, 229, .13);
  --theme-accent-border: rgba(39, 143, 189, .32);
  --theme-border: #8298ad;
  --theme-card: rgba(255, 255, 255, .86);
  --theme-header-bg: rgba(255, 255, 255, .94);
  --paper: #f4f7fb;
  --paper-deep: #e5edf5;
  --surface: #ffffff;
  --white: #ffffff;
  --ink: #182435;
  --ink-soft: #415168;
  --muted: #728096;
  --forest: #132b4f;
  --forest-dark: #0c1d37;
  --sage: #8298ad;
  --sand: #d5b67a;
  --line: rgba(24, 36, 53, .14);
  --shadow: 0 24px 80px rgba(12, 29, 55, .14);
}
html[data-professor-theme="sky-slate"] {  --title-brush-image: url('../images/title-brush-sky-slate.png');

  --theme-accent: #67bddd;
  --theme-accent-dark: #2b91b7;
  --theme-accent-soft: rgba(103, 189, 221, .13);
  --theme-accent-border: rgba(43, 145, 183, .32);
  --theme-border: #8797a4;
  --theme-card: rgba(254, 254, 254, .86);
  --theme-header-bg: rgba(254, 254, 254, .94);
  --paper: #f5f6f7;
  --paper-deep: #e5e9ec;
  --surface: #fefefe;
  --white: #ffffff;
  --ink: #26313b;
  --ink-soft: #4c5a66;
  --muted: #75818b;
  --forest: #40566d;
  --forest-dark: #2d3d50;
  --sage: #8797a4;
  --sand: #c8b487;
  --line: rgba(38, 49, 59, .14);
  --shadow: 0 24px 80px rgba(45, 61, 80, .14);
}
html[data-professor-theme="sky-sand"] {  --title-brush-image: url('../images/title-brush-sky-sand.png');

  --theme-accent: #62b9db;
  --theme-accent-dark: #2f8bac;
  --theme-accent-soft: rgba(98, 185, 219, .13);
  --theme-accent-border: rgba(47, 139, 172, .32);
  --theme-border: #aa9274;
  --theme-card: rgba(255, 253, 248, .86);
  --theme-header-bg: rgba(255, 253, 248, .94);
  --paper: #f8f3e8;
  --paper-deep: #ece3d3;
  --surface: #fffdf8;
  --white: #ffffff;
  --ink: #332d27;
  --ink-soft: #5d5349;
  --muted: #81776c;
  --forest: #7a6246;
  --forest-dark: #554431;
  --sage: #aa9274;
  --sand: #c99e61;
  --line: rgba(51, 45, 39, .14);
  --shadow: 0 24px 80px rgba(85, 68, 49, .14);
}
html[data-professor-theme="sky-mint"] {  --title-brush-image: url('../images/title-brush-sky-mint.png');

  --theme-accent: #5cc0dc;
  --theme-accent-dark: #278fa8;
  --theme-accent-soft: rgba(92, 192, 220, .13);
  --theme-accent-border: rgba(39, 143, 168, .32);
  --theme-border: #7fa79f;
  --theme-card: rgba(251, 254, 253, .86);
  --theme-header-bg: rgba(251, 254, 253, .94);
  --paper: #f2f8f6;
  --paper-deep: #dfede8;
  --surface: #fbfefd;
  --white: #ffffff;
  --ink: #1e302f;
  --ink-soft: #425d58;
  --muted: #6f827d;
  --forest: #2b6c63;
  --forest-dark: #1d4e48;
  --sage: #7fa79f;
  --sand: #d1b474;
  --line: rgba(30, 48, 47, .14);
  --shadow: 0 24px 80px rgba(29, 78, 72, .14);
}
html[data-professor-theme="sky-coral"] {  --title-brush-image: url('../images/title-brush-sky-coral.png');

  --theme-accent: #64bde0;
  --theme-accent-dark: #2e90b5;
  --theme-accent-soft: rgba(100, 189, 224, .13);
  --theme-accent-border: rgba(46, 144, 181, .32);
  --theme-border: #b68481;
  --theme-card: rgba(255, 253, 252, .86);
  --theme-header-bg: rgba(255, 253, 252, .94);
  --paper: #fbf4f2;
  --paper-deep: #f1e2df;
  --surface: #fffdfc;
  --white: #ffffff;
  --ink: #342829;
  --ink-soft: #61494b;
  --muted: #826d6e;
  --forest: #8c4b4f;
  --forest-dark: #65363a;
  --sage: #b68481;
  --sand: #d7a36f;
  --line: rgba(52, 40, 41, .14);
  --shadow: 0 24px 80px rgba(101, 54, 58, .14);
}
html[data-professor-theme="sky-lilac"] {  --title-brush-image: url('../images/title-brush-sky-lilac.png');

  --theme-accent: #68bee4;
  --theme-accent-dark: #328fb9;
  --theme-accent-soft: rgba(104, 190, 228, .13);
  --theme-accent-border: rgba(50, 143, 185, .32);
  --theme-border: #9b91b2;
  --theme-card: rgba(255, 254, 254, .86);
  --theme-header-bg: rgba(255, 254, 254, .94);
  --paper: #f7f5fb;
  --paper-deep: #e9e5f2;
  --surface: #fffefe;
  --white: #ffffff;
  --ink: #2d2937;
  --ink-soft: #554d62;
  --muted: #7d7587;
  --forest: #5d537c;
  --forest-dark: #433b5d;
  --sage: #9b91b2;
  --sand: #d2ad79;
  --line: rgba(45, 41, 55, .14);
  --shadow: 0 24px 80px rgba(67, 59, 93, .14);
}
html[data-professor-theme="sky-rose"] {  --title-brush-image: url('../images/title-brush-sky-rose.png');

  --theme-accent: #66bde0;
  --theme-accent-dark: #2d8eb4;
  --theme-accent-soft: rgba(102, 189, 224, .13);
  --theme-accent-border: rgba(45, 142, 180, .32);
  --theme-border: #aa8295;
  --theme-card: rgba(255, 253, 253, .86);
  --theme-header-bg: rgba(255, 253, 253, .94);
  --paper: #faf3f6;
  --paper-deep: #eee1e7;
  --surface: #fffdfd;
  --white: #ffffff;
  --ink: #332930;
  --ink-soft: #5e4a54;
  --muted: #81717a;
  --forest: #7b4a62;
  --forest-dark: #593548;
  --sage: #aa8295;
  --sand: #d5aa78;
  --line: rgba(51, 41, 48, .14);
  --shadow: 0 24px 80px rgba(89, 53, 72, .14);
}
html[data-professor-theme="sky-gold"] {  --title-brush-image: url('../images/title-brush-sky-gold.png');

  --theme-accent: #60b9df;
  --theme-accent-dark: #288cb4;
  --theme-accent-soft: rgba(96, 185, 223, .13);
  --theme-accent-border: rgba(40, 140, 180, .32);
  --theme-border: #a79262;
  --theme-card: rgba(255, 254, 249, .86);
  --theme-header-bg: rgba(255, 254, 249, .94);
  --paper: #faf6eb;
  --paper-deep: #eee6d2;
  --surface: #fffef9;
  --white: #ffffff;
  --ink: #332f25;
  --ink-soft: #5c5547;
  --muted: #807766;
  --forest: #6e5830;
  --forest-dark: #4f3f22;
  --sage: #a79262;
  --sand: #cda94d;
  --line: rgba(51, 47, 37, .14);
  --shadow: 0 24px 80px rgba(79, 63, 34, .14);
}
html[data-professor-theme="sky-charcoal"] {  --title-brush-image: url('../images/title-brush-sky-charcoal.png');

  --theme-accent: #5db9de;
  --theme-accent-dark: #278bad;
  --theme-accent-soft: rgba(93, 185, 222, .13);
  --theme-accent-border: rgba(39, 139, 173, .32);
  --theme-border: #778892;
  --theme-card: rgba(253, 254, 254, .86);
  --theme-header-bg: rgba(253, 254, 254, .94);
  --paper: #f4f6f7;
  --paper-deep: #e2e7ea;
  --surface: #fdfefe;
  --white: #ffffff;
  --ink: #20282e;
  --ink-soft: #46515a;
  --muted: #737d85;
  --forest: #2f3a43;
  --forest-dark: #202830;
  --sage: #778892;
  --sand: #c2a774;
  --line: rgba(32, 40, 46, .14);
  --shadow: 0 24px 80px rgba(32, 40, 48, .14);
}
html[data-professor-theme="sky-indigo"] {  --title-brush-image: url('../images/title-brush-sky-indigo.png');

  --theme-accent: #67bce4;
  --theme-accent-dark: #318dbb;
  --theme-accent-soft: rgba(103, 188, 228, .13);
  --theme-accent-border: rgba(49, 141, 187, .32);
  --theme-border: #8291bd;
  --theme-card: rgba(254, 254, 255, .86);
  --theme-header-bg: rgba(254, 254, 255, .94);
  --paper: #f4f5fb;
  --paper-deep: #e3e7f3;
  --surface: #fefeff;
  --white: #ffffff;
  --ink: #252a3a;
  --ink-soft: #4c536e;
  --muted: #747b91;
  --forest: #384b82;
  --forest-dark: #28365e;
  --sage: #8291bd;
  --sand: #ceb07b;
  --line: rgba(37, 42, 58, .14);
  --shadow: 0 24px 80px rgba(40, 54, 94, .14);
}
html[data-professor-theme="sky-olive"] {  --title-brush-image: url('../images/title-brush-sky-olive.png');

  --theme-accent: #64bddf;
  --theme-accent-dark: #2c8eae;
  --theme-accent-soft: rgba(100, 189, 223, .13);
  --theme-accent-border: rgba(44, 142, 174, .32);
  --theme-border: #919d72;
  --theme-card: rgba(254, 254, 251, .86);
  --theme-header-bg: rgba(254, 254, 251, .94);
  --paper: #f6f7f1;
  --paper-deep: #e8eadf;
  --surface: #fefefb;
  --white: #ffffff;
  --ink: #2e3127;
  --ink-soft: #555b49;
  --muted: #7d8172;
  --forest: #5b6740;
  --forest-dark: #414a2d;
  --sage: #919d72;
  --sand: #d0ae73;
  --line: rgba(46, 49, 39, .14);
  --shadow: 0 24px 80px rgba(65, 74, 45, .14);
}
html[data-professor-theme="sky-peach"] {  --title-brush-image: url('../images/title-brush-sky-peach.png');

  --theme-accent: #68bfe2;
  --theme-accent-dark: #3091b6;
  --theme-accent-soft: rgba(104, 191, 226, .13);
  --theme-accent-border: rgba(48, 145, 182, .32);
  --theme-border: #ba8b75;
  --theme-card: rgba(255, 253, 251, .86);
  --theme-header-bg: rgba(255, 253, 251, .94);
  --paper: #fbf5f0;
  --paper-deep: #efe3dc;
  --surface: #fffdfb;
  --white: #ffffff;
  --ink: #342a26;
  --ink-soft: #604f47;
  --muted: #83746c;
  --forest: #8a5b48;
  --forest-dark: #624034;
  --sage: #ba8b75;
  --sand: #dfa36d;
  --line: rgba(52, 42, 38, .14);
  --shadow: 0 24px 80px rgba(98, 64, 52, .14);
}
html[data-professor-theme="sky-plum"] {  --title-brush-image: url('../images/title-brush-sky-plum.png');

  --theme-accent: #63bbe0;
  --theme-accent-dark: #2c8db4;
  --theme-accent-soft: rgba(99, 187, 224, .13);
  --theme-accent-border: rgba(44, 141, 180, .32);
  --theme-border: #987d91;
  --theme-card: rgba(255, 253, 253, .86);
  --theme-header-bg: rgba(255, 253, 253, .94);
  --paper: #f8f3f7;
  --paper-deep: #eae0e7;
  --surface: #fffdfd;
  --white: #ffffff;
  --ink: #302832;
  --ink-soft: #594a56;
  --muted: #7d7079;
  --forest: #65485f;
  --forest-dark: #493444;
  --sage: #987d91;
  --sand: #d2a978;
  --line: rgba(48, 40, 50, .14);
  --shadow: 0 24px 80px rgba(73, 52, 68, .14);
}
html[data-professor-theme="sky-copper"] {  --title-brush-image: url('../images/title-brush-sky-copper.png');

  --theme-accent: #61bce0;
  --theme-accent-dark: #2b8faf;
  --theme-accent-soft: rgba(97, 188, 224, .13);
  --theme-accent-border: rgba(43, 143, 175, .32);
  --theme-border: #ad7d68;
  --theme-card: rgba(255, 253, 251, .86);
  --theme-header-bg: rgba(255, 253, 251, .94);
  --paper: #faf4ef;
  --paper-deep: #eee1d8;
  --surface: #fffdfb;
  --white: #ffffff;
  --ink: #342923;
  --ink-soft: #5f4a40;
  --muted: #827268;
  --forest: #7d4f3b;
  --forest-dark: #58382a;
  --sage: #ad7d68;
  --sand: #ca8d62;
  --line: rgba(52, 41, 35, .14);
  --shadow: 0 24px 80px rgba(88, 56, 42, .14);
}
html[data-professor-theme="aqua-teal"] {  --title-brush-image: url('../images/title-brush-aqua-teal.png');

  --theme-accent: #41c5d7;
  --theme-accent-dark: #1598aa;
  --theme-accent-soft: rgba(65, 197, 215, .13);
  --theme-accent-border: rgba(21, 152, 170, .32);
  --theme-border: #6ca4a9;
  --theme-card: rgba(251, 255, 255, .86);
  --theme-header-bg: rgba(251, 255, 255, .94);
  --paper: #f0f9f9;
  --paper-deep: #dceeee;
  --surface: #fbffff;
  --white: #ffffff;
  --ink: #183033;
  --ink-soft: #3c5c60;
  --muted: #6d8184;
  --forest: #176a73;
  --forest-dark: #104a51;
  --sage: #6ca4a9;
  --sand: #c8b171;
  --line: rgba(24, 48, 51, .14);
  --shadow: 0 24px 80px rgba(16, 74, 81, .14);
}
html[data-professor-theme="emerald-sky"] {  --title-brush-image: url('../images/title-brush-emerald-sky.png');

  --theme-accent: #65bfe2;
  --theme-accent-dark: #2f91b6;
  --theme-accent-soft: rgba(101, 191, 226, .13);
  --theme-accent-border: rgba(47, 145, 182, .32);
  --theme-border: #73a28f;
  --theme-card: rgba(252, 255, 253, .86);
  --theme-header-bg: rgba(252, 255, 253, .94);
  --paper: #f1f8f4;
  --paper-deep: #deece4;
  --surface: #fcfffd;
  --white: #ffffff;
  --ink: #1d3029;
  --ink-soft: #3e5b50;
  --muted: #6d8279;
  --forest: #1f6551;
  --forest-dark: #16483a;
  --sage: #73a28f;
  --sand: #d0b477;
  --line: rgba(29, 48, 41, .14);
  --shadow: 0 24px 80px rgba(22, 72, 58, .14);
}
html[data-professor-theme="violet-sky"] {  --title-brush-image: url('../images/title-brush-violet-sky.png');

  --theme-accent: #72b9e7;
  --theme-accent-dark: #3d8fbe;
  --theme-accent-soft: rgba(114, 185, 231, .13);
  --theme-accent-border: rgba(61, 143, 190, .32);
  --theme-border: #9388b3;
  --theme-card: rgba(255, 254, 254, .86);
  --theme-header-bg: rgba(255, 254, 254, .94);
  --paper: #f6f4fb;
  --paper-deep: #e8e3f2;
  --surface: #fffefe;
  --white: #ffffff;
  --ink: #2c2939;
  --ink-soft: #514b67;
  --muted: #7a7489;
  --forest: #584987;
  --forest-dark: #3e3461;
  --sage: #9388b3;
  --sand: #d5b076;
  --line: rgba(44, 41, 57, .14);
  --shadow: 0 24px 80px rgba(62, 52, 97, .14);
}
html[data-professor-theme="graphite-blue"] {  --title-brush-image: url('../images/title-brush-graphite-blue.png');

  --theme-accent: #79bce1;
  --theme-accent-dark: #418db5;
  --theme-accent-soft: rgba(121, 188, 225, .13);
  --theme-accent-border: rgba(65, 141, 181, .32);
  --theme-border: #778998;
  --theme-card: rgba(253, 254, 254, .86);
  --theme-header-bg: rgba(253, 254, 254, .94);
  --paper: #f3f5f7;
  --paper-deep: #e1e6e9;
  --surface: #fdfefe;
  --white: #ffffff;
  --ink: #20272d;
  --ink-soft: #46505a;
  --muted: #737d86;
  --forest: #303943;
  --forest-dark: #20272e;
  --sage: #778998;
  --sand: #c7a979;
  --line: rgba(32, 39, 45, .14);
  --shadow: 0 24px 80px rgba(32, 39, 46, .14);
}
html[data-professor-theme="midnight-sky"] {  --title-brush-image: url('../images/title-brush-midnight-sky.png');

  --theme-accent: #60b9e8;
  --theme-accent-dark: #318fc1;
  --theme-accent-soft: rgba(96, 185, 232, .13);
  --theme-accent-border: rgba(49, 143, 193, .32);
  --theme-border: #6d829f;
  --theme-card: rgba(252, 253, 255, .86);
  --theme-header-bg: rgba(252, 253, 255, .94);
  --paper: #f1f5fa;
  --paper-deep: #dfe7f0;
  --surface: #fcfdff;
  --white: #ffffff;
  --ink: #182235;
  --ink-soft: #3e4c62;
  --muted: #6b788c;
  --forest: #142238;
  --forest-dark: #0b1627;
  --sage: #6d829f;
  --sand: #d0ad73;
  --line: rgba(24, 34, 53, .14);
  --shadow: 0 24px 80px rgba(11, 22, 39, .14);
}
html[data-professor-theme="cloud-blue"] {  --title-brush-image: url('../images/title-brush-cloud-blue.png');

  --theme-accent: #8ccce8;
  --theme-accent-dark: #4a9fc3;
  --theme-accent-soft: rgba(140, 204, 232, .13);
  --theme-accent-border: rgba(74, 159, 195, .32);
  --theme-border: #93a5af;
  --theme-card: rgba(255, 255, 255, .86);
  --theme-header-bg: rgba(255, 255, 255, .94);
  --paper: #f6f8f9;
  --paper-deep: #e8edef;
  --surface: #ffffff;
  --white: #ffffff;
  --ink: #26323a;
  --ink-soft: #4e5d66;
  --muted: #77838b;
  --forest: #526675;
  --forest-dark: #394954;
  --sage: #93a5af;
  --sand: #ceb37f;
  --line: rgba(38, 50, 58, .14);
  --shadow: 0 24px 80px rgba(57, 73, 84, .14);
}


* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background-color: var(--paper);
  background-image:
    radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--theme-accent) 18%, transparent) 0, transparent 29%),
    radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--theme-accent-dark) 10%, transparent) 0, transparent 27%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--paper) 88%, var(--theme-accent) 12%) 0%,
      var(--paper) 48%,
      color-mix(in srgb, var(--paper) 92%, var(--theme-accent) 8%) 100%),
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.58) .55px, transparent .75px),
    radial-gradient(circle at 4px 3px, color-mix(in srgb, var(--theme-accent-dark) 5%, transparent) .45px, transparent .7px);
  background-size: auto, auto, auto, 6px 6px, 9px 9px;
  background-attachment: fixed;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.95;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
button, input, textarea, select { font-family: var(--font-body); font-weight: 500; }
h1, h2, h3, h4, h5, h6,
.card-title,
.entry-title,
.kh-post-card h3,
.kh-contact-card strong,
.site-footer__lead h2,
.internal-hero h1,
.editorial-hero h1 {
  font-family: var(--font-heading);
  font-weight: 600;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
button, input { font: inherit; }
button { color: inherit; }
::selection { color: #fff; background: var(--forest); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Header */
.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  width: 100%;
  border-bottom: 1px solid var(--line);
  background: var(--theme-header-bg);
  backdrop-filter: blur(18px);
}
body.admin-bar .site-header { top: 32px; }
.site-header__inner {
  width: var(--container);
  min-height: 92px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(190px, 240px) minmax(0, 1fr) max-content;
  align-items: center;
  gap: clamp(14px, 2vw, 26px);
}
.site-brand { min-width: 0; }
.site-brand--text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  line-height: 1.35;
}
.site-brand__name { font-size: 17px; font-weight: 850; letter-spacing: -.03em; }
.site-brand__subtitle { margin-top: 4px; color: var(--muted); font-size: 9px; font-weight: 650; letter-spacing: .02em; }
.site-brand--logo { display: inline-flex; align-items: center; text-decoration: none; }
.site-brand--logo img { width: auto; max-width: 210px; max-height: 56px; object-fit: contain; }
.site-navigation { margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: clamp(12px, 1.55vw, 24px); list-style: none; }
.site-navigation a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 92px;
  color: var(--ink-soft);
  text-decoration: none;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}
.site-navigation a::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--forest);
  transform: translateX(50%);
  transition: width .25s ease;
}
.site-navigation a:hover::after,
.site-navigation a.is-active::after { width: 100%; }
.site-navigation a:hover,
.site-navigation a.is-active { color: var(--forest); }
.site-header__tools { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.site-language-switcher {
  min-height: 36px;
  padding: 3px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.45);
}
.site-language-switcher__link {
  min-width: 48px;
  min-height: 30px;
  padding: 5px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--ink-soft);
  text-decoration: none;
  font-size: 10px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  transition: .2s ease;
}
.site-language-switcher__link:hover,
.site-language-switcher__link.is-active {
  color: #fff;
  background: var(--forest);
}
.site-search-toggle,
.site-menu-toggle {
  border: 0;
  background: transparent;
  cursor: pointer;
}
.site-search-toggle {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 18px;
  transition: .2s ease;
}
.site-search-toggle:hover { color: #fff; border-color: var(--forest); background: var(--forest); }
.site-header__contact {
  min-height: 44px;
  padding: 8px 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  color: #fff;
  background: var(--forest);
  text-decoration: none;
  font-size: 11px;
  font-weight: 750;
}
.site-header__contact i { font-size: 16px; transition: transform .2s ease; }
.site-header__contact:hover i { transform: translate(-3px, -3px); }
.site-menu-toggle { display: none; width: 44px; height: 44px; padding: 11px; border: 1px solid var(--line); border-radius: 50%; }
.site-menu-toggle span { display: block; height: 1px; margin: 5px 0; background: var(--ink); transition: .2s; }
.site-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.site-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.site-search-panel { border-top: 1px solid var(--line); background: var(--surface); }
.site-search-panel__inner { width: var(--container); padding: 22px 0; margin: 0 auto; }
.site-search-form { display: flex; gap: 10px; }
.site-search-form input {
  flex: 1;
  min-width: 0;
  height: 54px;
  padding: 0 18px;
  border: 1px solid var(--line);
  border-radius: 2px;
  outline: 0;
  color: var(--ink);
  background: #fff;
}
.site-search-form input:focus { border-color: var(--forest); }
.site-search-form button { min-width: 120px; border: 0; color: #fff; background: var(--forest); cursor: pointer; }
.site-search-form button i { margin-left: 6px; }

/* Hero */
.editorial-hero { position: relative; overflow: hidden; background: var(--paper); }
.editorial-hero::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 1px);
  width: 1px;
  background: rgba(28, 37, 33, .07);
}
.editorial-hero__inner {
  width: var(--container);
  min-height: 720px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(48px, 7vw, 110px);
  align-items: stretch;
}
.editorial-hero__copy {
  position: relative;
  padding: 105px 0 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.editorial-hero__index {
  position: absolute;
  top: 48px;
  right: 0;
  color: var(--sage);
  font-size: 11px;
  font-weight: 700;
}
.editorial-hero__kicker {
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--forest);
  font-size: 11px;
  font-weight: 800;
}
.editorial-hero__kicker::before { content: ""; width: 44px; height: 1px; background: var(--forest); }
.editorial-hero h1 {
  max-width: 700px;
  margin: 0;
  font-size: clamp(48px, 6.5vw, 94px);
  line-height: 1.14;
  letter-spacing: -.055em;
  font-weight: 850;
}
.editorial-hero__role { margin: 18px 0 0; color: var(--forest); font-size: clamp(14px, 1.6vw, 20px); font-weight: 600; }
.editorial-hero__summary { max-width: 620px; margin: 28px 0 0; color: var(--muted); font-size: 13px; line-height: 2.15; text-align: justify; }
.editorial-hero__actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.editorial-button {
  min-height: 52px;
  padding: 9px 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid var(--forest);
  border-radius: 999px;
  text-decoration: none;
  font-size: 11px;
  font-weight: 800;
  transition: .2s ease;
}
.editorial-button--solid { color: #fff; background: var(--forest); }
.editorial-button--line { color: var(--forest); background: transparent; }
.editorial-button:hover { transform: translateY(-3px); box-shadow: 0 12px 30px color-mix(in srgb, var(--forest) 14%, transparent); }
.editorial-hero__meta { margin-top: 54px; padding-top: 25px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; border-top: 1px solid var(--line); }
.editorial-hero__meta div { display: flex; flex-direction: column; }
.editorial-hero__meta strong { font-size: 26px; line-height: 1.2; font-weight: 800; }
.editorial-hero__meta span { margin-top: 5px; color: var(--muted); font-size: 9px; }
.editorial-hero__media { position: relative; min-height: 720px; padding: 44px 48px 44px 0; display: flex; align-items: center; }
.editorial-hero__frame { width: 100%; height: 628px; overflow: hidden; background: var(--forest-dark); box-shadow: var(--shadow); }
.editorial-hero__frame img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.78) contrast(.98); transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.editorial-hero__media:hover .editorial-hero__frame img { transform: scale(1.025); }
.portrait-fallback { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; color: rgba(255,255,255,.68); background: linear-gradient(145deg, var(--forest), var(--forest-dark)); text-align: center; }
.portrait-fallback i { font-size: 88px; }
.portrait-fallback span { max-width: 260px; font-size: 11px; }
.editorial-hero__caption {
  position: absolute;
  right: -28px;
  bottom: 76px;
  min-width: 235px;
  min-height: 68px;
  padding: 13px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #fff;
  background: var(--forest);
  font-size: 10px;
  font-weight: 700;
}
.editorial-hero__caption i { font-size: 19px; }
.editorial-hero__vertical { position: absolute; left: 8px; top: 50%; color: rgba(28,37,33,.48); font-size: 8px; letter-spacing: .28em; writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); }

/* Gateways */
.content-gateways { color: #fff; background: var(--forest); }
.content-gateways__inner { width: var(--container); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); }
.content-gateways a {
  min-height: 132px;
  padding: 24px 24px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  border-left: 1px solid var(--line-light);
  text-decoration: none;
  transition: .25s ease;
}
.content-gateways a:first-child { border-right: 1px solid var(--line-light); }
.content-gateways a:hover { background: rgba(255,255,255,.07); }
.content-gateways__number { align-self: start; color: var(--sand); font-size: 9px; }
.content-gateways strong, .content-gateways small { display: block; }
.content-gateways strong { font-size: 17px; }
.content-gateways small { margin-top: 5px; color: rgba(255,255,255,.58); font-size: 9px; }
.content-gateways i { font-size: 18px; transition: transform .2s; }
.content-gateways a:hover i { transform: translate(-4px, -4px); }

/* Shared sections */
.editorial-section { padding: 110px 0; }
.editorial-section--paper { background: var(--surface); }
.editorial-section--ink { color: #fff; background: var(--ink); }
.editorial-section__inner { width: var(--container); margin: 0 auto; }
.editorial-heading {
  margin-bottom: 54px;
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(300px, 1fr) auto;
  gap: 42px;
  align-items: end;
}
.editorial-heading__eyebrow { display: block; margin-bottom: 8px; color: var(--forest); font-size: 10px; font-weight: 800; }
.editorial-heading h2 { margin: 0; font-size: clamp(34px, 4vw, 58px); line-height: 1.25; letter-spacing: -.045em; }
.editorial-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 2.05; }
.editorial-heading > a { padding-bottom: 5px; display: inline-flex; align-items: center; gap: 8px; border-bottom: 1px solid currentColor; color: var(--forest); text-decoration: none; font-size: 10px; font-weight: 750; white-space: nowrap; }
.editorial-heading--light .editorial-heading__eyebrow { color: var(--sand); }
.editorial-heading--light p { color: rgba(255,255,255,.57); }
.editorial-heading--light > a { color: #fff; }

/* Writing list */
.writing-list { border-top: 1px solid var(--line); }
.writing-row {
  position: relative;
  min-height: 190px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 210px 30px;
  gap: 28px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  transition: background .25s ease, padding .25s ease;
}
.writing-row:hover { padding-inline: 14px; background: var(--paper); }
.writing-row__link { position: absolute; inset: 0; z-index: 4; }
.writing-row__number { align-self: start; padding-top: 36px; color: var(--sage); font-size: 10px; }
.writing-row__meta { margin-bottom: 8px; display: flex; gap: 14px; color: var(--forest); font-size: 9px; font-weight: 700; }
.writing-row h3 { margin: 0; font-size: clamp(18px, 2vw, 26px); line-height: 1.6; }
.writing-row p { max-width: 760px; margin: 9px 0 0; color: var(--muted); font-size: 11px; line-height: 1.95; }
.writing-row__media { width: 210px; height: 122px; overflow: hidden; background: var(--paper-deep); }
.writing-row__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65); transition: .4s ease; }
.writing-row:hover .writing-row__media img { transform: scale(1.05); filter: saturate(.9); }
.writing-row__media > span { width: 100%; height: 100%; display: grid; place-items: center; color: var(--forest); font-size: 38px; }
.writing-row__arrow { color: var(--forest); font-size: 20px; transition: transform .2s; }
.writing-row:hover .writing-row__arrow { transform: translate(-4px, -4px); }

/* Books */
.books-editorial { display: grid; grid-template-columns: 1.45fr repeat(3, 1fr); gap: 26px; align-items: stretch; }
.book-editorial-card { min-width: 0; display: flex; flex-direction: column; color: #fff; text-decoration: none; }
.book-editorial-card__cover { position: relative; aspect-ratio: 3 / 4.2; overflow: hidden; background: rgba(255,255,255,.06); }
.book-editorial-card--featured .book-editorial-card__cover { aspect-ratio: 4 / 4.1; }
.book-editorial-card__cover img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); transition: transform .55s ease, filter .55s ease; }
.book-editorial-card:hover img { transform: scale(1.035); filter: saturate(1); }
.book-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(255,255,255,.45); font-size: 54px; background: linear-gradient(145deg, #26322d, #131a17); }
.book-editorial-card__content { padding-top: 18px; }
.book-editorial-card__index { color: var(--sand); font-size: 9px; }
.book-editorial-card h3 { margin: 7px 0 5px; font-size: 16px; line-height: 1.7; }
.book-editorial-card--featured h3 { font-size: 24px; }
.book-editorial-card p { margin: 0; color: rgba(255,255,255,.55); font-size: 10px; }
.book-editorial-card__content > div { margin-top: 14px; padding-top: 11px; display: flex; justify-content: space-between; gap: 10px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.48); font-size: 8px; }

/* About */
.editorial-about { padding: 105px 0; color: var(--ink); background: var(--paper-deep); }
.editorial-about__inner { width: var(--container); margin: 0 auto; display: grid; grid-template-columns: .85fr 1.25fr .55fr; gap: clamp(40px, 7vw, 100px); align-items: start; }
.editorial-about__title span { color: var(--forest); font-size: 10px; font-weight: 800; }
.editorial-about__title h2 { margin: 13px 0 0; font-size: clamp(34px, 4vw, 57px); line-height: 1.45; letter-spacing: -.045em; }
.editorial-about__copy p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 2.3; text-align: justify; }
.editorial-about__copy a { margin-top: 24px; display: inline-flex; align-items: center; gap: 8px; color: var(--forest); text-decoration: none; font-size: 10px; font-weight: 800; border-bottom: 1px solid var(--forest); }
.editorial-about__stats { display: grid; gap: 12px; }
.editorial-about__stats div { min-height: 145px; padding: 20px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--line); text-align: center; }
.editorial-about__stats strong { color: var(--forest); font-size: 34px; line-height: 1.2; }
.editorial-about__stats span { margin-top: 7px; color: var(--muted); font-size: 9px; }

/* Events */
.event-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.event-card { display: flex; flex-direction: column; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.event-card__media { height: 240px; overflow: hidden; background: var(--paper-deep); }
.event-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); transition: .45s ease; }
.event-card:hover .event-card__media img { transform: scale(1.04); filter: saturate(1); }
.event-card__media > span { width: 100%; height: 100%; display: grid; place-items: center; color: var(--forest); font-size: 54px; }
.event-card__content { padding: 19px 0 0; }
.event-card__meta { display: flex; justify-content: space-between; gap: 12px; color: var(--forest); font-size: 8px; font-weight: 700; }
.event-card h3 { margin: 10px 0 6px; font-size: 19px; line-height: 1.65; }
.event-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.9; }
.event-card__more { margin-top: 18px; display: inline-flex; align-items: center; gap: 7px; color: var(--forest); font-size: 9px; font-weight: 750; }

/* Skills strip */
.fields-strip { padding: 72px 0; color: #fff; background: var(--forest); }
.fields-strip__inner { width: var(--container); margin: 0 auto; }
.fields-strip__heading { margin-bottom: 25px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.fields-strip__heading span { font-size: 20px; font-weight: 750; }
.fields-strip__heading a { color: rgba(255,255,255,.7); font-size: 9px; text-decoration: none; }
.fields-strip__items { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); border-right: 1px solid var(--line-light); }
.fields-strip__items a,
.fields-strip__items > span { min-height: 76px; padding: 16px 20px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--line-light); border-left: 1px solid var(--line-light); color: #fff; text-decoration: none; font-size: 11px; transition: .2s; }
.fields-strip__items a:hover { background: rgba(255,255,255,.06); }
.fields-strip__items i { color: var(--sand); font-size: 18px; }

/* Footer */
.site-footer { padding: 92px 0 24px; color: #fff; background: #111815; }
.site-footer__inner { width: var(--container); margin: 0 auto; display: grid; grid-template-columns: 1fr .9fr; gap: 80px; align-items: end; }
.site-footer__lead > span { color: var(--sand); font-size: 9px; font-weight: 800; }
.site-footer h2 { margin: 10px 0 12px; font-size: clamp(36px, 5vw, 68px); line-height: 1.25; letter-spacing: -.045em; }
.site-footer p { max-width: 680px; margin: 0; color: rgba(255,255,255,.55); font-size: 12px; }
.site-footer__contact { display: flex; flex-direction: column; align-items: flex-end; gap: 26px; }
.contact-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.contact-btn { min-height: 42px; padding: 8px 14px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; color: #fff; text-decoration: none; font-size: 9px; transition: .2s; }
.contact-btn:hover { color: var(--ink); background: var(--sand); border-color: var(--sand); }
.site-footer__email { padding-bottom: 8px; display: inline-flex; align-items: center; gap: 10px; border-bottom: 1px solid rgba(255,255,255,.4); color: #fff; text-decoration: none; direction: ltr; font-size: 15px; }
.site-footer__bottom { width: var(--container); margin: 70px auto 0; padding-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.4); font-size: 8px; }
.site-footer__bottom a { color: rgba(255,255,255,.55); text-decoration: none; }

/* Utility */
.empty-state { grid-column: 1 / -1; padding: 48px 24px; border: 1px dashed var(--line); color: var(--muted); background: rgba(255,255,255,.35); text-align: center; }
.empty-state i { display: block; margin-bottom: 10px; color: var(--forest); font-size: 40px; }
.prof-reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.prof-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .prof-reveal { opacity: 1; transform: none; }
}

@media (max-width: 1120px) {
  .site-brand--logo img { max-width: 210px; max-height: 62px; }
  :root {
  --font-body: "IRANSans Medium", Tahoma, Arial, sans-serif;
  --font-heading: "Anjoman SemiBold", "IRANSans Medium", Tahoma, serif; --container: min(1320px, calc(100% - 40px)); }
  .site-header__inner { grid-template-columns: minmax(180px, 205px) minmax(0, 1fr) max-content; gap: 12px; }
  .site-navigation { gap: 16px; }
  .site-navigation a { font-size: 10px; }
  .editorial-hero__inner { min-height: 650px; gap: 50px; }
  .editorial-hero__media { min-height: 650px; padding-right: 20px; }
  .editorial-hero__frame { height: 560px; }
  .content-gateways a { padding-inline: 16px; }
  .books-editorial { grid-template-columns: 1.3fr repeat(3, 1fr); gap: 18px; }
}

@media (max-width: 920px) {
  body.admin-bar .site-header { top: 46px; }
  .site-header__inner { min-height: 76px; grid-template-columns: minmax(0,1fr) auto auto; }
  .site-menu-toggle { display: block; order: 2; }
  .site-navigation-wrap { position: fixed; z-index: 999; top: 77px; right: 0; bottom: 0; left: 0; padding: 20px; display: none; background: rgba(17,24,21,.98); }
  body.admin-bar .site-navigation-wrap { top: 123px; }
  .site-navigation-wrap.is-open { display: block; }
  .site-navigation { height: 100%; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 0; overflow-y: auto; }
  .site-navigation li { border-bottom: 1px solid rgba(255,255,255,.12); }
  .site-navigation a { min-height: 66px; justify-content: space-between; color: #fff; font-size: 16px; }
  .site-navigation a::after { display: none; }
  .site-header__tools { order: 3; }
  .site-header__contact { display: none; }
  .editorial-hero::before { display: none; }
  .editorial-hero__inner { grid-template-columns: 1fr; gap: 0; }
  .editorial-hero__copy { padding: 78px 0 50px; }
  .editorial-hero__media { min-height: 580px; padding: 0 0 55px; }
  .editorial-hero__frame { height: 540px; }
  .editorial-hero__caption { right: auto; left: 20px; bottom: 30px; }
  .content-gateways__inner { grid-template-columns: repeat(2,1fr); }
  .content-gateways a:nth-child(3) { border-right: 1px solid var(--line-light); }
  .content-gateways a:nth-child(-n+2) { border-bottom: 1px solid var(--line-light); }
  .editorial-heading { grid-template-columns: 1fr auto; }
  .editorial-heading p { grid-column: 1 / -1; grid-row: 2; }
  .writing-row { grid-template-columns: 42px 1fr 150px 24px; gap: 18px; }
  .writing-row__media { width: 150px; height: 100px; }
  .books-editorial { grid-template-columns: repeat(2, 1fr); }
  .book-editorial-card--featured .book-editorial-card__cover { aspect-ratio: 3 / 4.2; }
  .editorial-about__inner { grid-template-columns: 1fr 1.2fr; }
  .editorial-about__stats { grid-column: 1 / -1; grid-template-columns: repeat(2,1fr); }
  .event-grid { grid-template-columns: repeat(2,1fr); }
  .event-card:last-child { grid-column: 1 / -1; max-width: calc(50% - 14px); }
  .fields-strip__items { grid-template-columns: repeat(2,1fr); }
  .site-footer__inner { grid-template-columns: 1fr; }
  .site-footer__contact { align-items: flex-start; }
  .contact-links { justify-content: flex-start; }
}

@media (max-width: 620px) {
  .site-brand--logo img { max-width: 145px; max-height: 52px; }
  :root {
  --font-body: "IRANSans Medium", Tahoma, Arial, sans-serif;
  --font-heading: "Anjoman SemiBold", "IRANSans Medium", Tahoma, serif; --container: calc(100% - 28px); }
  .site-header__inner { min-height: 70px; grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; }
  .site-brand__name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
  .site-brand__subtitle { display: none; }
  .site-menu-toggle, .site-search-toggle { width: 40px; height: 40px; }
  .site-language-switcher { padding: 2px; gap: 2px; }
  .site-language-switcher__link { min-width: 34px; padding-inline: 7px; font-size: 9px; }
  .site-navigation-wrap { top: 71px; }
  body.admin-bar .site-navigation-wrap { top: 117px; }
  .site-search-form { flex-direction: column; }
  .site-search-form button { min-height: 50px; }
  .editorial-hero__copy { padding: 66px 0 44px; }
  .editorial-hero__index { top: 25px; }
  .editorial-hero h1 { font-size: 44px; line-height: 1.2; }
  .editorial-hero__summary { text-align: right; }
  .editorial-hero__meta { gap: 8px; }
  .editorial-hero__meta strong { font-size: 20px; }
  .editorial-hero__meta span { font-size: 8px; }
  .editorial-hero__media { min-height: 430px; }
  .editorial-hero__frame { height: 410px; }
  .editorial-hero__caption { left: 10px; bottom: 28px; min-width: 205px; }
  .editorial-hero__vertical { display: none; }
  .content-gateways__inner { width: 100%; grid-template-columns: 1fr; }
  .content-gateways a { min-height: 104px; border-right: 0 !important; border-left: 0; border-bottom: 1px solid var(--line-light); }
  .content-gateways a:first-child { border-right: 0; }
  .editorial-section { padding: 78px 0; }
  .editorial-heading { margin-bottom: 34px; grid-template-columns: 1fr; gap: 18px; align-items: start; }
  .editorial-heading p { grid-column: auto; grid-row: auto; }
  .editorial-heading h2 { font-size: 34px; }
  .editorial-heading > a { width: fit-content; }
  .writing-row { min-height: 0; padding: 26px 0; grid-template-columns: 30px 1fr 20px; gap: 14px; align-items: start; }
  .writing-row:hover { padding-inline: 0; }
  .writing-row__number { padding-top: 4px; }
  .writing-row__media { display: none; }
  .writing-row h3 { font-size: 18px; }
  .writing-row p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .writing-row__arrow { margin-top: 5px; }
  .books-editorial { grid-template-columns: 1fr 1fr; gap: 22px 12px; }
  .book-editorial-card--featured { grid-column: 1 / -1; }
  .book-editorial-card--featured .book-editorial-card__cover { aspect-ratio: 4 / 4.2; }
  .book-editorial-card--featured h3 { font-size: 20px; }
  .book-editorial-card h3 { font-size: 13px; }
  .book-editorial-card__content > div { flex-direction: column; }
  .editorial-about { padding: 76px 0; }
  .editorial-about__inner { grid-template-columns: 1fr; gap: 32px; }
  .editorial-about__title h2 { font-size: 34px; }
  .editorial-about__copy p { text-align: right; }
  .editorial-about__stats { grid-column: auto; }
  .editorial-about__stats div { min-height: 110px; }
  .event-grid { grid-template-columns: 1fr; }
  .event-card:last-child { grid-column: auto; max-width: none; }
  .event-card__media { height: 220px; }
  .fields-strip__items { grid-template-columns: 1fr; }
  .site-footer { padding-top: 76px; }
  .site-footer h2 { font-size: 38px; }
  .site-footer__bottom { margin-top: 48px; flex-direction: column; align-items: flex-start; }
}

/* =========================================================
   Reference-inspired home page — version 4
   ========================================================= */
body.home {
  background-color: var(--paper);
  background-image:
    radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--theme-accent) 22%, transparent) 0, transparent 32%),
    radial-gradient(circle at 88% 24%, color-mix(in srgb, var(--theme-accent-dark) 11%, transparent) 0, transparent 29%),
    linear-gradient(145deg,
      color-mix(in srgb, var(--paper) 84%, var(--theme-accent) 16%) 0%,
      var(--paper) 52%,
      color-mix(in srgb, var(--paper) 90%, var(--theme-accent) 10%) 100%),
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.66) .58px, transparent .8px),
    radial-gradient(circle at 4px 3px, color-mix(in srgb, var(--theme-accent-dark) 5%, transparent) .42px, transparent .68px);
  background-size: auto, auto, auto, 6px 6px, 9px 9px;
}
body.home::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .13;
  background-image: repeating-linear-gradient(0deg, transparent 0 4px, rgba(126,104,76,.07) 5px);
}
.kh-home-header {
  position: relative;
  z-index: 5;
  padding: 14px 0 2px;
}
.kh-home-header__inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  direction: rtl;
}
.kh-home-logo {
  width: min(238px, 46vw);
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  text-decoration: none;
}
.kh-home-logo img {
  width: 100%;
  height: auto;
  max-height: 84px;
  display: block;
  object-fit: contain;
  object-position: right center;
}

.kh-home {
  --kh-turquoise: var(--theme-accent);
  --kh-turquoise-dark: var(--theme-accent-dark);
  --kh-gold: var(--sand);
  --kh-brown: var(--theme-border);
  --kh-ink: var(--ink);
  --kh-muted: var(--muted);
  --kh-card: var(--theme-card);
  color: var(--kh-ink);
  font-family: var(--font-body);
}
.kh-container { width: min(1180px, calc(100% - 28px)); margin: 0 auto; }
.kh-section { position: relative; padding: 28px 0 16px; }
.kh-section + .kh-section { border-top: 5px solid color-mix(in srgb, var(--surface) 92%, transparent); }
.kh-section-heading {
  width: 100%;
  min-height: 48px;
  margin: 0 0 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  direction: rtl;
}
.kh-section-heading > i { flex: 0 0 auto; color: var(--kh-turquoise); font-size: 24px; transform: rotate(-9deg); }
.kh-section-heading > b { flex: 1 1 auto; height: 1px; background: var(--kh-turquoise); opacity: .72; }
.kh-section-heading h1,
.kh-section-heading h2 {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: clamp(205px, 24vw, 305px);
  min-height: 58px;
  margin: 0;
  padding: 10px 40px 12px 58px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #111;
  background: var(--title-brush-image) center / 100% 100% no-repeat;
  font-family: var(--font-heading);
  font-size: clamp(18px, 2.05vw, 26px);
  font-weight: 600;
  line-height: 1.35;
  text-align: right;
  white-space: normal;
  filter: drop-shadow(0 2px 0 rgba(255,255,255,.42));
  transform: translateX(-5px);
}
.kh-section-heading h1::before,
.kh-section-heading h2::before { content: none; }
.kh-intro { padding: 18px 0 22px; }
.kh-intro__grid {
  min-height: 430px;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(320px, .9fr);
  gap: clamp(34px, 5vw, 74px);
  align-items: stretch;
  direction: ltr;
}
.kh-intro__content {
  grid-column: 1;
  min-width: 0;
  padding: 42px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  direction: rtl;
}
.kh-intro__subtitle {
  margin: 0 0 10px;
  color: var(--forest);
  font-family: var(--font-heading);
  font-size: clamp(17px, 1.65vw, 23px);
  font-weight: 600;
  line-height: 1.65;
}
.kh-intro__description {
  width: 100%;
  color: var(--ink-soft);
  font-size: clamp(16px, 1.42vw, 19px);
  line-height: 2.15;
  text-align: justify;
}
.kh-intro__description p { margin: 0 0 12px; }
.kh-intro__description p:last-child { margin-bottom: 0; }
.kh-wide-link,
.kh-contact-bar {
  min-height: 30px;
  margin-top: auto;
  padding: 4px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 2px;
  color: var(--forest-dark);
  background: var(--kh-turquoise);
  text-decoration: none;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 500;
  box-shadow: inset 0 1px rgba(255,255,255,.25);
  transition: transform .2s ease, background .2s ease;
}
.kh-wide-link:hover,
.kh-contact-bar:hover { color: #fff; background: var(--kh-turquoise-dark); transform: translateY(-1px); }
.kh-contact-bar { width: calc(100% - 48px); margin-inline: auto; cursor: pointer; }
body.prof-contact-modal-open { overflow: hidden; }
.prof-contact-modal[hidden] { display: none; }
.prof-contact-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 18px; }
.prof-contact-modal__backdrop { position: absolute; inset: 0; background: rgba(16,42,64,.62); backdrop-filter: blur(4px); }
.prof-contact-modal__dialog { position: relative; width: min(100%,560px); max-height: calc(100vh - 36px); overflow-y: auto; padding: 30px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.prof-contact-modal__dialog h2 { margin: 0 0 8px; color: var(--forest-dark); font-family: var(--font-heading); font-size: 24px; }
.prof-contact-modal__dialog > p { margin: 0 0 22px; color: var(--muted); }
.prof-contact-modal__close { position: absolute; top: 14px; left: 14px; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--forest-dark); background: var(--theme-accent-soft); cursor: pointer; }
.prof-contact-modal form { display: grid; gap: 16px; }
.prof-contact-modal label { display: grid; gap: 7px; color: var(--ink); font-weight: 600; }
.prof-contact-modal input,.prof-contact-modal textarea { width: 100%; padding: 11px 13px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: #fff; font-family: var(--font-body); font-size: 14px; }
.prof-contact-modal textarea { resize: vertical; line-height: 1.9; }
.prof-contact-modal input:focus,.prof-contact-modal textarea:focus { outline: 2px solid var(--theme-accent); outline-offset: 1px; border-color: transparent; }
.prof-contact-modal__submit { min-height: 44px; border: 0; border-radius: 8px; color: #fff; background: var(--forest); font-family: var(--font-body); font-weight: 700; cursor: pointer; }
.prof-contact-modal__submit:hover { background: var(--theme-accent-dark); }
.prof-contact-modal__submit:disabled { opacity: .6; cursor: wait; }
.prof-contact-modal__status { min-height: 22px; font-size: 13px; }
.prof-contact-modal__status.is-success { color: #18794e; }
.prof-contact-modal__status.is-error { color: #b42318; }
.prof-contact-modal__honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
@media(max-width:600px){.prof-contact-modal__dialog{padding:26px 18px 20px}.prof-contact-modal__dialog h2{padding-left:38px;font-size:21px}}
.kh-about-button {
  width: auto;
  min-width: 104px;
  min-height: 34px;
  margin-top: 22px;
  padding: 6px 17px;
  align-self: flex-start;
  flex: 0 0 auto;
  border-radius: 3px;
  font-size: 10px;
}
.kh-intro__portrait { grid-column: 2; min-height: 430px; margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; direction: rtl; }
.kh-intro__portrait img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 18px 26px rgba(19, 49, 71, .10)); }
.kh-image-placeholder { width: 100%; height: 100%; min-height: 300px; padding: 24px; display: grid; place-items: center; align-content: center; gap: 10px; color: #58757a; background: linear-gradient(145deg, #dff0f4, #b8d6dc); text-align: center; font-family: var(--font-body); font-size: 11px; }
.kh-image-placeholder i { font-size: 52px; opacity: .65; }
.kh-latest { padding-bottom: 42px; }
.kh-post-grid { padding: 12px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.kh-post-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(79, 73, 68, .58);
  border-radius: 5px;
  color: var(--kh-ink);
  background: var(--kh-card);
  text-decoration: none;
  text-align: right;
  box-shadow: 0 4px 10px rgba(31,37,37,.08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
a.kh-post-card:hover { transform: translateY(-5px); border-color: var(--kh-turquoise-dark); box-shadow: 0 14px 30px rgba(31,37,37,.14); }
.kh-post-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  display: block;
  overflow: hidden;
  background: linear-gradient(145deg, var(--paper-deep), var(--theme-accent-soft));
}
.kh-post-card__media > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; transition: transform .45s ease; }
a.kh-post-card:hover .kh-post-card__media > img { transform: scale(1.035); }
.kh-post-card__media-placeholder { width: 100%; height: 100%; padding: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #567178; text-align: center; font-size: 10px; }
.kh-post-card__media-placeholder i { font-size: 52px; opacity: .72; }
.kh-post-card__type {
  position: absolute;
  right: 12px;
  bottom: 12px;
  min-height: 27px;
  padding: 5px 11px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: #fff;
  background: color-mix(in srgb, var(--forest) 90%, transparent);
  backdrop-filter: blur(8px);
  font-family: var(--font-body);
  font-size: 9px;
}
.kh-post-card__body { min-height: 150px; padding: 15px 16px 14px; display: flex; flex-direction: column; }
.kh-post-card h3 { width: 100%; margin: 0 0 11px; font-family: var(--font-heading); font-size: 17px; font-weight: 600; line-height: 1.65; }
.kh-post-card__tags { margin: 0 0 13px; display: flex; flex-wrap: wrap; gap: 6px; }
.kh-post-card__tags > span { min-height: 24px; padding: 3px 8px; display: inline-flex; align-items: center; border: 1px solid var(--theme-accent-border); border-radius: 999px; color: var(--forest); background: var(--theme-accent-soft); font-family: var(--font-body); font-size: 8px; line-height: 1.6; }
.kh-post-card__tags--empty { opacity: .62; }
.kh-post-card time { margin-top: auto; color: #828686; font-family: var(--font-body); font-size: 9px; direction: ltr; text-align: right; }
.kh-post-card--placeholder { opacity: .78; }
.kh-social { padding-bottom: 12px; }
.kh-social-grid { padding: 18px 8px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px; }
.kh-social-card {
  min-height: 125px;
  padding: 15px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--kh-brown);
  border-radius: 5px;
  color: #292d2d;
  background: color-mix(in srgb, var(--surface) 82%, transparent);
  text-decoration: none;
  text-align: center;
  box-shadow: 0 4px 12px rgba(45,38,35,.08);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.kh-social-card:hover { transform: translateY(-3px); border-color: var(--kh-turquoise); background: var(--surface); }
.kh-social-card__icon { width: 42px; height: 42px; margin-bottom: 5px; display: grid; place-items: center; color: var(--kh-turquoise); }
.kh-social-card__icon img { width: 38px; height: 38px; display: block; object-fit: contain; }
.kh-social-card__icon i { color: var(--kh-turquoise); font-size: 36px; }
.kh-social-card strong { font-family: var(--font-heading); font-size: 17px; font-weight: 600; }
.kh-social-card span { margin-top: 3px; color: #5f6464; font-family: var(--font-body); font-size: 11px; line-height: 1.8; overflow-wrap: anywhere; }
.kh-contact { padding-bottom: 12px; }
.kh-contact-grid { padding: 18px 8px 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.kh-contact-card {
  min-height: 125px;
  padding: 15px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--kh-brown);
  border-radius: 5px;
  color: #292d2d;
  background: color-mix(in srgb, var(--surface) 82%, transparent);
  text-decoration: none;
  text-align: center;
  box-shadow: 0 4px 12px rgba(45,38,35,.08);
  transition: transform .2s ease, background .2s ease;
}
a.kh-contact-card:hover { transform: translateY(-3px); background: var(--surface); }
.kh-contact-card i { margin-bottom: 3px; color: var(--kh-turquoise); font-size: 36px; }
.kh-contact-card strong { font-family: var(--font-heading); font-size: 17px; font-weight: 600; }
.kh-contact-card span { color: #5f6464; font-family: var(--font-body); font-size: 10px; line-height: 1.8; }
.kh-contact-bar { width: calc(100% - 48px); min-height: 28px; margin: 28px auto 0; }

@media (max-width: 900px) {
  .kh-intro__grid { grid-template-columns: minmax(0, 1.2fr) minmax(270px, .8fr); gap: 28px; }
  .kh-intro__description { font-size: 16px; }
  .kh-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 18px; }
}

@media (max-width: 680px) {
  .kh-home-header { padding-top: 10px; }
  .kh-home-logo { width: min(210px, 62vw); }
  .kh-container { width: min(100% - 22px, 560px); }
  .kh-section { padding-top: 22px; }
  .kh-section-heading { margin-bottom: 18px; gap: 8px; }
  .kh-section-heading > i { font-size: 21px; }
  .kh-section-heading h1,
  .kh-section-heading h2 { width: min(245px, 72vw); min-width: 0; min-height: 52px; padding: 9px 31px 11px 45px; font-size: 19px; white-space: normal; transform: translateX(-3px); }
  .kh-intro__grid { display: flex; flex-direction: column; gap: 16px; }
  .kh-intro__portrait { order: 1; width: 100%; min-height: 350px; }
  .kh-intro__content { order: 2; padding: 12px 0 4px; align-items: stretch; }
  .kh-intro__subtitle { font-size: 18px; }
  .kh-intro__description { font-size: 15px; line-height: 2.05; text-align: right; }
  .kh-about-button { margin-top: 16px; align-self: flex-start; }
  .kh-post-grid { grid-template-columns: 1fr; gap: 22px; padding-inline: 6px; }
  .kh-social-grid { grid-template-columns: 1fr; padding-inline: 6px; }
  .kh-contact-grid { grid-template-columns: 1fr; padding-inline: 6px; }
  .kh-contact-bar { width: calc(100% - 12px); }
}

.kh-section-heading h1 span,
.kh-section-heading h2 span,
.internal-hero h1 span { display: block; width: 100%; }

/* Homepage slider and compact five-column latest cards — v4.1.4 */
.kh-home-slider { position: relative; min-height: 430px; isolation: isolate; overflow: visible; background: transparent; box-shadow: none; }
.kh-home-slider__track { position: absolute; inset: 0; }
.kh-home-slider__slide { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .65s ease, visibility .65s ease; }
.kh-home-slider__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.kh-home-slider__slide img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center bottom; }
.kh-home-slider__slide--default img { transform: scale(1.035); transform-origin: center bottom; }
.kh-home-slider__dots { position: absolute; z-index: 3; right: 50%; bottom: 14px; display: flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: rgba(19,45,48,.42); backdrop-filter: blur(8px); transform: translateX(50%); }
.kh-home-slider__dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.55); cursor: pointer; transition: width .2s ease, border-radius .2s ease, background .2s ease; }
.kh-home-slider__dots button.is-active { width: 22px; border-radius: 999px; background: #fff; }

.kh-section-heading--with-action { flex-wrap: nowrap; }
.kh-section-heading__action { flex: 0 0 auto; min-height: 34px; padding: 6px 13px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--theme-accent-border); border-radius: 2px; color: var(--forest); background: color-mix(in srgb, var(--surface) 72%, transparent); text-decoration: none; font-family: var(--font-body); font-size: 9px; transition: .2s ease; }
.kh-section-heading__action:hover { color: #fff; border-color: var(--kh-turquoise-dark); background: var(--kh-turquoise-dark); transform: translateX(-2px); }

.kh-post-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.kh-post-card__body { min-height: 126px; padding: 12px 12px 11px; }
.kh-post-card h3 { margin-bottom: 8px; font-size: 14px; line-height: 1.65; }
.kh-post-card__tags { margin-bottom: 9px; gap: 4px; }
.kh-post-card__tags > span { min-height: 21px; padding: 2px 6px; font-size: 7px; }
.kh-post-card__type { right: 8px; bottom: 8px; min-height: 24px; padding: 4px 9px; font-size: 8px; }
.kh-post-card time { font-size: 10px; }

@media (max-width: 1100px) {
  .kh-post-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 880px) {
  .kh-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .kh-home-slider { min-height: 350px; }
  .kh-section-heading--with-action { flex-wrap: wrap; }
  .kh-section-heading--with-action > b { min-width: 20px; }
  .kh-section-heading__action { margin-right: auto; }
  .kh-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; padding-inline: 0; }
}
@media (max-width: 430px) {
  .kh-post-grid { grid-template-columns: 1fr; max-width: 285px; margin-inline: auto; }
}


/* Research profile cards: one horizontal row of square cards. */
.kh-research { padding-bottom: 36px; }
.kh-research-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 18px;
  padding: 12px 2px 20px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--theme-accent) var(--paper-deep);
}
.kh-research-card {
  flex: 0 0 176px;
  aspect-ratio: 1 / 1;
  padding: 13px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  background: var(--theme-card);
  text-decoration: none;
  text-align: center;
  box-shadow: 0 5px 14px rgba(31, 55, 70, .08);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.kh-research-card:hover { transform: translateY(-4px); border-color: var(--theme-accent-dark); box-shadow: 0 13px 28px rgba(31, 55, 70, .14); }
.kh-research-card__media { min-height: 0; display: grid; place-items: center; overflow: hidden; border-radius: 5px; background: var(--surface); }
.kh-research-card__media img { width: 100%; height: 100%; display: block; object-fit: contain; }
.kh-research-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--theme-accent-dark); background: linear-gradient(145deg, var(--paper-deep), var(--theme-accent-soft)); }
.kh-research-card__placeholder i { font-size: 44px; }
.kh-research-card strong { overflow: hidden; font-family: var(--font-heading); font-size: 13px; line-height: 1.55; white-space: nowrap; text-overflow: ellipsis; }
.kh-research-card__link { display: inline-flex; align-items: center; justify-content: center; gap: 5px; color: var(--forest); font-size: 8px; }
.kh-research-empty { flex: 1 0 100%; min-height: 150px; padding: 24px; display: grid; place-items: center; align-content: center; gap: 8px; border: 1px dashed var(--theme-accent-border); color: var(--muted); background: var(--theme-accent-soft); text-align: center; }
.kh-research-empty i { color: var(--theme-accent-dark); font-size: 40px; }
@media (max-width: 680px) {
  .kh-research-card { flex-basis: 154px; }
  .kh-home-slider { min-height: 390px; }
}


/* Homepage horizontal latest strip and compact research profile links — v4.1.8 */
.kh-research { padding-bottom: 30px; }
.kh-research-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  padding: 8px 0 12px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--theme-accent) var(--paper-deep);
}
.kh-research-card {
  flex: 0 1 220px;
  width: auto;
  min-width: 180px;
  max-width: 250px;
  min-height: 54px;
  aspect-ratio: auto;
  padding: 7px 10px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  border: 1px solid var(--theme-accent-border);
  border-radius: 12px;
  color: var(--ink);
  background: color-mix(in srgb, var(--theme-card) 92%, transparent);
  text-decoration: none;
  text-align: right;
  box-shadow: 0 3px 10px rgba(31, 55, 70, .07);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.kh-research-card:hover {
  transform: translateY(-2px);
  border-color: var(--theme-accent-dark);
  background: var(--surface);
  box-shadow: 0 8px 18px rgba(31, 55, 70, .11);
}
.kh-research-card__media {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  min-height: 38px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 9px;
  background: var(--theme-accent-soft);
}
.kh-research-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.kh-research-card__placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: var(--theme-accent-dark);
  background: linear-gradient(145deg, var(--paper-deep), var(--theme-accent-soft));
}
.kh-research-card__placeholder i { font-size: 21px; }
.kh-research-card strong {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.kh-research-card__link { display: none; }

/* Selectable research-profile layouts (source designs 4, 5, 7, 10, 17, 18, 19, 22, 23 and 25). */
.kh-research[class*="kh-research--style-"] { --research-pale: var(--theme-accent-soft); --research-line: var(--theme-accent-border); --research-strong: var(--theme-accent-dark); }
.kh-research[class*="kh-research--style-"] .kh-research-row { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; overflow:visible; padding:20px 0; }
.kh-research[class*="kh-research--style-"] .kh-research-card { position:relative; min-width:0; max-width:none; width:auto; transition:.25s ease; }
.kh-research[class*="kh-research--style-"] .kh-research-card__media { flex:none; overflow:visible; }
.kh-research[class*="kh-research--style-"] .kh-research-card strong { white-space:normal; text-overflow:clip; }

.kh-research--style-4 .kh-research-row { grid-template-columns:1.35fr repeat(2,1fr); grid-template-rows:repeat(2,145px); }
.kh-research--style-4 .kh-research-card { min-height:145px; padding:22px; align-items:flex-end; overflow:hidden; border-radius:24px; background:linear-gradient(145deg,var(--surface),var(--research-pale)); }
.kh-research--style-4 .kh-research-card:first-child { grid-row:span 2; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.kh-research--style-4 .kh-research-card::after { content:""; position:absolute; width:110px; height:110px; left:-33px; top:-33px; border:20px solid color-mix(in srgb,var(--theme-accent) 10%,transparent); border-radius:50%; }
.kh-research--style-4 .kh-research-card__media { width:58px; height:58px; border-radius:20px; background:var(--surface); }
.kh-research--style-4 .kh-research-card:first-child .kh-research-card__media { width:96px; height:96px; }

.kh-research--style-5 .kh-research-row { gap:0; padding-top:38px; }
.kh-research--style-5 .kh-research-row::before { content:""; position:absolute; top:48px; right:8%; left:8%; height:3px; border-radius:99px; background:linear-gradient(90deg,var(--research-line),var(--research-strong),var(--research-line)); }
.kh-research--style-5 .kh-research-card { padding:0 8px; flex-direction:column; text-align:center; gap:19px; border:0; background:transparent; box-shadow:none; }
.kh-research--style-5 .kh-research-card::before { content:""; position:absolute; top:21px; width:21px; height:21px; border:5px solid var(--paper); border-radius:50%; background:var(--research-strong); }
.kh-research--style-5 .kh-research-card__media { z-index:1; width:62px; height:62px; border-radius:50%; background:var(--surface); }

.kh-research--style-7 .kh-research-row { display:flex; flex-wrap:wrap; justify-content:center; gap:28px 5px; }
.kh-research--style-7 .kh-research-card { width:205px; min-width:205px; height:178px; flex-direction:column; justify-content:center; text-align:center; clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%); border:0; background:var(--surface); }
.kh-research--style-7 .kh-research-card:nth-child(2),.kh-research--style-7 .kh-research-card:nth-child(4) { transform:translateY(70px); }
.kh-research--style-7 .kh-research-card__media { width:54px; height:54px; border-radius:50%; }

.kh-research--style-10 { background-image:linear-gradient(color-mix(in srgb,var(--theme-accent) 22%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--theme-accent) 22%,transparent) 1px,transparent 1px); background-size:28px 28px; }
.kh-research--style-10 .kh-research-row { padding-top:38px; }
.kh-research--style-10 .kh-research-row::before { content:""; position:absolute; top:17px; right:8%; left:8%; height:1px; background:var(--research-strong); }
.kh-research--style-10 .kh-research-card { min-height:220px; padding:25px 18px; flex-direction:column; justify-content:space-between; border-color:var(--research-strong); border-radius:0; }
.kh-research--style-10 .kh-research-card::before { content:""; position:absolute; top:-25px; right:50%; height:25px; width:1px; background:var(--research-strong); }
.kh-research--style-10 .kh-research-card::after { content:""; position:absolute; inset:8px; border:1px dashed var(--research-line); }

.kh-research--style-17 .kh-research-row { align-items:end; }
.kh-research--style-17 .kh-research-card { height:325px; padding:25px 12px; flex-direction:column; justify-content:flex-end; text-align:center; border-radius:100px 100px 18px 18px; background:linear-gradient(180deg,var(--research-pale),var(--surface) 50%); }
.kh-research--style-17 .kh-research-card:nth-child(even) { height:275px; }
.kh-research--style-17 .kh-research-card::before { content:""; position:absolute; top:32px; width:90px; height:90px; border:1px dashed var(--research-strong); border-radius:50%; }
.kh-research--style-17 .kh-research-card__media { position:absolute; top:50px; width:54px; height:54px; border-radius:50%; }

.kh-research--style-18 .kh-research-row { display:flex; flex-wrap:wrap; justify-content:center; }
.kh-research--style-18 .kh-research-card { width:280px; min-width:280px; min-height:92px; padding:12px 22px; border-radius:999px; }
.kh-research--style-18 .kh-research-card:nth-child(1),.kh-research--style-18 .kh-research-card:nth-child(5) { width:350px; }.kh-research--style-18 .kh-research-card:nth-child(3) { width:420px; }
.kh-research--style-18 .kh-research-card::before { content:""; position:absolute; inset:8px 50% 8px 8px; border-radius:999px; background:linear-gradient(90deg,var(--research-pale),transparent); }
.kh-research--style-18 .kh-research-card>* { position:relative; z-index:1; }.kh-research--style-18 .kh-research-card__media { width:62px; height:62px; border-radius:50%; }

.kh-research--style-19 .kh-research-card { min-height:300px; padding:28px 15px; flex-direction:column; justify-content:space-between; text-align:center; border-radius:0; box-shadow:0 12px 0 var(--research-pale),0 5px 14px rgba(31,55,70,.08); }
.kh-research--style-19 .kh-research-card::before { content:""; position:absolute; inset:10px; border:1px solid var(--research-line); }
.kh-research--style-19 .kh-research-card::after { content:"✦"; display:grid; place-items:center; width:48px; height:48px; border:2px solid var(--research-strong); border-radius:50%; color:var(--research-strong); }

.kh-research--style-22 .kh-research-card { padding:28px 8px 18px; flex-direction:column; text-align:center; border:0; border-bottom:2px solid var(--research-line); border-radius:0; background:transparent; box-shadow:none; }
.kh-research--style-22 .kh-research-card::after { content:""; position:absolute; bottom:-2px; right:50%; left:50%; height:2px; background:var(--research-strong); transition:.25s; }
.kh-research--style-22 .kh-research-card:hover::after { right:0; left:0; }.kh-research--style-22 .kh-research-card__media { width:80px; height:80px; border-radius:50%; }

.kh-research--style-23 .kh-research-row { gap:0; border-top:5px solid var(--research-strong); border-bottom:1px solid var(--research-line); }
.kh-research--style-23 .kh-research-card { min-height:285px; padding:20px 18px; flex-direction:column; justify-content:space-between; align-items:flex-start; border:0; border-left:1px solid var(--research-line); border-radius:0; box-shadow:none; }
.kh-research--style-23 .kh-research-card::before { content:attr(data-order); font-size:50px; font-weight:900; color:color-mix(in srgb,var(--theme-accent) 17%,transparent); line-height:1; }
.kh-research--style-23 .kh-research-card__media { width:58px; height:58px; border:1px solid var(--research-line); border-radius:50%; }

.kh-research--style-25 { position:relative; overflow:hidden; background:linear-gradient(145deg,var(--paper-deep),var(--surface)); }
.kh-research--style-25::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent 0 49px,color-mix(in srgb,var(--theme-accent) 8%,transparent) 50px),repeating-linear-gradient(0deg,transparent 0 49px,color-mix(in srgb,var(--theme-accent) 8%,transparent) 50px); }
.kh-research--style-25 .kh-container { position:relative; z-index:1; }
.kh-research--style-25 .kh-research-card { min-height:245px; padding:24px 14px; flex-direction:column; justify-content:center; text-align:center; border-color:var(--research-strong); border-radius:0; clip-path:polygon(0 13px,13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px)); }
.kh-research--style-25 .kh-research-card__media { width:72px; height:72px; border:1px solid var(--research-strong); border-radius:50%; box-shadow:0 0 0 7px var(--research-pale); }

@media (max-width:1050px) {
  .kh-research[class*="kh-research--style-"] .kh-research-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .kh-research[class*="kh-research--style-"] .kh-research-row { grid-template-columns:1fr; }
  .kh-research--style-4 .kh-research-row { grid-template-rows:none; }.kh-research--style-4 .kh-research-card:first-child { grid-row:auto; }
  .kh-research--style-5 .kh-research-row::before,.kh-research--style-5 .kh-research-card::before,.kh-research--style-10 .kh-research-row::before,.kh-research--style-10 .kh-research-card::before { display:none; }
  .kh-research--style-7 .kh-research-card:nth-child(n) { transform:none; width:160px; min-width:160px; height:145px; }
  .kh-research--style-17 .kh-research-card:nth-child(n) { height:180px; border-radius:70px 70px 16px 16px; }
  .kh-research--style-18 .kh-research-card:nth-child(n) { width:100%; min-width:0; }
  .kh-research--style-19 .kh-research-card,.kh-research--style-23 .kh-research-card,.kh-research--style-25 .kh-research-card { min-height:150px; }
}

@media (max-width: 680px) {
  .kh-latest .kh-post-grid {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 8px 0 12px;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: inline mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--theme-accent) var(--paper-deep);
    -webkit-overflow-scrolling: touch;
  }
  .kh-latest .kh-post-card {
    flex: 0 0 calc((100% - 24px) / 4);
    min-width: 0;
    scroll-snap-align: start;
    border-radius: 5px;
  }
  .kh-latest .kh-post-card__media { aspect-ratio: 3 / 4; }
  .kh-latest .kh-post-card__media-placeholder { padding: 7px 4px; gap: 4px; font-size: 6px; line-height: 1.45; }
  .kh-latest .kh-post-card__media-placeholder i { font-size: 22px; }
  .kh-latest .kh-post-card__type {
    right: 4px;
    bottom: 4px;
    min-height: 17px;
    padding: 2px 5px;
    font-size: 6px;
  }
  .kh-latest .kh-post-card__body { min-height: 94px; padding: 7px 6px 6px; }
  .kh-latest .kh-post-card h3 {
    margin-bottom: 5px;
    font-size: 9px;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .kh-latest .kh-post-card__tags { margin-bottom: 5px; gap: 2px; overflow: hidden; flex-wrap: nowrap; }
  .kh-latest .kh-post-card__tags > span {
    min-width: 0;
    min-height: 15px;
    max-width: 100%;
    padding: 1px 4px;
    overflow: hidden;
    font-size: 5.5px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .kh-latest .kh-post-card__tags > span:nth-child(n+2) { display: none; }
  .kh-latest .kh-post-card time { font-size: 7.5px; }

  .kh-research-row {
    flex-wrap: nowrap;
    gap: 9px;
    padding-bottom: 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  .kh-research-card {
    flex: 0 0 190px;
    min-width: 190px;
    min-height: 50px;
    padding: 6px 9px;
    border-radius: 11px;
  }
  .kh-research-card__media { flex-basis: 36px; width: 36px; height: 36px; min-height: 36px; }
  .kh-research-card strong { font-size: 11px; }
}

html[lang^="en"] {
  --font-body: "Professor Multilingual", "Creato Display", "IRANSans Medium", Arial, sans-serif;
  --font-heading: "Professor Multilingual", "Creato Display", "IRANSans Medium", Arial, sans-serif;
}

html[lang^="en"],
html[lang^="en"] body {
  direction: ltr;
}

html[lang^="en"] body,
html[lang^="en"] .kh-home,
html[lang^="en"] .kh-section,
html[lang^="en"] .kh-intro__content,
html[lang^="en"] .kh-post-card,
html[lang^="en"] .kh-contact-card {
  text-align: left;
}

html[lang^="en"] :lang(fa),
html[lang^="en"] [dir="rtl"] {
  font-family: "IRANSans Medium", Tahoma, Arial, sans-serif;
}

html[lang^="en"] .site-navigation a::after {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}

html[lang^="en"] .kh-section-heading {
  direction: ltr;
}

html[lang^="en"] .kh-section-heading > i {
  transform: rotate(9deg);
}

html[lang^="en"] .kh-section-heading h1,
html[lang^="en"] .kh-section-heading h2 {
  padding: 10px 30px 12px 34px;
  text-align: left;
  transform: translateX(5px) scaleX(-1);
}

html[lang^="en"] .kh-section-heading h1 span,
html[lang^="en"] .kh-section-heading h2 span {
  transform: scaleX(-1);
}

html[lang^="en"] .kh-section-heading__action {
  margin-left: auto;
  margin-right: 0;
}

html[lang^="en"] .kh-section-heading__action:hover {
  transform: translateX(2px);
}

html[lang^="en"] .kh-intro__grid {
  direction: ltr;
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.42fr);
  grid-auto-flow: column;
}

html[lang^="en"] .kh-intro__portrait {
  grid-column: 1;
  grid-row: 1;
  direction: ltr;
}

html[lang^="en"] .kh-intro__content {
  grid-column: 2;
  grid-row: 1;
  direction: ltr;
  align-items: flex-start;
}

html[lang^="en"] .kh-intro__description {
  direction: ltr;
  text-align: left;
}


html[lang^="en"] .kh-post-grid,
html[lang^="en"] .kh-research-row,
html[lang^="en"] .kh-contact-grid {
  direction: ltr;
}

html[lang^="en"] .kh-post-card {
  direction: ltr;
}

html[lang^="en"] .kh-post-card__type {
  right: auto;
  left: 8px;
}

html[lang^="en"] .kh-post-card__tags {
  justify-content: flex-start;
}

html[lang^="en"] .kh-post-card time {
  font-size: 10px;
  text-align: left;
}

html[lang^="en"] .kh-research-card {
  direction: ltr;
  text-align: left;
}

html[lang^="en"] .kh-research-card strong {
  text-align: left;
}

html[lang^="en"] .kh-contact-card {
  direction: ltr;
}

@media (max-width: 680px) {
  html[lang^="en"] .kh-section-heading h1,
  html[lang^="en"] .kh-section-heading h2 {
    padding: 9px 27px 11px 31px;
    transform: translateX(3px) scaleX(-1);
  }

  html[lang^="en"] .kh-section-heading__action {
    margin-left: auto;
    margin-right: 0;
  }

  html[lang^="en"] .kh-intro__grid {
    display: flex;
    flex-direction: column;
  }

  html[lang^="en"] .kh-intro__description {
    text-align: left;
  }

  html[lang^="en"] .kh-latest .kh-post-card__type {
    right: auto;
    left: 4px;
  }
}

/* Readability scale-up for small UI labels. */
.site-navigation a { font-size: 13px; }
.site-language-switcher__link,
.site-header__auth,
.site-search-form button,
.editorial-heading__eyebrow,
.editorial-heading > a,
.editorial-about__title span,
.editorial-about__copy a,
.kh-wide-link,
.kh-contact-bar,
.kh-about-button,
.kh-small-button,
.kh-section-heading__action,
.kh-post-card__media-placeholder,
.kh-contact-card span {
  font-size: 11px;
}
.site-brand__subtitle,
.editorial-hero__meta span,
.content-gateways__number,
.content-gateways small,
.writing-row__meta,
.book-editorial-card__index,
.editorial-about__stats span,
.event-card__more,
.fields-strip__heading a,
.site-footer__lead > span,
.contact-btn {
  font-size: 10px;
}
.kh-post-card__type,
.kh-post-card__tags > span,
.kh-research-card__link {
  font-size: 9px;
}
.kh-post-card time,
html[lang^="en"] .kh-post-card time {
  font-size: 11px;
}
.site-footer__bottom {
  font-size: 10px;
}
@media (max-width: 1120px) {
  .site-navigation a { font-size: 11px; }
}
@media (max-width: 620px) {
  .site-language-switcher__link { font-size: 10px; }
}
@media (max-width: 680px) {
  .kh-latest .kh-post-card__media-placeholder { font-size: 7.5px; }
  .kh-latest .kh-post-card__type { font-size: 7.5px; }
  .kh-latest .kh-post-card h3 { font-size: 10px; }
  .kh-latest .kh-post-card__tags > span { font-size: 7px; }
  .kh-latest .kh-post-card time { font-size: 8.5px; }
}
