/* Delyavia. Sidebar journal, cold palette, serif reading column. */

@font-face {
  font-family: "Chivo";
  src: url("/static/fonts/chivo.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Literata";
  src: url("/static/fonts/literata.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --paper: #edeef0;
  --paper-dim: #dfe1e5;
  --card: #ffffff;
  --ink: #15171c;
  --ink-deep: #0b0d11;
  --muted: #6a707a;
  --plum: #6b2f52;
  --plum-deep: #4d1f3b;
  --wash: #f1e6ee;
  --glacier: #8fb3c4;
  --hair: #cfd3d8;
  --yes: #2c6b52;
  --no: #a63a2c;

  --grotesk: "Chivo", "Helvetica Neue", Arial, sans-serif;
  --serif: "Literata", Georgia, "Times New Roman", serif;

  --aside: 264px;
  --topbar: 58px;
  --gap: clamp(18px, 4vw, 56px);
  --run: 1040px;
  --measure: 680px;
  --slide: cubic-bezier(.3, .65, .3, 1);
}

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

html { -webkit-text-size-adjust: 100%; }

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

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}

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

h1, h2, h3 {
  font-family: var(--grotesk);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin: 0;
}

p { margin: 0 0 1.2em; }

a { color: var(--plum-deep); text-underline-offset: 3px; }
a:hover { color: var(--ink); }

:focus-visible { outline: 3px solid var(--glacier); outline-offset: 2px; }

.dv-hop {
  position: absolute;
  left: -9999px;
  background: var(--plum);
  color: #fff;
  padding: 12px 20px;
  font-family: var(--grotesk);
  font-weight: 700;
  z-index: 95;
}
.dv-hop:focus { left: 10px; top: 10px; }

.dv-tag {
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--plum);
  margin: 0 0 14px;
}

.dv-press {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 26px;
  border: 0;
  border-radius: 3px;
  font-family: var(--grotesk);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s var(--slide);
}
.dv-press--plum { background: var(--plum); color: #fff; }
.dv-press--plum:hover { background: var(--plum-deep); color: #fff; }
.dv-press--bare {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--hair);
}
.dv-press--bare:hover { background: var(--paper-dim); color: var(--ink); }
.dv-press[disabled] { opacity: .55; cursor: progress; }

.dv-onto {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--grotesk);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--plum-deep);
  text-decoration: none;
  border-bottom: 1px solid var(--glacier);
  padding-bottom: 4px;
}
.dv-onto:hover { color: var(--ink); border-bottom-color: var(--plum); }

/* ---------------------------------------------------------------- shell */

.dv-shell { display: block; transition: padding-top .45s var(--slide); }

/* While the storage slab is up it pushes the page down instead of covering it. */
html.is-slabbed .dv-shell { padding-top: 116px; }
@media (min-width: 1100px) { html.is-slabbed .dv-side { height: calc(100vh - 116px); } }

.dv-side {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--paper-dim);
  border-bottom: 1px solid var(--hair);
}
.dv-side__top {
  height: var(--topbar);
  padding: 0 var(--gap);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.dv-name {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--ink);
}
.dv-name span {
  font-family: var(--grotesk);
  font-size: 21px;
  font-weight: 900;
  letter-spacing: -0.03em;
}
.dv-flake { flex: none; }

.dv-latch {
  width: 44px;
  height: 44px;
  border: 1px solid var(--hair);
  background: transparent;
  border-radius: 3px;
  cursor: pointer;
  padding: 13px 10px;
}
.dv-latch span { display: block; height: 2px; background: var(--ink); margin: 4px 0; }

.dv-ways { display: none; padding: 0 var(--gap) 22px; }
.dv-ways.is-latched { display: block; }
.dv-ways a {
  display: block;
  color: var(--ink);
  text-decoration: none;
  font-family: var(--grotesk);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 13px 0;
  border-bottom: 1px solid var(--hair);
}
.dv-chip {
  margin-top: 14px;
  border-bottom: 0 !important;
  background: var(--plum);
  color: #fff !important;
  border-radius: 3px;
  padding: 13px 18px !important;
  text-align: center;
}
.dv-side__foot { display: none; }

@media (min-width: 1100px) {
  .dv-shell { display: grid; grid-template-columns: var(--aside) minmax(0, 1fr); }
  .dv-side {
    position: sticky;
    top: 0;
    height: 100vh;
    border-bottom: 0;
    border-right: 1px solid var(--hair);
    display: flex;
    flex-direction: column;
    padding: 34px 26px 26px;
  }
  .dv-side__top { height: auto; padding: 0 0 30px; }
  .dv-latch { display: none; }
  .dv-ways { display: block; padding: 0; flex: 1; }
  .dv-ways a {
    border-bottom: 0;
    padding: 9px 0;
    font-size: 12px;
    color: var(--muted);
  }
  .dv-ways a:hover, .dv-ways a[aria-current="page"] { color: var(--plum); }
  .dv-ways a[aria-current="page"] { position: relative; }
  .dv-ways a[aria-current="page"]::before {
    content: "";
    position: absolute;
    left: -14px;
    top: 50%;
    width: 6px;
    height: 1px;
    background: var(--plum);
  }
  .dv-chip { margin-top: 22px; color: #fff !important; }
  .dv-side__foot {
    display: block;
    margin-top: auto;
    padding-top: 26px;
    border-top: 1px solid var(--hair);
  }
  .dv-side__motto {
    font-family: var(--grotesk);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 12px;
  }
  .dv-side__foot address {
    font-style: normal;
    display: grid;
    gap: 3px;
    font-size: 12px;
    color: var(--muted);
  }
  .dv-side__foot a { color: var(--plum-deep); text-decoration: none; }
}

/* ---------------------------------------------------------------- reveal */

.dv-lift { opacity: 0; transform: translateY(16px); }
.dv-lift.is-thawed {
  opacity: 1;
  transform: none;
  transition: opacity .65s var(--slide), transform .65s var(--slide);
}
html:not(.dv-js) .dv-lift { opacity: 1; transform: none; }

/* ---------------------------------------------------------------- spread */

.dv-spread {
  padding: clamp(34px, 5vw, 66px) var(--gap) clamp(28px, 4vw, 48px);
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  grid-template-rows: auto auto;
  gap: clamp(18px, 2.6vw, 34px);
  align-items: start;
}
.dv-spread__tall { grid-column: 1; grid-row: 1 / span 2; }
.dv-spread__tall img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.dv-spread__say { grid-column: 2; grid-row: 1; padding-top: 6px; }
.dv-spread__say h1 {
  font-size: clamp(32px, 3.9vw, 56px);
  margin-bottom: 18px;
  max-width: 16ch;
}
.dv-spread__stand {
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.55;
  color: #3c4048;
  max-width: 46ch;
  margin-bottom: 24px;
}
.dv-spread__pair {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(12px, 1.6vw, 20px);
}
.dv-spread__pair img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

@media (max-width: 820px) {
  .dv-spread { grid-template-columns: 1fr; }
  .dv-spread__tall, .dv-spread__say, .dv-spread__pair { grid-column: 1; grid-row: auto; }
  .dv-spread__tall img { aspect-ratio: 3 / 4; }
}

/* ---------------------------------------------------------------- counts */

.dv-counts {
  background: var(--wash);
  border-top: 1px solid var(--plum);
  border-bottom: 1px solid var(--plum);
}
.dv-counts ul {
  margin: 0;
  padding: 15px var(--gap);
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  font-family: var(--grotesk);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--plum-deep);
}
.dv-counts li { display: flex; align-items: center; }
.dv-counts li::after {
  content: "";
  width: 1px;
  height: 13px;
  background: var(--plum);
  opacity: .45;
  margin: 0 16px;
}
.dv-counts li:last-child::after { display: none; }

/* ---------------------------------------------------------------- panel */

.dv-panel { position: relative; margin: clamp(48px, 7vw, 88px) 0 0; }
.dv-panel > img { width: 100%; height: clamp(280px, 40vw, 520px); object-fit: cover; }
.dv-panel__say {
  background: var(--card);
  border-top: 4px solid var(--plum);
  padding: clamp(24px, 3vw, 40px);
  width: min(560px, calc(100% - 2 * var(--gap)));
  margin: clamp(-90px, -7vw, -50px) var(--gap) 0 auto;
  position: relative;
  box-shadow: 0 30px 60px -46px rgba(11, 13, 17, .7);
}
.dv-panel__say h2 { font-size: clamp(25px, 2.9vw, 36px); margin-bottom: 16px; }
.dv-panel__say p { color: #3c4048; }

/* ---------------------------------------------------------------- lead */

.dv-lead { padding: clamp(56px, 8vw, 96px) var(--gap) 0; }
.dv-lead h2 { font-size: clamp(26px, 3.2vw, 40px); margin-bottom: 14px; }
.dv-lead p { color: var(--muted); max-width: 58ch; }

/* ---------------------------------------------------------------- shingles */

.dv-shingles {
  padding: clamp(28px, 4vw, 48px) var(--gap) 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(22px, 3vw, 44px);
  align-items: start;
}
.dv-shingles .dv-tile:nth-child(even) { margin-top: clamp(24px, 5vw, 72px); }

.dv-tile__pane { display: block; overflow: hidden; background: var(--paper-dim); }
.dv-tile__pane img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .65s var(--slide);
}
.dv-tile__pane:hover img { transform: scale(1.04); }
.dv-tile__plate {
  background: var(--card);
  border-left: 3px solid var(--glacier);
  padding: 18px 20px 20px;
}
.dv-tile__strand {
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--plum);
  margin: 0 0 8px;
}
.dv-tile__plate h3 { font-size: 21px; margin-bottom: 10px; }
.dv-tile__plate h3 a { color: var(--ink); text-decoration: none; }
.dv-tile__plate h3 a:hover { color: var(--plum-deep); }
.dv-tile__stand { font-size: 15px; color: var(--muted); margin-bottom: 12px; }
.dv-tile__meta {
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
  margin: 0;
}
.dv-tile__meta b { color: var(--glacier); padding: 0 5px; }

.dv-latest__more {
  padding: clamp(30px, 4vw, 52px) var(--gap) 0;
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}

@media (max-width: 760px) {
  .dv-shingles { grid-template-columns: 1fr; }
  .dv-shingles .dv-tile:nth-child(even) { margin-top: 0; }
}

/* ---------------------------------------------------------------- sheet */

.dv-contact-sheet { padding-bottom: clamp(48px, 7vw, 84px); }
.dv-sheet {
  margin: clamp(26px, 4vw, 44px) var(--gap) 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  background: var(--ink);
  padding: 3px;
}
.dv-sheet__cell { margin: 0; position: relative; }
.dv-sheet__cell img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.dv-sheet__cell figcaption {
  position: absolute;
  left: 8px;
  bottom: 6px;
  font-family: var(--grotesk);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .8);
}
@media (max-width: 700px) { .dv-sheet { grid-template-columns: repeat(2, 1fr); } }

/* ---------------------------------------------------------------- circular */

.dv-circular {
  padding: clamp(48px, 7vw, 88px) var(--gap);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(26px, 4vw, 64px);
  align-items: start;
  background: var(--paper-dim);
  border-top: 1px solid var(--hair);
}
.dv-circular h2 { font-size: clamp(25px, 3vw, 38px); margin-bottom: 15px; }
.dv-circular p { color: var(--muted); }
.dv-circular__form {
  background: var(--card);
  border: 1px solid var(--hair);
  padding: clamp(22px, 3vw, 34px);
}
@media (max-width: 860px) { .dv-circular { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- asked */

.dv-asked-set { padding-bottom: clamp(48px, 7vw, 88px); }
.dv-asked-grid {
  padding: clamp(26px, 4vw, 44px) var(--gap) 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(22px, 3vw, 44px);
}
.dv-asked { border-top: 1px solid var(--plum); padding-top: 18px; }
.dv-asked h3 { font-size: 19px; margin-bottom: 11px; }
.dv-asked p { color: var(--muted); font-size: 16px; }
@media (max-width: 780px) { .dv-asked-grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- hand */

.dv-hand {
  background: var(--ink);
  color: rgba(237, 238, 240, .82);
  display: grid;
  grid-template-columns: 164px 1fr;
  gap: clamp(22px, 4vw, 48px);
  align-items: start;
  padding: clamp(46px, 7vw, 84px) var(--gap);
}
.dv-hand h2 { color: #fff; font-size: clamp(23px, 3vw, 34px); margin-bottom: 14px; }
.dv-hand .dv-tag { color: var(--glacier); }
.dv-hand .dv-onto { color: var(--glacier); border-bottom-color: var(--plum); }
.dv-hand .dv-onto:hover { color: #fff; }
.dv-hand p { max-width: 74ch; }
@media (max-width: 700px) { .dv-hand { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- strand */

.dv-strand-head {
  padding: clamp(40px, 6vw, 76px) var(--gap) 0;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}
.dv-strand-head h1 { font-size: clamp(30px, 4vw, 50px); margin-bottom: 18px; }
.dv-strand-head__lede p { font-size: 18px; color: #3c4048; max-width: 46ch; }
.dv-strand-head__shot { margin: 0; }
.dv-strand-head__shot img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
@media (max-width: 860px) { .dv-strand-head { grid-template-columns: 1fr; } }

.dv-tailpiece {
  margin: clamp(48px, 7vw, 84px) 0 0;
  padding: clamp(40px, 6vw, 72px) var(--gap);
  background: var(--wash);
  border-top: 1px solid var(--plum);
}
.dv-tailpiece h2 { font-size: clamp(23px, 2.8vw, 32px); margin-bottom: 16px; max-width: 24ch; }
.dv-tailpiece p { max-width: 74ch; color: #3c4048; }

/* ---------------------------------------------------------------- report */

.dv-report__head {
  max-width: var(--run);
  margin: 0 auto;
  padding: clamp(40px, 6vw, 78px) var(--gap) clamp(24px, 3vw, 38px);
}
.dv-report__head h1 {
  font-size: clamp(32px, 4.4vw, 58px);
  max-width: 20ch;
  margin-bottom: 18px;
}
.dv-report__stand {
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.55;
  color: #3c4048;
  max-width: 56ch;
}
.dv-stampline {
  font-family: var(--grotesk);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
  margin: 0;
}
.dv-stampline b { color: var(--glacier); padding: 0 6px; }

.dv-report__wide { margin: 0; }
.dv-report__wide img { width: 100%; height: clamp(260px, 44vw, 560px); object-fit: cover; }

.dv-open {
  max-width: var(--run);
  margin: 0 auto;
  padding: clamp(32px, 4vw, 56px) var(--gap) 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 56px);
}
.dv-open p { margin: 0; }
.dv-open p:first-child { font-size: 20px; line-height: 1.6; color: #2a2d33; }
@media (max-width: 760px) { .dv-open { grid-template-columns: 1fr; gap: 0; }
  .dv-open p { margin-bottom: 1.2em; } }

.dv-run {
  max-width: var(--run);
  margin: 0 auto;
  padding: clamp(28px, 4vw, 44px) var(--gap) clamp(48px, 7vw, 84px);
}
.dv-run > p, .dv-run > h2, .dv-run > h3, .dv-run > ul {
  max-width: var(--measure);
  margin-left: auto;
  margin-right: auto;
}
.dv-run > p { font-size: 18px; }
.dv-run > h2 {
  position: relative;
  font-size: clamp(23px, 2.7vw, 31px);
  margin-top: 48px;
  margin-bottom: 16px;
}
.dv-major__no {
  position: absolute;
  left: -66px;
  top: .45em;
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--plum);
  font-weight: 700;
}
.dv-run > h3 { font-size: 19px; margin-top: 26px; margin-bottom: 10px; }
.dv-items { padding-left: 20px; }
.dv-items li { margin-bottom: 8px; }

@media (max-width: 1180px) {
  .dv-major__no { position: static; display: block; margin-bottom: 6px; }
}

.dv-break { margin: 46px 0; }
.dv-break img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.dv-break figcaption {
  font-size: 13px;
  color: var(--muted);
  padding-top: 9px;
  border-top: 1px solid var(--hair);
  margin-top: 9px;
  max-width: var(--measure);
}

.dv-pull {
  margin: 44px auto;
  max-width: 860px;
  border-top: 3px solid var(--plum);
  border-bottom: 1px solid var(--hair);
  padding: 24px 0;
}
.dv-pull blockquote { margin: 0; }
.dv-pull p {
  font-family: var(--grotesk);
  font-size: clamp(21px, 2.5vw, 28px);
  line-height: 1.28;
  font-weight: 700;
  margin-bottom: 12px;
}
.dv-pull figcaption {
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
}

.dv-points, .dv-conditions {
  margin: 44px auto;
  max-width: 860px;
  background: var(--card);
  border: 1px solid var(--hair);
  border-top: 4px solid var(--glacier);
  padding: clamp(22px, 3vw, 32px);
}
.dv-points h2, .dv-conditions h2 { font-size: 20px; margin: 0 0 14px; }
.dv-points ul { margin: 0; padding-left: 20px; }
.dv-points li { margin-bottom: 9px; }
.dv-conditions dl { margin: 0; display: grid; gap: 11px; }
.dv-conditions dl > div {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 12px;
  border-bottom: 1px dotted var(--hair);
  padding-bottom: 9px;
}
.dv-conditions dt {
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
  padding-top: 4px;
}
.dv-conditions dd { margin: 0; }
@media (max-width: 620px) { .dv-conditions dl > div { grid-template-columns: 1fr; gap: 2px; } }

.dv-onward {
  background: var(--paper-dim);
  border-top: 1px solid var(--hair);
  padding: clamp(44px, 6vw, 78px) var(--gap);
}
.dv-onward h2 { max-width: var(--run); margin: 0 auto 24px; font-size: clamp(22px, 2.8vw, 30px); }
.dv-onward__pair {
  max-width: var(--run);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
}
.dv-onward__one { text-decoration: none; color: var(--ink); }
.dv-onward__one img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin-bottom: 12px; }
.dv-onward__strand {
  display: block;
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--plum);
  margin-bottom: 5px;
}
.dv-onward__title { font-family: var(--grotesk); font-size: 20px; font-weight: 800; }
@media (max-width: 640px) { .dv-onward__pair { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- plates */

.dv-plate {
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(44px, 7vw, 88px) var(--gap) clamp(34px, 5vw, 60px);
}
.dv-plate__head { border-bottom: 1px solid var(--plum); padding-bottom: 24px; margin-bottom: 30px; }
.dv-plate__head h1 { font-size: clamp(30px, 4.4vw, 50px); margin-bottom: 16px; }
.dv-plate__lede { font-size: 19px; line-height: 1.6; color: #3c4048; max-width: 60ch; }
.dv-plate__stamp {
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
  margin: 0;
}
.dv-plate__art { margin: 0 0 30px; }
.dv-plate__art img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.dv-plate__run h2 {
  font-size: clamp(21px, 2.5vw, 28px);
  margin: 40px 0 15px;
  padding-top: 18px;
  border-top: 1px solid var(--hair);
}
.dv-plate__run h3 { font-size: 18px; margin: 24px 0 9px; }

.dv-post {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 var(--gap) clamp(56px, 8vw, 96px);
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(24px, 4vw, 52px);
  align-items: start;
}
.dv-post__card {
  background: var(--ink);
  color: rgba(237, 238, 240, .84);
  padding: clamp(22px, 3vw, 34px);
  border-top: 4px solid var(--plum);
}
.dv-post__card h2 { color: #fff; font-size: 22px; margin-bottom: 15px; }
.dv-post__card address { font-style: normal; display: grid; gap: 4px; margin-bottom: 15px; }
.dv-post__card a { color: var(--glacier); }
.dv-post__hours, .dv-post__who { font-size: 15px; }
.dv-post__form h2 { font-size: 22px; margin-bottom: 15px; }
@media (max-width: 860px) { .dv-post { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- forms */

.dv-cell { margin-bottom: 16px; }
.dv-cell label {
  display: block;
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted);
  margin-bottom: 6px;
}
.dv-cell input, .dv-cell select, .dv-cell textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 13px;
  border: 1px solid var(--hair);
  border-radius: 3px;
  background: #fff;
  font-family: var(--serif);
  font-size: 16px;
  color: var(--ink);
}
.dv-cell textarea { min-height: 150px; resize: vertical; }
.dv-cell input:focus, .dv-cell select:focus, .dv-cell textarea:focus {
  border-color: var(--plum);
  outline: 2px solid var(--wash);
}
.dv-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dv-fine { font-size: 13px; color: var(--muted); margin: 13px 0 0; }
.dv-reply {
  font-family: var(--grotesk);
  font-size: 13px;
  font-weight: 700;
  margin: 11px 0 0;
}
.dv-reply.is-yes { color: var(--yes); }
.dv-reply.is-no { color: var(--no); }

/* ---------------------------------------------------------------- small */

.dv-small {
  max-width: 680px;
  margin: 0 auto;
  padding: clamp(70px, 13vw, 150px) var(--gap);
}
.dv-small h1 { font-size: clamp(28px, 4.4vw, 46px); margin-bottom: 20px; }
.dv-small__run p { color: var(--muted); font-size: 18px; }
.dv-small__ways { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 22px; }

/* ---------------------------------------------------------------- slab */

.dv-slab {
  position: fixed;
  top: 14px;
  left: 50%;
  z-index: 90;
  width: min(660px, calc(100vw - 28px));
  transform: translate(-50%, -160%);
  background: var(--ink);
  color: rgba(237, 238, 240, .88);
  border-left: 4px solid var(--plum);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .8);
  opacity: 0;
  transition: transform .45s var(--slide), opacity .45s var(--slide);
}
.dv-slab.is-thawed { transform: translate(-50%, 0); opacity: 1; }
.dv-slab p { margin: 0; font-size: 13px; line-height: 1.5; max-width: 62ch; }
.dv-slab a { color: var(--glacier); }
.dv-slab__pair { display: flex; gap: 9px; }
.dv-slab .dv-press { min-height: 38px; padding: 0 16px; font-size: 11px; }
.dv-slab .dv-press--bare { color: rgba(237, 238, 240, .9); border-color: rgba(237, 238, 240, .35); }
.dv-slab .dv-press--bare:hover { background: rgba(237, 238, 240, .12); color: #fff; }
html:not(.dv-js) .dv-slab { display: none; }

/* ---------------------------------------------------------------- close */

.dv-close { background: var(--paper-dim); border-top: 4px solid var(--plum); }
.dv-close__grid {
  padding: clamp(42px, 6vw, 72px) var(--gap) 32px;
  display: grid;
  grid-template-columns: 1.6fr .8fr .8fr 1.1fr;
  gap: clamp(22px, 3vw, 42px);
}
.dv-close h2 {
  font-family: var(--grotesk);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--plum);
  margin-bottom: 14px;
}
.dv-close ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.dv-close a { color: var(--ink); text-decoration: none; font-size: 15px; }
.dv-close a:hover { color: var(--plum); }
.dv-close__motto {
  font-family: var(--grotesk);
  font-size: 20px;
  font-weight: 800;
  margin: 14px 0 10px;
}
.dv-close__stance { font-size: 14px; line-height: 1.55; color: var(--muted); max-width: 46ch; }
.dv-close__post address { font-style: normal; display: grid; gap: 4px; font-size: 15px; }
.dv-close__record {
  background: var(--ink-deep);
  color: rgba(237, 238, 240, .68);
  padding: 20px var(--gap);
}
.dv-close__record p { font-size: 12px; line-height: 1.6; max-width: 96ch; margin: 0 0 6px; }
.dv-close__record strong { color: rgba(237, 238, 240, .9); }
.dv-close__stamp { color: var(--glacier); margin: 0 !important; }

@media (max-width: 900px) { .dv-close__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dv-close__grid { grid-template-columns: 1fr; } }
