/* Flagship news desk — shell, type, lead, breaking */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,650;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap");

.site-newsdesk {
    --desk-ink: #f7f3ea;
    --desk-muted: rgba(247, 243, 234, 0.58);
    --desk-dim: rgba(247, 243, 234, 0.38);
    --desk-line: rgba(247, 243, 234, 0.1);
    --desk-panel: #14171f;
    --desk-panel-2: #1a1e28;
    --desk-ember: var(--site-primary, #e6a012);
    --desk-ember-soft: color-mix(in srgb, var(--desk-ember) 16%, transparent);
    --desk-display: "Fraunces", "Morabba", Georgia, serif;
    --desk-ui: "Manrope", "Vazirmatn", system-ui, sans-serif;
    --desk-max: 1400px;
    color: var(--desk-ink);
    font-family: var(--desk-ui);
    background:
        radial-gradient(900px 380px at 8% -5%, color-mix(in srgb, var(--desk-ember) 14%, transparent), transparent 55%),
        radial-gradient(700px 320px at 92% 0%, rgba(70, 110, 150, 0.1), transparent 50%),
        #0a0b0f;
    padding-bottom: 4.5rem;
}

.site-newsdesk a { color: inherit; text-decoration: none; }

.desk-shell {
    width: min(100% - 2.5rem, var(--desk-max));
    margin-inline: auto;
}

.desk-kicker {
    margin: 0 0 0.55rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--desk-ember);
}

.desk-kicker--inline { margin: 0; }

.desk-display {
    margin: 0;
    font-family: var(--desk-display);
    font-size: clamp(2.1rem, 4.2vw, 3.35rem);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -0.025em;
    max-width: 11ch;
}

.desk-dek {
    margin: 0.95rem 0 0;
    max-width: 34ch;
    color: var(--desk-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

.desk-dek--compact { max-width: 40ch; margin-top: 0.7rem; }

.desk-section-title {
    margin: 0;
    font-family: var(--desk-display);
    font-size: clamp(1.45rem, 2.4vw, 1.95rem);
    font-weight: 650;
    letter-spacing: -0.02em;
}

.desk-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--desk-line);
}

.desk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.65rem;
    padding: 0.55rem 1.15rem;
    border: 1px solid transparent;
    border-radius: 0.7rem;
    font-size: 0.8rem;
    font-weight: 750;
    letter-spacing: 0.02em;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, filter 0.2s ease;
}

.desk-btn--primary { background: var(--desk-ember); color: #12100a; }
.desk-btn--primary:hover { transform: translateY(-1px); color: #12100a; filter: brightness(1.06); }
.desk-btn--ghost { border-color: var(--desk-line); color: var(--desk-ink); }
.desk-btn--ghost:hover { border-color: color-mix(in srgb, var(--desk-ember) 50%, var(--desk-line)); background: var(--desk-ember-soft); }

.desk-link-quiet,
.desk-text-link {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--desk-muted);
}

.desk-text-link {
    display: inline-flex;
    margin-top: 0.85rem;
    color: var(--desk-ember);
    border-bottom: 1px solid color-mix(in srgb, var(--desk-ember) 40%, transparent);
}

.desk-link-quiet:hover,
.desk-text-link:hover { color: var(--desk-ember); }

.desk-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.65rem;
    margin-bottom: 0.45rem;
    font-size: 0.7rem;
    color: var(--desk-dim);
    font-variant-numeric: tabular-nums;
}

.desk-meta__cat { color: var(--desk-muted); }

.desk-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.14rem 0.45rem;
    border: 1px solid var(--desk-line);
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--desk-ink);
}

.desk-chip--accent {
    border-color: color-mix(in srgb, var(--desk-ember) 45%, transparent);
    color: var(--desk-ember);
    background: var(--desk-ember-soft);
}

.desk-chip--alert {
    border-color: rgba(255, 90, 60, 0.45);
    color: #ff8f7a;
    background: rgba(255, 90, 60, 0.08);
}

/* Breaking — scrolls away with the page (not sticky under mast) */
.desk-breaking {
    position: relative;
    z-index: 2;
    border-bottom: 1px solid var(--desk-line);
    background: rgba(10, 11, 15, 0.92);
    backdrop-filter: blur(12px);
}

.desk-breaking__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding-block: 0.5rem;
}

.desk-breaking__live {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #ff8f7a;
}

.desk-breaking__live i {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: #ff5a3c;
    animation: desk-pulse 1.6s ease-out infinite;
}

@keyframes desk-pulse {
    70% { box-shadow: 0 0 0 7px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

.desk-breaking__track {
    display: flex;
    gap: 1.35rem;
    overflow: hidden;
    white-space: nowrap;
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.desk-breaking__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    font-size: 0.8rem;
    color: var(--desk-muted);
    animation: desk-marquee 48s linear infinite;
}

.desk-breaking__item:hover { color: var(--desk-ink); }
.desk-breaking__dot { width: 0.25rem; height: 0.25rem; border-radius: 50%; background: var(--desk-ember); }

@keyframes desk-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

html[dir="rtl"] .desk-breaking__item { animation-name: desk-marquee-rtl; }
@keyframes desk-marquee-rtl {
    from { transform: translateX(0); }
    to { transform: translateX(50%); }
}

.desk-breaking__all {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--desk-ember);
    white-space: nowrap;
}

.desk-rail-title {
    margin: 0 0 0.65rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--desk-dim);
}

.desk-stack {
    list-style: none;
    margin: 0;
    padding: 0;
}

.desk-stack__index {
    font-family: var(--desk-display);
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--desk-ember);
    line-height: 1.2;
}

.desk-stack__title {
    display: block;
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.35;
}

.desk-stack__title:hover { color: var(--desk-ember); }

.desk-stack__meta {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.68rem;
    color: var(--desk-dim);
}

.desk-stack__empty {
    padding: 0.85rem 0;
    font-size: 0.85rem;
    color: var(--desk-muted);
}

.site-newsdesk--inner { padding-top: 0.75rem; min-height: 55vh; }

body:has(.site-newsdesk) .site-header.transparent {
    background: #0a0b0f;
}

body:has(.site-newsdesk) .site-header.transparent .site-nav-bar,
body:has(.site-newsdesk) .site-header--solid .site-nav-bar,
body:has(.site-newsdesk) .site-header.menu-sticky .site-nav-bar {
    background: rgba(10, 11, 15, 0.97);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--desk-line, rgba(247, 243, 234, 0.1));
}

@media (max-width: 767.98px) {
    .desk-breaking__inner { grid-template-columns: auto minmax(0, 1fr); }
    .desk-breaking__all { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .desk-breaking__item,
    .desk-breaking__live i,
    .desk-spotlight__img,
    .desk-spotlight__slide { animation: none !important; transition: none !important; }
}

