/*
Theme Name: Zad Journal
Theme URI: https://zad.tools
Author: Zad Tools
Description: مجلة تقنية عربية ودليل أدوات ومشاريع مفتوحة المصدر.
Version: 0.9.1
Text Domain: zad-journal
*/

[x-cloak] { display: none !important; }

:root {
    --zad-canvas: #f5f7fb;
    --zad-paper: #ffffff;
    --zad-ink: #111318;
    --zad-muted: #626b7a;
    --zad-line: #cbd3e1;
    --zad-line-strong: #111318;
    --zad-cobalt: #164bff;
    --zad-cobalt-soft: #dfe7ff;
    --zad-space: 4px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--zad-canvas);
    color: var(--zad-ink);
    font-family: "IBM Plex Sans Arabic", "Noto Sans Arabic", "Segoe UI", Tahoma, sans-serif;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
::selection { background: var(--zad-cobalt); color: #fff; }

.zad-site { min-height: 100vh; overflow: hidden; }
.zad-section { width: calc(100% - 2rem); margin-inline: auto; padding-block: clamp(6rem, 10vw, 10rem); }

.zad-header {
    position: sticky;
    z-index: 50;
    top: 0;
    border-bottom: 1px solid var(--zad-line);
    background: rgba(245, 247, 251, .96);
    transition: background-color 180ms ease, border-color 180ms ease;
}
.zad-header.is-scrolled { border-color: var(--zad-ink); background: rgba(255, 255, 255, .98); }
.zad-header-inner { display: flex; min-height: 4.75rem; width: calc(100% - 2rem); margin-inline: auto; align-items: stretch; justify-content: space-between; }
.zad-brand { display: flex; align-items: center; gap: .85rem; }
.zad-logo-mark {
    display: grid;
    width: 3.25rem;
    align-self: stretch;
    place-items: center;
    background: var(--zad-cobalt);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 900;
    transition: background-color 180ms ease;
}
.zad-brand:hover .zad-logo-mark { background: var(--zad-ink); }
.zad-brand-copy strong { display: block; font-size: 1.05rem; line-height: 1; }
.zad-brand-copy small { display: block; margin-top: .45rem; color: var(--zad-muted); font-family: ui-monospace, monospace; font-size: .58rem; letter-spacing: .12em; }
.zad-primary-nav { display: flex; align-items: stretch; }
.zad-menu { display: flex; margin: 0; padding: 0; list-style: none; }
.zad-menu a { display: grid; min-height: 4.75rem; place-items: center; border-inline-start: 1px solid var(--zad-line); padding-inline: 1.25rem; font-size: .8rem; font-weight: 800; }
.zad-menu a:hover { background: var(--zad-cobalt); color: #fff; }
.zad-search { display: flex; border-inline: 1px solid var(--zad-line); }
.zad-search input { width: 9rem; border: 0; background: transparent; padding-inline: 1rem; color: var(--zad-ink); outline: 0; }
.zad-search input:focus { background: var(--zad-paper); }
.zad-search button, .zad-menu-toggle { border: 0; background: var(--zad-ink); color: #fff; padding-inline: 1rem; font-size: .75rem; font-weight: 900; }
.zad-menu-toggle { display: none; margin-block: .75rem; }

.zad-hero { border-bottom: 1px solid var(--zad-ink); background-color: var(--zad-paper); }
.zad-atlas-grid { display: grid; min-height: min(46rem, calc(100vh - 4.75rem)); width: calc(100% - 2rem); margin-inline: auto; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.zad-hero-copy { display: flex; grid-column: span 7; flex-direction: column; justify-content: center; border-inline-end: 1px solid var(--zad-line); padding: clamp(5rem, 8vw, 8rem) clamp(2rem, 5vw, 5rem) clamp(5rem, 8vw, 8rem) 0; }
.zad-kicker { color: var(--zad-cobalt); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.zad-hero h1 { margin: 1.65rem 0 0; font-size: clamp(3.8rem, 7.2vw, 7.2rem); font-weight: 700; letter-spacing: -.055em; line-height: .86; }
.zad-hero h1 span { display: block; }
.zad-hero h1 span:last-child { color: var(--zad-cobalt); }
.zad-hero-summary { max-width: 38rem; margin: 2.5rem 0 0; color: var(--zad-muted); font-size: clamp(1rem, 1.6vw, 1.25rem); line-height: 2; }
.zad-actions { display: flex; margin-top: 2.5rem; align-items: center; gap: 1.5rem; }
.zad-button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; border: 1px solid var(--zad-ink); padding: .8rem 1.4rem; font-size: .82rem; font-weight: 900; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
.zad-button:hover { transform: translate(-3px, -3px); }
.zad-button-primary { border-color: var(--zad-cobalt); background: var(--zad-cobalt); color: #fff; }
.zad-button-primary:hover { border-color: var(--zad-ink); background: var(--zad-ink); }
.zad-button-secondary { background: transparent; color: var(--zad-ink); }
.zad-button-secondary:hover { background: var(--zad-cobalt); color: #fff; }
.zad-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .65rem; border-bottom: 1px solid var(--zad-ink); font-size: .82rem; font-weight: 900; }
.zad-text-link:hover { border-color: var(--zad-cobalt); color: var(--zad-cobalt); }

.zad-blueprint { position: relative; grid-column: span 5; min-height: 34rem; overflow: hidden; background-color: var(--zad-canvas); }
.zad-blueprint::before { position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M40 0H0V40' fill='none' stroke='%23cbd3e1' stroke-width='1'/%3E%3C/svg%3E"); content: ""; opacity: .55; }
.zad-blueprint-axis { position: absolute; z-index: 1; background: var(--zad-cobalt); }
.zad-blueprint-axis-x { top: 50%; left: 8%; width: 84%; height: 1px; }
.zad-blueprint-axis-y { top: 8%; left: 50%; width: 1px; height: 84%; }
.zad-blueprint-cube { position: absolute; z-index: 2; top: 50%; left: 50%; width: 13rem; height: 13rem; transform: translate(-50%, -50%) rotate(30deg) skew(-6deg, -6deg); }
.zad-cube-face { position: absolute; border: 2px solid var(--zad-cobalt); background: rgba(255, 255, 255, .82); }
.zad-cube-top { inset: 0; }
.zad-cube-right { inset: 2.2rem -3.8rem -2.2rem 3.8rem; background: var(--zad-cobalt-soft); }
.zad-cube-left { inset: 3.8rem 2.2rem -3.8rem -2.2rem; background: var(--zad-paper); }
.zad-blueprint-label { position: absolute; z-index: 3; display: flex; align-items: center; gap: .6rem; background: var(--zad-canvas); padding: .4rem; font-size: .7rem; font-weight: 800; }
.zad-blueprint-label b { color: var(--zad-cobalt); font-family: ui-monospace, monospace; }
.zad-blueprint-label-a { top: 13%; right: 8%; }
.zad-blueprint-label-b { bottom: 16%; left: 7%; }
.zad-blueprint-label-c { top: 22%; left: 12%; }
.zad-blueprint-caption { position: absolute; z-index: 3; right: 1.5rem; bottom: 1.25rem; margin: 0; color: var(--zad-muted); font-family: ui-monospace, monospace; font-size: .6rem; letter-spacing: .12em; }

.zad-article {
    color: var(--zad-ink);
}
.zad-article > header {
    border-color: var(--zad-line-strong) !important;
}
.zad-article-content {
    color: var(--zad-ink) !important;
}
.zad-article-content .text-white,
.zad-article-content .text-zinc-200,
.zad-article-content .text-zinc-300,
.zad-article-content .text-zinc-400,
.zad-article-content .text-zinc-500 {
    color: var(--zad-ink) !important;
}
.zad-article-content .text-emerald-300,
.zad-article-content .text-emerald-400,
.zad-article-content .text-cyan-400 {
    color: var(--zad-cobalt) !important;
}
.zad-article-content .bg-zinc-900 {
    border-color: var(--zad-line) !important;
    background: var(--zad-paper) !important;
}
.zad-article-content blockquote {
    background: var(--zad-cobalt-soft) !important;
    color: var(--zad-ink) !important;
}
.zad-article-content a {
    text-decoration: underline;
    text-underline-offset: .2em;
}

.zad-index-rail { overflow: hidden; border-bottom: 1px solid var(--zad-ink); background: var(--zad-cobalt); color: #fff; }
.zad-marquee-track { display: flex; width: max-content; animation: zad-marquee 32s linear infinite; }
.zad-marquee-group { display: flex; min-width: max-content; align-items: center; gap: 1.5rem; padding: 1rem .75rem; font-family: ui-monospace, monospace; font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.zad-marquee-group i { width: .35rem; height: .35rem; background: #fff; }
@keyframes zad-marquee { to { transform: translateX(50%); } }

.zad-site-map { width: calc(100% - 2rem); margin-inline: auto; padding-block: clamp(5rem, 8vw, 8rem); }
.zad-site-map-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 3rem; margin-bottom: 2.5rem; }
.zad-site-map-heading h2 { margin: .8rem 0 0; font-size: clamp(2.5rem, 4vw, 4.3rem); font-weight: 700; letter-spacing: -.035em; line-height: 1; }
.zad-site-map-heading > p { max-width: 36rem; margin: 0; color: var(--zad-muted); line-height: 1.9; }
.zad-site-map-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-block: 1px solid var(--zad-ink); border-inline-start: 1px solid var(--zad-ink); }
.zad-site-map-item { position: relative; display: flex; min-height: 20rem; flex-direction: column; border-inline-end: 1px solid var(--zad-ink); padding: 1.5rem; transition: background-color 180ms ease, color 180ms ease; }
.zad-site-map-item:hover { background: var(--zad-cobalt); color: #fff; }
.zad-site-map-index { color: var(--zad-cobalt); font-family: ui-monospace, monospace; font-size: .68rem; font-weight: 900; }
.zad-site-map-item:hover .zad-site-map-index { color: #fff; }
.zad-site-map-item strong { max-width: 10rem; margin-top: 2.25rem; font-size: 1.2rem; line-height: 1.5; }
.zad-site-map-item b { margin-top: auto; font-family: ui-monospace, monospace; font-size: 2.8rem; font-weight: 500; }
.zad-site-map-item p { min-height: 5.5rem; margin: .75rem 0 0; color: var(--zad-muted); font-size: .78rem; line-height: 1.75; }
.zad-site-map-item:hover p { color: rgba(255, 255, 255, .76); }
.zad-site-map-item i { position: absolute; top: 1.25rem; left: 1.25rem; font-size: 1.1rem; font-style: normal; }

.zad-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3.5rem; border-bottom: 1px solid var(--zad-ink); padding-bottom: 1.5rem; }
.zad-section-heading h2, .zad-lab-intro h2 { margin: .85rem 0 0; font-size: clamp(2.35rem, 4vw, 4.3rem); font-weight: 700; letter-spacing: -.035em; line-height: 1; }
.zad-section-heading p:not(.zad-kicker) { max-width: 42rem; margin: 1.1rem 0 0; color: var(--zad-muted); line-height: 1.9; }
.zad-news-bento { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(12, minmax(0, 1fr)); border-block: 1px solid var(--zad-ink); border-inline-start: 1px solid var(--zad-ink); }
.zad-news-cell { position: relative; min-height: 19rem; border-inline-end: 1px solid var(--zad-ink); border-bottom: 1px solid var(--zad-ink); background: var(--zad-paper); }
.zad-news-cell::before, .zad-module::before, .zad-stack-card::before { position: absolute; z-index: 2; top: .9rem; left: .9rem; color: var(--zad-cobalt); content: attr(data-index); font-family: ui-monospace, monospace; font-size: .62rem; font-weight: 900; }
.zad-news-cell-0 { grid-column: span 7; grid-row: span 2; }
.zad-news-cell-1, .zad-news-cell-2 { grid-column: span 5; }
.zad-news-cell-3, .zad-news-cell-4, .zad-news-cell-5 { grid-column: span 4; }
.zad-news-cell-0 .zad-card h2 { max-width: 42rem; font-size: clamp(1.9rem, 3vw, 3.2rem); }

.zad-card { display: flex; min-height: 100%; flex-direction: column; border: 0; background: transparent; padding: 2.25rem; transition: background-color 180ms ease, color 180ms ease; }
.zad-card:hover { background: var(--zad-cobalt); color: #fff; }
.zad-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--zad-muted); font-family: ui-monospace, monospace; font-size: .62rem; letter-spacing: .08em; }
.zad-card:hover .zad-card-meta, .zad-card:hover .zad-card-excerpt, .zad-card:hover .zad-card-metrics { color: rgba(255, 255, 255, .78); }
.zad-owned { border: 1px solid currentColor; padding: .25rem .45rem; }
.zad-card h2 { margin: 2.25rem 0 0; font-size: 1.35rem; font-weight: 700; line-height: 1.45; }
.zad-card-excerpt { flex: 1; margin-top: 1rem; color: var(--zad-muted); font-size: .88rem; line-height: 1.9; }
.zad-card-excerpt p { margin: 0; }
.zad-card-metrics, .zad-card-actions { display: flex; margin-top: 1.5rem; gap: 1rem; border-top: 1px solid currentColor; padding-top: 1rem; font-size: .72rem; }
.zad-card-actions { justify-content: space-between; font-weight: 900; }
.zad-card-actions a:last-child { color: var(--zad-cobalt); }
.zad-card:hover .zad-card-actions a:last-child { color: #fff; }

.zad-community { border-block: 1px solid var(--zad-ink); background: var(--zad-paper); }
.zad-module-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-block: 1px solid var(--zad-ink); border-inline-start: 1px solid var(--zad-ink); }
.zad-module { position: relative; min-width: 0; border-inline-end: 1px solid var(--zad-ink); }
.zad-module .zad-card { min-height: 29rem; padding: 3.25rem 1.5rem 1.5rem; }
.zad-module .zad-card h2 { font-size: 1.15rem; }

.zad-lab { background: var(--zad-canvas); }
.zad-lab-intro { display: grid; grid-template-columns: .8fr 1.2fr; align-items: end; gap: 4rem; margin-bottom: 5rem; border-bottom: 1px solid var(--zad-ink); padding-bottom: 2.5rem; }
.zad-lab-intro > p { margin: 0; color: var(--zad-muted); font-size: 1.05rem; line-height: 2; }
.zad-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid var(--zad-ink); border-inline-start: 1px solid var(--zad-ink); }
.zad-stack-card { position: relative; border-inline-end: 1px solid var(--zad-ink); border-bottom: 1px solid var(--zad-ink); background: var(--zad-paper); }
.zad-stack-card:first-child { grid-column: span 2; }
.zad-stack-card > article { border: 0 !important; background: var(--zad-paper) !important; color: var(--zad-ink) !important; }
.zad-stack-card [class*="border-zinc"] { border-color: var(--zad-line) !important; }
.zad-stack-card [class*="bg-zinc-950"], .zad-stack-card [class*="bg-\[\#09090b\]"] { background-color: var(--zad-paper) !important; }
.zad-stack-card [class*="text-zinc-100"], .zad-stack-card [class*="text-zinc-200"], .zad-stack-card [class*="text-white"], .zad-stack-card [class*="text-zinc-300"] { color: var(--zad-ink) !important; }
.zad-stack-card [class*="text-zinc-4"], .zad-stack-card [class*="text-zinc-5"], .zad-stack-card [class*="text-zinc-6"] { color: var(--zad-muted) !important; }
.zad-stack-card [class*="text-emerald"], .zad-stack-card [class*="text-cyan"] { color: var(--zad-cobalt) !important; }
.zad-stack-card [class*="bg-emerald"] { background-color: var(--zad-cobalt) !important; color: #fff !important; }
.zad-stack-card [class*="border-emerald"], .zad-stack-card [class*="border-cyan"] { border-color: var(--zad-cobalt) !important; }
.zad-stack-card article > div:first-child button[aria-selected="true"] { background: var(--zad-cobalt) !important; color: #fff !important; }
.zad-stack-card .aspect-video { background: #eef2fa !important; }
.zad-section-action { margin-top: 2.5rem; text-align: center; }

.zad-editorial { border-block: 1px solid var(--zad-ink); background: var(--zad-paper); }
.zad-editorial-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 4rem; }
.zad-editorial h2 { max-width: 32rem; margin: 1.2rem 0 0; font-size: clamp(2.5rem, 4vw, 4.4rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.05; }
.zad-feedback { border-inline-start: 6px solid var(--zad-cobalt); background: var(--zad-canvas); }
.zad-feedback-copy { min-height: 24rem; padding: clamp(2rem, 5vw, 5rem); }
.zad-feedback blockquote { margin: 0; }
.zad-feedback strong { display: block; font-size: clamp(2rem, 3vw, 3.5rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.15; }
.zad-feedback p { max-width: 38rem; margin: 1.5rem 0 0; color: var(--zad-muted); font-size: 1.05rem; line-height: 1.9; }
.zad-feedback-controls { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--zad-line); }
.zad-feedback-control { height: 3.5rem; border: 0; border-inline-end: 1px solid var(--zad-line); background: transparent; color: var(--zad-muted); cursor: pointer; font-family: ui-monospace, monospace; font-size: .7rem; font-weight: 900; }
.zad-feedback-control.is-active { background: var(--zad-cobalt); color: #fff; }

.zad-cobalt-band { display: grid; min-height: 25rem; grid-template-columns: 1fr auto; align-items: end; gap: 3rem; padding: clamp(4rem, 8vw, 8rem) 1rem; background: var(--zad-cobalt); color: #fff; }
.zad-cobalt-band .zad-kicker { color: #fff; }
.zad-cobalt-band h2 { max-width: 70rem; margin: 1rem 0 0; font-size: clamp(3.4rem, 7vw, 7rem); font-weight: 700; letter-spacing: -.05em; line-height: .95; }
.zad-band-action { display: flex; min-height: 7rem; min-width: 13rem; align-items: center; justify-content: space-between; gap: 2rem; border: 1px solid #fff; padding: 1.5rem; font-size: .9rem; font-weight: 900; }
.zad-band-action:hover { background: #fff; color: var(--zad-cobalt); }
.zad-band-action span { font-size: 2rem; }

.zad-footer { border-top: 1px solid var(--zad-ink); background: var(--zad-paper); }
.zad-footer-grid { display: grid; width: calc(100% - 2rem); margin-inline: auto; grid-template-columns: 1fr 1fr; align-items: end; gap: 3rem; padding-block: 4rem; }
.zad-footer-brand { margin: 0; font-size: 3rem; font-weight: 900; }
.zad-footer-summary { max-width: 30rem; margin: .75rem 0 0; color: var(--zad-muted); line-height: 1.8; }
.zad-footer-meta { text-align: left; color: var(--zad-muted); font-family: ui-monospace, monospace; font-size: .68rem; letter-spacing: .08em; }

.zad-tools-directory { width: calc(100% - 2rem); margin-inline: auto; padding-bottom: 8rem; }

.zad-full-frame,
.zad-article {
    width: calc(100% - 2rem);
    max-width: none;
    margin-inline: auto;
}
.zad-article > header,
.zad-article > .zad-article-content,
.zad-article > footer,
.zad-article > aside,
.zad-page-shell > h1,
.zad-page-shell > .zad-page-content {
    width: min(100%, 72rem);
    margin-inline: auto;
}
.zad-tools-hero { display: grid; min-height: 30rem; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; border-bottom: 1px solid var(--zad-ink); }
.zad-tools-hero > div:first-child { grid-column: span 7; padding: 7rem 0 3rem; }
.zad-tools-hero h1 { max-width: 48rem; margin: 1rem 0 0; font-size: clamp(3.5rem, 6vw, 6.5rem); font-weight: 700; letter-spacing: -.05em; line-height: .95; }
.zad-tools-hero-copy { grid-column: span 5; border-inline-start: 1px solid var(--zad-line); padding: 3rem; }
.zad-tools-hero-copy > p { max-width: 34rem; margin: 0; color: var(--zad-muted); line-height: 2; }
.zad-tools-counts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 2.5rem 0 0; border-block: 1px solid var(--zad-line); }
.zad-tools-counts div { padding-block: 1rem; }
.zad-tools-counts dt { color: var(--zad-muted); font-size: .7rem; }
.zad-tools-counts dd { margin: .4rem 0 0; color: var(--zad-cobalt); font-family: ui-monospace, monospace; font-size: 1.6rem; }
.zad-topic-index { display: flex; align-items: center; border-bottom: 1px solid var(--zad-ink); overflow-x: auto; }
.zad-topic-index > span { min-width: max-content; padding: 1rem 0 1rem 2rem; color: var(--zad-muted); font-size: .72rem; font-weight: 700; }
.zad-topic-index a { min-width: max-content; border-inline-start: 1px solid var(--zad-line); padding: 1rem 1.25rem; font-size: .75rem; font-weight: 600; }
.zad-topic-index a:hover { background: var(--zad-cobalt); color: #fff; }
.zad-topic-index sup { margin-inline-start: .4rem; color: var(--zad-cobalt); font-family: ui-monospace, monospace; }
.zad-topic-index a:hover sup { color: #fff; }
.zad-directory-group { padding-top: clamp(6rem, 9vw, 9rem); }
.zad-directory-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 3rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--zad-ink); padding-bottom: 1.5rem; }
.zad-directory-heading h2 { margin: .8rem 0 0; font-size: clamp(2.5rem, 4vw, 4.3rem); font-weight: 700; letter-spacing: -.035em; line-height: 1; }
.zad-directory-heading > p { max-width: 34rem; margin: 0; color: var(--zad-muted); line-height: 1.9; }
.zad-project-index-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--zad-ink); border-inline-start: 1px solid var(--zad-ink); }
.zad-project-index-grid-compact { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.zad-project-index-grid-compact .zad-project-index-card { grid-column: span 4; }
.zad-project-index-grid-compact .zad-project-index-card:first-child { grid-column: span 5; }
.zad-project-index-grid-compact .zad-project-index-card:last-child { grid-column: span 3; }
.zad-project-index-card { position: relative; display: flex; min-width: 0; flex-direction: column; border-inline-end: 1px solid var(--zad-ink); border-bottom: 1px solid var(--zad-ink); background: var(--zad-paper); }
.zad-project-index-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-bottom: 1px solid var(--zad-ink); background: #eef2fa; }
.zad-project-index-media img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 400ms cubic-bezier(.16, 1, .3, 1); }
.zad-project-index-card:hover .zad-project-index-media img { transform: scale(1.025); }
.zad-project-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: var(--zad-cobalt); }
.zad-project-placeholder b { font-size: clamp(5rem, 10vw, 9rem); font-weight: 500; }
.zad-project-placeholder::before, .zad-project-placeholder::after { position: absolute; background: var(--zad-line); content: ""; }
.zad-project-placeholder::before { width: 1px; height: 72%; }
.zad-project-placeholder::after { width: 72%; height: 1px; }
.zad-project-index-body { display: flex; min-height: 23rem; flex: 1; flex-direction: column; padding: 1.75rem; }
.zad-project-index-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; color: var(--zad-muted); font-family: ui-monospace, monospace; font-size: .58rem; letter-spacing: .06em; }
.zad-project-index-meta span:first-child { color: var(--zad-cobalt); font-weight: 900; }
.zad-project-index-card h3 { margin: 2rem 0 0; font-size: clamp(1.7rem, 2.5vw, 2.6rem); font-weight: 700; line-height: 1.2; }
.zad-project-index-card h3 a:hover { color: var(--zad-cobalt); }
.zad-project-index-body > p { margin: 1rem 0 0; color: var(--zad-muted); line-height: 1.85; }
.zad-project-topics { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.zad-project-topics span { border-bottom: 1px solid var(--zad-line); padding-bottom: .3rem; color: var(--zad-muted); font-size: .68rem; }
.zad-project-index-footer { display: flex; margin-top: auto; align-items: end; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--zad-line); padding-top: 1rem; }
.zad-project-metrics, .zad-project-links { display: flex; gap: 1rem; font-family: ui-monospace, monospace; font-size: .68rem; }
.zad-project-metrics { color: var(--zad-muted); }
.zad-project-links { font-family: inherit; font-weight: 700; }
.zad-project-links a:last-child { color: var(--zad-cobalt); }
.zad-project-links a:hover { text-decoration: underline; text-underline-offset: .35rem; }

@media (max-width: 1023px) {
    .zad-atlas-grid { min-height: auto; }
    .zad-hero-copy, .zad-blueprint { grid-column: span 6; }
    .zad-hero h1 { font-size: clamp(3.6rem, 7vw, 5.5rem); }
    .zad-module-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zad-module:last-child { grid-column: span 2; }
    .zad-site-map-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zad-site-map-item:last-child { grid-column: span 2; }
    .zad-project-index-grid-compact .zad-project-index-card,
    .zad-project-index-grid-compact .zad-project-index-card:first-child,
    .zad-project-index-grid-compact .zad-project-index-card:last-child { grid-column: span 6; }
}

@media (max-width: 767px) {
    .zad-section { width: calc(100% - 1.25rem); padding-block: 5.5rem; }
    .zad-header-inner { width: calc(100% - 1.25rem); }
    .zad-brand-copy small { display: none; }
    .zad-menu-toggle { display: block; }
    .zad-primary-nav { position: absolute; top: 4.75rem; right: .625rem; left: .625rem; display: none; border: 1px solid var(--zad-ink); background: var(--zad-paper); }
    .zad-primary-nav.is-open { display: block; }
    .zad-menu { display: block; }
    .zad-menu a { min-height: 3.5rem; justify-content: start; border-bottom: 1px solid var(--zad-line); border-inline-start: 0; padding-inline: 1rem; }
    .zad-search { min-height: 3.5rem; border: 0; }
    .zad-search input { flex: 1; width: auto; }
    .zad-atlas-grid { display: block; width: calc(100% - 1.25rem); }
    .zad-hero-copy { border-inline-end: 0; padding: 5rem 0 4rem; }
    .zad-hero h1 { font-size: clamp(3rem, 14.5vw, 4rem); line-height: .94; }
    .zad-blueprint { min-height: 26rem; border-top: 1px solid var(--zad-ink); }
    .zad-actions { align-items: start; flex-direction: column; }
    .zad-section-heading { align-items: start; flex-direction: column; }
    .zad-news-bento { display: block; border-bottom: 0; }
    .zad-news-cell { min-height: 17rem; }
    .zad-news-cell-0 .zad-card h2 { font-size: 2rem; }
    .zad-module-strip, .zad-stack { display: block; }
    .zad-module .zad-card { min-height: 20rem; }
    .zad-lab-intro, .zad-editorial-grid { display: block; }
    .zad-lab-intro > p { margin-top: 2rem; }
    .zad-editorial h2 { margin-bottom: 3rem; }
    .zad-feedback-copy { min-height: 22rem; }
    .zad-cobalt-band { display: block; min-height: auto; }
    .zad-cobalt-band h2 { font-size: clamp(3rem, 15vw, 4.8rem); }
    .zad-band-action { margin-top: 3rem; }
    .zad-footer-grid { display: block; }
    .zad-footer-meta { margin-top: 3rem; text-align: right; }
    .zad-site-map { width: calc(100% - 1.25rem); }
    .zad-site-map-heading, .zad-directory-heading { display: block; }
    .zad-site-map-heading > p, .zad-directory-heading > p { margin-top: 1.5rem; }
    .zad-site-map-grid { display: block; border-bottom: 0; }
    .zad-site-map-item { min-height: 16rem; border-bottom: 1px solid var(--zad-ink); }
    .zad-site-map-item:last-child { grid-column: auto; }
    .zad-tools-directory { width: calc(100% - 1.25rem); }
    .zad-full-frame, .zad-article { width: calc(100% - 1.25rem); }
    .zad-tools-hero { display: block; min-height: auto; }
    .zad-tools-hero > div:first-child { padding: 5rem 0 2.5rem; }
    .zad-tools-hero h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
    .zad-tools-hero-copy { border-inline-start: 0; border-top: 1px solid var(--zad-line); padding: 2rem 0; }
    .zad-tools-counts { margin-top: 2rem; }
    .zad-topic-index { margin-inline: -.625rem; padding-inline: .625rem; }
    .zad-project-index-grid, .zad-project-index-grid-compact { display: block; }
    .zad-project-index-body { min-height: 21rem; }
    .zad-directory-group { padding-top: 5.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .zad-marquee-track { animation: none; }
    .zad-button, .zad-logo-mark { transition: none; }
}
