
.hero.page-hero { min-height: auto; padding: 9.5rem 0 4rem; }
.page-hero-content { max-width: 860px; margin: 0 auto; text-align: center; }
.page-hero .hero-description { margin-bottom: 0; }

.post-card-meta, .post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; font-size: 0.82rem; color: var(--color-text-secondary); }
.post-tag { display: inline-block; padding: 3px 10px; border-radius: 100px; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--color-accent-primary); background: rgba(0, 255, 136, 0.08); border: 1px solid rgba(0, 255, 136, 0.22); }
[data-theme="light"] .post-tag { background: rgba(0, 143, 80, 0.08); border-color: rgba(0, 143, 80, 0.25); }

.post-index { padding: 4rem 0 6rem; }
.post-index-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 3rem; align-items: start; }
.post-list { display: flex; flex-direction: column; gap: 1rem; }
.post-row, .post-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; padding: 1.6rem 1.75rem; border-radius: 14px;
    background: var(--color-bg-secondary); border: 1px solid var(--color-border); transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }
.post-row:hover, .post-card:hover { border-color: var(--color-accent-primary); transform: translateY(-2px); box-shadow: 0 12px 30px -18px rgba(0, 0, 0, 0.5); }
.post-row:focus-visible, .post-card:focus-visible { outline: 2px solid var(--color-accent-primary); outline-offset: 3px; }
.post-card-title { display: block; margin: 0.7rem 0 0.45rem; font-size: 1.25rem; font-weight: 700; line-height: 1.3; color: var(--color-text-primary); }
.post-card-summary { display: block; color: var(--color-text-secondary); line-height: 1.6; }
.post-read { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 1rem; font-weight: 600; font-size: 0.9rem; color: var(--color-accent-primary); }
.post-read svg, .post-back svg, .post-feed svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
[dir="rtl"] .post-read svg, [dir="rtl"] .post-back svg { transform: scaleX(-1); }
.post-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
.post-cards-blog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-card-image { display: block; aspect-ratio: 16 / 10; margin-bottom: 1.1rem; border-radius: 10px; overflow: hidden; background: var(--color-bg-tertiary); }
.post-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.post-card-image.is-mark img, .post-card-image.is-tall img { object-fit: contain; object-position: center; padding: 22%; }
.post-card-image.is-tall img { padding: 8%; }
.post-card-image.is-icon { display: flex; align-items: center; justify-content: center; }
.post-card-image.is-icon img { width: 46%; height: auto; border-radius: 22.5%; box-shadow: 0 12px 28px -12px rgba(0, 0, 0, 0.5); }
[data-theme="dark"] .post-card-image.is-mark img { filter: invert(1) brightness(1.6); }
.post-feed { display: inline-flex; align-items: center; gap: 0.45rem; margin-top: 1.75rem; font-size: 0.88rem; color: var(--color-text-secondary); text-decoration: none; }
.post-feed:hover { color: var(--color-accent-primary); }

.post-aside { position: sticky; top: 110px; padding: 1.6rem 1.75rem; border-radius: 14px; background: var(--color-bg-secondary); border: 1px solid var(--color-border); }
.post-aside-title { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.4rem; }
.post-aside-intro { color: var(--color-text-secondary); font-size: 0.9rem; line-height: 1.55; margin: 0 0 0.75rem; }
.media-list { list-style: none; margin: 0; padding: 0; }
.media-list li + li { border-top: 1px solid var(--color-border); }
.media-list a { display: flex; flex-direction: column; gap: 0.25rem; padding: 0.95rem 0; text-decoration: none; color: inherit; }
.media-outlet { font-weight: 700; color: var(--color-text-primary); }
.media-title { color: var(--color-text-secondary); line-height: 1.45; font-size: 0.92rem; }
.media-meta { color: var(--color-text-tertiary); font-size: 0.78rem; }
.media-list a:hover .media-outlet { color: var(--color-accent-primary); }
.post-aside .post-feed { margin-top: 1rem; }

.post-narrow { max-width: 780px; margin-inline: auto; }
.post-head { padding: 8.5rem 0 1.5rem; }
.post-back { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.9rem; color: var(--color-text-secondary); text-decoration: none; }
.post-back:hover { color: var(--color-accent-primary); }
.post-meta { margin: 1.6rem 0 1rem; }
.post-by::before { content: "\00b7"; margin-inline-end: 0.75rem; }
.post-title { font-size: clamp(2rem, 4.6vw, 3.1rem); font-weight: 700; line-height: 1.15; margin: 0; color: var(--color-text-primary); }
.post-summary { margin: 1.1rem 0 0; font-size: 1.2rem; line-height: 1.6; color: var(--color-text-secondary); }
.post-figure { margin-top: 2rem; margin-bottom: 0; }
.post-figure img { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 24px 50px -24px rgba(0, 0, 0, 0.55); }
.post-figure.is-tall img { width: auto; max-width: 240px; margin: 0 auto; }
.post-figure.is-icon img { width: 200px; max-width: 50%; margin: 0 auto; border-radius: 22.5%; }
.post-card-image.is-logo img { border-radius: 0; box-shadow: none; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.35)); }
.post-figure.is-logo img { width: 200px; max-width: 50%; margin: 0 auto; border-radius: 0; box-shadow: none; filter: drop-shadow(0 18px 24px rgba(0, 0, 0, 0.35)); }
.post-figure.is-cutout img { width: auto; max-width: min(100%, 520px); margin: 0 auto; border-radius: 0; box-shadow: none; filter: drop-shadow(0 26px 30px rgba(0, 0, 0, 0.35)); }
.post-body { padding-top: 2.25rem; padding-bottom: 4rem; font-size: 1.075rem; line-height: 1.8; color: var(--color-text-primary); }
.post-body p { margin: 0 0 1.3rem; }
.post-body h2 { font-size: 1.45rem; line-height: 1.3; margin: 2.6rem 0 1rem; }
.post-body ul { margin: 0 0 1.3rem; padding-inline-start: 1.3rem; }
.post-body li { margin: 0.45rem 0; }
.post-body a { color: var(--color-accent-primary); text-underline-offset: 3px; }
.post-body code { padding: 2px 6px; border-radius: 5px; font-size: 0.9em; background: var(--color-bg-tertiary); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; direction: ltr; unicode-bidi: isolate; }
.post-body pre { margin: 0 0 1.4rem; padding: 1rem 1.2rem; border-radius: 10px; overflow-x: auto; background: var(--color-bg-tertiary); direction: ltr; text-align: left; }
.post-body pre code { padding: 0; background: none; font-size: 0.88em; line-height: 1.6; }
.post-more { padding: 3.5rem 0 6rem; border-top: 1px solid var(--color-border); }
.post-more-title { font-size: 1.35rem; margin: 0 0 1.5rem; }

.careers-section { padding: 5rem 0; }
.careers-how { background: var(--color-bg-secondary); }
.careers-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.careers-card { padding: 1.75rem; border-radius: 14px; background: var(--color-bg-secondary); border: 1px solid var(--color-border); }
.careers-icon { width: 32px; height: 32px; fill: none; stroke: var(--color-accent-primary); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.careers-card h3 { font-size: 1.15rem; margin: 1rem 0 0.5rem; }
.careers-card p { margin: 0; color: var(--color-text-secondary); line-height: 1.6; }
.careers-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.careers-points li { display: flex; gap: 0.8rem; align-items: flex-start; font-size: 1.05rem; line-height: 1.6; }
.careers-points svg { width: 22px; height: 22px; flex: none; margin-top: 2px; fill: none; stroke: var(--color-accent-primary); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.careers-open { text-align: center; padding: 3rem 2rem; border-radius: 16px; background: var(--color-bg-secondary); border: 1px solid var(--color-border); }
.careers-open-title { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0.75rem 0 0.75rem; }
.careers-open p { color: var(--color-text-secondary); line-height: 1.6; max-width: 560px; margin: 0 auto 1.75rem; }
.careers-open-links { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
[data-theme="light"] .careers-how { background: #eef0f2; }

@media (max-width: 1024px) {
    .careers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .post-index-grid { grid-template-columns: 1fr; }
    .post-cards-blog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .post-aside { position: static; }
}
@media (max-width: 768px) {
    .careers-grid { grid-template-columns: 1fr; }
    .hero.page-hero { padding: calc(80px + 3rem) 0 2.5rem; }
    .post-index { padding: 2.5rem 0 4rem; }
    .post-row, .post-card, .post-aside { padding: 1.3rem 1.25rem; }
    .post-cards { grid-template-columns: 1fr; }
    .post-head { padding: calc(80px + 2.5rem) 0 1rem; }
    .post-body { font-size: 1.02rem; }
    .careers-section { padding: 3rem 0; }
    .careers-open { padding: 2.25rem 1.25rem; }
    .careers-open-links .btn { width: 100%; justify-content: center; }
}
