:root {
  --bg: #050505; --bg-soft: #0d0d0f; --surface: #151216;
  --line: rgba(255, 255, 255, 0.13); --text: #f8f7f7;
  --muted: #aaa5a7; --accent: #54101b; --accent-bright: #8a1c2c; --neon: #dfff45; --accent-dark: #080507; --max: 1320px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text); background: var(--bg); color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--bg); font-size: 16px; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
.shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.eyebrow { margin: 0 0 14px; color: var(--accent-bright); font-size: .78rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; line-height: 1.08; letter-spacing: -.035em; }
h1 { max-width: 900px; font-size: clamp(3rem, 8vw, 7rem); font-weight: 820; }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); }
h3 { font-size: 1.35rem; }
p { margin: 0; color: var(--muted); }
.lead { max-width: 720px; font-size: clamp(1.08rem, 1.7vw, 1.3rem); color: #d7d3d4; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border: 1px solid var(--accent); border-radius: 999px; background: var(--accent); color: #fff; font-weight: 750; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); background: #6a1422; }
.button.secondary { background: transparent; color: var(--text); border-color: var(--line); }
.button.secondary:hover { border-color: var(--accent); }
.section { padding: 104px 0; border-top: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.section-heading p { max-width: 560px; }
.grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.card { position: relative; min-height: 280px; padding: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--bg-soft); }
.card p { margin-top: 14px; }
.card-link { position: absolute; inset: 0; border-radius: inherit; }
.card:hover { border-color: rgba(138,28,44,.72); }
.card-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 58px; }
.tag { padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; color: #d5d1d2; font-size: .76rem; }
.arrow { color: var(--accent-bright); font-size: 1.25rem; }
.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(5,5,5,.9); backdrop-filter: blur(16px); }
.nav { display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 11px; font-weight: 800; letter-spacing: -.02em; }
.brand-mark { display: grid; width: 38px; height: 34px; place-items: center; border-radius: 9px; background: var(--accent); color: #fff; font-size: .77rem; font-weight: 900; letter-spacing: -.04em; }
.nav-links { display: flex; align-items: center; gap: clamp(12px, 1.5vw, 23px); color: #cfcacc; font-size: clamp(.79rem, 1vw, .91rem); }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--accent-bright); }
.hero { min-height: calc(100svh - 75px); display: grid; align-items: center; overflow: hidden; padding: 76px 0; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr); align-items: center; gap: clamp(48px, 7vw, 110px); }
.hero-copy { position: relative; z-index: 1; }
.hero h1 { font-size: clamp(3.2rem, 6.8vw, 6.7rem); }
.hero h1 span { display: block; color: var(--text); }
.hero .lead { margin-top: 28px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.hero-note { margin-top: 54px; color: #777274; font-size: .9rem; }
.pitch-visual { position: relative; width: min(100%, 510px); justify-self: end; overflow: hidden; background: #050505; transform: rotate(3deg); }
.pitch-visual::before { content: ""; position: absolute; width: 58%; aspect-ratio: 1; right: 5%; top: 18%; border-radius: 50%; background: rgba(84,16,27,.16); filter: blur(70px); }
.tactical-graphic { position: relative; width: 100%; background: transparent; }
.field-lines { fill: none; stroke: rgba(255,255,255,.46); stroke-width: 2; vector-effect: non-scaling-stroke; }
.projects .card { grid-column: span 6; }
.projects .card:first-child { background: linear-gradient(145deg, #190c0f, var(--bg-soft)); }
.thought-card { grid-column: span 8; min-height: 320px; }
.profile-card { grid-column: span 4; background: #4d0e19; color: #fff; }
.profile-card p, .profile-card .tag { color: #f0dce1; border-color: rgba(255,255,255,.22); }
.page-hero { padding: 110px 0 78px; }
.page-hero h1 { max-width: 900px; font-size: clamp(2.8rem, 7vw, 6rem); }
.page-hero .lead { margin-top: 24px; }
.article-list { display: grid; gap: 1px; border-top: 1px solid var(--line); }
.article-row { display: grid; grid-template-columns: 150px 1fr auto; gap: 24px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); }
.article-row:hover h2 { color: var(--accent-bright); }
.article-row time { color: #7d7779; font-size: .9rem; }
.article-row h2 { font-size: clamp(1.35rem, 3vw, 2.1rem); transition: color .2s ease; }
.project-list .card { grid-column: span 4; }
.prose { width: min(calc(100% - 40px), 760px); margin: 0 auto; padding: 90px 0 120px; }
.prose h1 { font-size: clamp(2.6rem, 7vw, 5.2rem); }
.prose h2 { margin-top: 52px; font-size: 1.85rem; }
.prose p, .prose li { color: #c3d1c9; font-size: 1.08rem; }
.prose p { margin-top: 24px; }
.prose ul { padding-left: 22px; }
.prose .article-meta { margin: 20px 0 44px; color: #799084; }
.site-footer { border-top: 1px solid var(--line); padding: 42px 0; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 20px; color: #8ea197; font-size: .88rem; }
@media (max-width: 820px) {
  .nav-links a:not(.nav-main) { display: none; }
  .hero { min-height: auto; padding: 82px 0 76px; }
  .hero-grid { grid-template-columns: 1fr; gap: 58px; }
  .pitch-visual { width: min(100%, 520px); margin-inline: auto; transform: rotate(1deg); }
  .section { padding: 76px 0; }
  .section-heading { display: block; }
  .section-heading p { margin-top: 18px; }
  .projects .card, .thought-card, .profile-card, .project-list .card { grid-column: 1 / -1; }
  .article-row { grid-template-columns: 1fr auto; }
  .article-row time { grid-column: 1 / -1; }
  .footer-inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 520px) {
  .shell { width: min(calc(100% - 28px), var(--max)); }
  .brand-text { font-size: .92rem; }
  .nav-main { padding: 0 14px; min-height: 42px; }
  .card { min-height: 240px; padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }

/* Compact introduction and quiet, purposeful movement. */
.hero { min-height: min(780px, calc(100svh - 75px)); padding: 56px 0; }
.hero h1 { font-size: clamp(2.5rem, 4.5vw, 4.5rem); line-height: 1.09; letter-spacing: -.045em; }
.hero h1 span { margin-top: .12em; }
.hero .lead { font-size: clamp(1rem, 1.35vw, 1.15rem); margin-top: 24px; }
.hero-note { margin-top: 28px; color: var(--muted); }
.pitch-visual { max-height: 570px; }
.nav-links a { display: inline-block; transition: transform .2s ease, color .2s ease; }
.nav-links a:hover, .nav-links a:focus-visible { transform: scale(1.05); color: #fff; }
.nav-links a[aria-current="page"] { color: #fff; text-decoration: underline; text-decoration-color: #985762; text-underline-offset: 8px; }
.card { transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.card:has(a):hover, .card:focus-within { transform: translateY(-5px); box-shadow: 0 12px 40px #0005; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid #d1a6ae; outline-offset: 5px; }
.eyebrow { color: #ba929b; font-size: .875rem; }
.tag { font-size: .875rem; }
.prose p, .prose li { color: #c9c4c6; }
.prose .article-meta, .footer-links { color: var(--muted); }
.menu-toggle { display: none; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
.text-link { text-decoration: underline; text-underline-offset: 5px; }
.text-link:hover { color: #dfb4bd; }
.content-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.empty-state { grid-column: 1/-1; padding: 32px; border: 1px dashed var(--line); border-radius: 18px; }
.empty-state h2 { font-size: 1.6rem; margin-bottom: 16px; }
.content-card { padding: 0; min-height: 240px; }
.card-body { padding: 28px; }
.card-body h3 { margin-top: 24px; overflow-wrap: anywhere; }
.card-image { overflow: hidden; aspect-ratio: 16/10; }
.card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.content-card:hover .card-image img { transform: scale(1.035); }
.card-beside { grid-column: span 2; display: grid; grid-template-columns: 1fr 1.1fr; }
.card-beside .card-image { aspect-ratio: auto; }
.load-more { display: flex; margin: 30px auto 0; }
.small-heading { font-size: clamp(1.6rem,2.4vw,2.4rem); }
.page-content:empty { display: none; }
.page-content { margin-top: 52px; }
.publications { padding-top: 78px; }
.publications > p { margin: 20px 0 32px; }
.project-list .card { grid-column: span 6; }
.connection-note { margin-top: 24px; }
.article-detail { max-width: 980px; width: min(calc(100% - 40px),980px); overflow-wrap: anywhere; }
.article-detail h1 { font-size: clamp(2.3rem,5vw,4rem); }
.article-detail figure { margin: 32px 0; }
.article-detail img, .article-detail video { width: 100%; border-radius: 14px; }
.article-detail video { max-height: 650px; background: #000; }
.article-detail figcaption { color: var(--muted); font-size: .9rem; margin-top: 12px; }
.article-body { margin-top: 32px; }
.cover-beside { display: grid; grid-template-columns: 1fr 1.2fr; gap: 34px; align-items: start; }
.cover-beside .article-cover { margin-top: 24px; }
.image-zoom { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.image-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.image-gallery img { aspect-ratio: 4/3; object-fit: cover; }
.pdf-preview { margin-top: 20px; }
summary { cursor: pointer; padding: 12px 0; }
.pdf-preview object { display: block; width: 100%; height: 650px; background: #fff; }
.media-error, .error { color: #f0abb9 !important; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
[hidden] { display: none !important; }
.admin-shell { padding-block: 64px 100px; max-width: 1120px; }
.admin-shell h1 { font-size: clamp(2.2rem,4vw,3.6rem); }
.admin-shell .section-heading { margin-bottom: 22px; }
#admin-status { min-height: 28px; margin-bottom: 24px; }
.login-form { max-width: 460px; display: grid; gap: 22px; }
label { display: grid; gap: 8px; font-size: .95rem; }
input,textarea,select { width: 100%; min-width: 0; border: 1px solid #494146; border-radius: 10px; padding: 12px; background: #101012; color: var(--text); }
textarea { resize: vertical; }
.editor-toolbar { display: flex; align-items: end; gap: 24px; margin-bottom: 36px; }
.editor-toolbar label { flex: 1; }
.editor-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 46px; }
.editor-fields label:nth-child(2),.editor-fields label:nth-child(3) { grid-column: 1/-1; }
#cover-current img { max-height: 140px; width: auto; border-radius: 10px; }
.text-button { width: fit-content; background: none; border: 0; color: #dcc8ce; text-decoration: underline; }
.block-editor { margin: 24px 0; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #0c0c0e; }
.block-heading { display: flex; gap: 16px; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.block-heading button,.block-editor > button { background: #1c191d; color: #eee; border: 1px solid var(--line); padding: 8px 12px; border-radius: 8px; }
.block-editor label + label { margin-top: 18px; }
.file-state,.field-help { font-size: .9rem; margin: 12px 0; }
.block-actions { display: flex; align-items: end; gap: 16px; margin: 24px 0 40px; }
.editor-savebar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; position: sticky; bottom: 0; background: #101013f5; padding: 18px; border: 1px solid var(--line); border-radius: 16px; z-index: 5; }
#save-state { margin-right: auto; font-size: .9rem; }
dialog { width: min(1100px,calc(100% - 24px)); max-height: 92svh; padding: 24px; color: var(--text); background: var(--bg); border: 1px solid #50414a; border-radius: 18px; }
dialog::backdrop { background: #000c; backdrop-filter: blur(5px); }
.dialog-close { position: sticky; top: 0; z-index: 3; }
.lightbox { width: fit-content; max-width: calc(100% - 24px); }
.lightbox img { margin-top: 18px; max-height: 76svh; object-fit: contain; }
@media(max-width:1100px){
 .nav { flex-wrap: wrap; gap: 12px; padding-block: 14px; }
 .menu-toggle { display: inline-flex; }
 .nav-links { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 4px; font-size: 1rem; max-height: 75svh; overflow-y: auto; }
 .nav-links.is-open { display: flex; }
 .nav-links a,.nav-links a:not(.nav-main) { display: block; padding: 12px; }
 .nav-links a:hover { transform: none; }
 .hero-grid { grid-template-columns: 1.1fr .8fr; gap: 32px; }
 .content-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:820px){
 .hero { min-height: auto; padding: 48px 0; }
 .hero-grid { grid-template-columns: 1fr; }
 .hero h1 { font-size: clamp(2.3rem,7vw,3.7rem); }
 .pitch-visual { max-height: 330px; width: 80%; }
 .project-list .card { grid-column: 1/-1; }
 .cover-beside { display: block; }
 .editor-fields { grid-template-columns: 1fr; }
 .editor-fields label { grid-column: 1/-1; }
 .editor-savebar { position: static; }
 .editor-toolbar,.block-heading { flex-wrap: wrap; }
}
@media(max-width:560px){
 .content-grid { grid-template-columns: 1fr; }
 .card-beside { grid-column: auto; display: block; }
 .card-beside .card-image { aspect-ratio: 16/10; }
 .image-gallery { grid-template-columns: 1fr; }
 .block-editor { padding: 18px; }
 .block-actions { align-items: stretch; flex-direction: column; }
 .editor-toolbar { flex-direction: column; align-items: stretch; }
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 .reveal { opacity: 1; transform: none; }
 .card:hover,.nav-links a:hover,.content-card:hover .card-image img { transform: none; }
}
