.language-switch{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:100px;padding:.35rem .65rem;min-width:40px;min-height:40px;font:600 13px/1.2 system-ui;text-decoration:none;color:var(--text-primary);white-space:nowrap}.resources-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.resource-card{border:1px solid #aa958b44;border-radius:22px;padding:28px;background:var(--bg-card,#fbf8f2);display:flex;flex-direction:column;gap:20px}.resource-card h2{font-size:1.4rem;line-height:1.7}.resource-card p{line-height:1.9}.resource-card details{margin-top:auto}.resource-card summary{cursor:pointer;list-style:none}.resource-card summary::-webkit-details-marker{display:none}.resource-meta{display:flex;justify-content:space-between;align-items:center;color:#c65b2c}.resource-meta i{font-size:32px}.resource-form{display:grid;gap:16px;padding-top:24px}.resource-form label{display:grid;gap:6px}.resource-form input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #aa958b77;border-radius:10px;background:var(--bg-primary,#fffaf3);color:inherit;font:inherit}.resource-form .resource-privacy{font-size:.8rem;opacity:.8}.resource-empty{padding:60px 24px;text-align:center;border:1px dashed #aa958b77;border-radius:24px}.resource-empty>i{font-size:44px;color:#c65b2c;margin-bottom:20px}.creation-cover{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px;margin-bottom:24px}.creations-hero-art{display:block;width:min(100%,950px);margin:32px auto 0;border-radius:28px;max-height:460px;object-fit:cover}.learning-art img{object-fit:cover}.learning-art{overflow:hidden}html[lang=en] body{font-family:Arial,Helvetica,sans-serif;letter-spacing:0}html[lang=en] :is(h1,h2,h3,p){letter-spacing:normal}html[dir=ltr] :is(input,textarea){text-align:start}html[dir=ltr] .dropdown-menu{right:auto;left:0}html[dir=ltr] .fa-arrow-left{transform:rotate(180deg)}html[dir=ltr] .page-title{line-height:1.2}html[lang=en] .nav-link{font-size:13px}html[lang=en] .header-container{gap:14px}html[lang=en] .nav-menu>ul{gap:15px}@media(max-width:1200px){.header-actions>.btn{display:none}}@media(max-width:1000px){.resources-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.resources-grid{grid-template-columns:1fr}.resource-card{padding:22px}.language-switch{padding:.3rem .5rem;min-width:36px}.header-actions{gap:8px}.creations-hero-art{border-radius:18px}}
html[dir=ltr] body{direction:ltr;text-align:left}html[lang=en]{--font-main:Arial,Helvetica,sans-serif;--font-display:Arial,Helvetica,sans-serif}html[dir=ltr] .cine-title .t-open{left:clamp(24px,5vw,78px);right:auto;text-align:left;font-size:clamp(2.6rem,6.5vw,6.2rem)}html[dir=ltr] .cine-title .t-close{right:clamp(24px,5vw,78px);left:auto;text-align:right}html[dir=ltr] .cine-eyebrow{left:clamp(24px,5vw,78px);right:auto}html[dir=ltr] .cine-lede{left:clamp(24px,5vw,78px);right:auto;text-align:left;line-height:1.85}html[dir=ltr] :is(.cine-interaction-hint,.cine-manifesto-tag){direction:ltr}html[lang=en] .language-switch{color:var(--text-main,#f5e8d8);font-family:var(--font-main)}.main-header:not(.scrolled) .language-switch{color:inherit}html[dir=ltr] .cine-dock-role{min-width:210px}html[dir=ltr] .cine-dock{max-width:calc(100vw - 36px)}html[dir=ltr] .dropdown-item{text-align:left}html[dir=ltr] .learning{text-align:left}html[dir=ltr] .learning :is(h1,h2,h3,p){direction:ltr}html[dir=ltr] .learning-next{text-align:center}@media(max-width:650px){html[dir=ltr] .cine-title .t-open{font-size:clamp(2rem,9vw,3rem);left:20px}html[dir=ltr] .cine-title .t-close{right:20px}html[dir=ltr] .cine-eyebrow{left:20px;font-size:.55rem}html[dir=ltr] .cine-dock-role{min-width:0}}
@media(max-width:768px){.nav-menu{overflow-y:auto;overscroll-behavior:contain}.nav-menu.open .nav-item-dropdown:not(.open) .dropdown-menu{display:none}.nav-menu.open .nav-item-dropdown.open .dropdown-menu{display:flex}html[dir=ltr] .nav-menu{left:0;right:auto;transform:translateX(-105%);border-left:0;border-right:1px solid var(--border-medium)}html[dir=ltr] .nav-menu.open{left:0;right:auto;transform:translateX(0)}html[dir=ltr] .nav-link{font-size:1rem}.mobile-nav-toggle{z-index:1100}}
.language-switch,html[lang=en] .language-switch{color:var(--text-primary);background:var(--bg-card)}

/* Reserve the brand's space so navigation cannot collapse its mask. */
.header-container, html[lang=en] .header-container { gap: 16px; }
.header-brand-logo { flex: 0 0 78px; min-width: 78px; }
.header-brand-logo .site-logo-image { flex-shrink: 0; }
.header-actions { flex: 0 0 auto; gap: 10px; }
.header-container > .nav-menu { min-width: 0; }
.auth-user-name { max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 769px) {
    .nav-menu > ul, html[lang=en] .nav-menu > ul { gap: 2px; padding: 6px 8px; }
    .nav-link { padding: 8px 10px; }
}
/* A second navigation row keeps tablet labels readable in both languages. */
@media (min-width: 769px) and (max-width: 1100px) {
    body { padding-top: 66px; }
    .header-container { display: grid; grid-template-columns: auto 1fr; row-gap: 10px; }
    .header-brand-logo { grid-column: 1; grid-row: 1; }
    .header-actions { grid-column: 2; grid-row: 1; justify-self: end; }
    .header-container > .nav-menu { grid-column: 1 / -1; grid-row: 2; }
    .nav-menu > ul, html[lang=en] .nav-menu > ul { justify-content: space-between; gap: 0; }
    .nav-link, html[lang=en] .nav-link { font-size: 13px; padding: 8px; }
}
@media (max-width: 768px) {
    .header-brand-logo { flex-basis: 66px; min-width: 66px; }
    .header-container, html[lang=en] .header-container { gap: 12px; }
}

/* Keep the logo visible without a surrounding tile. */
.header-brand-logo { background: transparent; border-color: transparent; box-shadow: none; }

.post-hero-image { display:block; width: min(100%, 800px); height:auto; aspect-ratio:2 / 1; max-height:none; object-fit:cover; margin-inline:auto; }
.blog-card-image { aspect-ratio:2 / 1; height:auto; }
.blog-card-image img { width:100%; height:100%; object-fit:cover; }
.resource-detail { max-width:800px; margin-inline:auto; }
.resource-description { line-height:2; margin-block:24px; overflow-wrap:anywhere; }
.resource-detail .resource-form { padding:24px; border:1px solid var(--border-subtle); border-radius:20px; background:var(--bg-card); }

/* ------------------------------------------------------------------------------
   Justified published content — blog & learning resources (both languages).
   Titles and full text of every published item (cards, single post, single
   resource) are justified. `text-align-last: auto` keeps each block's final
   line aligned to the reading start (right in Persian, left in English) —
   stretching a last/one-line title edge to edge would open huge word gaps.
   ------------------------------------------------------------------------------ */
.blog-posts-section .feed-title-link,
.blog-posts-section .feed-card-desc,
.blog-feed-section .feed-title-link,
.blog-feed-section .feed-card-desc,
.resources-page .feed-title-link,
.page-hero--post .page-title,
.resources-page .resource-detail .page-title,
.post-content,
.post-content :is(p, li, h1, h2, h3, h4, h5, h6, blockquote, figcaption, dd, dt),
.resource-description {
    text-align: justify;
    text-align-last: auto;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

/* Code stays code: never justify or hyphenate preformatted text. */
.post-content :is(pre, code) {
    text-align: left;
    hyphens: manual;
    -webkit-hyphens: manual;
}

/* The post editor can store inline left/right alignment on paragraphs; the
   site rule wins so every published text block is justified. Deliberately
   centred blocks (captions, pull quotes) keep their centring. */
.post-content :is(p, li, h1, h2, h3, h4, h5, h6, blockquote, div)[style*="text-align"]:not([style*="center"]) {
    text-align: justify !important;
}

/* Justified titles need a longer measure: at the hero's 18ch cap a display
   headline fits 2–3 words per line and justification opens huge gaps. */
.page-hero--post .page-title,
.resources-page .resource-detail .page-title {
    max-width: 34ch;
}
