/* ==========================================================================
   SECTOR 419 — site stylesheet
   Colors come straight from the brand board. Change them here once and they
   update everywhere on the site.
   ========================================================================== */

:root {
  --black:      #0B0B0B;   /* Tactical Black  */
  --green:      #2E3B2E;   /* Field Green     */
  --green-deep: #1A231A;   /* darker green for layering */
  --tan:        #C9B28A;   /* Weathered Tan   */
  --tan-lit:    #E2CEA9;   /* brighter tan for links/hover */
  --steel:      #7B848A;   /* Steel Gray      */
  --bone:       #EDE7DA;   /* light reading surface */
  --paper:      #F6F2E8;

  --measure: 66ch;
  --pad: clamp(1.25rem, 4vw, 2.5rem);
  --band-y: clamp(3.5rem, 8vw, 6rem);

  /* Field-structure silhouette used behind the dark sections. */
  --field-line: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20140%22%20preserveAspectRatio%3D%22xMidYMax%20meet%22%3E%3Cg%20fill%3D%22%238FA47E%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M26%2074L19.7%20100.4L32.3%20100.4ZM26%2091.16L16.8%20117.56L35.2%20117.56ZM26%20108.32L13.9%20134.72L38.1%20134.72ZM24.5%20130.76H27.5V140H24.5Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M48%2092L43.38%20111.2L52.62%20111.2ZM48%20104.48L41.2533%20123.68L54.7467%20123.68ZM48%20116.96L39.1267%20136.16L56.8733%20136.16ZM46.9%20133.28H49.1V140H46.9Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M72%20102H140V108.08H72ZM73%20108.08H139V115.01H73ZM73%20116.41H139V123.34H73ZM73%20124.74H139V131.67H73ZM73%20133.07H139V140H73Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M156%20110H202V114.4H156ZM156%20116.4H202V120.8H156ZM156%20122.8H202V127.2H156ZM156%20129.2H202V133.6H156ZM156%20135.6H202V140H156Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M229.4%20140L239.76%2075.52L242.96%2075.52L232.6%20140ZM285.4%20140L275.04%2075.52L278.24%2075.52L288.6%20140ZM233.84%20115.2H284.16V117.6H233.84ZM236.8%2095.36H281.2V97.76H236.8ZM227.92%2072.52H290.08V76.52H227.92ZM233.84%2050.72H236.84V75.52H233.84ZM281.94%2050.72H284.94V75.52H281.94ZM233.84%2059.4H284.16V61.6H233.84ZM223.48%2050.72L259%2016L294.52%2050.72L259%2040.8Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M318%2078H404V140H318ZM328.32%2089.16H342.08V99.08H328.32ZM352.4%2089.16H366.16V99.08H352.4ZM376.48%2089.16H390.24V99.08H376.48ZM328.32%20109H342.08V118.92H328.32ZM352.4%20109H366.16V118.92H352.4ZM376.48%20109H390.24V118.92H376.48ZM352.4%20121.4H369.6V140H352.4Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M420%20129.8H446V138.8H420ZM422%20119.6H444V128.6H422ZM424%20109.4H442V118.4H424Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M458%20108H516V113.12H458ZM459%20113.12H515V121.147H459ZM459%20122.547H515V130.573H459ZM459%20131.973H515V140H459Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M468%2080H512V84.48H468ZM469%2084.48H511V91.3867H469ZM469%2092.7867H511V99.6933H469ZM469%20101.093H511V108H469Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M532%20140L538.48%20120L579.52%20120L586%20140Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M606%2068L599.28%2096.8L612.72%2096.8ZM606%2086.72L596.187%20115.52L615.813%20115.52ZM606%20105.44L593.093%20134.24L618.907%20134.24ZM604.4%20129.92H607.6V140H604.4Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M630%2088L624.96%20108.8L635.04%20108.8ZM630%20101.52L622.64%20122.32L637.36%20122.32ZM630%20115.04L620.32%20135.84L639.68%20135.84ZM628.8%20132.72H631.2V140H628.8Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M660%20114H700V119H660ZM660%20121H700V126H660ZM660%20128H700V133H660ZM660%20135H700V140H660Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M712%2098H770V140H712ZM718.96%20105.56H728.24V112.28H718.96ZM735.2%20105.56H744.48V112.28H735.2ZM751.44%20105.56H760.72V112.28H751.44ZM718.96%20119H728.24V125.72H718.96ZM735.2%20119H744.48V125.72H735.2ZM751.44%20119H760.72V125.72H751.44ZM735.2%20127.4H746.8V140H735.2Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M0%20138H800V140H0Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");

  --display: "Oswald", "Arial Narrow", Impact, sans-serif;
  --body: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body {
  margin: 0;
  background: var(--black);
  color: var(--bone);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: .01em;
  text-transform: uppercase;
  margin: 0 0 .6em;
}
h1 { font-size: clamp(2.1rem, 6vw, 3.6rem); }
h2 { font-size: clamp(1.7rem, 4.2vw, 2.6rem); }
h3 { font-size: clamp(1.15rem, 2.4vw, 1.45rem); }
h4 { font-size: 1.02rem; letter-spacing: .06em; }

p { margin: 0 0 1.1em; max-width: var(--measure); }
ul, ol { max-width: var(--measure); }

a { color: var(--tan); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--tan-lit); }
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--tan-lit);
  outline-offset: 2px;
}

.wrap { width: min(1120px, 100% - 2 * var(--pad)); margin-inline: auto; }
.narrow { max-width: 780px; }
.skip {
  position: absolute; left: -9999px; top: 0; background: var(--tan); color: var(--black);
  padding: .6rem 1rem; z-index: 999; font-family: var(--display); text-transform: uppercase;
}
.skip:focus { left: 0; }

/* ---------- Header / navigation ---------------------------------------- */

.topbar {
  position: sticky; top: 0; z-index: 50;
  background: rgba(11, 11, 11, .94);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(201, 178, 138, .22);
}
.topbar-inner { display: flex; align-items: center; gap: 1rem; padding: .55rem 0; }

.brand { display: flex; align-items: center; gap: .7rem; text-decoration: none; margin-right: auto; }
.brand img { width: 34px; }
.brand b {
  font-family: var(--display); font-size: 1.22rem; font-weight: 600;
  color: var(--bone); letter-spacing: .04em; text-transform: uppercase; line-height: 1;
}
.brand span { color: var(--tan); }

.nav-toggle {
  display: none; background: none; border: 1px solid rgba(201, 178, 138, .4);
  color: var(--bone); font-family: var(--display); text-transform: uppercase;
  letter-spacing: .08em; padding: .45rem .8rem; cursor: pointer; font-size: .9rem;
}

.nav { display: flex; gap: .2rem; align-items: center; flex-wrap: wrap; }
.nav a {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .05em;
  font-size: .94rem; color: var(--bone); text-decoration: none;
  padding: .5rem .7rem; border-bottom: 2px solid transparent;
}
.nav a:hover { color: var(--tan); }
.nav a[aria-current="page"] { color: var(--tan); border-bottom-color: var(--tan); }

@media (max-width: 860px) {
  .nav-toggle { display: block; }
  .nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--black); border-bottom: 1px solid rgba(201, 178, 138, .22);
    padding: .4rem var(--pad) 1rem;
  }
  .nav.open { display: flex; }
  .nav a { padding: .8rem .2rem; border-bottom: 1px solid rgba(201, 178, 138, .12); }
  .topbar-inner { position: relative; }
}

/* ---------- Buttons ----------------------------------------------------- */

.btn {
  display: inline-block; font-family: var(--display); text-transform: uppercase;
  letter-spacing: .07em; font-size: 1rem; padding: .78rem 1.5rem;
  background: var(--tan); color: var(--black); border: 2px solid var(--tan);
  text-decoration: none; cursor: pointer; transition: background .15s, color .15s;
}
.btn:hover { background: var(--tan-lit); border-color: var(--tan-lit); color: var(--black); }
.btn-ghost { background: transparent; color: var(--tan); }
.btn-ghost:hover { background: var(--tan); color: var(--black); }
.btn-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem; }

/* ---------- Section bands ---------------------------------------------- */

.band { padding-block: var(--band-y); }
.band-black { background: var(--black); }
.band-green { background: var(--green-deep); }
.band-bone  { background: var(--bone); color: #23281F; }
.band-bone h1, .band-bone h2, .band-bone h3, .band-bone h4 { color: #16200F; }
.band-bone a { color: #4C5F3F; }
.band-bone a:hover { color: #23281F; }

.band-map {
  background-color: var(--black);
  background-image:
    linear-gradient(rgba(201, 178, 138, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 178, 138, .055) 1px, transparent 1px);
  background-size: 64px 64px;
}

/* ---------- Field silhouette -------------------------------------------
   A tileable row of containers, bunkers, a guard tower and pines sits along
   the bottom of the dark sections. Turn it down or off with the opacity
   values below. */

.band-map, .band-green { position: relative; overflow: hidden; }
.band-map > .wrap, .band-green > .wrap { position: relative; z-index: 1; }

.band-map::after, .band-green::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 140px;
  background-image: var(--field-line);
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: 800px 140px;
  pointer-events: none;
}
.band-map::after { opacity: .20; }
.band-green::after { opacity: .10; }

@media (max-width: 700px) {
  .band-map::after, .band-green::after { background-size: 560px 98px; height: 98px; }
}

.lede { font-size: 1.16rem; color: #DCD6C7; }
.band-bone .lede { color: #3A4433; }
.muted { color: var(--steel); }

/* ---------- Hero -------------------------------------------------------- */

.hero { padding-block: clamp(2rem, 6vw, 4rem) clamp(6rem, 13vw, 10rem); text-align: center; }
.hero-badge { width: min(430px, 78vw); margin: 0 auto 1.6rem; }
.hero-tagline {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .22em;
  font-size: clamp(.86rem, 2.4vw, 1.05rem); color: var(--tan); margin: 0 0 1.4rem;
  max-width: none;
}
.hero p.lede { margin-inline: auto; }

@media (prefers-reduced-motion: no-preference) {
  .hero-badge { animation: badge-in .8s ease-out both; }
  @keyframes badge-in {
    from { opacity: 0; transform: scale(.965); }
    to   { opacity: 1; transform: none; }
  }
}

/* ---------- Status board ------------------------------------------------ */

.statusboard {
  border: 1px solid rgba(201, 178, 138, .35);
  background: linear-gradient(180deg, rgba(46, 59, 46, .55), rgba(11, 11, 11, .55));
  padding: clamp(1.4rem, 3vw, 2.2rem);
}
.statusboard h2 { margin-bottom: 1.2rem; }
.statusboard-rows { display: grid; gap: 0; }
.statusrow {
  display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: baseline;
  padding: .85rem 0; border-top: 1px solid rgba(201, 178, 138, .18);
}
.statusrow:first-child { border-top: 0; }
.statusrow dt {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .06em;
  font-size: 1.05rem; color: var(--bone);
}
.statusrow dd {
  margin: 0; font-family: var(--display); text-transform: uppercase;
  letter-spacing: .08em; font-size: .92rem; color: var(--tan); text-align: right;
}
.statusrow .note {
  grid-column: 1 / -1; font-family: var(--body); text-transform: none; letter-spacing: 0;
  color: var(--steel); font-size: .95rem; margin-top: .15rem; text-align: left;
}

/* ---------- Generic panels & grids -------------------------------------- */

.plate {
  border: 1px solid rgba(201, 178, 138, .28);
  padding: clamp(1.2rem, 2.6vw, 1.9rem);
  background: rgba(46, 59, 46, .28);
}
.band-bone .plate { border-color: rgba(35, 40, 31, .22); background: rgba(255, 255, 255, .45); }

.cols { display: grid; gap: 1.6rem; }
@media (min-width: 720px) { .cols-2 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 860px) { .cols-3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 720px) { .cols-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .cols-4 { grid-template-columns: repeat(4, 1fr); } }

.pillars { display: grid; gap: 1.4rem; margin-top: 2rem; }
@media (min-width: 720px) { .pillars { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .pillars { grid-template-columns: repeat(4, 1fr); } }
.pillar { border-top: 2px solid var(--tan); padding-top: 1rem; }
.pillar h3 { margin-bottom: .35rem; }
.pillar p { font-size: .98rem; color: #CFC9BA; margin: 0; }

/* ---------- Game type blocks -------------------------------------------- */

.gametype { border-top: 1px solid rgba(201, 178, 138, .25); padding-top: 2rem; margin-top: 2.6rem; }
.gametype:first-of-type { border-top: 0; margin-top: 0; padding-top: 0; }
.gametype .tag {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .14em;
  font-size: .8rem; color: var(--steel); display: block; margin-bottom: .4rem;
}
.spec { display: grid; gap: .3rem 1.2rem; margin: 1.2rem 0 0; max-width: var(--measure); }
@media (min-width: 620px) { .spec { grid-template-columns: max-content 1fr; } }
.spec dt {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .05em;
  color: var(--tan); font-size: .95rem;
}
.spec dd { margin: 0 0 .5rem; }
@media (min-width: 620px) { .spec dd { margin-bottom: .3rem; } }

/* ---------- Rules ------------------------------------------------------- */

.rules { counter-reset: rule; list-style: none; padding: 0; margin: 0; max-width: none; }
.rules li {
  counter-increment: rule; position: relative;
  padding: 1.1rem 0 1.1rem 3.2rem;
  border-top: 1px solid rgba(35, 40, 31, .18);
}
.rules li::before {
  content: counter(rule, decimal-leading-zero);
  position: absolute; left: 0; top: 1.15rem;
  font-family: var(--display); font-size: 1.05rem; color: #6C7D5C; letter-spacing: .04em;
}
.rules li strong { font-family: var(--display); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; display: block; font-size: 1.08rem; }
.rules p { margin: .2rem 0 0; }

/* ---------- Spec table (chrono limits) ---------------------------------- */

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

.table-scroll { margin-top: 2rem; overflow-x: auto; }
.spec-table { width: 100%; border-collapse: collapse; font-size: .94rem; min-width: 760px; }
.spec-table th, .spec-table td {
  padding: .78rem .9rem; text-align: left; vertical-align: top;
  border-bottom: 1px solid rgba(201, 178, 138, .16);
}
.spec-table thead th {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .05em;
  font-size: .84rem; color: var(--tan);
  border-bottom: 2px solid rgba(201, 178, 138, .45);
}
.spec-table tbody th {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .03em;
  font-weight: 600; font-size: 1rem; color: var(--bone);
}
.spec-table td { color: #CFC9BA; }
.spec-table .sub {
  display: block; font-family: var(--body); text-transform: none;
  letter-spacing: 0; font-size: .78rem; font-weight: 400; color: var(--steel);
}
.spec-table tbody th .sub { font-size: .82rem; }
.spec-table tbody tr:nth-child(even) { background: rgba(46, 59, 46, .26); }

/* Column proportions: the two text-heavy columns get the room. */
.spec-table { table-layout: fixed; }
.spec-table th:nth-child(1), .spec-table td:nth-child(1) { width: 17%; }
.spec-table th:nth-child(2), .spec-table td:nth-child(2) { width: 10%; }
.spec-table th:nth-child(3), .spec-table td:nth-child(3) { width: 8%; }
.spec-table th:nth-child(4), .spec-table td:nth-child(4) { width: 11%; }
.spec-table th:nth-child(5), .spec-table td:nth-child(5) { width: 27%; }
.spec-table th:nth-child(6), .spec-table td:nth-child(6) { width: 27%; }
.spec-table td:nth-child(2), .spec-table td:nth-child(3),
.spec-table td:nth-child(4) { white-space: nowrap; }

@media (max-width: 760px) {
  .table-scroll { overflow-x: visible; }
  .spec-table { min-width: 0; table-layout: auto; }
  .spec-table td:nth-child(n), .spec-table th:nth-child(n) { width: auto; }
  .spec-table td:nth-child(2), .spec-table td:nth-child(3),
  .spec-table td:nth-child(4) { white-space: normal; }
  .spec-table thead {
    position: absolute; width: 1px; height: 1px;
    overflow: hidden; clip: rect(0 0 0 0);
  }
  .spec-table, .spec-table tbody, .spec-table tr,
  .spec-table tbody th, .spec-table td { display: block; width: 100%; }
  .spec-table tr,
  .spec-table tbody tr:nth-child(even) {
    border: 1px solid rgba(201, 178, 138, .25);
    background: rgba(46, 59, 46, .26);
    margin-bottom: 1rem; padding-bottom: .3rem;
  }
  .spec-table tbody th {
    font-size: 1.08rem; color: var(--tan); white-space: normal;
    border-bottom: 1px solid rgba(201, 178, 138, .25);
  }
  .spec-table td {
    border: 0; display: flex; justify-content: space-between;
    gap: 1rem; padding: .4rem .9rem;
  }
  .spec-table td::before {
    content: attr(data-label); flex: none;
    font-family: var(--display); text-transform: uppercase; letter-spacing: .05em;
    font-size: .8rem; color: var(--steel);
  }
}

/* ---------- Build timeline ---------------------------------------------- */

.timeline { list-style: none; margin: 2rem 0 0; padding: 0 0 0 1.6rem; border-left: 2px solid rgba(201, 178, 138, .3); max-width: none; }
.timeline li { position: relative; padding: 0 0 2rem; }
.timeline li::before {
  content: ""; position: absolute; left: calc(-1.6rem - 7px); top: .5rem;
  width: 12px; height: 12px; background: var(--black); border: 2px solid var(--tan); border-radius: 50%;
}
.timeline li.done::before { background: var(--tan); }
.timeline .when {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .1em;
  font-size: .82rem; color: var(--steel); display: block;
}
.timeline h3 { margin: .1rem 0 .35rem; }
.timeline p { margin: 0; }

/* ---------- FAQ --------------------------------------------------------- */

.faq { margin-top: 2rem; }
.faq details { border-top: 1px solid rgba(35, 40, 31, .2); padding: .3rem 0; }
.faq details:last-of-type { border-bottom: 1px solid rgba(35, 40, 31, .2); }
.faq summary {
  cursor: pointer; list-style: none; padding: 1rem 2rem 1rem 0; position: relative;
  font-family: var(--display); text-transform: uppercase; letter-spacing: .03em;
  font-size: 1.1rem; color: #16200F;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+"; position: absolute; right: .2rem; top: .85rem;
  font-size: 1.5rem; line-height: 1; color: #6C7D5C;
}
.faq details[open] summary::after { content: "\2013"; }
.faq details p { margin: 0 0 1rem; }

/* ---------- Forms ------------------------------------------------------- */

.form { display: grid; gap: 1.1rem; max-width: 620px; margin-top: 1.8rem; }
.field { display: grid; gap: .35rem; }
.field label {
  font-family: var(--display); text-transform: uppercase; letter-spacing: .06em;
  font-size: .9rem; color: var(--tan);
}
.band-bone .field label { color: #4C5F3F; }
.field input, .field select, .field textarea {
  background: rgba(11, 11, 11, .5); border: 1px solid rgba(201, 178, 138, .4);
  color: var(--bone); padding: .7rem .8rem; font: inherit; font-size: 1rem; border-radius: 0;
}
.band-bone .field input, .band-bone .field select, .band-bone .field textarea {
  background: #fff; border-color: rgba(35, 40, 31, .3); color: #23281F;
}
.field textarea { min-height: 130px; resize: vertical; }
.checks { display: grid; gap: .5rem; }
.check { display: flex; gap: .6rem; align-items: flex-start; font-size: .98rem; }
.check input { width: 18px; height: 18px; margin-top: .25rem; flex: none; }
.form-note { font-size: .9rem; color: var(--steel); max-width: 620px; }
.hp { position: absolute; left: -9999px; }

.form-status { margin-top: 1rem; font-family: var(--display); text-transform: uppercase; letter-spacing: .06em; }
.form-status.ok { color: #8FBF7A; }
.form-status.err { color: #D98B6B; }

/* ---------- Callout / notice -------------------------------------------- */

.notice {
  border-left: 4px solid var(--tan); background: rgba(201, 178, 138, .1);
  padding: 1.1rem 1.3rem; margin: 1.8rem 0;
}
.notice p:last-child { margin-bottom: 0; }
.band-bone .notice { background: rgba(108, 125, 92, .14); border-left-color: #6C7D5C; }

/* ---------- Info list (hours, contact) ---------------------------------- */

.info { display: grid; gap: .1rem; margin: 0; }
.inforow { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-top: 1px solid rgba(201, 178, 138, .18); }
.inforow:first-child { border-top: 0; }
.inforow dt { font-family: var(--display); text-transform: uppercase; letter-spacing: .05em; }
.inforow dd { margin: 0; color: var(--tan); text-align: right; }
.inforow dd.email { overflow-wrap: anywhere; }

/* ---------- Footer ------------------------------------------------------ */

.site-footer { background: var(--green-deep); border-top: 1px solid rgba(201, 178, 138, .25); padding-block: 3rem 2rem; }
.footer-cols { display: grid; gap: 2rem; }
@media (min-width: 760px) { .footer-cols { grid-template-columns: 1.3fr 1fr 1fr; } }
.site-footer h4 { color: var(--tan); margin-bottom: .8rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: .45rem; }
.site-footer a { color: var(--bone); text-decoration: none; }
.site-footer a:hover { color: var(--tan); text-decoration: underline; }
.footer-badge { width: 120px; margin-bottom: 1rem; }
.colophon {
  margin-top: 2.5rem; padding-top: 1.3rem; border-top: 1px solid rgba(201, 178, 138, .18);
  display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; justify-content: space-between;
  color: var(--steel); font-size: .9rem;
}
.coords { font-family: var(--display); letter-spacing: .1em; }

/* ---------- Print ------------------------------------------------------- */

@media print {
  .topbar, .site-footer, .btn-row, .skip { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .band { padding-block: 0; background: #fff !important; color: #000 !important; }
}
