:root {
  --ink: #172229;
  --ink-2: #26343c;
  --paper: #f4ead5;
  --paper-light: #fffaf0;
  --rust: #782f2b;
  --gold: #bd8b45;
  --blue: #294354;
  --line: rgba(23, 34, 41, .2);
  --white: #fffdf8;
  --shadow: 0 24px 70px rgba(13, 19, 23, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 17px/1.65 Georgia, 'Times New Roman', serif; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #e2b369; outline-offset: 3px; }

.site-shell { min-height: 100vh; background: linear-gradient(90deg, rgba(120,47,43,.035) 1px, transparent 1px), linear-gradient(rgba(120,47,43,.03) 1px, transparent 1px); background-size: 34px 34px; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 11px clamp(18px, 5vw, 72px); color: var(--white); background: rgba(23,34,41,.98); border-bottom: 1px solid rgba(255,255,255,.13); }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font: 700 .95rem Arial, sans-serif; letter-spacing: .035em; }
.brand img { width: 46px; height: 46px; border-radius: 50%; }
.topbar nav { display: flex; align-items: center; gap: 22px; font: .88rem Arial, sans-serif; }
.topbar nav a { display: inline-flex; min-height: 44px; align-items: center; color: rgba(255,255,255,.82); text-decoration: none; }
.topbar nav a:hover, .topbar nav a[aria-current="page"] { color: #fff; }
.nav-cta { padding: 8px 13px; color: var(--white) !important; border: 1px solid rgba(255,255,255,.42); }
.mobile-nav { display: none; position: relative; font: .82rem Arial, sans-serif; }
.mobile-nav summary { min-width: 86px; min-height: 44px; padding: 10px 13px; color: var(--white); border: 1px solid rgba(255,255,255,.42); cursor: pointer; list-style: none; text-align: center; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav[open] summary { color: var(--ink); background: var(--paper); }
.topbar .mobile-nav nav { position: absolute; top: calc(100% + 9px); right: 0; display: grid; width: min(280px, calc(100vw - 36px)); gap: 0; padding: 8px; color: var(--white); background: var(--ink); border: 1px solid rgba(255,255,255,.2); box-shadow: var(--shadow); }
.topbar .mobile-nav nav a { min-height: 46px; padding: 8px 12px; border-bottom: 1px solid rgba(255,255,255,.11); }
.topbar .mobile-nav nav a:last-child { border-bottom: 0; }

.portal-hero { color: var(--white); background: var(--ink); border-bottom: 8px solid var(--rust); }
.portal-hero-inner { display: grid; grid-template-columns: 1fr minmax(240px, .42fr); gap: clamp(35px, 7vw, 90px); max-width: 1200px; margin: 0 auto; padding: clamp(72px, 9vw, 118px) clamp(22px, 5vw, 58px); }
.kicker, .eyebrow { margin: 0 0 12px; color: #e2b369; font: 700 .74rem Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.portal-hero h1, .portal-hero-title { max-width: 800px; margin: 0; font-size: clamp(3rem, 6.5vw, 6rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.portal-hero-copy { max-width: 730px; margin: 26px 0 0; color: rgba(255,255,255,.76); font-size: clamp(1.05rem, 2vw, 1.26rem); }
.forum-page .portal-hero-inner { padding-top: clamp(54px, 7vw, 82px); padding-bottom: clamp(54px, 7vw, 82px); }
.status-card { align-self: end; padding: 24px; color: var(--ink); background: var(--paper); border-top: 5px solid var(--gold); box-shadow: var(--shadow); }
.status-card strong { display: block; margin-bottom: 5px; font-size: 1.15rem; }
.status-card p { margin: 0 0 13px; color: var(--ink-2); font-size: .93rem; }
.status-card a { color: var(--rust); font: 700 .8rem Arial, sans-serif; }

.portal-main { max-width: 1200px; margin: 0 auto; padding: clamp(62px, 8vw, 105px) clamp(22px, 5vw, 58px) 110px; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 28px; color: var(--rust); font: 700 .76rem Arial, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.breadcrumb a { text-decoration: none; }
.section-head { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(28px, 7vw, 80px); align-items: end; margin-bottom: 32px; }
.section-head h2, .case-title { margin: 0; font-size: clamp(2.3rem, 5vw, 4.5rem); font-weight: 500; line-height: 1.02; letter-spacing: -.035em; }
.section-head > p { margin: 0; color: var(--ink-2); }

.forum-rules { display: grid; grid-template-columns: .8fr 1.45fr auto; gap: 28px; align-items: center; margin-bottom: 56px; padding: 26px 28px; background: var(--paper-light); border-top: 5px solid var(--rust); box-shadow: 0 14px 42px rgba(13,19,23,.1); }
.forum-rules h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.35rem); font-weight: 500; line-height: 1.08; }
.forum-rules p { margin: 0; color: var(--ink-2); }
.forum-rules > a { color: var(--rust); font: 700 .8rem/1.35 Arial, sans-serif; white-space: nowrap; }

.case-directory { scroll-margin-top: 90px; }
.society-directory { margin-bottom: 68px; }
.society-directory .forum-index { margin-bottom: 0; }
.forum-index { overflow: hidden; margin-bottom: 82px; background: var(--paper-light); border-top: 6px solid var(--gold); box-shadow: var(--shadow); }
.forum-index-head, .forum-case-row { display: grid; grid-template-columns: minmax(0, 1fr) 78px 78px minmax(230px, .55fr); }
.forum-index-head { color: var(--white); background: var(--ink); font: 700 .72rem Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.forum-index-head span { padding: 13px 17px; border-left: 1px solid rgba(255,255,255,.12); }
.case-list { margin: 0; }
.forum-case-row { align-items: stretch; border-bottom: 1px solid var(--line); }
.forum-case-row:last-child { border-bottom: 0; }
.forum-case-row > div { min-width: 0; padding: 22px 17px; border-left: 1px solid var(--line); }
.forum-case-row > div:first-child { border-left: 0; }
.forum-case-row:hover { background: #f7edd9; }
.case-file-label { display: block; color: var(--rust); font: 700 .7rem Arial, sans-serif; letter-spacing: .12em; }
.forum-case-main h3 { margin: 3px 0 5px; font-size: 1.52rem; line-height: 1.15; }
.forum-case-main h3 a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.forum-case-main p { overflow: hidden; margin: 0; color: var(--ink-2); font-size: .85rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.forum-count { display: grid; place-items: center; text-align: center; }
.forum-count strong { font: 500 1.35rem Georgia, serif; }
.forum-count::before { display: none; }
.forum-latest { display: flex; flex-direction: column; justify-content: center; color: var(--ink-2); font-size: .85rem; line-height: 1.4; }
.forum-latest a { color: var(--rust); font-weight: 700; }
.forum-latest small { display: block; margin-top: 4px; color: var(--ink-2); font: .72rem/1.4 Arial, sans-serif; }

.forum-board { color: var(--white); background: var(--blue); margin-inline: calc(clamp(22px, 5vw, 58px) * -1); padding: clamp(54px, 7vw, 82px) clamp(22px, 5vw, 58px); }
.forum-board .section-head > p { color: rgba(255,255,255,.7); }
.case-forum-tools { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 34px; }
.case-forum-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.case-forum-tools .button.secondary { color: var(--white); border-color: rgba(255,255,255,.58); }
.back-link { color: #e5bb75; font: 700 .8rem Arial, sans-serif; }
.forum-section-head { margin-bottom: 24px; }
.thread-table { overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-top: 6px solid var(--gold); }
.thread-head, .thread-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .38fr) 76px; }
.thread-head { color: var(--ink); background: #dcc9a3; font: 700 .72rem Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.thread-head span { padding: 13px 17px; border-left: 1px solid rgba(23,34,41,.18); }
.thread-row { background: rgba(23,34,41,.28); border-top: 1px solid rgba(255,255,255,.18); }
.thread-row:first-child { border-top: 0; }
.thread-row:hover { background: rgba(255,255,255,.045); }
.thread-row > div { min-width: 0; padding: 19px 17px; border-left: 1px solid rgba(255,255,255,.16); }
.thread-row > div:first-child { border-left: 0; }
.thread-main small { color: #e5bb75; font: 700 .7rem Arial, sans-serif; letter-spacing: .075em; text-transform: uppercase; }
.thread-main h3 { margin: 4px 0; font-size: clamp(1.18rem, 2vw, 1.45rem); line-height: 1.2; }
.thread-main h3 a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.thread-main p { overflow: hidden; margin: 0; color: rgba(255,255,255,.68); font-size: .88rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.thread-last { display: flex; flex-direction: column; justify-content: center; font: .82rem Arial, sans-serif; }
.thread-last a { color: #e5bb75; font-weight: 700; }
.thread-last small { display: block; margin-top: 5px; color: rgba(255,255,255,.66); font: .72rem/1.4 Arial, sans-serif; }
.thread-replies { display: grid; place-items: center; font-size: 1.25rem; }
.thread-replies::before { display: none; }
.empty { padding: 28px; color: var(--ink-2); background: rgba(255,253,248,.72); border: 1px dashed rgba(23,34,41,.32); }
.forum-board .empty { color: rgba(255,255,255,.68); background: rgba(23,34,41,.28); border-color: rgba(255,255,255,.25); }

.new-topic { display: grid; grid-template-columns: .68fr 1.32fr; margin-top: 46px; background: var(--paper); border-top: 5px solid var(--gold); }
.new-topic-copy { padding: clamp(28px, 4vw, 42px); color: var(--ink); border-right: 1px solid var(--line); }
.new-topic-copy h3 { margin: 0 0 12px; font-size: 2rem; line-height: 1.1; }
.new-topic-copy p { color: var(--ink-2); }
.new-topic-copy a { color: var(--rust); font-weight: 700; }
.topic-form { display: grid; gap: 15px; padding: clamp(28px, 4vw, 42px); color: var(--ink); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
label { display: block; margin-bottom: 5px; font: 700 .78rem Arial, sans-serif; }
input, select, textarea { width: 100%; min-height: 49px; padding: 11px 13px; color: var(--ink); background: var(--white); border: 1px solid var(--line); }
textarea { min-height: 145px; resize: vertical; }
.button { display: inline-flex; width: fit-content; min-height: 48px; align-items: center; justify-content: center; padding: 11px 18px; color: var(--white); background: var(--rust); border: 1px solid var(--rust); cursor: pointer; text-decoration: none; font: 700 .84rem Arial, sans-serif; }
.button:hover { background: #963c35; }
.button.secondary { color: var(--rust); background: transparent; }
.button.secondary:hover { color: var(--white); background: var(--rust); }
.button:disabled { cursor: wait; opacity: .6; }
input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .72; background: #e5dccb; }
.member-gated { position: relative; }
.member-gate-link { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; color: var(--rust); font: 700 .82rem Arial, sans-serif; }
.form-note { margin: 0; color: var(--ink-2); font-size: .83rem; }
.form-message { display: none; padding: 13px 14px; color: var(--ink); background: #f3cf8e; font: .86rem/1.45 Arial, sans-serif; }
.form-message.error { color: #fff; background: var(--rust); }

.case-hero-card { overflow: hidden; margin-bottom: 54px; background: var(--paper-light); border-top: 7px solid var(--rust); box-shadow: var(--shadow); }
.case-cover { min-height: 300px; background: linear-gradient(90deg, rgba(23,34,41,.6), rgba(23,34,41,.08)), url('banner.webp') center/cover; }
.case-summary { display: grid; grid-template-columns: 1.2fr .8fr; gap: 35px; padding: clamp(32px, 6vw, 68px); }
.case-page .portal-main { padding-top: clamp(28px, 4vw, 48px); }
.case-page .case-hero-card { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); }
.case-page .case-cover { min-height: 560px; }
.case-page .case-summary { grid-template-columns: 1fr; align-content: center; padding: clamp(34px, 5vw, 62px); }
.case-side { display: grid; gap: 16px; }
.case-side .status-card { box-shadow: none; }
.case-meta { margin: 11px 0 24px; color: var(--ink-2); }
.case-summary-text { font-size: 1.14rem; }
.case-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.case-note { align-self: start; padding: 24px; background: #ead9b7; border-left: 5px solid var(--gold); }
.case-note strong { display: block; margin-bottom: 8px; }
.case-note p { margin: 0; color: var(--ink-2); }

/* Search-readable place directory and public case landing pages */
.places-hero { color: var(--white); background: var(--ink); border-bottom: 8px solid var(--rust); }
.places-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .42fr); gap: clamp(36px, 7vw, 88px); align-items: end; max-width: 1200px; margin: 0 auto; padding: clamp(70px, 9vw, 116px) clamp(22px, 5vw, 58px); }
.places-hero h1 { max-width: 840px; margin: 0; font-size: clamp(3.1rem, 7vw, 6.5rem); font-weight: 500; line-height: .96; letter-spacing: -.05em; }
.places-hero-copy { max-width: 760px; margin: 24px 0 0; color: rgba(255,255,255,.78); font-size: clamp(1.08rem, 2vw, 1.3rem); }
.places-hero-note { padding: 25px; color: var(--ink); background: var(--paper); border-top: 6px solid var(--gold); box-shadow: var(--shadow); }
.places-hero-note strong { display: block; margin-bottom: 7px; font-size: 1.2rem; }
.places-hero-note p { margin: 0; color: var(--ink-2); font-size: .94rem; }
.places-intro { max-width: 780px; margin: 0 0 44px; color: var(--ink-2); font-size: 1.08rem; }
.place-region + .place-region { margin-top: 54px; }
.place-region-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr); gap: 28px; align-items: end; margin: 0 0 20px; padding: 0 0 16px; border-bottom: 1px solid var(--line); }
.place-region-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 500; line-height: 1.02; letter-spacing: -.035em; }
.place-region-heading p { margin: 0; color: var(--ink-2); }
.place-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.place-card { display: flex; min-height: 390px; flex-direction: column; padding: clamp(28px, 4vw, 42px); background: var(--paper-light); border-top: 7px solid var(--gold); box-shadow: var(--shadow); }
.place-card:nth-child(3n + 2) { border-top-color: var(--rust); }
.place-card:nth-child(3n) { border-top-color: var(--blue); }
.place-card-status { margin: 0 0 12px; color: var(--rust); font: 700 .72rem Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.place-card h2, .place-card h3 { margin: 0 0 8px; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 500; line-height: 1.02; letter-spacing: -.03em; }
.place-location { margin: 0 0 21px; color: var(--rust); font: 700 .8rem/1.4 Arial, sans-serif; letter-spacing: .035em; }
.place-card > p:not(.place-card-status):not(.place-location) { margin: 0 0 22px; color: var(--ink-2); }
.place-card-clue { margin-top: auto !important; padding: 17px 18px; background: #ead9b7; border-left: 5px solid var(--gold); font-size: .92rem; }
.place-card-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.place-card-actions .button.secondary { color: var(--rust); }
.places-callout { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: center; margin-top: 58px; padding: clamp(30px, 5vw, 52px); color: var(--white); background: var(--blue); border-top: 7px solid var(--gold); box-shadow: var(--shadow); }
.places-callout h2 { margin: 0 0 9px; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 500; line-height: 1.03; }
.places-callout p { max-width: 760px; margin: 0; color: rgba(255,255,255,.76); }

.place-page .portal-main { padding-top: clamp(30px, 5vw, 54px); }
.place-page-hero { overflow: hidden; margin-bottom: 50px; color: var(--white); background: var(--ink); border-top: 7px solid var(--rust); box-shadow: var(--shadow); }
.place-page-hero-inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .52fr); gap: clamp(34px, 6vw, 72px); align-items: end; padding: clamp(38px, 7vw, 76px); }
.place-page-hero h1 { max-width: 850px; margin: 0; font-size: clamp(3rem, 6.5vw, 6rem); font-weight: 500; line-height: .96; letter-spacing: -.05em; }
.place-page-summary { max-width: 780px; margin: 23px 0 0; color: rgba(255,255,255,.78); font-size: clamp(1.08rem, 2vw, 1.28rem); }
.place-docket { padding: 24px; color: var(--ink); background: var(--paper); border-top: 6px solid var(--gold); }
.place-docket strong { display: block; margin-bottom: 8px; font-size: 1.15rem; }
.place-docket dl { margin: 0; }
.place-docket div { padding: 10px 0; border-top: 1px solid var(--line); }
.place-docket dt { color: var(--rust); font: 700 .7rem Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.place-docket dd { margin: 3px 0 0; color: var(--ink-2); font-size: .9rem; }
.place-page-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.place-page-actions .button.secondary { color: var(--white); border-color: rgba(255,255,255,.52); }
.place-page-actions .button.secondary:hover { color: var(--ink); background: var(--paper-light); border-color: var(--paper-light); }
.place-record { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(280px, .62fr); gap: 26px; align-items: start; margin-bottom: 64px; }
.place-story, .place-facts, .place-sources, .place-questions { padding: clamp(30px, 5vw, 52px); background: var(--paper-light); box-shadow: 0 15px 40px rgba(13,19,23,.09); }
.place-story { border-top: 7px solid var(--gold); }
.place-story h2, .place-facts h2, .place-sources h2, .place-questions h2 { margin: 0 0 20px; font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 500; line-height: 1.05; letter-spacing: -.03em; }
.place-story h3 { margin: 34px 0 11px; color: var(--rust); font-size: 1.55rem; line-height: 1.18; }
.place-story p { color: var(--ink-2); }
.place-story .lead { margin-top: 0; color: var(--ink); font-size: 1.2rem; }
.place-facts { border-top: 7px solid var(--rust); }
.place-facts ul, .place-source-list { margin: 0; padding-left: 19px; color: var(--ink-2); }
.place-facts li + li, .place-source-list li + li { margin-top: 12px; }
.place-facts .evidence-note { margin: 25px 0 0; padding: 18px; background: #ead9b7; border-left: 5px solid var(--gold); font-size: .9rem; }
.place-questions { margin-bottom: 54px; border-top: 7px solid var(--blue); }
.place-question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.place-question { padding: 24px; background: #ead9b7; border-left: 5px solid var(--rust); }
.place-question small { color: var(--rust); font: 700 .7rem Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.place-question h3 { margin: 8px 0 0; font-size: 1.3rem; line-height: 1.25; }
.place-sources { margin-bottom: 54px; border-top: 7px solid var(--gold); }
.place-source-list a { color: var(--rust); font-weight: 700; }
.place-member-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 38px; align-items: center; padding: clamp(32px, 6vw, 62px); color: var(--white); background: var(--blue); border-top: 7px solid var(--gold); box-shadow: var(--shadow); }
.place-member-cta h2 { margin: 0 0 11px; font-size: clamp(2.2rem, 4.5vw, 4rem); font-weight: 500; line-height: 1.03; }
.place-member-cta p { max-width: 760px; margin: 0; color: rgba(255,255,255,.77); }
.place-member-actions { display: grid; gap: 10px; justify-items: stretch; min-width: 230px; }
.place-member-actions .button { width: 100%; }
.place-member-actions .button.secondary { color: var(--white); border-color: rgba(255,255,255,.55); }
.place-member-actions .button.secondary:hover { color: var(--ink); background: var(--paper-light); border-color: var(--paper-light); }
.case-follow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .45fr); gap: clamp(24px, 5vw, 60px); align-items: center; margin: -18px 0 54px; padding: clamp(26px, 4vw, 40px); background: #e7d5b1; border-left: 6px solid var(--gold); box-shadow: 0 14px 36px rgba(13,19,23,.08); }
.case-follow h2 { margin: 0 0 8px; font-size: clamp(1.9rem, 3.5vw, 2.8rem); font-weight: 500; line-height: 1.05; }
.case-follow p { margin: 0; color: var(--ink-2); }
.case-follow-action { display: grid; justify-items: start; gap: 9px; }
.case-follow-action .form-message { width: 100%; }
.case-follow-action small { color: var(--ink-2); font: .74rem/1.4 Arial, sans-serif; }
.case-share { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: clamp(24px, 5vw, 60px); align-items: center; margin: -26px 0 54px; padding: clamp(26px, 4vw, 40px); color: var(--white); background: var(--blue); border-left: 6px solid var(--gold); box-shadow: 0 14px 36px rgba(13,19,23,.12); }
.case-share h2 { margin: 0 0 8px; font-size: clamp(1.9rem, 3.5vw, 2.8rem); font-weight: 500; line-height: 1.05; }
.case-share p { margin: 0; color: rgba(255,255,255,.76); }
.case-share-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.case-share-actions .button { min-height: 43px; padding: 8px 13px; }
.case-share-actions .button.secondary { color: var(--white); border-color: rgba(255,255,255,.58); }
.case-share-actions .button.secondary:hover { color: var(--ink); background: var(--paper-light); border-color: var(--paper-light); }
.case-share-actions .form-message { flex: 1 0 100%; width: 100%; }
.clarksville-documentary { display: grid; grid-template-columns: minmax(0, .92fr) minmax(380px, 1.08fr); gap: clamp(30px, 5vw, 62px); align-items: center; margin: -18px 0 76px; padding: clamp(30px, 5vw, 56px); color: var(--white); background: var(--ink); border-top: 7px solid var(--rust); box-shadow: var(--shadow); }
.clarksville-documentary h2, .clarksville-dossier h2, .clarksville-recordings h2, .ghost-cam-plan h2, .case-contribution-callout h2 { margin: 0 0 18px; font-size: clamp(2.15rem, 4.6vw, 4rem); font-weight: 500; line-height: 1.02; letter-spacing: -.035em; }
.clarksville-documentary-copy > p:not(.eyebrow) { color: rgba(255,255,255,.78); }
.clarksville-documentary .documentary-standard { margin: 23px 0 0; padding: 17px 19px; color: var(--white) !important; background: rgba(255,255,255,.07); border-left: 5px solid var(--gold); }
.documentary-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 25px; }
.documentary-actions .button.secondary { color: var(--white); border-color: rgba(255,255,255,.54); }
.documentary-actions .button.secondary:hover { color: var(--ink); background: var(--paper-light); border-color: var(--paper-light); }
.youtube-button { background: #b52d28; border-color: #d15a55; }
.youtube-button:hover { background: #d43b34; }
.documentary-actions .text-link { flex: 1 0 100%; width: fit-content; margin-top: 5px; color: #f0ca89; font: 700 .82rem Arial, sans-serif; }
.documentary-video { position: relative; overflow: hidden; width: 100%; aspect-ratio: 16 / 9; background: #080c0f; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 22px 55px rgba(0,0,0,.35); }
.documentary-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.clarksville-dossier { margin-bottom: 76px; padding: clamp(34px, 6vw, 68px); background: #e4d4b4; border-top: 7px solid var(--gold); box-shadow: var(--shadow); }
.dossier-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: clamp(28px, 6vw, 72px); align-items: end; margin-bottom: 38px; }
.dossier-heading > p { margin: 0; color: var(--ink-2); font-size: 1.05rem; }
.case-timeline { display: grid; grid-template-columns: repeat(7, minmax(145px, 1fr)); margin: 0 0 38px; padding: 0 0 10px; overflow-x: auto; list-style: none; scrollbar-color: var(--rust) rgba(23,34,41,.12); }
.case-timeline li { position: relative; min-width: 145px; min-height: 170px; padding: 24px 20px; background: var(--paper-light); border-left: 1px solid var(--line); border-top: 5px solid var(--rust); }
.case-timeline li:first-child { border-left: 0; }
.case-timeline strong { display: block; margin-bottom: 17px; color: var(--rust); font: 700 .84rem Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.case-timeline span { display: block; color: var(--ink-2); font-size: .91rem; line-height: 1.48; }
.evidence-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(23,34,41,.22); border: 1px solid rgba(23,34,41,.22); }
.evidence-lane { padding: clamp(25px, 4vw, 38px); background: var(--paper-light); border-top: 6px solid var(--blue); }
.evidence-lane.tradition { border-top-color: var(--gold); }
.evidence-lane.unresolved { border-top-color: var(--rust); }
.evidence-label { margin: 0 0 12px; color: var(--rust); font: 700 .7rem Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.evidence-lane h3 { margin: 0 0 18px; font-size: clamp(1.45rem, 2.8vw, 2rem); line-height: 1.15; }
.evidence-lane ul { margin: 0; padding-left: 19px; color: var(--ink-2); }
.evidence-lane li + li { margin-top: 11px; }
.clarksville-recordings { margin-bottom: 76px; padding: clamp(34px, 6vw, 68px); color: var(--white); background: #11191e; border-top: 7px solid var(--rust); box-shadow: var(--shadow); }
.recordings-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .68fr); gap: clamp(28px, 6vw, 72px); align-items: end; margin-bottom: 34px; }
.recordings-heading > p { margin: 0; color: rgba(255,255,255,.74); font-size: 1.05rem; }
.recording-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.recording-card { overflow: hidden; background: #1b272e; border: 1px solid rgba(255,255,255,.15); }
.recording-video { display: grid; place-items: center; aspect-ratio: 16 / 9; background: #050708; }
.recording-video video { display: block; width: 100%; height: 100%; object-fit: contain; background: #050708; }
.recording-copy { padding: clamp(22px, 3vw, 32px); }
.recording-label { margin: 0 0 11px; color: #efc880; font: 700 .75rem Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.recording-copy h3 { margin: 0 0 12px; color: var(--white); font-size: clamp(1.5rem, 2.8vw, 2.15rem); line-height: 1.12; }
.recording-copy p:last-child { margin: 0; color: rgba(255,255,255,.74); }
.recordings-note { margin: 22px 0 0; padding: 17px 19px; color: rgba(255,255,255,.8); background: rgba(255,255,255,.06); border-left: 5px solid var(--gold); }
.recordings-note strong { color: var(--white); }
.ghost-cam-plan { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr); gap: clamp(30px, 6vw, 70px); align-items: center; margin-bottom: 54px; padding: clamp(34px, 6vw, 66px); color: var(--white); background: var(--blue); border-top: 7px solid var(--gold); box-shadow: var(--shadow); }
.ghost-cam-plan > div > p:not(.eyebrow) { color: rgba(255,255,255,.78); font-size: 1.05rem; }
.ghost-cam-plan aside { padding: 25px 27px; color: var(--ink); background: var(--paper); border-left: 6px solid var(--rust); }
.ghost-cam-plan aside strong { display: block; margin-bottom: 10px; font-size: 1.18rem; }
.ghost-cam-plan aside ul { margin: 0; padding-left: 19px; color: var(--ink-2); }
.ghost-cam-plan aside li + li { margin-top: 8px; }
.case-contribution-callout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr); gap: clamp(30px, 6vw, 70px); align-items: center; margin-bottom: 54px; padding: clamp(34px, 6vw, 66px); background: var(--paper-light); border-top: 7px solid var(--rust); box-shadow: var(--shadow); }
.case-contribution-callout p:not(.eyebrow) { color: var(--ink-2); font-size: 1.05rem; }
.contribution-actions { display: grid; justify-items: start; gap: 10px; }
.contribution-actions .button { width: 100%; }
.contribution-actions small { color: var(--ink-2); font: .75rem/1.45 Arial, sans-serif; }
.record-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(270px, .55fr); gap: 1px; margin-bottom: 76px; background: var(--line); border: 1px solid var(--line); }
.record-story, .record-facts { padding: clamp(30px, 5vw, 56px); background: var(--paper-light); }
.record-story h2, .record-facts h2, .memories h2 { margin: 0 0 25px; font-size: clamp(2rem, 4vw, 3.35rem); font-weight: 500; line-height: 1.05; }
.record-story blockquote { margin: 34px 0; padding-left: 20px; color: var(--rust); border-left: 4px solid var(--gold); font-size: clamp(1.25rem, 2.5vw, 1.8rem); line-height: 1.35; }
.record-facts { background: #e9d8b5; }
.fact-list { margin: 0; padding: 0; list-style: none; }
.fact-list li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.fact-list span { display: block; color: var(--rust); font: 700 .69rem Arial, sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.source-links a { color: var(--rust); }
.case-questions { margin-bottom: 45px; padding: clamp(30px, 5vw, 56px); color: var(--white); background: var(--blue); border-top: 6px solid var(--gold); }
.case-questions .section-head > p { color: rgba(255,255,255,.72); }
.case-question-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.2); }
.case-question-card { display: flex; min-height: 220px; flex-direction: column; padding: clamp(24px, 4vw, 36px); background: var(--blue); }
.case-question-card small { color: #e5bb75; font: 700 .72rem Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.case-question-card h3 { margin: 18px 0 28px; font-size: clamp(1.35rem, 2.6vw, 2rem); font-weight: 500; line-height: 1.22; }
.case-question-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: auto; }
.case-question-actions .button { min-height: 42px; padding: 8px 13px; font-size: .78rem; }
.case-question-actions .button.secondary { color: var(--white); border-color: rgba(255,255,255,.58); }
.case-updates { margin-bottom: 45px; padding: clamp(30px, 5vw, 56px); background: var(--paper-light); border-top: 6px solid var(--rust); box-shadow: var(--shadow); }
.case-update-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.case-update { display: grid; grid-template-columns: minmax(150px, .32fr) 1fr; gap: clamp(22px, 4vw, 46px); padding: clamp(24px, 4vw, 36px); background: var(--paper-light); }
.case-update small { color: var(--rust); font: 700 .7rem/1.45 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.case-update h3 { margin: 0 0 10px; font-size: clamp(1.35rem, 2.5vw, 1.9rem); line-height: 1.2; }
.case-update p { margin: 0; color: var(--ink-2); white-space: pre-wrap; }
.memories { margin-bottom: 45px; padding: clamp(30px, 5vw, 56px); background: #dfcfaf; }
.memory-list { display: grid; gap: 15px; }
.memory { padding: 25px; background: var(--paper-light); border-left: 5px solid var(--rust); }
.memory small { color: var(--rust); font: 700 .7rem Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.memory h3 { margin: 5px 0 12px; font-size: 1.32rem; }
.memory p { white-space: pre-wrap; }
.memory footer { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 18px; padding-top: 14px; color: var(--ink-2); background: none; border-top: 1px solid var(--line); font-size: .78rem; }
.media-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin: 20px 0; }
.media-item { margin: 0; padding: 10px; background: #ead9b7; border: 1px solid var(--line); }
.media-item img, .media-item video { display: block; width: 100%; max-height: 460px; object-fit: contain; background: var(--ink); }
.media-item audio { display: block; width: 100%; margin: 7px 0; }
.media-item figcaption { margin-top: 8px; color: var(--ink-2); font: .76rem/1.4 Arial, sans-serif; overflow-wrap: anywhere; }
.media-unavailable { margin: 8px 0 0; color: var(--rust); font: .78rem Arial, sans-serif; }
.case-forum-return { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(24px, 5vw, 60px); align-items: center; margin: 0 0 72px; padding: clamp(30px, 5vw, 52px); color: var(--paper-light); background: var(--blue); border-top: 6px solid var(--gold); box-shadow: var(--shadow); }
.case-forum-return h2 { margin: 3px 0 12px; max-width: 650px; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 500; line-height: 1.05; }
.case-forum-return p { margin: 0; max-width: 680px; color: rgba(255,255,255,.76); }
.case-forum-return .eyebrow { margin-bottom: 8px; color: #e3bb78; }
.case-forum-return .button { min-width: 225px; }

.topic-page { max-width: 950px; }
.topic-card { overflow: hidden; background: var(--paper-light); border-top: 7px solid var(--rust); box-shadow: var(--shadow); }
.topic-card-head { padding: clamp(30px, 5vw, 58px); border-bottom: 1px solid var(--line); }
.topic-card-head h1 { margin: 5px 0 13px; font-size: clamp(2.35rem, 5vw, 4.5rem); font-weight: 500; line-height: 1.02; letter-spacing: -.035em; }
.topic-byline { color: var(--ink-2); font: .82rem Arial, sans-serif; }
.topic-body { padding: clamp(30px, 5vw, 58px); white-space: pre-wrap; font-size: 1.08rem; }
.reply-section { margin-top: 42px; }
.topic-lock-note { margin-top: 28px; padding: 18px 20px; color: var(--paper-light); background: var(--rust); border-left: 6px solid var(--gold); font: 700 .88rem/1.5 Arial, sans-serif; }
.reply-section h2 { font-size: 2.2rem; font-weight: 500; }
.reply-list { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.reply { padding: 23px; background: var(--paper-light); border-left: 4px solid var(--gold); }
.reply-meta { display: block; margin-bottom: 10px; color: var(--rust); font: 700 .75rem Arial, sans-serif; }
.reply p { margin: 0; white-space: pre-wrap; }
.reply-form { display: grid; gap: 14px; margin-top: 30px; padding: 28px; color: var(--white); background: var(--blue); }
.reply-form .form-note { color: rgba(255,255,255,.66); }

.admin-hero { color: var(--white); background: var(--ink); border-bottom: 8px solid var(--rust); }
.admin-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .4fr); gap: clamp(35px, 7vw, 90px); align-items: end; max-width: 1480px; margin: 0 auto; padding: clamp(54px, 7vw, 86px) clamp(22px, 4vw, 58px); }
.admin-hero h1 { margin: 0; font-size: clamp(3.2rem, 6vw, 6rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.admin-hero-inner > div > p:last-child { max-width: 760px; margin: 24px 0 0; color: rgba(255,255,255,.74); font-size: 1.08rem; }
.admin-policy { padding: 24px; color: var(--ink); background: var(--paper); border-top: 5px solid var(--gold); }
.admin-policy strong { display: block; font-size: 1.08rem; }
.admin-policy p { margin: 7px 0 0; color: var(--ink-2); font-size: .92rem; }
.admin-main { max-width: 1480px; margin: 0 auto; padding: clamp(42px, 6vw, 76px) clamp(22px, 4vw, 58px) 110px; }
.admin-access { max-width: 760px; padding: clamp(30px, 5vw, 52px); background: var(--paper-light); border-top: 6px solid var(--gold); box-shadow: var(--shadow); }
.admin-access h2 { margin: 0 0 10px; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 500; line-height: 1.05; }
.admin-access p:last-child { margin-bottom: 0; color: var(--ink-2); }
.admin-toolbar { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 28px; }
.admin-toolbar h2 { margin: 0; font-size: clamp(2.15rem, 4vw, 3.5rem); font-weight: 500; line-height: 1.05; }
.admin-toolbar p:last-child { margin: 8px 0 0; color: var(--ink-2); }
.admin-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 22px; background: var(--paper-light); border: 1px solid var(--line); border-top: 6px solid var(--rust); }
.admin-summary > div { padding: 22px; border-left: 1px solid var(--line); }
.admin-summary > div:first-child { border-left: 0; }
.admin-summary strong { display: block; color: var(--rust); font: 700 2rem/1 Arial, sans-serif; }
.admin-summary span { display: block; margin-top: 8px; color: var(--ink-2); font: 700 .76rem/1.35 Arial, sans-serif; letter-spacing: .065em; text-transform: uppercase; }
.admin-member-link { display: flex; justify-content: space-between; gap: 28px; align-items: center; margin-bottom: 22px; padding: 20px 22px; color: var(--white); background: var(--blue); border-left: 6px solid var(--gold); }
.admin-member-link .eyebrow { margin-bottom: 5px; }
.admin-member-link strong { font-size: 1.05rem; }
.admin-member-link .button { flex: 0 0 auto; }
.admin-filterbar { position: sticky; top: 69px; z-index: 10; display: grid; grid-template-columns: minmax(280px, 1fr) 250px; gap: 14px; margin-bottom: 32px; padding: 16px; color: var(--white); background: rgba(41,67,84,.98); box-shadow: 0 13px 34px rgba(13,19,23,.16); }
.admin-filterbar label, .admin-badge-form label { color: #e5bb75; font-size: .84rem; }
.admin-badge-form label { color: var(--ink); }
.admin-section { scroll-margin-top: 165px; margin-top: 34px; padding: clamp(24px, 4vw, 42px); background: #dfcfaf; border-top: 6px solid var(--gold); box-shadow: 0 18px 52px rgba(13,19,23,.1); }
.admin-section-head { display: grid; grid-template-columns: 1fr minmax(280px, .55fr); gap: 34px; align-items: end; margin-bottom: 26px; }
.admin-section-head.compact { margin-bottom: 20px; }
.admin-section-head h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 500; line-height: 1.04; }
.admin-section-head > p { margin: 0; color: var(--ink-2); }
.traffic-section { background: #e8dcc4; border-top-color: var(--rust); }
.traffic-summary { grid-template-columns: repeat(3, 1fr); margin-bottom: 20px; }
.traffic-breakdown { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.traffic-breakdown > div { min-width: 0; padding: 22px; background: var(--paper-light); border-top: 5px solid var(--blue); }
.traffic-breakdown h3 { margin: 0 0 15px; font-size: 1.35rem; line-height: 1.2; }
.traffic-ranking { display: grid; gap: 1px; margin: 0; padding: 0; background: var(--line); border: 1px solid var(--line); list-style: none; }
.traffic-ranking li { display: flex; justify-content: space-between; gap: 18px; padding: 11px 13px; overflow-wrap: anywhere; background: #fffaf0; font: .82rem/1.35 Arial, sans-serif; }
.traffic-ranking strong { flex: 0 0 auto; color: var(--rust); }
.case-map-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 390px), 1fr)); gap: 18px; }
.case-map-admin-card { display: grid; gap: 18px; padding: 24px; background: var(--paper-light); border-top: 5px solid var(--blue); box-shadow: 0 12px 30px rgba(13,19,23,.09); }
.case-map-admin-card header { display: flex; justify-content: space-between; gap: 20px; align-items: start; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.case-map-admin-card h3 { margin: 0; font-size: 1.5rem; line-height: 1.15; }
.case-map-admin-card header p { margin: 5px 0 0; color: var(--ink-2); font-size: .84rem; }
.map-pin-state { display: inline-flex; flex: 0 0 auto; min-height: 30px; align-items: center; padding: 5px 8px; color: var(--white); background: var(--blue); font: 700 .67rem Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.map-pin-state.hidden { color: var(--ink); background: #e3bb78; }
.case-map-admin-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.case-map-admin-fields .map-precision-field { grid-column: 1 / -1; }
.case-map-admin-card label { display: block; margin-bottom: 5px; font: 700 .76rem Arial, sans-serif; }
.case-map-admin-card input, .case-map-admin-card select { min-height: 44px; }
.map-public-choice { display: grid !important; grid-template-columns: auto 1fr; gap: 10px; align-items: center; margin: 0 !important; padding: 13px; background: #ead9b7; }
.map-public-choice input { width: 19px; min-height: 19px; height: 19px; accent-color: var(--rust); }
.case-map-admin-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.case-map-admin-actions .button { min-height: 42px; padding: 8px 13px; font-size: .78rem; }
.case-map-admin-card .form-note { padding-top: 12px; border-top: 1px solid var(--line); }
.case-question-new { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 14px; align-items: end; margin-bottom: 20px; padding: 24px; background: var(--paper-light); border-top: 5px solid var(--blue); }
.case-question-new .question-wide { grid-column: span 2; }
.case-question-new textarea { min-height: 82px; }
.question-publish-choice { display: flex; min-height: 49px; align-items: center; gap: 9px; margin: 0; }
.question-publish-choice input { width: auto; min-height: 0; }
.case-question-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 390px), 1fr)); gap: 18px; margin-top: 20px; }
.case-question-admin-card { display: grid; gap: 13px; padding: 22px; background: var(--paper-light); border-top: 5px solid var(--rust); box-shadow: 0 12px 30px rgba(13,19,23,.09); }
.case-question-admin-card.is-hidden { border-top-color: #777; opacity: .78; }
.case-question-admin-card header { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.case-question-admin-card h3 { margin: 0; font-size: 1.35rem; line-height: 1.2; }
.case-question-admin-card header span { color: var(--rust); font: 700 .7rem Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.case-question-admin-card textarea { min-height: 92px; }
.case-question-admin-row { display: grid; grid-template-columns: 1fr 110px; gap: 12px; }
.case-question-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.case-question-admin-actions .button { min-height: 40px; padding: 8px 12px; font-size: .78rem; }
.case-question-admin-actions .question-delete { color: var(--rust); background: transparent; border-color: rgba(120,47,43,.55); }
.case-update-form { display: grid; grid-template-columns: 1fr 1fr 2fr auto; gap: 14px; align-items: end; margin-bottom: 20px; padding: 24px; background: var(--paper-light); border-top: 5px solid var(--blue); }
.case-update-form .update-wide { grid-column: span 2; }
.case-update-form textarea { min-height: 108px; }
.update-alert-choice { align-self: stretch; }
.case-update-admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 18px; margin-top: 20px; }
.case-update-admin-card { padding: 22px; background: var(--paper-light); border-top: 5px solid var(--rust); box-shadow: 0 12px 30px rgba(13,19,23,.09); }
.case-update-admin-card.is-hidden { border-top-color: #777; opacity: .78; }
.case-update-admin-card small { color: var(--rust); font: 700 .7rem Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.case-update-admin-card h3 { margin: 8px 0 10px; font-size: 1.35rem; line-height: 1.2; }
.case-update-admin-card p { margin: 0; color: var(--ink-2); white-space: pre-wrap; }
.case-update-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }
.case-update-admin-actions .button { min-height: 40px; padding: 8px 12px; font-size: .78rem; }
.case-update-admin-actions .update-delete { color: var(--rust); background: transparent; border-color: rgba(120,47,43,.55); }
.admin-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr)); gap: 18px; align-items: start; }
.admin-forum-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.admin-lane { min-width: 0; overflow: hidden; background: var(--paper-light); border-top: 5px solid var(--blue); }
.admin-lane > header { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 18px 20px; color: var(--white); background: var(--ink); }
.admin-lane > header h3 { margin: 0; font-size: 1.4rem; }
.admin-lane > header span { color: #e5bb75; font: 700 .73rem Arial, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.admin-list { display: grid; }
.admin-record { min-width: 0; padding: 22px; background: var(--paper-light); border-top: 1px solid var(--line); }
.admin-card-grid .admin-record { border-top: 5px solid var(--blue); box-shadow: 0 12px 30px rgba(13,19,23,.09); }
.admin-record:first-child { border-top-color: transparent; }
.admin-card-grid .admin-record:first-child { border-top-color: var(--blue); }
.admin-record[hidden] { display: none; }
.admin-record-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; color: var(--rust); font: 700 .74rem/1.4 Arial, sans-serif; letter-spacing: .045em; text-transform: uppercase; }
.admin-record h3 { margin: 9px 0 7px; font-size: 1.35rem; line-height: 1.25; }
.admin-record-body { margin: 0 0 12px; color: var(--ink-2); white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-record-facts { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0; }
.admin-record-facts span { padding: 5px 8px; color: var(--ink-2); background: #eadbbd; font: 700 .7rem Arial, sans-serif; }
.admin-record-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.admin-action { display: inline-flex; min-height: 39px; align-items: center; justify-content: center; padding: 8px 11px; color: var(--white); background: var(--blue); border: 0; cursor: pointer; text-decoration: none; font: 700 .8rem Arial, sans-serif; }
.admin-action.approve { background: #355d43; }
.admin-action.publish { background: var(--rust); }
.admin-action.reject { color: var(--rust); background: transparent; border: 1px solid rgba(120,47,43,.55); }
.admin-action.delete { color: var(--white); background: #501d1b; border: 1px solid #501d1b; }
.admin-action:disabled { cursor: wait; opacity: .58; }
.admin-empty { margin: 0; padding: 24px 20px; color: var(--ink-2); background: var(--paper-light); font-style: italic; }
.admin-record .media-gallery { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 15px 0; }
.admin-record .media-item img, .admin-record .media-item video { max-height: 330px; }
.admin-badge-form { display: grid; grid-template-columns: 1fr 1fr 1.6fr auto; gap: 13px; align-items: end; padding: 24px; background: var(--paper-light); }
.admin-badge-form .form-message { grid-column: 1 / -1; }
.launch-checklist { display: grid; grid-template-columns: minmax(150px, .32fr) minmax(280px, 1fr) auto; gap: 24px; align-items: center; margin-bottom: 20px; padding: 22px 24px; color: var(--white); background: var(--blue); border-left: 6px solid var(--gold); }
.launch-checklist strong { font-size: 1.2rem; }
.launch-checklist ol { margin: 0; padding-left: 20px; }
.launch-checklist li + li { margin-top: 5px; }
.launch-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.launch-card { display: flex; min-width: 0; flex-direction: column; padding: 23px; background: var(--paper-light); border-top: 5px solid var(--rust); box-shadow: 0 12px 30px rgba(13,19,23,.09); }
.launch-card h3 { margin: 0 0 13px; font-size: 1.55rem; line-height: 1.12; }
.launch-card textarea { min-height: 250px; flex: 1 1 auto; margin-bottom: 13px; line-height: 1.55; resize: vertical; }
.launch-card .button { align-self: flex-start; }
.launch-targets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 20px; background: var(--line); border: 1px solid var(--line); }
.launch-targets > div { display: grid; align-content: start; gap: 9px; padding: 22px; background: #ead9b7; }
.launch-targets .eyebrow { margin-bottom: 4px; }
.launch-targets a { color: var(--rust); font-weight: 700; }
.launch-message { margin-top: 15px; }
.delete-dialog { width: min(92vw, 560px); padding: 0; color: var(--ink); background: var(--paper-light); border: 0; border-top: 7px solid var(--rust); box-shadow: var(--shadow); }
.delete-dialog::backdrop { background: rgba(13,19,23,.7); }
.delete-dialog form { padding: clamp(28px, 5vw, 46px); }
.delete-dialog h2 { margin: 0 0 12px; font-size: clamp(2rem, 5vw, 3rem); font-weight: 500; line-height: 1.05; }
.delete-dialog p:not(.eyebrow) { color: var(--ink-2); }
.delete-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 26px; }
.button.danger { background: #501d1b; border-color: #501d1b; }
.button.danger:hover { background: #762a26; }

.admin-toolbar-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.member-admin-hero .admin-hero-inner { align-items: center; }
.member-directory-section { background: #dfcfaf; }
.member-card-list { display: grid; gap: 20px; }
.member-admin-card { overflow: hidden; background: var(--paper-light); border-top: 6px solid var(--blue); box-shadow: 0 14px 36px rgba(13,19,23,.1); }
.member-admin-card[hidden] { display: none; }
.member-admin-card > header { display: flex; justify-content: space-between; gap: 22px; align-items: start; padding: 24px 26px; border-bottom: 1px solid var(--line); }
.member-admin-card h3 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 500; line-height: 1.05; }
.member-admin-mark { display: inline-flex; margin-top: 9px; padding: 4px 8px; color: var(--rust); background: #ead7ae; font: 700 .7rem Arial, sans-serif; letter-spacing: .045em; text-transform: uppercase; }
.membership-state { display: inline-flex; min-width: 98px; min-height: 34px; align-items: center; justify-content: center; padding: 6px 10px; color: var(--white); background: var(--blue); font: 700 .72rem Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.membership-state.active { background: #355d43; }
.membership-state.suspended { color: var(--ink); background: #e3bb78; }
.membership-state.closed { background: #501d1b; }
.member-admin-dates { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.member-admin-dates p { margin: 0; padding: 18px 26px; border-left: 1px solid var(--line); }
.member-admin-dates p:first-child { border-left: 0; }
.member-admin-dates strong, .member-admin-dates span { display: block; }
.member-admin-dates strong { color: var(--rust); font: 700 .72rem Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.member-admin-dates span { margin-top: 4px; font-size: .94rem; }
.member-admin-metrics { display: grid; grid-template-columns: repeat(3, 1fr); background: #ead9b7; border-bottom: 1px solid var(--line); }
.member-admin-metrics > div { padding: 17px 26px; border-left: 1px solid var(--line); }
.member-admin-metrics > div:first-child { border-left: 0; }
.member-admin-metrics strong { display: block; color: var(--rust); font: 700 1.45rem Arial, sans-serif; }
.member-admin-metrics span { font: 700 .7rem Arial, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.member-admin-controls { display: grid; grid-template-columns: 1fr 1fr .9fr; gap: 1px; background: var(--line); }
.member-admin-controls > * { min-width: 0; padding: 24px 26px; background: var(--paper-light); }
.member-mark-form, .member-note-form { display: grid; gap: 9px; align-content: start; }
.member-mark-form label:not(:first-child) { margin-top: 5px; }
.member-note-form textarea { min-height: 110px; }
.member-access-controls strong { display: block; margin-bottom: 8px; font: 700 .82rem Arial, sans-serif; }
.member-access-controls p { margin: 0 0 17px; color: var(--ink-2); font-size: .9rem; }
.member-access-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.member-access-actions button:disabled { opacity: .42; cursor: default; }

footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px 22px; padding: 28px clamp(22px, 5vw, 72px); color: rgba(255,255,255,.68); background: var(--ink); font: .76rem Arial, sans-serif; }
footer a { color: #e3bb78; }

@media (max-width: 900px) {
  .desktop-nav { display: none !important; }
  .mobile-nav { display: block; }
  .portal-hero-inner, .places-hero-inner, .place-page-hero-inner, .place-record, .places-callout, .place-member-cta, .section-head, .place-region-heading, .forum-rules, .new-topic, .case-summary, .case-follow, .case-share, .clarksville-documentary, .dossier-heading, .recordings-heading, .recording-grid, .ghost-cam-plan, .case-contribution-callout, .record-layout, .case-update, .case-forum-return, .admin-hero-inner, .admin-section-head, .admin-forum-grid, .member-admin-controls, .traffic-breakdown, .launch-checklist, .launch-card-grid, .launch-targets { grid-template-columns: 1fr; }
  .place-grid { grid-template-columns: 1fr; }
  .place-card { min-height: 0; }
  .place-member-actions { min-width: 0; justify-items: start; }
  .clarksville-documentary { margin-top: 0; }
  .evidence-lanes { grid-template-columns: 1fr; }
  .case-question-list { grid-template-columns: 1fr; }
  .admin-summary { grid-template-columns: repeat(2, 1fr); }
  .admin-summary > div:nth-child(odd) { border-left: 0; }
  .admin-summary > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .admin-badge-form { grid-template-columns: 1fr 1fr; }
  .case-question-new, .case-update-form { grid-template-columns: 1fr 1fr; }
  .case-question-new .question-wide { grid-column: 1 / -1; }
  .case-update-form .update-wide { grid-column: 1 / -1; }
  .case-map-admin-fields { grid-template-columns: 1fr; }
  .case-map-admin-fields .map-precision-field { grid-column: auto; }
  .admin-badge-form > div:nth-child(3) { grid-column: 1 / -1; }
  .member-admin-dates { grid-template-columns: 1fr; }
  .member-admin-dates p { border-top: 1px solid var(--line); border-left: 0; }
  .member-admin-dates p:first-child { border-top: 0; }
  .case-forum-return .button { min-width: 0; }
  .forum-rules > a { white-space: normal; }
  .new-topic-copy { border-right: 0; border-bottom: 1px solid var(--line); }
  .case-page .case-hero-card { grid-template-columns: 1fr; }
  .case-page .case-cover { min-height: 230px; }
}

@media (max-width: 680px) {
  body { font-size: 16px; }
  .topbar { align-items: center; }
  .brand span { display: inline; font-size: .8rem; }
  .desktop-nav { display: none !important; }
  .mobile-nav { display: block; }
  .portal-hero-inner { padding-top: 56px; padding-bottom: 65px; }
  .form-grid { grid-template-columns: 1fr; }
  .admin-toolbar { align-items: flex-start; flex-direction: column; }
  .admin-toolbar-actions, .admin-member-link { width: 100%; align-items: stretch; flex-direction: column; }
  .admin-member-link .button { width: 100%; }
  .admin-summary, .admin-filterbar, .admin-badge-form { grid-template-columns: 1fr; }
  .case-question-new, .case-question-admin-row, .case-update-form { grid-template-columns: 1fr; }
  .case-question-new .question-wide { grid-column: auto; }
  .case-update-form .update-wide { grid-column: auto; }
  .admin-summary > div { border-top: 1px solid var(--line); border-left: 0; }
  .admin-summary > div:first-child { border-top: 0; }
  .admin-filterbar { position: static; }
  .admin-badge-form > div:nth-child(3) { grid-column: auto; }
  .member-admin-metrics { grid-template-columns: 1fr; }
  .member-admin-metrics > div { border-top: 1px solid var(--line); border-left: 0; }
  .member-admin-metrics > div:first-child { border-top: 0; }
  .forum-index-head, .thread-head { display: none; }
  .forum-case-row { grid-template-columns: 1fr auto auto; }
  .forum-case-main { grid-column: 1 / -1; }
  .forum-case-main p, .thread-main p { white-space: normal; }
  .forum-case-row > div { padding: 17px; }
  .forum-count { display: flex; gap: 7px; justify-content: flex-start; border-left: 0 !important; }
  .forum-count::before { display: inline; content: attr(data-label) ':'; color: var(--rust); font: 700 .7rem Arial, sans-serif; text-transform: uppercase; }
  .forum-latest { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0 !important; }
  .case-forum-tools { align-items: flex-start; flex-direction: column; }
  .thread-row { grid-template-columns: 1fr auto; }
  .thread-main { grid-column: 1 / -1; }
  .thread-last { border-left: 0 !important; }
  .thread-replies { display: flex; gap: 7px; align-items: center; }
  .thread-replies::before { display: inline; content: attr(data-label) ':'; color: #e5bb75; font: 700 .7rem Arial, sans-serif; text-transform: uppercase; }
  .documentary-actions .button, .contribution-actions .button { width: 100%; }
  .place-question-grid { grid-template-columns: 1fr; }
  .place-page-actions .button, .place-card-actions .button, .place-member-actions .button { width: 100%; }
  footer { flex-direction: column; }
}
