:root {
  --bg:#090e0e;
  --panel:#101817;
  --line:#2a3531;
  --ink:#d5dbd3;
  --dim:#a5b1a7;
  --glow:#b5d4b6;
  --stamp:#943d2c;
  --mono:"Courier New",monospace;
  --paper:#c6b78f;
  --paper-2:#d7cba8;
  --paper-line:#a89a74;
  --paper-ink:#24271f;
  --paper-ink-dim:#434635;
  --blotter:#0a100f;
  --hand:"Segoe Script","Bradley Hand",cursive;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:28px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.65 Arial,Helvetica,sans-serif;
}
h1,h2,h3,h4,p,figure {
  margin:0;
}
a {
  color:inherit;
  text-underline-offset:4px;
}
button,input,textarea,select {
  font:inherit;
}
button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
img {
  max-width:100%;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid var(--glow);
  outline-offset:5px;
}
button:disabled {
  cursor:default;
}
button[hidden],[hidden] {
  display:none!important;
}
::selection {
  background:#b5d4b6;
  color:#090e0e;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip-link {
  position:absolute;
  left:20px;
  top:-100px;
  z-index:100;
  padding:12px;
  background:var(--glow);
  color:var(--bg);
}
.skip-link:focus {
  top:10px;
}
.site-header {
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:30px 5.5%;
  gap:28px;
  border-bottom:1px solid #d5dbd324;
  background:linear-gradient(#090e0e70,transparent);
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:13px;
  text-decoration:none;
  color:#f0eee2;
  font:700 18px/1.1 var(--mono);
  letter-spacing:.15em;
}
.brand-mark {
  font-size:40px;
  font-weight:400;
  line-height:1;
  color:var(--glow);
}
.brand small {
  display:block;
  font:9px/1.5 var(--mono);
  letter-spacing:.17em;
  margin-top:7px;
  color:#b5c0b4;
}
nav {
  display:flex;
  gap:32px;
  align-items:center;
}
nav a {
  font:12px/1.5 var(--mono);
  text-decoration:none;
  color:#e4e8dd;
}
nav a:hover {
  color:var(--glow);
  text-decoration:underline;
}
.menu-toggle {
  display:none;
}
.hero {
  min-height:760px;
  min-height:min(900px,100svh);
  position:relative;
  display:flex;
  align-items:center;
  padding:145px 5.5% 140px;
  isolation:isolate;
}
.hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:-3;
}
/* The still stays the hero's first paint; the loop lies over it and fades in only once it can
   play, so the video never blocks the page and a visitor who wants no motion never fetches it. */
.hero-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:-2;
  opacity:0;
  transition:opacity 1.4s ease-out;
}
.hero-video.playing {
  opacity:1;
}
.motion-toggle {
  border:1px solid #a4b6a460;
  background:transparent;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  padding:4px 9px;
  margin-left:10px;
}
.motion-toggle:hover {
  border-color:var(--glow);
  color:var(--glow);
}
.hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#090e0ee6 0%,#090e0e87 42%,#090e0e08 82%),linear-gradient(0deg,var(--bg),transparent 30%,#090e0e25);
}
.hero-copy {
  max-width:870px;
}
.eyebrow {
  font:11px/1.7 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--dim);
  margin-bottom:20px;
}
.hero .eyebrow {
  color:#c8d9c7;
}
.signal {
  width:6px;
  height:6px;
  background:var(--glow);
  display:inline-block;
  margin:0 9px 2px 0;
  box-shadow:0 0 9px #b5d4b677;
}
h1 {
  font:400 clamp(3rem,6.6vw,6.5rem)/1.03 Georgia,serif;
  letter-spacing:-.045em;
  color:#f0eee3;
}
h1 em,h2 em {
  font-weight:400;
  color:var(--glow);
}
.hero-intro {
  font-size:18px;
  line-height:1.65;
  color:#e2e4db;
  margin-top:28px;
}
.hero-description {
  font-size:15px;
  color:#b8c3b9;
  max-width:440px;
  margin-top:12px;
}
.hero-actions {
  display:flex;
  gap:30px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:34px;
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:14px 22px;
  min-height:48px;
  border:1px solid #8a9d89;
  background:transparent;
  color:var(--ink);
  font:12px/1.4 var(--mono);
  text-decoration:none;
  letter-spacing:.06em;
}
.btn:hover {
  background:#b5d4b616;
  border-color:var(--glow);
}
.btn.primary {
  background:var(--glow);
  color:#132017;
  border-color:var(--glow);
}
.btn.primary:hover {
  background:#d0e6ca;
}
.text-link {
  font:12px/1.6 var(--mono);
  text-decoration:none;
  border-bottom:1px solid #a4b6a460;
  padding-bottom:5px;
}
.text-link:hover {
  color:var(--glow);
}
.hero-bottom {
  position:absolute;
  bottom:26px;
  left:5.5%;
  right:5.5%;
  display:flex;
  justify-content:space-between;
  gap:18px;
  font:10px/1.5 var(--mono);
  letter-spacing:.12em;
  color:#b8c4b8;
}
.hero-bottom span:nth-child(2) {
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.hero-bottom a {
  text-decoration:none;
}
.section {
  padding:90px 5.5%;
  max-width:1600px;
  margin:auto;
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:36px;
  margin-bottom:36px;
}
.section-heading .eyebrow {
  margin-bottom:12px;
}
h2 {
  font:400 clamp(2rem,3.3vw,3.1rem)/1.15 Georgia,serif;
  letter-spacing:-.025em;
  color:#eae9df;
}
.section-heading>p {
  font-size:14px;
  color:var(--dim);
  max-width:320px;
}
.territories {
  padding-top:64px;
}
.territory-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.territory {
  position:relative;
  isolation:isolate;
  min-height:410px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  text-decoration:none;
  border:1px solid #ffffff18;
  padding:30px;
  transition:border-color .2s;
}
.territory:hover {
  border-color:var(--glow);
}
.territory>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
  transition:transform .5s ease;
}
.territory:hover>img {
  transform:scale(1.035);
}
.land-territory>img {
  object-position:67% center;
}
.territory:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,#090e0ef5 0%,#090e0e70 53%,#090e0e10);
}
.territory>div {
  width:100%;
}
.territory .eyebrow {
  font-size:9px;
  color:#dae1d5;
  letter-spacing:.1em;
}
.territory h3 {
  font:400 52px/1.15 Georgia,serif;
  color:#f0eee2;
  display:flex;
  justify-content:space-between;
  margin:12px 0;
}
.territory h3 span {
  font:24px/1.8 Arial,sans-serif;
  color:#c6d7c4;
}
.territory p {
  font-size:14px;
  color:#d3dbcf;
}
.territory-count {
  display:block;
  font:10px/1.5 var(--mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#c0ceb9;
  margin-top:22px;
}
.image-label {
  position:absolute;
  top:14px;
  right:14px;
  color:#edf0e6;
  background:#090e0eaa;
  padding:3px 7px;
  font:9px/1.6 var(--mono);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.archive {
  border-top:1px solid var(--line);
}
.archive-controls {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.filters {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.filters button {
  min-height:44px;
  padding:10px 16px;
  background:transparent;
  color:var(--dim);
  border:1px solid transparent;
  font:12px/1.5 var(--mono);
}
.filters button span {
  font-size:10px;
  color:#b7c4b8;
  margin-left:5px;
}
.filters button[aria-pressed=true] {
  background:#28382d;
  color:#e0ecdb;
  border-color:#668068;
}
.filters button:hover {
  border-color:#668068;
}
.search-label {
  display:flex;
  align-items:center;
  gap:10px;
  border-bottom:1px solid #5c6c61;
  min-width:270px;
}
.search-label>span[aria-hidden] {
  font-size:25px;
  color:var(--dim);
}
.search-label input {
  background:transparent;
  border:0;
  color:var(--ink);
  padding:10px 0;
  min-width:0;
  width:100%;
  font-size:13px;
}
input::placeholder,textarea::placeholder {
  color:#a0ada3;
  opacity:1;
}
.catalog-meta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:64px;
  font:10px/1.5 var(--mono);
  color:var(--dim);
  letter-spacing:.08em;
}
.quiet-button {
  border:0;
  background:transparent;
  color:var(--glow);
  font:11px/1.5 var(--mono);
  padding:10px;
}
.case-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:54px 30px;
}
/* One coherent archival stock, with the photographed edges held at their natural scale.
   The center alone stretches: long records cannot stretch the tab or folded corners.
   Keep filters on the paper layer so case photographs and ink retain their real colors. */
.case-card {
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  color:var(--paper-ink);
  /* One inset for every element on the folder's face. It lived in five separate declarations
     and the phone breakpoint only overrode two of them, so the ink walked off the paper. */
  --inset:38px;
  isolation:isolate;
  padding-bottom:62px;
  filter:drop-shadow(0 10px 8px #0006);
  transition:transform .22s cubic-bezier(.16,1,.3,1),filter .22s ease-out;
}
.case-card::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border:solid transparent;
  border-width:80px 44px 60px;
  border-image:url("folders/archival-folder-v2.webp") 200 110 150 fill / 80px 44px 60px / 0 stretch;
}
.case-card[data-territory="sky"]::before {
  filter:grayscale(.8) sepia(.12) hue-rotate(35deg) brightness(.95);
}
.case-card[data-territory="water"]::before {
  filter:sepia(.28) hue-rotate(42deg) saturate(.55) brightness(.94);
}
.case-card:hover,.case-card:focus-within {
  transform:translateY(-4px);
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.55));
}
.case-card:focus-within {
  outline:2px solid var(--glow);
  outline-offset:4px;
}
.marking {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:0 var(--inset);
  padding:82px 0 8px;
  border-bottom:2px solid var(--paper-ink);
  font:11px/1.4 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.marking-file {
  position:absolute;
  top:47px;
  left:44px;
  width:calc((100% - 88px) * .358);
  text-align:center;
  font-size:11px;
  line-height:16px;
  letter-spacing:.09em;
  white-space:nowrap;
  font-weight:700;
}
.marking-rubric {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.marking-territory {
  flex:none;
  padding:1px 8px;
  border:1px solid var(--paper-ink);
  letter-spacing:.2em;
}
.jacket-body {
  position:relative;
  padding:18px var(--inset) 0;
}
/* the print, clipped and taped on rather than built in */
.jacket-print {
  position:relative;
  margin:0 0 20px;
  rotate:-.7deg;
}
.jacket-print img.frame {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#0a0f10;
  border:7px solid #f2ead4;
  box-shadow:0 8px 12px -8px rgba(0,0,0,.75);
  transition:transform .5s;
}
.case-card[data-case="CR-0029"] .jacket-print img.frame {
  object-position:68% center;
}
.case-card:hover .jacket-print img.frame {
  transform:scale(1.015);
}
.jacket-print img.clip {
  position:absolute;
  top:-15px;
  left:-10px;
  width:40px;
  height:auto;
  rotate:12deg;
  z-index:3;
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.45));
}
.jacket-print img.tape {
  position:absolute;
  right:-16px;
  bottom:-12px;
  width:104px;
  height:auto;
  rotate:-19deg;
  z-index:3;
  opacity:.94;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));
}
.jacket-print figcaption {
  margin-top:7px;
  font:9px/1.5 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--paper-ink-dim);
}
.case-card h3 {
  font:400 25px/1.15 Georgia,serif;
  margin-bottom:4px;
}
.case-title {
  font:11px/1.5 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--paper-ink-dim);
  margin-bottom:14px;
}
/* the cover sheet: the fields the record already carries, typed into ruled boxes */
.jacket-form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(53,50,34,.45);
  margin:0 0 14px;
}
.jacket-form>div {
  padding:7px 2px 8px;
  border-bottom:1px solid rgba(53,50,34,.28);
}
.jacket-form>div:nth-child(odd) {
  padding-right:12px;
  border-right:1px solid rgba(53,50,34,.28);
}
.jacket-form>div:nth-child(even) {
  padding-left:12px;
}
.jacket-form>div.wide {
  grid-column:1/-1;
  padding-inline:0;
  border-right:0;
}
.jacket-form dt {
  font:9px/1.6 var(--mono);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--paper-ink-dim);
}
.jacket-form dd {
  margin:0;
  font:12.5px/1.45 var(--mono);
  font-variant-numeric:tabular-nums;
}
.card-summary {
  font-size:14px;
  line-height:1.55;
  margin-bottom:16px;
}
/* a photographed rubber-stamp impression, sliced as a frame so the dry ink keeps its grain at
   any label width - the status itself stays CSS text, so every record's wording works */
.jacket-stamp {
  /* Struck on the paper at the foot of the file, not across the print: over a dark photograph
     the multiplied red ink went black and the status became unreadable. It stays in normal flow
     and wraps, because a status is free text - "TESTED · UNRECONCILED" sets 368px wide, which
     absolutely positioned would have hung off the side of a three-column card. */
  align-self:flex-end;
  max-width:calc(100% - var(--inset) * 2);
  margin:2px var(--inset) 14px;
  text-align:center;
  rotate:-6deg;
  padding:11px 20px 10px;
  border:13px solid transparent;
  border-image:url("prop-stampmark.png") 58 / 13px / 0 stretch;
  color:var(--stamp);
  mix-blend-mode:multiply;
  font:700 12px/1 var(--mono);
  letter-spacing:.2em;
  opacity:.9;
}
.card-note {
  font:16px/1.35 var(--hand);
  color:#24314f;
  rotate:-.6deg;
  margin:2px var(--inset) 12px;
}
.card-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:auto var(--inset) 0;
  padding-top:11px;
  border-top:2px solid var(--paper-ink);
}
.card-footer small {
  font:9px/1.5 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--paper-ink-dim);
}
.card-open {
  font:700 12px/1 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--paper-ink);
  text-decoration:none;
  white-space:nowrap;
  padding:8px 0;
}
/* the whole jacket is the target; the link keeps the accessible name */
.card-open:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
}
.case-card:hover .card-open {
  text-decoration:underline;
  text-underline-offset:4px;
}
.card-open:focus-visible {
  outline:none;
}
.case-card.selected {
  filter:drop-shadow(0 12px 12px #0009);
}
.case-card.selected .marking-territory {
  background:var(--paper-ink);
  color:#f2ead4;
}
.load-more {
  text-align:center;
  margin-top:36px;
}
/* Mirrors the meta row under the grid, so a filtered list has a control at its foot too. */
.bottom-meta {
  justify-content:flex-end;
  min-height:0;
  margin-top:14px;
}
.empty-state {
  padding:40px;
  border:1px dashed var(--line);
  color:var(--dim);
  margin:16px 0;
}
.reading-room {
  padding-top:86px;
  scroll-margin-top:30px;
}
.reading-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:34px;
}
.reading-heading .eyebrow {
  margin-bottom:6px;
}
.reading-heading h2 {
  font-size:30px;
}
.reader-tools {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.reader-tools button {
  background:transparent;
  border:1px solid #425248;
  color:#cdd8c7;
  padding:12px;
  font:10px/1.5 var(--mono);
  min-height:44px;
}
.reader-tools button:hover {
  background:#26352b;
}
.copy-status {
  font-size:12px;
  color:var(--dim);
}
.copy-status:not(:empty) {
  margin-bottom:24px;
}
.folder {
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  padding:65px 36px 40px;
  gap:32px;
  box-shadow:0 12px 35px #0005;
  background-size:170px;
}
.folder .stamp {
  max-width:85%;
  line-height:1.4;
  font-size:10px;
  letter-spacing:.12em;
  top:15px;
  right:24px;
  rotate:3deg;
  position:absolute;
}
.folder-category {
  font:10px/1.5 var(--mono)!important;
  text-transform:uppercase;
  letter-spacing:.15em;
  margin-bottom:14px;
  color:#48513f;
}
.sheet-body h3 {
  font-size:32px;
  line-height:1.15;
}
.sheet-body p {
  font-family:Georgia,serif;
  font-size:17px;
  line-height:1.7;
}
.sheet-body .margin-note {
  font:16px/1.6 var(--hand);
  margin-top:20px;
  rotate:0deg;
}
.sheet-body .sourcing {
  font:11px/1.7 var(--mono);
  margin-top:24px;
}
.sourcing a {
  overflow-wrap:anywhere;
}
.print {
  align-self:start;
}
.print img:not(.clip) {
  aspect-ratio:4/3;
  object-fit:cover;
  height:auto;
  filter:none;
  border:7px solid #f0e6cb;
  box-shadow:0 4px 12px #24271f25;
}
.print figcaption {
  font:9px/1.6 var(--mono);
  letter-spacing:.05em;
}
.docket {
  grid-column:1/-1;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 28px;
  font-family:var(--mono);
  border-top:1px solid #7b795266;
  padding-top:22px;
}
.docket>div {
  grid-template-columns:6rem minmax(0,1fr);
  gap:8px;
}
.docket dt {
  font-size:10px;
}
.docket dd {
  font-size:11px;
}
.slip {
  position:static;
  grid-column:1/-1;
  width:100%;
  max-width:100%;
  padding:18px 22px;
  rotate:-.5deg;
  background:#e4d9b7;
  border-left:2px solid #a99a6a;
  box-shadow:0 4px 8px #24271f15;
  margin:0;
}
.slip h4 {
  font:10px/1.5 var(--mono);
  text-transform:uppercase;
  letter-spacing:.15em;
  margin-bottom:8px;
}
.slip p {
  font:16px/1.6 var(--hand);
}
.desk {
  padding:32px 28px 100px;
}
.redact {
  background:#24302710;
  color:inherit;
  border:0;
  border-bottom:1px dotted #646b4c;
  cursor:default;
  padding:0 2px;
  font:inherit;
  display:inline;
  transition:none;
}
.redact:hover,.redact:focus {
  background:#24302718;
  color:inherit;
}
.conceal .redact {
  background:#24271f;
  color:transparent;
  cursor:pointer;
  border-bottom-color:transparent;
}
.conceal .redact:hover,.conceal .redact:focus-visible,.conceal .redact.revealed {
  color:#24271f;
  background:#24302712;
}
.reader-footnote {
  color:var(--dim);
  font:11px/1.7 var(--mono);
  margin-top:22px;
}
.reader-footnote a {
  white-space:normal;
  color:var(--glow);
}
.method {
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  padding-top:100px;
  padding-bottom:100px;
}
.method>div>p:not(.eyebrow),.report>div>p:not(.eyebrow) {
  max-width:470px;
  color:var(--dim);
  font-size:15px;
  margin-top:24px;
}
.method .text-link {
  display:inline-block;
  margin-top:26px;
}
.method-notes {
  display:grid;
  gap:26px;
}
.method-notes article {
  display:flex;
  gap:24px;
  padding-bottom:25px;
  border-bottom:1px solid var(--line);
}
.method-notes article>span {
  font:11px/1.6 var(--mono);
  color:#aab998;
}
.method-notes h3 {
  font:23px/1.3 Georgia,serif;
  color:#e1e6d9;
  margin-bottom:10px;
}
.method-notes p {
  font-size:14px;
  color:var(--dim);
}
.report {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  border-top:1px solid var(--line);
  background:linear-gradient(110deg,#14201980,transparent);
}
.report .privacy-note {
  padding:18px 0 0;
  border-top:1px solid var(--line);
  font:12px/1.8 var(--mono)!important;
}
.report form {
  display:grid;
  gap:21px;
}
.report label {
  display:grid;
  gap:9px;
  font:10px/1.6 var(--mono);
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#bfcdb9;
}
.report input,.report textarea,.report select {
  width:100%;
  max-width:100%;
  min-width:0;
  background:#101716;
  border:1px solid #455348;
  padding:13px;
  color:#e0e6d9;
  font:16px/1.5 Arial,sans-serif;
  border-radius:0;
}
.report textarea {
  resize:vertical;
  min-height:150px;
}
.report button {
  justify-self:start;
}
.form-status {
  font:12px/1.7 var(--mono);
  color:var(--glow);
}
footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  border-top:1px solid var(--line);
  padding:36px 5.5%;
  font:10px/1.8 var(--mono);
  color:var(--dim);
}
footer .brand {
  font-size:14px;
}
footer .brand-mark {
  font-size:30px;
}
footer .brand small {
  font-size:8px;
}
@media(min-width:1600px) {
  .hero-copy {
    margin-left:calc((100vw - 1600px)/2);
  }
}
@media(max-width:1050px) {
  .hero {
    min-height:760px;
  }
  .site-header {
    padding:25px 5.5%;
  }
  nav {
    gap:20px;
  }
  .territory {
    min-height:360px;
    padding:23px;
  }
  .territory .eyebrow {
    font-size:8px;
  }
  .territory p {
    font-size:13px;
  }
  .territory h3 {
    font-size:44px;
  }
  .case-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .section-heading {
    align-items:start;
  }
  .section-heading>p {
    max-width:230px;
  }
  .folder {
    padding:65px 24px 30px;
    gap:26px;
  }
  .sheet-body h3 {
    font-size:27px;
  }
  .docket {
    gap:10px 20px;
  }
  .reading-heading {
    align-items:flex-start;
  }
  .reader-tools {
    max-width:280px;
    justify-content:flex-end;
  }
  .method,.report {
    gap:6%;
  }
}
@media(max-width:700px) {
  .section {
    padding:60px 6%;
  }
  .site-header {
    padding:20px 6%;
    align-items:center;
  }
  .brand {
    font-size:15px;
    gap:10px;
  }
  .brand small {
    font-size:8px;
  }
  .brand-mark {
    font-size:32px;
  }
  .menu-toggle {
    display:flex;
    align-items:center;
    gap:16px;
    min-height:44px;
    padding:10px 0 10px 12px;
    background:transparent;
    border:0;
    color:#e0e6d9;
    font:12px/1.5 var(--mono);
  }
  nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#0c1513;
    border-bottom:1px solid #5b715d;
    padding:18px 6%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  nav.open {
    display:flex;
  }
  nav a {
    padding:14px 0;
  }
  body.menu-open .site-header {
    background:#0c1513;
  }
  .hero {
    min-height:760px;
    min-height:100svh;
    padding:160px 6% 120px;
    align-items:center;
  }
  .hero-image {
    object-position:58% center;
  }
  .hero::after {
    background:linear-gradient(90deg,#090e0edd,#090e0e66),linear-gradient(0deg,var(--bg),transparent 55%);
  }
  .hero .eyebrow {
    font-size:9px;
    max-width:260px;
    margin-bottom:24px;
    line-height:1.9;
  }
  h1 {
    font-size:clamp(2.65rem,8.8vw,4rem);
    line-height:1.08;
  }
  .hero-intro {
    font-size:16px;
    margin-top:24px;
  }
  .hero-description {
    font-size:14px;
    max-width:330px;
  }
  .desktop-break {
    display:none;
  }
  .hero-actions {
    gap:24px;
    margin-top:30px;
  }
  .hero-bottom {
    left:6%;
    right:6%;
    bottom:24px;
    flex-wrap:wrap;
    font-size:9px;
    row-gap:12px;
  }
  .hero-bottom span:nth-child(2) {
    order:3;
    width:100%;
  }
  .section-heading {
    display:block;
    margin-bottom:28px;
  }
  .section-heading>p {
    margin-top:20px;
    max-width:none;
  }
  .eyebrow {
    font-size:9px;
  }
  h2 {
    font-size:32px;
  }
  .territory-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  .territory {
    min-height:330px;
    padding:27px;
  }
  .territory .eyebrow {
    font-size:10px;
  }
  .territory p {
    font-size:14px;
  }
  .territory h3 {
    font-size:48px;
  }
  .territory>img {
    object-position:center 40%;
  }
  .land-territory>img {
    object-position:65% 40%;
  }
  .archive-controls {
    display:block;
  }
  .filters {
    gap:3px;
    justify-content:space-between;
  }
  .filters button {
    padding:10px 9px;
    font-size:11px;
  }
  .filters button span {
    margin-left:2px;
    font-size:9px;
  }
  .search-label {
    min-width:0;
    margin-top:14px;
  }
  .search-label input {
    font-size:16px;
  }
  .case-grid {
    gap:20px;
    grid-template-columns:1fr;
  }
  .jacket-print img.frame {
    aspect-ratio:16/10;
  }
  .case-card {
    --inset:32px;
  }
  .case-card h3 {
    font-size:28px;
  }
  .catalog-meta {
    font-size:9px;
    letter-spacing:.02em;
    gap:10px;
  }
  .reading-room {
    padding-top:64px;
  }
  .reading-heading {
    display:block;
    margin-bottom:32px;
  }
  .reader-tools {
    margin-top:22px;
    justify-content:start;
    max-width:none;
    gap:8px;
  }
  .reader-tools button {
    font-size:9px;
  }
  .desk {
    padding:18px 10px 18px;
  }
  .desk:before,.stampblock,.pencil,.mug,.clip {
    display:none;
  }
  .folder {
    grid-template-columns:minmax(0,1fr);
    padding:65px 20px 24px;
    gap:26px;
  }
  .folder:before {
    left:20px;
  }
  .folder .stamp {
    font-size:9px;
    right:18px;
    max-width:88%;
  }
  .print {
    grid-row:2;
  }
  .print img:not(.clip) {
    aspect-ratio:4/3;
  }
  .sheet-body h3 {
    font-size:27px;
  }
  .sheet-body p {
    font-size:16px;
  }
  .docket {
    grid-template-columns:1fr;
  }
  .docket>div {
    grid-template-columns:5.3rem minmax(0,1fr);
  }
  .slip {
    rotate:0deg;
    padding:16px;
  }
  .slip p {
    font-size:15px;
  }
  .method,.report {
    grid-template-columns:1fr;
    gap:40px;
  }
  .method-notes h3 {
    font-size:23px;
  }
  .report .privacy-note {
    font-size:11px!important;
  }
  footer {
    padding:30px 6%;
    flex-wrap:wrap;
    justify-content:start;
    gap:26px;
  }
  footer p {
    width:100%;
    order:3;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
  .territory:hover>img,.case-card:hover .jacket-print img.frame {
    transform:none;
  }
}
