:root {
  --ink: #1d2521;
  --deep: #26322d;
  --deep-2: #313f38;
  --paper: #f5f0e7;
  --paper-2: #ebe4d6;
  --earth: #d1b06d;
  --earth-dark: #806532;
  --olive: #69722f;
  --horizon: #5f7286;
  --line: rgba(29, 37, 33, .18);
  --white: #fffdf8;
  --max: 1440px;
  --gutter: clamp(20px, 4vw, 68px);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-underline-offset: .2em; }
button, input, textarea { font: inherit; }
::selection { background: var(--earth); color: var(--deep); }

.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 1000;
  transform: translateY(-180%);
  padding: .7rem 1rem;
  background: var(--white);
  border: 2px solid var(--deep);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 18px var(--gutter);
  background: rgba(245, 240, 231, .94);
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(14px);
  transition: transform .35s ease, border-color .25s ease, background .25s ease;
}
.site-header.is-scrolled { border-color: var(--line); }
.site-header.is-hidden { transform: translateY(-110%); }
.brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
}
.brand-text { display: grid; line-height: 1.02; letter-spacing: -.03em; }
.brand-text strong { font-size: 1rem; }
.brand-text span { font-family: var(--serif); font-style: italic; font-size: .95rem; color: #556058; }
.track-mark {
  width: 42px;
  height: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 8px;
  transform: rotate(-10deg);
}
.track-mark i { background: var(--deep); border-radius: 2px 6px 2px 6px; }
.site-nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 46px); }
.site-nav a {
  position: relative;
  text-decoration: none;
  font-size: .86rem;
  font-weight: 650;
  letter-spacing: .04em;
}
.site-nav a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -.4rem;
  height: 3px;
  background: var(--earth-dark);
  transition: right .25s ease;
}
.site-nav a:hover::after, .site-nav a[aria-current='page']::after { right: 0; }
.nav-toggle { display: none; }

main { overflow: clip; }
.identity-opening {
  min-height: 72svh;
  padding: clamp(60px, 8vw, 130px) var(--gutter) clamp(70px, 9vw, 150px);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(150px, .34fr) 1fr minmax(230px, .5fr);
  grid-template-areas: 'meta title intro';
  gap: clamp(30px, 5vw, 90px);
  align-items: end;
}
.identity-meta { grid-area: meta; display: grid; gap: .35rem; font-size: .76rem; text-transform: uppercase; letter-spacing: .15em; }
.identity-meta span:last-child { color: #606a64; }
.identity-title-wrap { grid-area: title; position: relative; }
.identity-title-wrap h1 {
  margin: 0;
  font-weight: 500;
  font-size: clamp(4.6rem, 10.2vw, 10.5rem);
  letter-spacing: -.075em;
  line-height: .77;
}
.identity-title-wrap h1 span { display: block; font-family: var(--sans); }
.identity-title-wrap h1 strong { display: block; margin-left: .52em; font-family: var(--serif); font-weight: 400; font-style: italic; white-space: nowrap; }
.identity-intro { grid-area: intro; margin: 0; max-width: 33rem; font-size: clamp(1rem, 1.35vw, 1.25rem); }
.wheel-contact {
  position: absolute;
  width: 82px;
  height: 60px;
  right: -25px;
  top: 8%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;
  transform: rotate(-13deg);
}
.wheel-contact i { background: var(--earth); border-radius: 4px 14px 4px 14px; }

.section-index {
  display: flex;
  align-items: baseline;
  gap: 22px;
  opacity: .38;
  transform: translateY(12px);
  transition: opacity .6s ease, transform .6s ease;
}
.section-index.in-view { opacity: 1; transform: none; }
.section-index span { font-family: var(--serif); font-style: italic; color: var(--earth-dark); }
.section-index p { margin: 0; font-size: .75rem; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.section-index.light span { color: var(--earth); }
.section-index.light p { color: rgba(255,255,255,.75); }

.statutory-object {
  padding: clamp(80px, 11vw, 180px) var(--gutter);
  display: grid;
  grid-template-columns: minmax(150px, .27fr) 1fr minmax(240px, .42fr);
  gap: clamp(30px, 5vw, 90px);
  align-items: start;
}
.statutory-object blockquote { margin: 0; }
.statutory-object blockquote p {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.5rem, 5.3vw, 6.1rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.object-note { margin: 0; padding-top: .5rem; font-size: .92rem; color: #59635c; }

.territory-cut { margin: 0; padding: 0 var(--gutter); }
.territory-photo {
  height: clamp(330px, 52vw, 760px);
  clip-path: polygon(0 4%, 91% 0, 100% 92%, 8% 100%);
  overflow: hidden;
  background: var(--horizon);
}
.territory-photo img { width: 100%; height: 100%; object-fit: cover; }
.territory-cut figcaption {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: 16px 8% 0;
  font-size: .72rem;
  color: #5f685f;
}

.territory-copy {
  padding: clamp(80px, 10vw, 150px) var(--gutter);
  display: grid;
  grid-template-columns: minmax(150px, .27fr) 1fr;
  column-gap: clamp(30px, 5vw, 90px);
}
.text-columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 80px); max-width: 980px; }
.text-columns p { margin-top: 0; font-size: clamp(1rem, 1.3vw, 1.18rem); }
.quiet-link {
  grid-column: 2;
  justify-self: start;
  margin-top: 30px;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: .2rem;
  font-weight: 650;
}
.quiet-link span { display: inline-block; transition: transform .2s ease; }
.quiet-link:hover span { transform: translateX(5px); }

.transmission-track {
  position: relative;
  background: var(--deep);
  color: var(--white);
  padding: clamp(80px, 10vw, 150px) var(--gutter) clamp(100px, 12vw, 190px);
}
.transmission-track > .section-index { margin-bottom: clamp(60px, 8vw, 120px); }
.track-axis {
  position: absolute;
  top: clamp(185px, 19vw, 275px);
  bottom: clamp(90px, 10vw, 150px);
  left: calc(var(--gutter) + 38%);
  width: 1px;
  background: linear-gradient(var(--earth), rgba(209,176,109,.1));
}
.transmission-track ol { list-style: none; padding: 0; margin: 0; }
.transmission-track li {
  position: relative;
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 8%;
  align-items: baseline;
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,.15);
  opacity: .28;
  transform: translateX(-15px);
  transition: opacity .65s ease, transform .65s ease;
}
.transmission-track li.in-view { opacity: 1; transform: none; }
.transmission-track li::before {
  content: '';
  position: absolute;
  left: calc(38% - 20px);
  top: 50%;
  width: 40px;
  height: 13px;
  border-radius: 2px 7px;
  background: var(--earth);
  transform: translate(-50%, -50%) rotate(-10deg);
}
.transmission-track .verb { font-family: var(--serif); font-style: italic; font-size: clamp(2.5rem, 5vw, 6rem); line-height: 1; }
.transmission-track li p { margin: 0; max-width: 520px; color: rgba(255,255,255,.72); }

.local-presence {
  padding: clamp(80px, 10vw, 150px) var(--gutter);
  display: grid;
  grid-template-columns: minmax(150px, .27fr) 1fr;
  gap: clamp(30px, 5vw, 90px);
}
.large-copy { margin: 0; max-width: 980px; font-family: var(--serif); font-size: clamp(1.9rem, 3.7vw, 4rem); line-height: 1.08; letter-spacing: -.025em; }

.admin-plate {
  margin: 0 var(--gutter) clamp(90px, 12vw, 180px);
  padding: clamp(35px, 5vw, 70px);
  background: var(--paper-2);
  border-left: 12px solid var(--deep);
  display: grid;
  grid-template-columns: .37fr 1fr;
  gap: clamp(30px, 6vw, 100px);
}
.plate-heading span { font-family: var(--serif); color: var(--earth-dark); font-style: italic; }
.plate-heading h2 { margin: 1rem 0 .6rem; font-size: clamp(2rem, 3.4vw, 4rem); line-height: 1; letter-spacing: -.04em; }
.plate-heading p { max-width: 25rem; color: #59635c; }
.admin-plate dl { margin: 0; }
.admin-plate dl > div {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  opacity: .35;
  transition: opacity .5s ease;
}
.admin-plate dl > div.in-view { opacity: 1; }
.admin-plate dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; color: #667068; }
.admin-plate dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 650; }
.plate-note { grid-column: 2; margin: 0; max-width: 740px; font-size: .85rem; color: #5d675f; }

.contact-end {
  position: relative;
  background: var(--olive);
  color: var(--white);
  padding: clamp(80px, 11vw, 170px) var(--gutter);
}
.contact-end::after {
  content: '';
  position: absolute;
  right: -6vw;
  bottom: -6vw;
  width: 36vw;
  height: 20vw;
  min-width: 280px;
  min-height: 160px;
  background: repeating-linear-gradient(-11deg, transparent 0 30px, rgba(255,255,255,.09) 31px 44px);
  transform: rotate(-8deg);
}
.eyebrow { margin: 0 0 1.2rem; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.contact-end h2 { margin: 0 0 1rem; font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(3rem, 7vw, 7rem); line-height: .92; }
.contact-end > a[href^='mailto'] { position: relative; z-index: 1; font-size: clamp(1.1rem, 2.3vw, 2.1rem); font-weight: 700; }
.contact-end > p:not(.eyebrow) { max-width: 520px; margin: 2rem 0 0; }
.light-link { grid-column: auto; color: var(--white); }

.page-intro {
  padding: clamp(80px, 10vw, 145px) var(--gutter) clamp(70px, 9vw, 130px);
  display: grid;
  grid-template-columns: minmax(150px, .27fr) 1fr minmax(220px, .45fr);
  gap: clamp(30px, 5vw, 90px);
  align-items: end;
  border-bottom: 1px solid var(--line);
}
.page-intro .eyebrow { align-self: start; }
.page-intro h1 { margin: 0; font-family: var(--serif); font-size: clamp(3.2rem, 6.7vw, 7.3rem); line-height: .92; font-weight: 400; letter-spacing: -.05em; }
.page-intro > p:last-child { margin: 0; max-width: 480px; }

.association-object,
.identity-record,
.date-distinction,
.territory-facts,
.territory-relationship,
.source-list,
.photo-credits {
  padding: clamp(80px, 10vw, 150px) var(--gutter);
  display: grid;
  grid-template-columns: minmax(150px, .27fr) 1fr;
  gap: clamp(30px, 5vw, 90px);
}
.association-object blockquote {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2.2rem, 4.7vw, 5.2rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.object-reading { grid-column: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 15px; }
.object-reading p { margin: 0; padding-top: 18px; border-top: 1px solid var(--line); }

.quad-context {
  background: var(--deep);
  color: var(--white);
  padding: clamp(70px, 8vw, 120px) var(--gutter);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .7fr);
  gap: clamp(45px, 7vw, 110px);
  align-items: center;
}
.quad-context figure { margin: 0; }
.quad-context img { width: 100%; max-height: 720px; object-fit: cover; clip-path: polygon(3% 0, 100% 7%, 96% 100%, 0 93%); }
.quad-context figcaption { margin: 14px 4% 0; color: rgba(255,255,255,.6); font-size: .72rem; }
.quad-context h2 { margin: 0 0 1.5rem; font-family: var(--serif); font-size: clamp(2.5rem, 4.5vw, 5rem); line-height: .98; font-weight: 400; }
.quad-context p:last-child { color: rgba(255,255,255,.76); }

.identity-record dl, .territory-facts dl { margin: 0; }
.identity-record dl > div, .territory-facts dl > div {
  display: grid;
  grid-template-columns: minmax(180px, .35fr) 1fr;
  gap: 30px;
  padding: 22px 0;
  border-top: 1px solid var(--line);
  opacity: .35;
  transition: opacity .5s ease;
}
.identity-record dl > div.in-view, .territory-facts dl > div.in-view { opacity: 1; }
.identity-record dt, .territory-facts dt { text-transform: uppercase; font-size: .72rem; font-weight: 750; letter-spacing: .12em; color: #5d665f; }
.identity-record dd, .territory-facts dd { margin: 0; font-size: clamp(1.15rem, 2vw, 2rem); font-family: var(--serif); }

.date-distinction { background: var(--paper-2); }
.date-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.date-pair > div { border-top: 6px solid var(--deep); padding-top: 26px; }
.date-pair span { font-family: var(--serif); font-size: clamp(2.7rem, 5vw, 5.5rem); font-variant-numeric: tabular-nums; }
.date-pair p { max-width: 380px; }
.clarification { grid-column: 2; max-width: 720px; margin: 0; color: #59635c; }

.what-not-claimed {
  margin: clamp(70px, 9vw, 135px) var(--gutter);
  max-width: 960px;
}
.what-not-claimed h2 { margin: 0 0 1.5rem; font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 5.4rem); line-height: .98; font-weight: 400; }
.what-not-claimed > p:last-child { font-size: 1.08rem; max-width: 780px; }

.territory-large { margin: 0; padding: var(--gutter); }
.territory-large img { width: 100%; max-height: 780px; object-fit: cover; clip-path: polygon(0 6%, 95% 0, 100% 88%, 6% 100%); }
.territory-large figcaption { padding: 14px 5% 0; font-size: .72rem; color: #5f685f; }
.territory-relationship .text-columns { grid-column: 2; }
.territory-horizon {
  margin: 0 var(--gutter) clamp(90px, 12vw, 170px);
  padding: clamp(50px, 7vw, 100px);
  background: var(--horizon);
  color: var(--white);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 30px;
}
.territory-horizon p { margin: 0; font-family: var(--serif); font-style: italic; font-size: clamp(3rem, 7vw, 7rem); }
.territory-horizon span { text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 800; }

.contact-intro a { font-weight: 700; }
.contact-layout {
  padding: clamp(70px, 9vw, 135px) var(--gutter);
  display: grid;
  grid-template-columns: minmax(220px, .42fr) 1fr;
  gap: clamp(50px, 8vw, 130px);
}
.contact-coordinate { border-left: 5px solid var(--earth-dark); padding-left: 24px; align-self: start; }
.contact-coordinate p { margin: .35rem 0 2rem; }
.coordinate-label { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 750; color: #606961; }
.contact-form-wrap .section-index { margin-bottom: 40px; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 34px; }
.contact-form label { display: grid; gap: 9px; }
.contact-form label span { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.contact-form label:nth-of-type(4) { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea {
  width: 100%;
  border: 0;
  border-bottom: 2px solid var(--deep);
  background: transparent;
  border-radius: 0;
  padding: 13px 3px;
  outline: none;
  color: var(--ink);
}
.contact-form textarea { border: 2px solid var(--deep); padding: 14px; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--earth-dark); box-shadow: 0 2px 0 var(--earth); }
.form-bottom { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; }
.form-bottom p { margin: 0; font-size: .82rem; color: #5d665f; max-width: 520px; }
.form-bottom button {
  border: 0;
  background: var(--deep);
  color: var(--white);
  padding: 16px 19px 16px 22px;
  display: inline-flex;
  align-items: center;
  gap: 28px;
  cursor: pointer;
  font-weight: 750;
}
.form-bottom button i { font-style: normal; font-size: 1.25rem; transition: transform .2s ease; }
.form-bottom button:hover i { transform: translateX(5px); }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-status { margin-bottom: 30px; padding: 18px 20px; border-left: 5px solid; }
.form-status.success { background: #e7eee5; border-color: var(--olive); }
.form-status.error { background: #f1e2de; border-color: #8e4b3c; }
.form-status p { margin-top: 0; }
.form-status ul { margin-bottom: 0; }

.legal-copy { max-width: 920px; padding: clamp(70px, 8vw, 120px) var(--gutter) clamp(100px, 12vw, 180px); }
.legal-copy h2 { margin: 3rem 0 .8rem; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 400; }
.legal-copy h2:first-child { margin-top: 0; }
.legal-copy p { max-width: 760px; }
.source-list article, .photo-credits article { grid-column: 2; padding: 30px 0; border-top: 1px solid var(--line); max-width: 900px; }
.source-list article:first-of-type, .photo-credits article:first-of-type { padding-top: 0; border-top: 0; }
.source-list h2, .photo-credits h2 { margin: 0 0 .7rem; font-family: var(--serif); font-size: clamp(1.7rem, 2.8vw, 2.7rem); font-weight: 400; }
.source-list article p, .photo-credits article p { max-width: 720px; }
.source-list article a, .photo-credits article a { font-weight: 700; }
.photo-credits { background: var(--paper-2); }

.site-footer {
  padding: clamp(45px, 6vw, 80px) var(--gutter) 36px;
  background: var(--deep);
  color: var(--white);
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 35px 45px;
}
.footer-mark { width: 76px; height: 54px; display: grid; grid-template-columns: 1fr 1fr; gap: 11px 16px; transform: rotate(-10deg); }
.footer-mark span { background: var(--earth); border-radius: 3px 10px 3px 10px; }
.footer-main { display: flex; justify-content: space-between; gap: 30px; align-items: start; }
.footer-main p { margin: 0; }
.footer-main span { color: rgba(255,255,255,.62); font-size: .82rem; }
.footer-meta { grid-column: 2; display: flex; flex-wrap: wrap; gap: 12px 25px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); font-size: .75rem; color: rgba(255,255,255,.62); }
.footer-meta a { color: var(--white); }

@media (max-width: 980px) {
  .identity-opening { grid-template-columns: 1fr; grid-template-areas: 'meta' 'title' 'intro'; align-items: start; }
  .identity-title-wrap h1 strong { margin-left: .25em; }
  .wheel-contact { right: 5%; }
  .statutory-object { grid-template-columns: 1fr; }
  .statutory-object .section-index, .statutory-object blockquote, .statutory-object .object-note { grid-column: 1; }
  .territory-copy, .local-presence, .association-object, .identity-record, .date-distinction, .territory-facts, .territory-relationship, .source-list, .photo-credits { grid-template-columns: 1fr; }
  .territory-copy .text-columns, .territory-copy .quiet-link, .local-presence .large-copy, .association-object blockquote, .object-reading, .identity-record dl, .date-pair, .clarification, .territory-facts dl, .territory-relationship .text-columns, .source-list article, .photo-credits article { grid-column: 1; }
  .admin-plate { grid-template-columns: 1fr; }
  .admin-plate dl, .plate-note { grid-column: 1; }
  .page-intro { grid-template-columns: 1fr; align-items: start; }
  .quad-context { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .site-header { min-height: 72px; }
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 0;
    background: none;
    color: var(--ink);
    font-size: .8rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .1em;
    cursor: pointer;
  }
  .nav-toggle i, .nav-toggle i::before { display: block; width: 23px; height: 2px; background: currentColor; content: ''; transition: transform .2s ease; }
  .nav-toggle i::before { transform: translateY(6px); }
  .nav-toggle[aria-expanded='true'] i { transform: rotate(45deg); }
  .nav-toggle[aria-expanded='true'] i::before { transform: rotate(-90deg); }
  .site-nav {
    display: none;
    position: fixed;
    inset: 72px 0 auto;
    min-height: calc(100svh - 72px);
    padding: 50px var(--gutter);
    background: var(--deep);
    color: var(--white);
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }
  .site-nav.is-open { display: flex; }
  .site-nav a { font-family: var(--serif); font-size: clamp(2.4rem, 11vw, 4rem); font-weight: 400; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .site-nav a::after { display: none; }
  .identity-opening { min-height: auto; padding-top: 80px; }
  .identity-title-wrap h1 { font-size: clamp(4.2rem, 21vw, 7.4rem); }
  .identity-title-wrap h1 strong { white-space: normal; }
  .territory-cut { padding: 0; }
  .territory-photo { clip-path: polygon(0 3%, 93% 0, 100% 96%, 5% 100%); }
  .territory-cut figcaption { flex-direction: column; gap: .25rem; padding: 14px var(--gutter) 0; }
  .text-columns, .object-reading, .date-pair { grid-template-columns: 1fr; }
  .transmission-track li { grid-template-columns: 1fr; gap: 12px; padding: 34px 0; }
  .transmission-track li::before { left: auto; right: 0; top: 20px; transform: rotate(-10deg); }
  .track-axis { display: none; }
  .admin-plate { margin-left: 0; margin-right: 0; border-left-width: 8px; }
  .admin-plate dl > div, .identity-record dl > div, .territory-facts dl > div { grid-template-columns: 1fr; gap: 5px; }
  .page-intro { padding-top: 80px; }
  .page-intro h1 { font-size: clamp(3.4rem, 15vw, 5.6rem); }
  .territory-large { padding-left: 0; padding-right: 0; }
  .territory-large figcaption { padding-left: var(--gutter); padding-right: var(--gutter); }
  .territory-horizon { margin-left: 0; margin-right: 0; flex-direction: column; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form label:nth-of-type(4), .form-bottom { grid-column: 1; }
  .form-bottom { grid-template-columns: 1fr; }
  .form-bottom button { justify-self: start; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-main { flex-direction: column; }
  .footer-meta { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
