/* GENERATED by scripts/build-ltr-css.mjs from ../figma-spec.css: do not edit, edit the source and rebuild. */
/*
 * Figma spec layer — exact values from the Figma artboards (file UPOBXkzML01sbUlCmjO2vo).
 * Measured at 1440×810 with scripts/design-qa/spec-diff.mjs; every value here is a Figma
 * number, not a guess. Loaded after style.css and the beheshti-home plugin CSS.
 *
 * Type: Figma "Auto" line height = font ascent+descent (unrounded). Chrome rounds ascent/descent
 * for `line-height: normal`, so the Figma value is always written out in px.
 * Weights: Aria Normal = 350, Regular = 400, Medium = 500, UltraBold = 850 (see fonts/aria/aria.css).
 *
 * Every selector starts with `html:not(#fs):not(#fs)` — it matches everything and adds two IDs of
 * specificity, so these values beat the layered !important overrides in style.css without
 * having to hunt down each competing rule.
 */

@media (min-width: 1025px) {

  /* ── Buttons (Figma "Buttons" component: Aria Regular 18 / 22.43, text centred) ──
     Chrome centres the rounded content area (23px) where Figma centres 22.43px, which leaves
     the label ~1px high; 2px of top padding moves the centre down by exactly 1px. */
  html:not(#fs):not(#fs) body.home .beheshti-btn {
    box-sizing: border-box !important;
    font-weight: var(--bh-fw-regular) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-regular) !important;
    padding-top: 2px !important;
    padding-bottom: 0 !important;
  }

  /* ── Header (Figma 1125:8021 "Frame 131", 1440×180, #000) ───────────────────── */

  /* Nav: Aria Medium 18 / auto, #fff, gap 36, frame x 348–1053 (centre 700.5). */
  html:not(#fs):not(#fs) .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu {
    gap: 0 36px !important;
    margin: 0 0 0 77px !important;
  }

  /* Row 2 (Figma "Frame 2" y 112–174, items centred on y 143). */
  html:not(#fs):not(#fs) .elementor-location-header .elementor-element-c00b55e {
    top: 143px !important;
  }

  /* Wordmark: Figma ink x 1153–1352, y 113–147. */
  html:not(#fs):not(#fs) .elementor-location-header .elementor-element-1812792 img {
    transform: translateY(-5px);
  }

  /* Language: globe 16×16 at (60, 66), label white at full opacity. */
  html:not(#fs):not(#fs) .elementor-location-header .beheshti-lang {
    opacity: 1 !important;
    transform: translateY(-10px);
  }
  html:not(#fs):not(#fs) .elementor-location-header .elementor-nav-menu--main .elementor-item,
  html:not(#fs):not(#fs) .elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
  html:not(#fs):not(#fs) .elementor-location-header .elementor-nav-menu--main .current-menu-item > .elementor-item {
    font-weight: var(--bh-fw-medium) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-medium) !important;
    padding-top: 6px !important;
    padding-bottom: 4px !important;
    color: var(--bh-color-white) !important;
  }
  /* Current page: cyan + Medium, same as the mobile/tablet dropdown. */
  html:not(#fs):not(#fs) .elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
  html:not(#fs):not(#fs) .elementor-location-header .elementor-nav-menu--main .current-menu-item > .elementor-item {
    color: var(--bh-color-cyan) !important;
  }
  /* Hover: light cyan (beats the white forced on .elementor-item above). */
  html:not(#fs):not(#fs) .elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
  html:not(#fs):not(#fs) .elementor-location-header .elementor-nav-menu--main .elementor-item:focus {
    color: var(--bh-color-cyan) !important;
  }

  /* "درخواست جلسه": 180×40, 0.5px inside stroke var(--e-global-color-accent, #99f1ff), Aria Regular 18 var(--e-global-color-accent, #99f1ff). */
  html:not(#fs):not(#fs) .elementor-location-header .beheshti-btn {
    box-sizing: border-box !important;
    width: 180px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    border: 0.5px solid var(--e-global-color-accent, #99f1ff) !important;
    color: var(--bh-color-cyan) !important;
    font-weight: var(--bh-fw-regular) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-regular) !important;
  }

  /* ── Hero (Figma 1125:8716 "Frame 132", 1440×630, content centred vertically) ─── */

  /* Star + lines vector (Figma 1125:8747) at 1:1. vector-0.svg's viewBox is
     (-420, -800, 1891.46, 2400) in hero coordinates offset by x 417.3: the Figma vector with its
     lines extended past the section edges (to y −800 / 1600, the diagonal to the left edge). The y
     offset is expressed from the centre so the vector stays with the content when 100vh ≠ 810. */
  /* Photo (Figma 1125:8717): FILL into a 1680×945 rect at (-120, -1). The 2400×1600 source
     covers it at 1680×1120, cropped centre → image box (-120, -88.5). The image centre stays at
     (section centre x, section centre y + 156.5) as in Figma; on a taller hero the photo grows
     uniformly (height = H + 2 × 156.5) so its top never comes down into the section — no gap, no stretch. */
  html:not(#fs):not(#fs) body.home #beheshti-hero {
    background-image: linear-gradient(rgb(1, 3, 6), rgb(1, 3, 6)), url("/wp-content/themes/beheshti-child/ltr/flipped/2026--09--grad-map-4.jpg?v=1791286869") !important;
    background-blend-mode: screen, normal !important;
    background-size: 100% 100%, auto max(1120px, calc(100% + 313px)) !important;
    background-position: 100% 0, 50% calc(50% + 156.5px) !important;
    background-repeat: no-repeat !important;
  }

  /* Wordmark + subtitle SVG (Figma "Group 24" at x 130, y 80). The widget box sits at x 103. */
  html:not(#fs):not(#fs) body.home #beheshti-hero .elementor-element-21a6825 > svg {
    transform: translateX(-27px);
  }

  /* "اســتراتژی. تحــول. رشــد": Aria Normal 32 / auto, right edge 1310, baseline y 349.5. */
  html:not(#fs):not(#fs) body.home #beheshti-hero h2.elementor-heading-title {
    font-weight: var(--bh-fw-normal) !important;
    font-size: 32px !important;
    line-height: var(--bh-lh-32) !important;
    position: relative !important;
    top: -1px !important;
  }
  /* Two lines: Aria Normal 18, baselines y 421 and 448 (27 apart), right edge 1310. */
  html:not(#fs):not(#fs) body.home #beheshti-hero .elementor-widget-text-editor p {
    font-weight: var(--bh-fw-normal) !important;
    font-size: 18px !important;
    line-height: 27px !important;
  }
  /* The column stacks up from the buttons (gap 48): these margins land the baselines on Figma's. */
  html:not(#fs):not(#fs) body.home #beheshti-hero .elementor-element-aac349e {
    margin-bottom: 13.8px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-hero .elementor-element-2290b71 {
    margin-bottom: -7.8px !important;
  }
  /* Figma fills are solid #fff — no 0.88 fade on the copy or the buttons. */
  html:not(#fs):not(#fs) body.home #beheshti-hero .elementor-element-aac349e,
  html:not(#fs):not(#fs) body.home #beheshti-hero .elementor-element-1c88331 {
    opacity: 1 !important;
  }

  html:not(#fs):not(#fs) body.home #beheshti-hero::before {
    background-image: url("/wp-content/themes/beheshti-child/ltr/flipped/beheshti-home--assets--home-stars--vector-0.svg?v=1791804782") !important;
    background-position: right -2.7px top calc(50% + 85px) !important;
    background-size: 1891.46px 2400px !important;
  }

  /* ── Venn (Figma 1096:1562 "Frame 44", pad 120/100/60/100) ─────────────────── */

  /* Text column x 595–1340, spanning y 120–750: heading top; copy block (y 300.5–655.2) and button
     (705–750) bottom-aligned, so on a taller section only the gap under the heading grows. */
  html:not(#fs):not(#fs) body.home #beheshti-venn .elementor-element-fa2a811 {
    padding: 0 !important;
    width: 745px !important;
    max-width: 745px !important;
    align-self: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .elementor-element-0b0ce1e {
    margin: auto 0 49.8px 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn h2.elementor-heading-title {
    font-weight: var(--bh-fw-extralight) !important;
    font-size: var(--bh-fs-54) !important;
    line-height: var(--bh-lh-54) !important;
    margin: 0 !important;
    position: relative !important;
    top: 1px !important;
  }
  /* Copy block (Figma "Frame 152", 356 tall): Aria Normal 20 / auto, 24 between groups. */
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-content,
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-content > p {
    font-weight: var(--bh-fw-normal) !important;
    font-size: var(--bh-fs-20) !important;
    line-height: var(--bh-lh-20) !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-content > * {
    margin: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-content > * + * {
    margin-top: 24px !important;
  }
  /* List (Figma "Frame 153"): items 48 tall, 20 apart. */
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-content li {
    margin: 0 !important;
    padding: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-content li + li {
    margin-top: 20px !important;
  }
  /* Title row 18 tall: 12px var(--e-global-color-accent, #99f1ff) dots (4 apart), 8 to the title, Aria Medium 20. */
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-list__title {
    height: 18px !important;
    line-height: 18px !important;
    gap: 8px !important;
    align-items: center !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-list__title strong {
    font-weight: var(--bh-fw-medium) !important;
    font-size: var(--bh-fs-20) !important;
    line-height: 18px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-list__dots {
    gap: 4px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-list__dots > * {
    width: 12px !important;
    height: 12px !important;
    flex: 0 0 12px !important;
    background: var(--e-global-color-accent, #99f1ff) !important;
    border-radius: 50% !important;
  }
  /* Description: Aria Normal 18, 12 below the title row, 18 tall. */
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-venn-list__description {
    margin-top: 12px !important;
    font-weight: var(--bh-fw-normal) !important;
    font-size: 18px !important;
    line-height: 18px !important;
  }

  /* Button 300×45 at x 1040–1340: #000 fill, 0.5 inside stroke #fff, Aria Regular 18. */
  html:not(#fs):not(#fs) body.home #beheshti-venn .elementor-element-d0d9d83 {
    align-self: flex-start !important; /* RTL: start = right */
    margin: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .bishtar-parent-btn a {
    box-sizing: border-box !important;
    width: 300px !important;
    height: 45px !important;
    background: #000 !important;
    border: 0.5px solid #fff !important;
    color: var(--bh-color-white) !important;
    font-weight: var(--bh-fw-regular) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-regular) !important;
  }

  /* Diagram image (Figma "chart 1-6 1") 455×437 at (100, 218): 155 above the section bottom, kept on a
     taller section (moves down by the extra height, like the copy block). */
  html:not(#fs):not(#fs) body.home #beheshti-venn .elementor-element-47bec50 {
    padding: 0 !important;
    width: 455px !important;
    align-self: flex-start !important;
    margin-top: calc(max(810px, 100vh / var(--bh-z, 1)) - 712px) !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-venn .elementor-element-6004e37 img {
    width: 455px !important;
    max-width: none !important;
    height: 437px !important;
  }

  /* ── Intro (Figma 1096:1709 "Frame 123", 810: top 506 = text | photo, bottom 304 = photo | text) ── */

  /* Left column "Frame 10": x 0–720, pad 120/60/60/100 → content x 100–660, y 120–446. The button bottom
     stays 60 above the bottom of the speaker photo (which ends 304 above the section bottom). */
  html:not(#fs):not(#fs) body.home #beheshti-intro .beheshti-intro-copy {
    flex: 0 0 720px !important;
    width: 720px !important;
    padding: 120px 100px 364px 60px !important;
    gap: 0 !important;
    justify-content: space-between !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-83c55bb {
    width: 100% !important;
    height: auto !important;
  }
  /* Wordmark "علی بهشتی" (Group 17): 246×53.26 at x 414, right edge 660. */
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-51b8683 {
    margin: 0 0 16px !important;
    width: 100% !important;
    text-align: left !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-51b8683 img {
    width: 246px !important;
    height: 53.26px !important;
    max-width: none !important;
    position: relative !important;
    top: 1px !important;
  }
  /* "معمار رشد کسب‌وکار": Aria Normal 26 / 32.08, right edge 644 (16px inside). */
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-64553e4 {
    margin: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-64553e4 h3 {
    margin: 0 !important;
    padding: 0 0 0 16px !important;
    font-weight: var(--bh-fw-normal) !important;
    font-size: var(--bh-fs-26) !important;
    line-height: var(--bh-lh-26) !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-intro_btn {
    margin: 0 !important;
  }

  /* Right column: x 720–1440. Photo 720×506 on top; copy block below. */
  html:not(#fs):not(#fs) body.home #beheshti-intro .beheshti-intro-media {
    flex: 0 0 720px !important;
    width: 720px !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  /* Speaker photo: 720×506 in an 810 section, always meeting the 304 peek below it, so on a taller section it
     grows to H − 304. Drawn from the original photo (1280 × 853 at 0.753, x −157 = the Figma crop, found by
     pixel fit) so the extra height reveals more of the photo instead of stretching it; the PNG's slant + rounded
     corner become a mask pinned to the bottom. The mask sits in --bh-speaker-mask, flipped by build-ltr-css.mjs. */
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-intro_img {
    flex: 0 0 auto !important;
    width: 720px !important;
    height: calc(max(810px, 100vh / var(--bh-z, 1)) - 304px) !important;
    max-height: none !important;
    margin: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-intro_img img {
    width: 716px !important;
    height: calc(max(810px, 100vh / var(--bh-z, 1)) - 304px) !important;
    max-width: none !important;
    object-fit: fill !important;
    object-position: right -99999px top 0 !important;
    background: url("../../../uploads/2026/09/8F6502C7-0546-47E6-B5E2-BF6B584C0D73.jpeg") 36.64% 0 / auto max(642.3px, 100%) no-repeat !important;
    --bh-speaker-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='716' height='1000' viewBox='0 0 716 1000'%3E%3Cg transform='matrix(-1 0 0 1 716 0)'%3E%3Cpath d='M133.6 0H716V1000H27.7Q-4.3 1000 0 968.3Z'/%3E%3C/g%3E%3C/svg%3E");
    -webkit-mask: var(--bh-speaker-mask) right bottom / 716px 1000px no-repeat !important;
    mask: var(--bh-speaker-mask) right bottom / 716px 1000px no-repeat !important;
    margin: 0 auto 0 0 !important;
    display: block !important;
  }
  /* Copy: x 819–1340 (521 wide). Heading y 566 (60 under the photo), paragraph y 662. */
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-b420aba {
    width: 521px !important;
    margin: 60px 0 0 100px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-b420aba h3 {
    margin: 0 !important;
    padding: 0 !important;
    font-weight: var(--bh-fw-normal) !important;
    font-size: var(--bh-fs-26) !important;
    line-height: var(--bh-lh-26) !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-intro .elementor-element-b0369eb {
    width: 521px !important;
    margin: 33px 0 0 100px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-intro .beheshti-intro-desc {
    margin: 0 !important;
    padding: 0 !important;
    font-weight: var(--bh-fw-light) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-light) !important;
  }

  /* Bottom-left photo (Figma mask 719×304 at y 506; image 1671×1114, left −318.5). One image box spans the
     304 peek + the whole Stats section: 1057×1114 at x −338 for an 810 section. On a taller Stats section the
     box grows to 304 + H and scales uniformly about the visible centre x 340 (never stretched):
     width = 0.948833 × span-h, x = 340 − 0.608618 × span-h. Same values in the Stats rule below. */
  html:not(#fs):not(#fs) body.home #beheshti-intro .beheshti-intro-peek {
    --beheshti-span-w: 719px;
    --beheshti-span-h: calc(304px + max(810px, 100vh / var(--bh-z, 1)));
    --beheshti-span-img-w: calc(0.948833 * var(--beheshti-span-h));
    --beheshti-span-img-x: calc(340px - 0.608618 * var(--beheshti-span-h));
    /* Rounded top-right corner (r≈32), then the slant down to x 679.5 to meet the stats mask. A mask (not clip-path:
       path(), whose px don't scale) so the corner follows the box when the frame is scaled below 1440 (--bh-z). */
    clip-path: none !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 719 304' preserveAspectRatio='none'%3E%3Cpath d='M0 0H687Q719 0 714.9 31.7L679.5 304H0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 719 304' preserveAspectRatio='none'%3E%3Cpath d='M0 0H687Q719 0 714.9 31.7L679.5 304H0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat !important;
  }

  /* ── Stats (Figma 1096:1846 "Frame 9", 810: photo x 0–679 | copy x 679–1440, pad 120/100/60/100) ── */

  html:not(#fs):not(#fs) body.home #beheshti-stats .beheshti-stats-copy {
    flex: 0 0 761px !important;
    width: 761px !important;
    padding: 120px 100px 60px 100px !important;
    gap: 0 !important;
    justify-content: flex-start !important;
  }
  /* "آمار و تجربیات": Aria ExtraLight 74 / 89.54, top y 120, right edge 1340. */
  html:not(#fs):not(#fs) body.home #beheshti-stats .elementor-element-stats_title {
    margin: 0 !important;
    width: 100% !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-stats h2.elementor-heading-title {
    font-weight: var(--bh-fw-extralight) !important;
    font-size: var(--bh-fs-74) !important;
    line-height: var(--bh-lh-74) !important;
    margin: 0 !important;
  }
  /* Rows "Frame 12/13/14": 105 tall from y 435, content right-aligned, items centred, gap 24. */
  html:not(#fs):not(#fs) body.home #beheshti-stats .elementor-element-stat_item_1 {
    margin: auto 0 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-stats .elementor-element-stat_item_2,
  html:not(#fs):not(#fs) body.home #beheshti-stats .elementor-element-stat_item_3 {
    margin: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-stats .elementor-element-stat_item_1,
  html:not(#fs):not(#fs) body.home #beheshti-stats .elementor-element-stat_item_2,
  html:not(#fs):not(#fs) body.home #beheshti-stats .elementor-element-stat_item_3 {
    width: 100% !important;
    height: 105px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-stats .beheshti-stat {
    height: 105px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 24px !important;
    align-items: center !important;
    justify-content: flex-start !important; /* RTL: start = right edge */
  }
  /* Numerals: outlined Aria Light 102px with +3.5px tracking baked into the digit advances
     (fits Figma glyph positions to <1px); the space is zero-width, so all rows share x 1340. */
  html:not(#fs):not(#fs) body.home #beheshti-stats .beheshti-stat__number {
    font-family: "Aria Stat", Aria, sans-serif !important;
    font-weight: var(--bh-fw-light) !important;
    font-size: 102px !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    line-height: 105px !important;
    height: 105px !important;
    margin: 0 0 0 -4px !important; /* trailing tracking of the last digit */
    opacity: 1 !important;
    white-space: nowrap !important;
  }
  /* Labels: Aria Light 32 / 39.04, solid white. */
  html:not(#fs):not(#fs) body.home #beheshti-stats .beheshti-stat__title {
    font-weight: var(--bh-fw-light) !important;
    font-size: 32px !important;
    line-height: 39.04px !important;
    margin: 0 !important;
    opacity: 1 !important;
    color: var(--bh-color-white) !important;
  }

  /* Photo mask: 679 wide, right edge slanting 113.3px over the 810 height (x 678 → 565.7); on a taller
     section the slant keeps its angle (113.3 / 810 = 0.139877). */
  html:not(#fs):not(#fs) body.home #beheshti-stats .beheshti-stats-media {
    --beheshti-stats-h: max(810px, 100vh / var(--bh-z, 1));
    flex: 0 0 679px !important;
    width: 679px !important;
    clip-path: polygon(100% 0, 0% 0, calc(0.139877 * var(--beheshti-stats-h)) 100%, 100% 100%) !important;
  }
  /* Image (Figma "Rectangle 16"): 1668×1112, left −316.8, top −301.9. The peek's image box (see Intro):
     top −304, height 304 + H, so it always reaches the bottom of the section. */
  html:not(#fs):not(#fs) body.home #beheshti-stats .beheshti-stats-media .elementor-element-stats_img img {
    top: -304px !important;
    right: calc(340px - 0.608618 * (304px + var(--beheshti-stats-h))) !important;
    width: calc(0.948833 * (304px + var(--beheshti-stats-h))) !important;
    height: calc(304px + var(--beheshti-stats-h)) !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  /* ── Challenge (Figma 1096:1978 "Frame 10", pad 120/100/60/100, header top, body bottom) ── */

  html:not(#fs):not(#fs) body.home #beheshti-challenge h2.elementor-heading-title {
    font-weight: var(--bh-fw-extralight) !important;
    font-size: var(--bh-fs-74) !important;
    line-height: var(--bh-lh-74) !important;
    position: relative !important;
    top: 1px !important;
  }
  /* Body "Frame 56": x 100–1340, y 373–750 (list 272 + 60 gap + button 45). */
  html:not(#fs):not(#fs) body.home #beheshti-challenge .elementor-element-challenge_body_con {
    margin-top: auto !important;
    height: 377px !important;
    gap: 60px !important;
  }
  /* Rows: icon 64×64 + 32 gap + 910 text (Aria Normal 26 / 32.08), rows 40 apart. */
  html:not(#fs):not(#fs) body.home #beheshti-challenge .beheshti-challenge-item {
    gap: 32px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-challenge .beheshti-challenge-text {
    flex: 0 0 910px !important;
    width: 910px !important;
    font-weight: var(--bh-fw-normal) !important;
    font-size: var(--bh-fs-26) !important;
    line-height: var(--bh-lh-26) !important;
  }
  /* Button "Frame 88": 240×45 at x 100 (left edge), no padding around it. */
  html:not(#fs):not(#fs) body.home #beheshti-challenge .elementor-element-challenge_action_con {
    padding: 0 !important;
    height: 45px !important;
  }

  /* ── Architecture (Figma 1096:2114 "Frame 11", pad 120/100/60/100; text col x 100–650 | image col x 790–1340) ── */

  html:not(#fs):not(#fs) body.home #beheshti-architecture {
    padding: 120px 100px 60px 100px !important;
    gap: 140px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  /* Image column "Frame 155": 550×525, chart 476×525 centred. y 120–645 in the 810 frame; on a taller
     section it moves down by the extra height so it stays 165px above the bottom, with the text column. */
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_media_con {
    flex: 0 0 550px !important;
    width: 550px !important;
    height: 525px !important;
    min-height: 0 !important;
    max-height: 525px !important;
    align-self: flex-start !important;
    padding: 0 !important;
    margin: calc(max(810px, 100vh / var(--bh-z, 1)) - 810px) 0 0 0 !important;
  }
  /* Text column "Frame 54" + button row: x 100–650, y 120–750. */
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_copy_con {
    flex: 0 0 550px !important;
    width: 550px !important;
    height: 630px !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
  }
  /* Title: Aria ExtraLight 60 / 72.6 in a 470-wide box on the column's right edge, left-aligned. */
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_title {
    width: 470px !important;
    margin: 0 auto 0 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-architecture h2.elementor-heading-title {
    font-weight: var(--bh-fw-extralight) !important;
    font-size: var(--bh-fs-60) !important;
    line-height: var(--bh-lh-60) !important;
    margin: 0 !important;
    text-align: right !important;
    position: relative !important;
    top: 1px !important;
  }
  /* Paragraphs: Aria Light 20 / 28, bottom-anchored at y 485 and 561, 20 apart. */
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_desc1 {
    margin: auto 0 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_desc2 {
    margin: 20px 0 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_desc1 p,
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_desc2 p {
    margin: 0 !important;
    font-weight: var(--bh-fw-light) !important;
    font-size: var(--bh-fs-20) !important;
    line-height: 28px !important;
    color: var(--bh-color-white) !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_desc2 strong {
    font-weight: inherit !important;
  }
  /* Button: 240×45 at x 100, y 705 (60 under the paragraphs). */
  html:not(#fs):not(#fs) body.home #beheshti-architecture .elementor-element-arch_btn {
    margin: 60px 0 0 !important;
  }

  /* ── Lab (Figma 1096:2237 "Frame 12": photo x 0–764 | text col x 764–1440, pad 120/100/60/80) ── */

  html:not(#fs):not(#fs) body.home #beheshti-lab .elementor-element-lab_copy_con {
    flex: 0 0 676px !important;
    width: 676px !important;
    height: 810px !important;
    padding: 120px 80px 60px 100px !important;
    gap: 0 !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
  }
  /* Title: Aria ExtraLight 60 / 72.6, two lines, top y 120, right edge 1340. */
  html:not(#fs):not(#fs) body.home #beheshti-lab .elementor-element-lab_title {
    margin: 0 !important;
    width: 496px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-lab h2.elementor-heading-title {
    font-weight: var(--bh-fw-extralight) !important;
    font-size: var(--bh-fs-60) !important;
    line-height: var(--bh-lh-60) !important;
    margin: 0 !important;
  }
  /* Copy: Aria Light 20 / 28, 496 wide (5 lines, y 505–645); button 60 below, 320×45 at x 1020. */
  html:not(#fs):not(#fs) body.home #beheshti-lab .elementor-element-lab_desc {
    margin: auto 0 60px !important;
    width: 496px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-lab .elementor-element-lab_desc p {
    margin: 0 !important;
    font-weight: var(--bh-fw-light) !important;
    font-size: var(--bh-fs-20) !important;
    line-height: 28px !important;
    color: var(--bh-color-white) !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-lab .elementor-element-lab_btn {
    margin: 0 !important;
    width: 320px !important;
  }

  /* Photo mask: 764 wide, right edge slanting 83.5px over the 810 height (x 763.5 → 680). On a taller
     section (--bh-lab-h = the snap-section height) the slant keeps its angle (83.5 / 810 = 0.103086). */
  html:not(#fs):not(#fs) body.home #beheshti-lab .beheshti-lab-media {
    --bh-lab-h: max(810px, calc(100vh / var(--bh-z, 1)));
    flex: 0 0 764px !important;
    width: 764px !important;
    position: relative !important;
    overflow: hidden !important;
    clip-path: polygon(100% 0, 0% 0, calc(0.103086 * var(--bh-lab-h)) 100%, 100% 100%) !important;
  }
  /* Image: Figma "Rectangle 8" fill (original 1080×720 from the .fig), mirrored in the 764 mask.
     1215.6 × 810 at x −213 in an 810 section; on a taller one it grows uniformly (3:2, never stretched)
     about the mask centre x 382: width = 1.50074 H, left = 382 − 0.734568 H. */
  html:not(#fs):not(#fs) body.home #beheshti-lab .beheshti-lab-media .elementor-element-lab_img,
  html:not(#fs):not(#fs) body.home #beheshti-lab .beheshti-lab-media .elementor-element-lab_img .elementor-widget-container {
    position: static !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-lab .beheshti-lab-media .elementor-element-lab_img img {
    position: absolute !important;
    top: 0 !important;
    right: calc(382px - 0.734568 * var(--bh-lab-h)) !important;
    width: calc(1.50074 * var(--bh-lab-h)) !important;
    height: var(--bh-lab-h) !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: fill !important;
    transform: scaleX(-1) !important;
    clip-path: none !important;
  }

  /* ── Insights (Figma 1096:2357 "Frame 13", pad 120/100/60/100, gap 60) ── */

  html:not(#fs):not(#fs) body.home #beheshti-insights {
    padding: 120px 100px 60px 100px !important;
    gap: 60px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
  }
  /* Title "Frame 52": 1240×73 at y 120, Aria ExtraLight 60 / 72.6. */
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_title_wrap {
    padding: 0 !important;
    margin: 0 !important;
    height: 73px !important;
    min-height: 0 !important;
    width: 1240px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_title,
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_title .elementor-widget-container {
    margin: 0 !important;
    width: 100% !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights h2.elementor-heading-title {
    font-weight: var(--bh-fw-extralight) !important;
    font-size: var(--bh-fs-60) !important;
    line-height: var(--bh-lh-60) !important;
    margin: 0 !important;
    position: relative !important;
    top: 1px !important;
  }
  /* Cards "Frame 8": 3 × 386.67 × 412, gap 40, from y 253. */
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_posts_wrap,
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_shortcode {
    padding: 0 !important;
    margin: 0 !important;
    width: 1240px !important;
    min-height: 0 !important;
  }
  /* Title stays on top; cards + button sit at the bottom (in an 810 section the free space is 0, so the
     cards keep y 253). */
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_posts_wrap {
    margin-top: auto !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-home-archive-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 386.667px) !important;
    gap: 40px !important;
    width: 1240px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card {
    box-sizing: border-box !important;
    width: 386.667px !important;
    height: 412px !important;
    padding: 8px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__media {
    width: 370.667px !important;
    height: 235px !important;
    flex: 0 0 235px !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  /* Body "Frame 21": pad 24/16/16/16, gap 20 → cats 17, title 44 (2×21.96), meta 20. */
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__body {
    box-sizing: border-box !important;
    padding: 24px 16px 16px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    flex: 1 1 auto !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__cats {
    height: 17px !important;
    margin: 0 !important;
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__cats a {
    font-weight: var(--bh-fw-normal) !important;
    font-size: var(--bh-fs-14) !important;
    line-height: 17px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__title {
    height: 44px !important;
    margin: 0 !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__title,
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__title a {
    font-weight: var(--bh-fw-light) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-light) !important;
    color: var(--bh-color-white) !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__meta {
    height: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__date {
    font-weight: var(--bh-fw-light) !important;
    font-size: var(--bh-fs-14) !important;
    line-height: 17px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    font-weight: var(--bh-fw-normal) !important;
    font-size: 16px !important;
    line-height: 20px !important;
  }
  /* Figma chevron: 5×8 ink, 9px clear of the label, 1.5px stroke. */
  html:not(#fs):not(#fs) body.home #beheshti-insights .beheshti-archive-card__arrow {
    display: inline-block !important;
    width: 5.6px !important;
    height: 5.6px !important;
    box-sizing: border-box !important;
    border: 0 solid currentColor !important;
    border-right-width: 1.5px !important;
    border-bottom-width: 1.5px !important;
    transform: translateX(-1.4px) rotate(-45deg) !important;
  }
  /* Button "Buttons": 1240×45 at y 705 (40 under the cards), centred label. */
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_btn_wrap {
    padding: 0 !important;
    margin: -20px 0 0 !important;
    height: 45px !important;
    min-height: 0 !important;
    width: 1240px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_btn p {
    font-weight: var(--bh-fw-regular) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-regular) !important;
    padding-top: 2px !important;
    margin: 0 !important;
    color: var(--bh-color-white) !important;
  }

  /* ── FAQ (Figma 1096:2413 "Frame 43", pad 120/100/120/100, gap 160; list x 100–1100) ── */

  html:not(#fs):not(#fs) body.home #beheshti-faq {
    padding-top: 120px !important;
    gap: 160px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .elementor-element-faq_inner_con {
    padding: 0 !important;
    gap: 160px !important;
    width: 1240px !important;
    align-items: stretch !important;
  }
  /* Title: Aria ExtraLight 74 / 89.54, right edge 1340, top y 120. */
  html:not(#fs):not(#fs) body.home #beheshti-faq .elementor-element-faq_title,
  html:not(#fs):not(#fs) body.home #beheshti-faq .elementor-element-faq_title .elementor-widget-container {
    width: 1240px !important;
    max-width: none !important;
    margin: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq h2.elementor-heading-title {
    font-weight: var(--bh-fw-extralight) !important;
    font-size: var(--bh-fs-74) !important;
    line-height: var(--bh-lh-74) !important;
    margin: 0 !important;
    position: relative !important;
    top: 1px !important;
  }
  /* List "Frame 66": 1000 wide on the left edge (x 100–1100), accordions 8 apart, from y 370. */
  html:not(#fs):not(#fs) body.home #beheshti-faq .elementor-element-faq_accordion_content {
    width: 1240px !important;
    margin: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq {
    width: 1000px !important;
    margin: 0 0 0 auto !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__list {
    gap: 8px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__item,
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__item[open] {
    background: #000 !important;
    border: 0 !important;
    position: relative !important;
  }
  /* Header "Frame 59": 52 tall, pad 20/16, chevron 20×20 | text (right-aligned) + 16px "?" icon, 8 apart. */
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__summary {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    padding: 0 16px !important;
    gap: 0 !important;
    border: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__question {
    margin-left: 8px !important;
    font-weight: var(--bh-fw-light) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-light) !important;
    color: var(--bh-color-white) !important;
    position: relative !important;
    top: 1px !important;
  }
  /* Chevron "Polygon 2": 12×6, 1px white stroke, centred in a 20×20 box (open = up). */
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__chevron {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    border: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    position: relative !important;
    top: 1px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__chevron::before {
    content: "" !important;
    position: absolute !important;
    right: 50% !important;
    top: 50% !important;
    width: 8.5px !important;
    height: 8.5px !important;
    box-sizing: border-box !important;
    border: 0 solid #fff !important;
    border-left-width: 1px !important;
    border-bottom-width: 1px !important;
    transform: translate(50%, -75%) rotate(-45deg) !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__item[open] .beheshti-faq__chevron::before {
    transform: translate(50%, -25%) rotate(135deg) !important;
  }
  /* Answer "Frame 62": pad 20/16, Aria Regular 16 / 24 white, 0.5px white rule on top. */
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__answer {
    position: relative !important;
    padding: 20px 16px !important;
    font-weight: var(--bh-fw-regular) !important;
    font-size: 16px !important;
    line-height: 24px !important;
    color: var(--bh-color-white) !important;
    border: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__answer::before {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    left: 0 !important;
    top: -0.5px !important;
    height: 1px !important;
    background: #fff !important;
    transform: scaleY(0.5) !important; /* hairline that stays thin at DPR 1 and on retina */
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__answer > * {
    margin: 0 !important;
  }

  /* Answer text: paragraphs run on without spacing (24px lines); bullets sit 24px in from the right edge. */
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__answer p,
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__answer p:last-child {
    margin: 0 !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__answer ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__answer li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 0 0 24px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-faq .beheshti-faq__answer li::before {
    content: "" !important;
    position: absolute !important;
    left: 10px !important;
    top: 50% !important;
    width: 3px !important;
    height: 3px !important;
    margin-top: -1.5px !important;
    border-radius: 50% !important;
    background: #fff !important;
  }

  /* ── Footer (Figma 1096:2430 "Frame 85", 1440×803 #000: content x 90–1340, top row y 120, columns y 280, copyright y 743) ── */

  html:not(#fs):not(#fs) body.home .elementor-location-footer {
    height: 803px !important;
    min-height: 803px !important;
    max-height: 803px !important;
    padding: 0 !important;
    display: block !important;
    background: #000 !important;
  }
  html:not(#fs):not(#fs) body.home .elementor-location-footer .elementor-section,
  html:not(#fs):not(#fs) body.home .elementor-location-footer .elementor-container,
  html:not(#fs):not(#fs) body.home .elementor-location-footer .elementor-column,
  html:not(#fs):not(#fs) body.home .elementor-location-footer .elementor-widget-wrap,
  html:not(#fs):not(#fs) body.home .elementor-location-footer .elementor-widget,
  html:not(#fs):not(#fs) body.home .elementor-location-footer .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 803px !important;
  }
  html:not(#fs):not(#fs) body.home .elementor-location-footer .beheshti-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: 1440px !important;
    max-width: none !important;
    height: 803px !important;
    margin: 0 auto !important;
    padding: 120px 90px 0 100px !important;
    display: block !important;
  }
  /* Top row "Frame 122": CTA block (208×80) left, logo right (140×57), 80 tall. */
  html:not(#fs):not(#fs) body.home .beheshti-footer__top {
    height: 80px !important;
    margin: 0 0 80px !important;
    padding: 0 !important;
    gap: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__cta {
    width: 208px !important;
    height: 80px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 12px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__cta p {
    margin: 0 !important;
    height: 23px !important;
    font-weight: var(--bh-fw-medium) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-medium) !important;
    color: var(--bh-color-cyan) !important;
    text-align: right !important;
  }
  /* Columns "Frame 123": three 216.7 columns, 300 apart, from y 280. */
  html:not(#fs):not(#fs) body.home .beheshti-footer__grid {
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 216.667px) !important;
    column-gap: 300px !important;
    width: 1250px !important;
    align-items: start !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__grid h4 {
    margin: 0 0 28px !important;
    font-weight: var(--bh-fw-normal) !important;
    font-size: var(--bh-fs-26) !important;
    line-height: var(--bh-lh-26) !important;
    color: var(--bh-color-cyan) !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__col ul li a {
    font-weight: var(--bh-fw-medium) !important;
    font-size: 18px !important;
    line-height: var(--bh-lh-18-medium) !important;
    color: var(--bh-color-cyan) !important;
  }
  /* Footer link hover: white (must out-rank the cyan forced above). */
  html:not(#fs):not(#fs) body .elementor-location-footer .beheshti-footer__col a:hover,
  html:not(#fs):not(#fs) body .elementor-location-footer .beheshti-footer__col a:hover span,
  html:not(#fs):not(#fs) body .elementor-location-footer .beheshti-footer__col ul li a:hover {
    color: #fff !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__bottom {
    position: absolute !important;
    right: 90px !important;
    top: 743px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 1250px !important;
    height: 20px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__copy {
    margin: 0 !important;
    font-weight: var(--bh-fw-regular) !important;
    font-size: var(--bh-fs-14) !important;
    line-height: var(--bh-lh-14) !important;
    color: var(--bh-color-cyan) !important;
  }

  /* Column internals: titles 32.08 tall + 28 gap (social: 64), rows 23 tall 12 apart. */
  html:not(#fs):not(#fs) body.home .beheshti-footer__col {
    width: 216.667px !important;
    max-width: none !important;
    padding: 0 !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__grid h4.resane {
    margin-bottom: 64px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__col ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__col li {
    margin: 0 !important;
    padding: 0 !important;
    height: 23px !important;
    line-height: var(--bh-lh-18-medium) !important;
    font-weight: var(--bh-fw-medium) !important;
    font-size: 18px !important;
    text-align: left !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__contact li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    height: 23px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__contact li img {
    width: 20px !important;
    height: auto !important;
    max-height: 20px !important;
  }
  /* Social icons: 20px tall (widths 20 / 21.4 / 20 / 22), 24 apart, centred in 171. */
  html:not(#fs):not(#fs) body.home .beheshti-footer__social {
    width: 171px !important;
    height: 20px !important;
    gap: 24px !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 0 0 auto !important; /* RTL: auto on the right pushes the 171px box to x 90 */
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__social a {
    height: 20px !important;
    opacity: 1 !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__social a:nth-child(1) { width: 20px !important; }
  html:not(#fs):not(#fs) body.home .beheshti-footer__social a:nth-child(2) { width: 21.4px !important; }
  html:not(#fs):not(#fs) body.home .beheshti-footer__social a:nth-child(3) { width: 20px !important; }
  html:not(#fs):not(#fs) body.home .beheshti-footer__social a:nth-child(4) { width: 22px !important; }
  html:not(#fs):not(#fs) body.home .beheshti-footer__social a svg,
  html:not(#fs):not(#fs) body.home .beheshti-footer__social a img {
    width: 100% !important;
    height: 100% !important;
  }
  /* Baseline nudges measured against the Figma render (links +2px, contact text +1px, mail icon on the row top). */
  html:not(#fs):not(#fs) body.home .beheshti-footer__col:not(.beheshti-footer__contact-col) ul:not(.beheshti-footer__contact) li a {
    position: relative !important;
    top: 1px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__cta p,
  html:not(#fs):not(#fs) body.home .beheshti-footer__cta a {
    position: relative !important;
    top: 1px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__brand img {
    width: 140.1px !important;
    height: 57.4px !important;
    max-width: none !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__contact li span {
    position: relative !important;
    top: 1px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-footer__contact li:first-child img {
    align-self: flex-start !important;
    margin-top: -1px !important;
  }

  /* Button labels: Chrome centres 22.43px lines half a pixel differently from Figma in these frames. */
  html:not(#fs):not(#fs) body.home #beheshti-hero .beheshti-btn,
  html:not(#fs):not(#fs) body.home #beheshti-venn .beheshti-btn,
  html:not(#fs):not(#fs) body.home #beheshti-architecture .beheshti-btn,
  html:not(#fs):not(#fs) body.home #beheshti-lab .beheshti-btn {
    padding-top: 3px !important;
  }
  html:not(#fs):not(#fs) body.home #beheshti-insights .elementor-element-insights_btn p {
    padding-top: 3px !important;
  }

  /* ── Progress bar (Figma "Progressbar": 1440×52, #000 @40%, 0.3 white rule at y 29, 8 items × 155 from x 100) ── */
  html:not(#fs):not(#fs) body.home .beheshti-progressbar {
    height: 52px !important;
    padding: 0 100px !important;
    background: rgba(0, 0, 0, 0.4) !important;
    border: 0 !important;
    box-sizing: border-box !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-progressbar::before {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    left: 0 !important;
    /* Figma Line 24 renders at y 28.7–29.0 (0.3 white): one device row at 30% — row 28 */
    top: 28px !important;
    /* style.css centres an older 1240px rule with translateX(-50%); reset both so the rule spans the whole bar */
    width: auto !important;
    transform: none !important;
    height: 1px !important;
    background: rgba(255, 255, 255, 0.3) !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }
  /* Figma Progressbar auto-layout: pad 20 top / 16 bottom, items centred in the 16px row
     (inactive text 15 tall → y 20.5, active item 16 tall → y 20). */
  html:not(#fs):not(#fs) body.home .beheshti-timeline__steps {
    height: 52px !important;
    padding: 20px 0 16px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    gap: 0 !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-timeline__step:first-child {
    display: none !important;
  }
  /* Figma has a single 0.3 white rule across the bar; the per-step gradient connectors made a second line. */
  html:not(#fs):not(#fs) body.home .beheshti-timeline__step::after {
    display: none !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-timeline__step {
    flex: 0 0 155px !important;
    width: 155px !important;
    height: 16px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-timeline__step .beheshti-subnav-item {
    padding: 0 !important;
    font-weight: var(--bh-fw-regular) !important;
    font-size: var(--bh-fs-12) !important;
    line-height: var(--bh-lh-12) !important;
    color: var(--bh-color-white) !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-timeline__step.is-active .beheshti-subnav-item {
    font-weight: 850 !important;
    line-height: 15.612px !important;
    height: 16px !important;
    color: var(--bh-color-cyan) !important;
  }
  /* Active diamond (Figma Frame 161 + Rectangle 12): 7×7 square at 45° = 9.9 box, top at y 24.05,
     8px to the right of the label. */
  html:not(#fs):not(#fs) body.home .beheshti-timeline__step.is-active .beheshti-timeline__node {
    display: block !important;
    position: relative !important;
    flex: 0 0 9.9px !important;
    width: 9.9px !important;
    height: 9.9px !important;
    margin: 4.05px 0 0 !important;
    align-self: flex-start !important;
  }
  html:not(#fs):not(#fs) body.home .beheshti-timeline__step.is-active .beheshti-timeline__marker {
    position: absolute !important;
    right: 1.45px !important;
    top: 1.45px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 0 !important;
    transform: rotate(-45deg) !important;
    background: var(--bh-color-cyan) !important;
    box-shadow: none !important;
  }
  /* Only the active item carries the diamond; inactive labels are centred in their 155px slot. */
  html:not(#fs):not(#fs) body.home .beheshti-timeline__step:not(.is-active) .beheshti-timeline__node {
    display: none !important;
  }
  /* Architecture star + lines: natural-size vector, lines extended to frame y −400 … 1210, star centred
     in the section height (see beheshti-home-stars.css). */
  html:not(#fs):not(#fs) body.home #beheshti-architecture::before {
    background-image: url("/wp-content/themes/beheshti-child/ltr/flipped/beheshti-home--assets--home-stars--vector-4.svg?v=1791804782") !important;
    background-position: right -226px top 50% !important;
    background-size: 1479.46px 1610px !important;
    background-repeat: no-repeat !important;
  }
  /* Venn star + lines: natural-size vector, vector offset measured against the Figma star centre. */
  html:not(#fs):not(#fs) body.home #beheshti-venn::before {
    right: calc(50% - 720px) !important;
    width: 1440px !important;
    max-width: none !important;
    transform: none !important;
    background-position: right 16.1px top calc(50% + 3.6px) !important;
    background-size: 1479.46px 1610px !important;
  }
}


/*
 * Fixed Figma frames (desktop ≥1025): every Home section is the 1440 × 810 Figma frame (hero 1440 × 630),
 * centred, never stretched by the viewport height. Wider screens get the frame centred on the page
 * background (black, like the other pages). Below 1440 the whole composition scales by width only
 * (--bh-z = clientWidth / 1440, set in <head>).
 */
@media (min-width: 1025px) {
  html:not(#fs):not(#fs):not(#fs), html:not(#fs):not(#fs):not(#fs) body.home { background: #000 !important; }
  html:not(#fs):not(#fs) body.home .elementor-8 > .e-con.beheshti-snap-section {
    width: 1440px !important;
    max-width: 1440px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    height: max(810px, calc(100vh / var(--bh-z, 1))) !important;
    min-height: max(810px, calc(100vh / var(--bh-z, 1))) !important;
    max-height: none !important;
    justify-content: center !important;
    zoom: var(--bh-z, 1);
  }
  html:not(#fs):not(#fs) body.home .elementor-8 > #beheshti-hero {
    height: max(630px, calc(100vh / var(--bh-z, 1) - 180px)) !important;
    min-height: max(630px, calc(100vh / var(--bh-z, 1) - 180px)) !important;
    max-height: none !important;
  }
  html:not(#fs):not(#fs) body.home .elementor-8 > #beheshti-faq {
    height: auto !important;
    max-height: none !important;
  }
  html:not(#fs):not(#fs) body.home .elementor-location-header {
    background: #000 !important;
    zoom: var(--bh-z, 1);
  }
  html:not(#fs):not(#fs) body.home .elementor-location-header .beheshti-site-header {
    width: 1440px !important;
    max-width: 1440px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  html:not(#fs):not(#fs) body.home .elementor-location-footer {
    background: #000 !important;
    zoom: var(--bh-z, 1);
  }
  html:not(#fs):not(#fs) body.home .beheshti-progressbar {
    width: 1440px !important;
    /* below 1440 the zoomed viewport is narrower than 1440, so 50% - 720px goes negative */
    right: max(0px, calc(50% - 720px)) !important;
    left: auto !important;
    zoom: var(--bh-z, 1);
  }
}

/* Header on the other pages (growth, blog, …): same width-only scaling below 1440 so the 1440 header frame never overlaps. */
@media (min-width: 1025px) and (max-width: 1439px) {
  html:not(#fs):not(#fs) body:not(.home) .elementor-location-header {
    background: #000 !important;
    zoom: var(--bh-z, 1);
  }
  html:not(#fs):not(#fs) body:not(.home) .elementor-location-header .beheshti-site-header {
    width: 1440px !important;
    max-width: 1440px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* Lab (desktop): the star with its vertical and diagonal hairlines across the intro + pillars band, at the same place
   as the English frame (star at x 503, y 118 in the band; assets/lab/star-lines.svg has the star at (2000, 1500)).
   Overrides the old "stars: removed" rule in style.css. lab-snap.js centres the band in a window-tall frame and sets
   --bh-frame-mt / --bh-frame-h, so the hairlines run from the frame's top edge to its bottom edge. */
@media (min-width: 1025px) {
  html:not(#fs):not(#fs) body.page-id-13 .beheshti-lab-intro {
    position: relative !important;
    overflow: visible !important;
    z-index: 1 !important;
  }
  html:not(#fs):not(#fs) body.page-id-13 .beheshti-lab-intro::after {
    content: '' !important;
    position: absolute !important;
    right: 0 !important;
    left: 0 !important;
    top: calc(-1 * var(--bh-frame-mt, 0px)) !important;
    width: auto !important;
    height: var(--bh-frame-h, 810px) !important;
    margin: 0 !important;
    display: block !important;
    z-index: -1 !important;
    pointer-events: none !important;
    background: url('/wp-content/themes/beheshti-child/assets/lab/star-lines.svg') no-repeat -1496px calc(-1382px + var(--bh-frame-mt, 0px)) / 4000px 3000px !important;
    transform: none !important;
  }

  /* Blocks band (Persian): 810 tall like the artboard (the old 295 top padding made it 943, taller than the window,
     so the snap stopped twice in it), first title at y 126; the star at (720, 448) with its hairlines running from
     the frame's top edge to its bottom edge, like the intro band. English keeps its own story line (ltr-fixes.css). */
  html:not(#fs):not(#fs) body.page-id-13:not(.bh-lang-en) .beheshti-lab-blocks-wrap {
    box-sizing: border-box !important;
    height: 810px !important;
    min-height: 0 !important;
    padding-top: 107px !important; /* + the 19px above the first item = title at 126 */
    padding-bottom: 0 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
  }
  html:not(#fs):not(#fs) body.page-id-13:not(.bh-lang-en) .beheshti-lab-story-line {
    display: none !important;
  }
  html:not(#fs):not(#fs) body.page-id-13:not(.bh-lang-en) .beheshti-lab-blocks-wrap::before {
    content: '' !important;
    position: absolute !important;
    right: 0 !important;
    left: 0 !important;
    top: calc(-1 * var(--bh-frame-mt, 0px)) !important;
    height: var(--bh-frame-h, 810px) !important;
    display: block !important;
    z-index: -1 !important;
    pointer-events: none !important;
    background: url('/wp-content/themes/beheshti-child/assets/lab/star-lines.svg') no-repeat 50% calc(-1052px + var(--bh-frame-mt, 0px)) / 4000px 3000px !important;
  }
}
