.nv-applications {
  --nv-app-ink: #17272e;
  --nv-app-vellum: #e9e2d6;
  --nv-app-paper: #f2eee6;
  --nv-app-accent: #a24736;
  color: var(--nv-app-ink);
  padding: 110px 0 0;
}

.nv-app-heading {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 24px 70px;
  width: calc(100% - var(--gutter, 6vw) * 2);
  max-width: 1620px;
  margin: 0 auto 70px;
}

.nv-app-index,
.nv-app-micro {
  font-family: Manrope, Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.nv-app-index { padding-top: 12px; }
.nv-app-heading h2 { font-size: clamp(38px, 4.3vw, 72px); }
.nv-app-note { grid-column: 2; font-size: 14px; }

.nv-app-vista {
  margin: 0;
  padding: clamp(48px, 7vw, 110px) var(--gutter, 6vw) 32px;
  background: var(--nv-app-vellum);
}

.nv-app-stationery {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  align-items: center;
  gap: clamp(48px, 8vw, 140px);
  max-width: 1320px;
  margin: auto;
}

.nv-app-letter {
  display: flex;
  flex-direction: column;
  aspect-ratio: 210 / 297;
  min-width: 0;
  padding: clamp(27px, 3.5vw, 57px);
  background: var(--nv-app-paper);
  box-shadow: 0 24px 42px rgb(23 39 46 / 9%), 0 1px 2px rgb(23 39 46 / 7%);
}

.nv-app-letter-head {
  padding-bottom: clamp(20px, 2.1vw, 34px);
  border-bottom: 2px solid var(--nv-app-accent);
}

.nv-app-letter-logo {
  display: block;
  width: 53%;
  max-width: 235px;
  height: auto;
  margin: -4% 0 0 -3.5%;
}

.nv-app-letter-head .nv-app-micro { font-size: clamp(9px, .73vw, 12px); }
.nv-app-letter-body { margin-top: clamp(32px, 4.2vw, 65px); }
.nv-app-letter-body > .nv-app-micro { font-size: clamp(9px, .7vw, 11px); }

.nv-app-letter-body h3,
.nv-app-cover h3,
.nv-app-editorial h3 {
  font-family: 'Naviti Serif', Georgia, serif;
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.04;
}

.nv-app-letter-body h3 {
  font-size: clamp(34px, 3.7vw, 62px);
  margin: 19px 0 28px;
}

.nv-app-letter-body > p {
  max-width: 36em;
  font-family: Manrope, Arial, sans-serif;
  font-size: clamp(12px, .99vw, 16px);
  line-height: 1.7;
}

.nv-app-letter-lines {
  display: grid;
  gap: 16px;
  margin: 32px 0 50px;
}

.nv-app-letter-lines span { height: 1px; background: rgb(23 39 46 / 14%); }
.nv-app-letter-lines span:nth-child(2) { width: 86%; }
.nv-app-letter-lines span:nth-child(3) { width: 65%; }
.nv-app-letter-foot { margin-top: auto; font-size: clamp(9px, .7vw, 11px); }

.nv-app-cards {
  display: grid;
  gap: clamp(40px, 5.4vw, 84px);
  padding: 20px 12px;
  min-width: 0;
}

.nv-app-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  aspect-ratio: 1.78;
  min-width: 0;
  padding: clamp(22px, 2.7vw, 44px);
  box-shadow: 0 18px 30px rgb(23 39 46 / 9%), 0 1px 2px rgb(23 39 46 / 7%);
}

.nv-app-card-front { background: var(--nv-app-paper); transform: rotate(-3deg); }
.nv-app-card-front > img { width: 64%; height: auto; margin: -4.5% 0 -1.5% -3.5%; }
.nv-app-card .nv-app-micro { font-size: clamp(8px, .7vw, 11px); }
.nv-app-card-descriptor { margin-bottom: 26px; }

.nv-app-card-foot {
  align-self: stretch;
  margin-top: auto;
  padding-top: 14px;
  border-top: 2px solid var(--nv-app-accent);
}

.nv-app-card-back {
  color: var(--nv-app-vellum);
  background: var(--nv-app-ink);
  transform: rotate(3deg);
  align-items: center;
  padding-top: 20px;
}

.nv-app-card-back > img { width: 43%; height: auto; max-height: 170px; object-fit: contain; margin-bottom: 16px; }
.nv-app-card-back .nv-app-card-foot { text-align: center; }

.nv-app-caption {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  max-width: 1320px;
  margin: 65px auto 0;
  font-family: Manrope, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.6;
}

.nv-app-publication {
  margin: 0;
  padding: 120px var(--gutter, 6vw) 75px;
  background: var(--nv-app-paper);
}

.nv-app-spread {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1500px;
  margin: auto;
  box-shadow: 0 26px 55px rgb(23 39 46 / 10%), 0 1px 2px rgb(23 39 46 / 9%);
}

.nv-app-cover,
.nv-app-editorial {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(32px, 4.2vw, 67px);
}

.nv-app-cover { color: var(--nv-app-vellum); background: var(--nv-app-ink); }
.nv-app-cover > img { width: 47%; max-width: 255px; height: auto; margin: -5% 0 0 -4%; }
.nv-app-cover-kicker { margin: clamp(28px, 3.4vw, 54px) 0 26px; }
.nv-app-cover h3 { font-size: clamp(34px, 4.15vw, 68px); line-height: 1.12; margin-bottom: 54px; }
.nv-app-cover-foot { margin-top: auto; padding-top: 22px; border-top: 3px solid var(--nv-app-accent); }

.nv-app-editorial {
  background: var(--nv-app-vellum);
  border-left: 1px solid rgb(23 39 46 / 10%);
}

.nv-app-channel { color: var(--nv-app-accent); }
.nv-app-editorial h3 { font-size: clamp(48px, 6.2vw, 102px); margin: 42px 0 34px; }
.nv-app-editorial-copy { max-width: 31em; font-size: clamp(13px, 1.04vw, 17px); line-height: 1.7; }
.nv-app-channels { display: grid; gap: 15px; border-top: 1px solid var(--nv-app-ink); padding-top: 25px; margin: 37px 0 0; }
.nv-app-channels > div { display: grid; grid-template-columns: 1fr 2.1fr; gap: 20px; align-items: baseline; }
.nv-app-channels dt { color: var(--nv-app-accent); font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; }
.nv-app-channels dd { margin: 0; font-size: 12px; line-height: 1.6; }
.nv-app-publication .nv-app-caption { max-width: 1500px; margin-top: 28px; }

/* One reveal per composition; all source artwork remains visible without JavaScript. */
.nv-applications .motion-reveal.is-revealed {
  animation: nv-app-arrive 850ms cubic-bezier(.22, .68, 0, 1) both;
}

@keyframes nv-app-arrive {
  from { opacity: .65; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1100px) and (min-width: 781px) {
  .nv-app-stationery { gap: 45px; }
  .nv-app-card { padding: 23px; }
  .nv-app-card-back { padding-top: 17px; }
  .nv-app-card-back > img { width: 38%; }
  .nv-app-card-descriptor { margin-bottom: 20px; }
  .nv-app-letter { padding: 30px; }
  .nv-app-letter-body h3 { font-size: 36px; }
  .nv-app-letter-lines { margin: 26px 0 40px; }
  .nv-app-cover, .nv-app-editorial { padding: 30px; }
  .nv-app-cover h3 { font-size: 35px; }
  .nv-app-cover .nv-app-micro { font-size: 9px; }
  .nv-app-channels > div { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 780px) {
  .nv-applications { padding-top: 70px; }
  .nv-app-heading { grid-template-columns: 1fr; gap: 23px; margin-bottom: 39px; }
  .nv-app-index { padding: 0; }
  .nv-app-heading h2 { font-size: 42px; }
  .nv-app-note { grid-column: 1; font-size: 12px; }
  .nv-app-vista { padding: 45px var(--gutter, 25px) 26px; }
  .nv-app-stationery { grid-template-columns: 1fr; max-width: 510px; gap: 46px; }
  .nv-app-letter { padding: 29px; }
  .nv-app-letter-logo { width: 54%; max-width: 195px; }
  .nv-app-letter-body { margin-top: 35px; }
  .nv-app-letter-body h3 { font-size: clamp(35px, 8.1vw, 46px); margin-bottom: 25px; }
  .nv-app-letter-body > p { font-size: 13px; }
  .nv-app-letter-lines { margin-bottom: 40px; }
  .nv-app-cards { padding: 0; gap: 27px; }
  .nv-app-card { padding: 29px; transform: none; }
  .nv-app-card .nv-app-micro { font-size: 9px; }
  .nv-app-card-back { padding-top: 19px; }
  .nv-app-card-back > img { max-height: 180px; width: 42%; }
  .nv-app-caption { gap: 14px; margin-top: 37px; font-size: 11px; align-items: flex-start; }
  .nv-app-caption > span { max-width: 47%; }
  .nv-app-caption > span:last-child { text-align: right; }
  .nv-app-publication { padding: 61px var(--gutter, 25px) 52px; }
  .nv-app-spread { grid-template-columns: 1fr; max-width: 560px; }
  .nv-app-cover, .nv-app-editorial { padding: 32px; }
  .nv-app-cover { min-height: 490px; }
  .nv-app-cover > img { width: 54%; max-width: 205px; }
  .nv-app-cover-kicker { font-size: 9px; margin-top: 35px; }
  .nv-app-cover h3 { font-size: clamp(32px, 7.8vw, 48px); margin-bottom: 45px; }
  .nv-app-cover-foot { font-size: 9px; }
  .nv-app-editorial { border-left: 0; border-top: 1px solid rgb(23 39 46 / 10%); }
  .nv-app-editorial h3 { font-size: clamp(58px, 14vw, 80px); margin: 37px 0 30px; }
  .nv-app-editorial-copy { font-size: 14px; }
  .nv-app-channels { margin-top: 30px; gap: 19px; }
  .nv-app-channels > div { grid-template-columns: 1fr; gap: 5px; }
  .nv-app-channels dd { font-size: 12px; }
}

@media (max-width: 380px) {
  .nv-app-letter, .nv-app-card, .nv-app-cover, .nv-app-editorial { padding: 23px; }
  .nv-app-card-back { padding-top: 16px; }
  .nv-app-card .nv-app-micro { font-size: 8px; letter-spacing: .1em; }
  .nv-app-cover h3 { font-size: 29px; }
  .nv-app-letter-body h3 { font-size: 33px; }
}

@media (prefers-reduced-motion: reduce) {
  .nv-applications .motion-reveal.is-revealed { animation: none !important; }
}

@media print {
  .nv-applications { padding-top: 30px; }
  .nv-app-vista, .nv-app-publication { padding: 25px 0; }
  .nv-app-letter, .nv-app-card, .nv-app-spread { box-shadow: none; }
  .nv-app-card { transform: none; }
  .nv-app-letter, .nv-app-card, .nv-app-cover, .nv-app-editorial { break-inside: avoid; }
}
