/* Drifted North · final article / Lucca / footer reconciliation · 2026-08-29 */

:root {
  --max: 1360px;
  --wide: 1180px;
  --measure: 700px;
  --gutter: clamp(20px, 3.6vw, 52px);
}

/* -------------------------------------------------------------------------- */
/* Standard article frame                                                      */
/* -------------------------------------------------------------------------- */

.article-page .article-hero {
  width: min(100%, 1320px) !important;
  min-height: 460px !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr) !important;
  border-bottom: 1px solid var(--line);
}

.article-page .article-hero-copy {
  padding: 46px clamp(30px, 4vw, 56px) 44px !important;
}

.article-page .article-hero h1 {
  max-width: 760px;
  margin: 9px 0 16px !important;
  font-size: clamp(43px, 4.05vw, 60px) !important;
  line-height: 0.99 !important;
}

.article-page .article-hero .dek {
  max-width: 690px;
  margin-bottom: 17px;
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.43;
}

.article-page .article-hero-art {
  min-height: 460px !important;
}

.article-page .article-hero-art > img {
  object-position: center;
}

.article-page .article-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
}

.article-page .article-actions > a,
.article-page .article-actions > button {
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.article-page .article-actions > a:hover,
.article-page .article-actions > button:hover {
  border-color: var(--plum);
  color: var(--plum);
}

article.article > .article-layout {
  width: min(100%, var(--wide)) !important;
  padding: 54px var(--gutter) 62px !important;
}

.article-layout {
  grid-template-columns: minmax(0, var(--measure)) minmax(255px, 310px) !important;
  gap: 52px !important;
}

.article-body {
  font-size: 17.5px !important;
  line-height: 1.67;
}

.article-body > p:first-child:not(.eyebrow-line) {
  max-width: 31ch;
  font-size: clamp(23px, 2.15vw, 30px) !important;
  line-height: 1.34 !important;
}

.article-body p {
  margin-bottom: 1.18em !important;
}

.article-body h2 {
  margin: 1.7em 0 0.55em !important;
  font-size: clamp(31px, 2.7vw, 39px) !important;
  line-height: 1.08 !important;
}

.article-body h3 {
  margin: 1.6em 0 0.48em !important;
  font-size: clamp(22px, 1.9vw, 27px) !important;
  line-height: 1.16 !important;
}

.article-body .eyebrow,
.article-body .inset-label,
.article-body .eyebrow-line,
.article-body .rice-label {
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
}

.article-body aside.inset {
  margin: 2em 0 !important;
  padding: 24px 26px !important;
  background: #eee7df !important;
  border: 0 !important;
}

.article-body aside.inset h3 {
  margin: 8px 0 0 !important;
  font-size: clamp(25px, 2.3vw, 32px) !important;
}

.article-body .table-wrap,
.article-body figure,
.article-body .evidence-module,
.article-body .rice-figure {
  margin-block: 2em !important;
}

.article-rail {
  position: sticky !important;
  top: 98px !important;
  align-self: start;
}

.article-rail .rail-card {
  padding: 22px 21px !important;
  border-top: 2px solid var(--plum) !important;
  background: var(--paper-deep) !important;
}

.article-rail .rail-card p:last-child {
  margin: 0;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.44;
}

.article-rail .newsletter.compact {
  margin-top: 18px !important;
  padding: 23px 21px 22px !important;
  background: var(--dark) !important;
  color: #fff !important;
}

.article-rail .newsletter.compact .eyebrow {
  color: #dcbfd2 !important;
}

.article-rail .newsletter.compact h2 {
  margin: 8px 0 11px !important;
  font-size: 27px !important;
  line-height: 1.04 !important;
}

.article-rail .newsletter.compact p,
.article-rail .newsletter.compact small {
  color: rgba(255, 255, 255, 0.78) !important;
}

.value-jobs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 1.5em 0 2.25em;
  border: 1px solid var(--line);
  background: var(--line);
}

.value-job {
  padding: 24px 25px 26px;
  background: var(--white);
}

.value-job h3 {
  margin: 0 !important;
  color: var(--plum);
  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.value-job p {
  margin: 10px 0 0 !important;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.5;
}

.sources-collapsible {
  margin-top: 56px;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.sources-collapsible > summary {
  position: relative;
  padding: 18px 45px 17px 0;
  cursor: pointer;
  list-style: none;
  color: var(--plum);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sources-collapsible > summary::-webkit-details-marker { display: none; }
.sources-collapsible > summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 7px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 29px;
  font-weight: 400;
}
.sources-collapsible[open] > summary::after { content: "–"; }
.sources-body {
  padding: 25px 0 16px;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.55;
}
.sources-body ul { padding-left: 20px; }
.sources-body li + li { margin-top: 7px; }

/* -------------------------------------------------------------------------- */
/* Lucca story                                                                 */
/* -------------------------------------------------------------------------- */

.lucca-page-final .lucca-hero {
  min-height: 460px !important;
  max-height: 520px;
  background: var(--dark) !important;
  overflow: hidden;
}

.lucca-page-final .lucca-hero-image {
  object-position: 46% center;
}

.lucca-page-final .lucca-hero::before {
  background: linear-gradient(90deg, rgba(18, 8, 17, 0.76) 0%, rgba(18, 8, 17, 0.44) 48%, rgba(18, 8, 17, 0.06) 78%) !important;
}

.lucca-page-final .lucca-hero-overlay {
  width: min(100%, 1240px);
  margin-inline: auto;
  padding: 52px 48px 48px !important;
}

.lucca-page-final .lucca-hero-overlay h1 {
  max-width: 850px;
  margin-top: 10px;
  font-size: clamp(48px, 5vw, 68px) !important;
  line-height: 0.94 !important;
}

.lucca-page-final .lucca-hero-overlay > p:not(.eyebrow) {
  max-width: 600px;
  margin-top: 16px;
  font-family: var(--serif);
  font-size: clamp(19px, 1.7vw, 24px);
  font-style: italic;
  line-height: 1.35;
}

.lucca-page-final .lucca-hero-overlay time {
  display: block;
  margin-top: 20px;
}

.lucca-article-shell {
  width: min(calc(100% - 64px), 1180px) !important;
  padding-top: 50px !important;
}

.lucca-opening-and-stay-grid,
.apartment-section {
  display: grid;
  grid-template-columns: minmax(0, 690px) minmax(290px, 330px);
  gap: 48px;
  align-items: start;
}

.lucca-opening-and-stay-grid {
  padding-bottom: 52px;
}

.lucca-opening-and-stay-prose > .article-lead {
  padding-bottom: 44px;
  border-bottom: 1px solid var(--line);
}

.lucca-opening-and-stay-prose > .lucca-prose:last-child {
  padding-top: 44px;
}

.lucca-prose {
  font-size: 17.5px !important;
  line-height: 1.62 !important;
}

.lucca-prose p + p {
  margin-top: 17px !important;
}

.lucca-opening-and-stay-prose h2,
.apartment-section .lucca-prose h2,
.lucca-closing-prose h2 {
  margin: 8px 0 20px;
  font-family: var(--serif);
  font-size: clamp(36px, 3.2vw, 46px);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.02;
}

.lucca-key-line {
  margin-block: 27px !important;
  padding-left: 22px;
  border-left: 2px solid var(--plum);
  color: var(--plum);
  font-size: 27px !important;
  line-height: 1.28 !important;
}

.why-lucca {
  position: sticky;
  top: 98px;
  padding: 25px 24px 26px !important;
  background: #f0e9e2 !important;
  border-top: 2px solid var(--plum);
}

.why-lucca dl {
  margin: 15px 0 0;
}

.why-lucca dl div {
  display: grid;
  grid-template-columns: 94px 1fr;
  gap: 13px;
  padding: 11px 0 !important;
  border-top: 1px solid rgba(27, 21, 27, 0.13);
}

.why-lucca dt {
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
}

.why-lucca dd {
  margin: 0 !important;
  color: var(--ink-soft);
  font-size: 13.5px !important;
  line-height: 1.38 !important;
}

.why-lucca-close {
  margin-top: 16px !important;
  padding-top: 17px !important;
  font-size: 18px !important;
}

.apartment-section {
  padding: 52px 0;
  border-top: 1px solid var(--line);
}

.apartment-hunt-final {
  position: sticky !important;
  top: 98px !important;
  padding: 0 !important;
  overflow: hidden;
  background: #f0e9e2 !important;
  border-top: 2px solid var(--plum);
}

.apartment-hunt-final img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
}

.apartment-hunt-final .apartment-copy {
  padding: 21px !important;
}

.apartment-hunt-final .status-lines p {
  padding: 12px 0 !important;
}

.apartment-hunt-final .status-lines strong {
  font-size: 16px !important;
}

.lucca-plan {
  margin: 4px 0 52px !important;
  padding: 27px 30px 30px !important;
  background: #eee7df !important;
}

.lucca-plan .number-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0;
  margin: 18px 0 20px;
  border-block: 1px solid var(--line);
}

.lucca-plan .number-list > div {
  min-width: 0;
  padding: 16px 15px;
  text-align: left;
}

.lucca-plan .number-list > div + div {
  border-left: 1px solid var(--line);
}

.lucca-plan dt {
  font-family: var(--serif);
  font-size: 31px;
  line-height: 1;
}

.lucca-plan dd {
  margin: 7px 0 0;
  color: var(--ink-soft);
  font-size: 12.5px;
  line-height: 1.35;
}

.lucca-plan > p {
  max-width: 900px;
  margin: 10px 0 0;
  font-size: 15px;
}

.lucca-closing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  gap: 30px;
  align-items: stretch;
  margin-bottom: 52px;
}

.lucca-closing-prose {
  max-width: none !important;
  margin: 0 !important;
  padding: 34px 36px 38px;
  background: var(--white);
  border-top: 2px solid var(--plum);
}

.dispatches-compact {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  margin: 0 !important;
  background: var(--dark);
}

.dispatches-compact > div:first-child {
  height: 180px;
}

.dispatches-compact > div:last-child {
  display: block !important;
  padding: 26px 27px 29px !important;
}

.dispatches-compact h2 {
  font-size: 31px !important;
}

.what-comes-home {
  margin: 0 0 52px !important;
  padding: 34px 36px 37px !important;
}

.what-comes-home h2 {
  font-size: clamp(34px, 3vw, 42px) !important;
}

.what-comes-home .home-cards {
  margin-top: 22px;
}

/* -------------------------------------------------------------------------- */
/* Unified legacy footer                                                       */
/* -------------------------------------------------------------------------- */

.site-footer-unified {
  margin-top: 0;
  padding: 0;
  background: var(--white);
  border-top: 1px solid var(--ink);
}

.site-footer-unified .footer-community {
  width: min(100%, 1180px);
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(420px, 1.2fr);
  align-items: start;
  gap: 62px;
  padding: 48px var(--gutter);
}

.site-footer-unified h2 {
  margin: 8px 0 0;
  font-family: var(--serif);
  font-size: clamp(30px, 2.6vw, 39px);
  font-weight: 400;
  line-height: 1.05;
}

.site-footer-unified .footer-social-nav {
  display: flex;
  gap: 20px;
  margin-top: 22px;
}

.site-footer-unified .footer-social-nav a {
  color: var(--plum);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.site-footer-unified .footer-note-signup {
  padding-left: 40px;
  border-left: 1px solid var(--line);
}

.site-footer-unified .footer-note-signup > p:not(.eyebrow) {
  margin: 9px 0 0;
  color: var(--ink-soft);
}

.site-footer-unified .footer-note-signup form {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) auto;
  margin-top: 20px;
}

.site-footer-unified .footer-note-signup input,
.site-footer-unified .footer-note-signup button {
  min-height: 47px;
  border: 1px solid var(--ink);
}

.site-footer-unified .footer-note-signup input {
  padding: 0 14px;
  background: transparent;
}

.site-footer-unified .footer-note-signup button {
  padding: 0 20px;
  background: var(--dark);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.site-footer-unified .footer-base {
  width: min(100%, 1180px);
  height: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 40px;
  padding: 27px var(--gutter) 31px;
  border-top: 1px solid var(--line);
}

.site-footer-unified .footer-base > div > p {
  margin: 7px 0 0;
  color: var(--ink-soft);
  font-size: 12px;
}

.site-footer-unified .footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 20px;
  font-size: 11px;
}

@media (max-width: 900px) {
  .article-page .article-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  .article-page .article-hero-art {
    order: 1 !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
  }
  .article-page .article-hero-copy {
    order: 2 !important;
    padding: 36px 22px 39px !important;
  }
  .article-page .article-hero h1 {
    font-size: clamp(39px, 10.5vw, 55px) !important;
  }
  article.article > .article-layout {
    padding: 48px 20px 58px !important;
  }
  .article-layout {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }
  .article-rail {
    position: static !important;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .article-rail .newsletter.compact { margin-top: 0 !important; }
  .value-jobs { grid-template-columns: 1fr; }

  .lucca-page-final .lucca-hero {
    min-height: 520px !important;
  }
  .lucca-page-final .lucca-hero-overlay {
    padding: 52px 22px 43px !important;
  }
  .lucca-page-final .lucca-hero-overlay h1 {
    font-size: 52px !important;
  }
  .lucca-article-shell {
    width: min(calc(100% - 34px), 760px) !important;
    padding-top: 45px !important;
  }
  .lucca-opening-and-stay-grid,
  .apartment-section,
  .lucca-closing-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .why-lucca,
  .apartment-hunt-final {
    position: static !important;
  }
  .why-lucca { order: -1; }
  .lucca-opening-and-stay-prose > .article-lead { padding-bottom: 43px; }
  .lucca-opening-and-stay-prose > .lucca-prose:last-child { padding-top: 43px; }
  .apartment-section { padding: 50px 0; }
  .apartment-hunt-final { order: -1; }
  .lucca-plan { margin-bottom: 50px !important; padding: 27px 24px 30px !important; }
  .lucca-plan .number-list { grid-template-columns: repeat(2, 1fr) !important; }
  .lucca-plan .number-list > div:nth-child(odd) { border-left: 0; }
  .lucca-plan .number-list > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .lucca-closing-prose { padding: 34px 28px 38px; }
  .what-comes-home { padding: 34px 28px 37px !important; }

  .site-footer-unified .footer-community {
    grid-template-columns: 1fr;
    gap: 31px;
    padding-block: 40px;
  }
  .site-footer-unified .footer-note-signup {
    padding: 31px 0 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .site-footer-unified .footer-note-signup form { grid-template-columns: 1fr; }
  .site-footer-unified .footer-note-signup button { border-top: 0; }
  .site-footer-unified .footer-base { grid-template-columns: 1fr; gap: 22px; }
  .site-footer-unified .footer-links { justify-content: flex-start; }
}

@media (max-width: 560px) {
  .article-body { font-size: 17px !important; }
  .article-body > p:first-child:not(.eyebrow-line) { font-size: 25px !important; }
  .article-body h2 { font-size: 33px !important; }
  .article-body aside.inset { padding: 24px 22px !important; }
  .lucca-prose { font-size: 17.5px !important; }
  .lucca-opening-and-stay-prose h2,
  .apartment-section .lucca-prose h2,
  .lucca-closing-prose h2 { font-size: 39px; }
  .why-lucca dl div { grid-template-columns: 92px 1fr; }
  .dispatches-compact > div:first-child { height: 185px; }
  .site-footer-unified .footer-social-nav { flex-wrap: wrap; }
}

/* Final Lucca and article rhythm */
.lucca-plan .number-list > div:nth-child(n + 4) { border-top: 1px solid var(--line); }
.lucca-plan .number-list > div:nth-child(4) { border-left: 0; }
.lucca-opening-and-stay-prose .article-lead > p:first-child {
  max-width: 34ch;
  font-family: var(--serif);
  font-size: clamp(24px, 2.15vw, 30px);
  line-height: 1.35;
}
.lucca-opening-and-stay-prose .eyebrow { margin-top: 42px; }
.lucca-page-final .why-lucca, .lucca-page-final .apartment-hunt-final { box-shadow: 0 12px 30px rgba(23, 11, 28, .055); }
.article-page .article-hero-copy, .article-page .article-hero-art { min-width: 0; }
.article-page .article-hero h1 { text-wrap: balance; }
@media (min-width: 881px) {
  .article-page .article-hero { max-height: 500px; overflow: hidden; }
  .lucca-page-final .lucca-hero { min-height: 460px !important; }
}

/* ========================================================================== */
/* Definitive legacy/article/Lucca calibration after visual QA                 */
/* ========================================================================== */

.site-footer-unified {
  display: block !important;
  min-height: 0 !important;
}

.site-footer-unified .footer-community,
.site-footer-unified .footer-base {
  width: min(calc(100% - 64px), 1180px);
  margin-inline: auto;
}

.site-footer-unified .footer-community {
  grid-template-columns: minmax(260px, .62fr) minmax(470px, 1.38fr);
  gap: 54px;
  padding-block: 40px 42px;
}

.site-footer-unified .footer-community h2 {
  max-width: none;
  font-size: clamp(29px, 2.25vw, 36px);
  white-space: normal;
}

.site-footer-unified .footer-note-signup {
  padding-left: 40px;
}

.site-footer-unified .footer-base {
  padding-block: 24px 28px;
}

/* A restrained article scale keeps every article in the same editorial family. */
.article-page .article-hero {
  min-height: 470px !important;
}

.article-page .article-hero-art {
  min-height: 470px !important;
}

.article-page .article-hero-copy {
  padding-block: 48px !important;
}

.article-page .article-hero h1 {
  font-size: clamp(44px, 4.15vw, 62px) !important;
}

article.article > .article-layout {
  padding-block: 58px 68px !important;
}

.article-layout {
  gap: 58px !important;
}

.article-body h2 {
  font-size: clamp(31px, 2.85vw, 40px) !important;
}

.article-body h3 {
  font-size: clamp(23px, 2vw, 28px) !important;
}

.article-rail .rail-card p:last-child {
  font-size: 16px;
}

/* Lucca: smaller hero, continuous left-aligned editorial rhythm, sticky rails. */
.lucca-page-final .lucca-hero {
  min-height: 490px !important;
  max-height: 530px !important;
}

.lucca-page-final .lucca-hero-overlay {
  padding-block: 58px 52px !important;
}

.lucca-page-final .lucca-hero-overlay h1 {
  font-size: clamp(50px, 5.2vw, 74px) !important;
}

.lucca-page-final .lucca-hero-overlay > p:not(.eyebrow) {
  font-size: clamp(20px, 1.8vw, 25px);
}

.lucca-article-shell {
  padding-top: 54px !important;
}

.lucca-opening-and-stay-grid,
.apartment-section {
  grid-template-columns: minmax(0, 720px) minmax(290px, 340px);
  gap: 52px;
}

.lucca-opening-and-stay-grid {
  padding-bottom: 54px;
}

.lucca-opening-and-stay-prose > .article-lead {
  padding-bottom: 46px;
}

.lucca-opening-and-stay-prose > .lucca-prose:last-child {
  padding-top: 46px;
}

.lucca-opening-and-stay-prose h2,
.apartment-section .lucca-prose h2,
.lucca-closing-prose h2 {
  font-size: clamp(38px, 3.45vw, 49px);
}

.why-lucca,
.apartment-hunt-final {
  top: 88px !important;
}

.why-lucca {
  padding: 25px 24px 26px !important;
}

.why-lucca dl div {
  grid-template-columns: 96px 1fr;
  padding: 11px 0 !important;
}

.why-lucca-close {
  font-size: 19px !important;
}

.apartment-section {
  padding-block: 54px;
}

.apartment-hunt-final img {
  display: block !important;
  width: 100%;
  height: 225px !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  object-position: center 30%;
}

.apartment-hunt-final .apartment-copy {
  padding: 21px 22px 23px !important;
}

.apartment-hunt-final .status-lines p {
  padding: 10px 0 !important;
}

.lucca-plan {
  margin: 4px 0 54px !important;
  padding: 27px 28px 30px !important;
}

.lucca-plan .number-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-block: 18px 21px;
}

.lucca-plan .number-list > div {
  min-height: 94px;
  padding: 17px 18px;
}

.lucca-plan .number-list > div:nth-child(4) {
  border-left: 0;
}

.lucca-plan .number-list > div:nth-child(n+4) {
  border-top: 1px solid var(--line);
}

.lucca-closing-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .8fr);
  gap: 30px;
  margin-bottom: 52px;
}

.lucca-closing-prose {
  padding: 36px 38px 40px;
}

.dispatches-compact {
  display: grid !important;
  grid-template-rows: 170px 1fr !important;
}

.dispatches-compact > div:first-child {
  display: block !important;
  height: 170px !important;
}

.dispatches-compact > div:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dispatches-compact > div:last-child {
  padding: 27px 28px 30px !important;
}

.dispatches-compact h2 {
  font-size: 31px !important;
}

.what-comes-home {
  margin-bottom: 52px !important;
  padding: 35px 38px 38px !important;
}

.what-comes-home h2 {
  font-size: clamp(34px, 3.1vw, 44px) !important;
}

@media (max-width: 900px) {
  .site-footer-unified .footer-community,
  .site-footer-unified .footer-base {
    width: calc(100% - 36px);
  }

  .site-footer-unified .footer-community {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-block: 36px;
  }

  .site-footer-unified .footer-note-signup {
    padding: 27px 0 0;
  }

  .article-page .article-hero-art {
    min-height: 0 !important;
  }

  .article-page .article-hero-copy {
    padding: 32px 21px 36px !important;
  }

  .article-page .article-hero h1 {
    font-size: clamp(36px, 10vw, 49px) !important;
  }

  article.article > .article-layout {
    padding-block: 42px 52px !important;
  }

  .lucca-page-final .lucca-hero {
    min-height: 440px !important;
    max-height: none !important;
  }

  .lucca-page-final .lucca-hero-overlay {
    padding: 42px 21px 38px !important;
  }

  .lucca-page-final .lucca-hero-overlay h1 {
    font-size: 48px !important;
  }

  .lucca-article-shell {
    padding-top: 40px !important;
  }

  .lucca-opening-and-stay-grid,
  .apartment-section,
  .lucca-closing-grid {
    grid-template-columns: 1fr;
    gap: 27px;
  }

  .why-lucca,
  .apartment-hunt-final {
    position: static !important;
    order: -1;
  }

  .lucca-plan .number-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .lucca-plan .number-list > div:nth-child(odd) {
    border-left: 0;
  }

  .lucca-plan .number-list > div:nth-child(n+3) {
    border-top: 1px solid var(--line);
  }

  .lucca-plan .number-list > div:nth-child(4) {
    border-left: 1px solid var(--line);
  }

  .dispatches-compact {
    grid-template-rows: 165px 1fr !important;
  }
}

@media (max-width: 560px) {
  .site-footer-unified .footer-community,
  .site-footer-unified .footer-base {
    width: calc(100% - 28px);
  }

  .lucca-page-final .lucca-hero {
    min-height: 420px !important;
  }

  .lucca-page-final .lucca-hero-overlay h1 {
    font-size: 43px !important;
  }

  .lucca-opening-and-stay-prose h2,
  .apartment-section .lucca-prose h2,
  .lucca-closing-prose h2 {
    font-size: 35px;
  }

  .lucca-plan {
    padding: 24px 20px 27px !important;
  }

  .lucca-closing-prose,
  .what-comes-home {
    padding: 29px 23px 32px !important;
  }
}

/* Final apartment rail correction: undo the legacy two-column inset grid so the photograph remains visible. */
.lucca-page-final .apartment-hunt-final {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
}
.lucca-page-final .apartment-hunt-final img {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 225px !important;
  min-height: 0 !important;
  max-height: 225px !important;
  object-fit: cover !important;
  object-position: center 32% !important;
}
@media (max-width: 900px) {
  .lucca-page-final .apartment-hunt-final img {
    height: 230px !important;
    max-height: 230px !important;
  }
}

/* Final editorial polish · August 29, 2026 */
.footer-tagline{margin-top:8px;font-family:var(--serif);font-size:17px;color:var(--ink-soft)}
.footer-social-nav{margin-top:15px!important}
.lucca-opening-stay-grid{display:grid;grid-template-columns:minmax(0,720px) minmax(300px,390px);gap:70px;align-items:start;padding-bottom:58px;border-bottom:1px solid var(--line)}
.lucca-opening-stay-prose>.lucca-prose:first-child{padding-bottom:44px}
.lucca-opening-stay-prose>.lucca-prose:last-child{padding-top:44px;border-top:1px solid var(--line)}
.lucca-opening-stay-prose>.lucca-prose:last-child>.eyebrow{font-family:var(--serif);font-size:clamp(34px,3vw,44px)!important;font-weight:400;letter-spacing:-.02em!important;line-height:1.03;text-transform:none;color:var(--ink);margin-bottom:24px}
.lucca-opening-stay-grid>.why-lucca{position:sticky!important;top:88px!important}
.lucca-closing-grid{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);gap:30px;align-items:stretch;margin-bottom:52px}
.lucca-closing-grid>.lucca-closing-prose{margin:0!important;max-width:none!important}
.lucca-closing-grid>.dispatches-compact{margin:0!important}
.lucca-plan{padding:26px 28px 29px!important}
.lucca-plan .number-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lucca-page-final .lucca-hero{min-height:520px!important;max-height:620px}
.lucca-page-final .lucca-hero-overlay h1{font-size:clamp(56px,6vw,88px)!important}
.site-footer-unified .footer-community{padding-block:32px 34px!important}
@media(max-width:900px){.lucca-opening-stay-grid{grid-template-columns:1fr;gap:30px;padding-bottom:42px}.lucca-opening-stay-grid>.why-lucca{position:static!important;order:-1}.lucca-opening-stay-prose>.lucca-prose:first-child{padding-bottom:34px}.lucca-opening-stay-prose>.lucca-prose:last-child{padding-top:34px}.lucca-closing-grid{grid-template-columns:1fr!important}.lucca-page-final .lucca-hero{min-height:500px!important}.lucca-page-final .lucca-hero-overlay h1{font-size:52px!important}}

/* Article refinement pass · consistent hero/rail methodology */
.article-page .article-hero{min-height:430px!important}.article-page .article-hero-copy{padding-top:40px!important;padding-bottom:38px!important}.article-page .article-hero h1{font-size:clamp(40px,3.65vw,56px)!important;line-height:1!important}.article-page .article-hero .dek{font-size:clamp(18px,1.35vw,20px)!important;line-height:1.38!important}.article-page .article-hero-art{min-height:430px!important}.article-page .article-actions{position:relative;z-index:4;flex-wrap:wrap;overflow:visible!important}.article-page .article-actions>*{flex:0 0 auto}.article-page .article-rail .rail-card:first-child p:last-child{font-size:15px;line-height:1.5}.article-page .article-rail .rail-card:first-child{border-top:3px solid var(--plum);padding-top:20px}
@media(max-width:880px){.article-page .article-hero{max-height:none!important}.article-page .article-hero h1{font-size:clamp(38px,10vw,50px)!important}.article-page .article-actions{display:flex!important;width:100%!important}}

/* Unified footer + final August 30 editorial rhythm */
.site-footer-unified .footer-community{
  display:grid!important;
  grid-template-columns:minmax(190px,.65fr) minmax(220px,.7fr) minmax(420px,1.65fr)!important;
  gap:34px!important;align-items:start!important;padding-block:31px 30px!important
}
.site-footer-unified .footer-brand .footer-mark{display:inline-block;font-size:26px;letter-spacing:.07em}
.site-footer-unified .footer-brand .footer-tagline{margin-top:8px;font-family:var(--serif);font-size:17px;color:var(--ink-soft)}
.site-footer-unified .footer-stay-close h2{display:none!important}
.site-footer-unified .footer-social-nav{display:flex!important;gap:16px!important;flex-wrap:wrap;margin-top:12px!important}
.site-footer-unified .footer-note-signup h2{font-size:clamp(25px,2vw,31px)!important}
.site-footer-unified .footer-base{display:flex!important;justify-content:flex-end!important;padding-block:16px 20px!important}
.what-comes-home-cta{margin-top:24px!important}
@media(max-width:900px){
  .site-footer-unified .footer-community{grid-template-columns:1fr!important;gap:24px!important}
  .site-footer-unified .footer-base{justify-content:flex-start!important}
}


/* Targeted Lucca/footer polish · August 30, 2026 */
.lucca-page-final .lucca-hero-overlay{padding-bottom:42px!important}
.lucca-page-final .lucca-hero-overlay time{font-size:13px!important;letter-spacing:.075em!important}
.lucca-hero-follow{display:inline-block;margin-top:15px;color:var(--paper-light);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid rgba(251,249,245,.75);padding-bottom:5px}
.lucca-opening-stay-prose>.lucca-prose:first-child{padding-bottom:28px!important}
.lucca-opening-stay-prose>.lucca-prose:last-child{padding-top:30px!important}
.lucca-home-line{margin:22px 0 18px;padding-left:22px;border-left:2px solid var(--plum);font-family:var(--serif);font-size:clamp(22px,2vw,29px);line-height:1.18}
.lucca-page-final .apartment-section{border-top:0!important}
.lucca-page-final .apartment-hunt-final{border-top:0!important}
.apartment-hunt-final .status-lines{display:grid;gap:0!important}
.apartment-hunt-final .status-lines p{display:grid!important;grid-template-columns:125px minmax(0,1fr)!important;gap:14px!important;align-items:start!important;margin:0!important;padding:13px 0!important;border-top:1px solid var(--line)!important}
.apartment-hunt-final .status-lines p:first-child{border-top:0!important}
.apartment-hunt-final .status-lines span{font-size:10px!important;letter-spacing:.11em!important;text-transform:uppercase!important;color:var(--plum)!important}
.apartment-hunt-final .status-lines strong{font-family:var(--serif)!important;font-size:17px!important;line-height:1.25!important;font-weight:400!important}
.lucca-plan .inset-label{font-size:12px!important}
.lucca-plan .number-list dt{font-size:clamp(38px,3.2vw,48px)!important}
.lucca-plan .number-list dd{font-size:14px!important;line-height:1.25!important}
.lucca-plan>p{font-size:16px!important;line-height:1.5!important}
.lucca-closing-prose{padding:31px 34px 35px!important}
.lucca-closing-prose h2{font-size:clamp(32px,2.75vw,41px)!important}
.dispatches-compact>div:last-child{padding:24px 26px 28px!important}
.site-footer-unified{color:var(--ink)!important;background:var(--paper-light)!important}
.site-footer-unified .footer-community{grid-template-columns:minmax(220px,.8fr) minmax(210px,.7fr) minmax(380px,1.5fr)!important}
.site-footer-unified .footer-mark,.site-footer-unified .footer-note-signup h2{color:var(--ink)!important}
.site-footer-unified .footer-tagline,.site-footer-unified .footer-note-signup p,.site-footer-unified .footer-links a{color:var(--ink-soft)!important;opacity:1!important}
.site-footer-unified .footer-social-nav a{color:var(--ink)!important;opacity:1!important}
@media(max-width:900px){.lucca-page-final .lucca-hero-overlay time{font-size:11px!important}.lucca-hero-follow{font-size:10px}.apartment-hunt-final .status-lines p{grid-template-columns:108px minmax(0,1fr)!important}.site-footer-unified .footer-community{grid-template-columns:1fr!important}}


/* 2026-08-30 final editorial interaction correction */
.article-page .article-actions,
.article-actions {
  width:auto !important;
  border:0 !important;
  background:transparent !important;
  gap:8px !important;
}
.article-page .article-actions > a,
.article-page .article-actions > button {
  border:1px solid var(--line) !important;
  min-height:42px !important;
  padding:10px 14px !important;
}
.article-page .article-actions > * + * {
  border-left:1px solid var(--line) !important;
}
.article-body > p:first-child:not(.eyebrow-line),
.article-body .article-lead {
  max-width:100% !important;
  width:100% !important;
  font-size:clamp(23px,2.05vw,29px) !important;
  line-height:1.38 !important;
}


/* 2026-08-30 aligned final pass */
.site-footer-unified .footer-tagline{letter-spacing:.035em!important}
.article-page .article-actions{border:0!important;background:transparent!important;width:auto!important;gap:8px!important}
.article-page .article-actions>a,.article-page .article-actions>button{border:1px solid var(--line)!important}
.article-page .article-actions>*+*{border-left:1px solid var(--line)!important}
.lucca-page-final .why-lucca-close{text-align:center!important;font-family:var(--serif)!important;font-size:clamp(24px,2vw,30px)!important;font-style:italic!important}

/* Final unified legacy footer: brand + social form one left column; The Drifted
   Note is the conversion focal point on the right; utility links stay quiet at
   the very bottom. */
.site-footer-unified .footer-community{
  display:grid!important;
  grid-template-columns:minmax(270px,.72fr) minmax(520px,1.28fr)!important;
  grid-template-areas:"brand note" "social note"!important;
  gap:8px 72px!important;
  align-items:start!important;
  padding-block:42px 32px!important;
}
.site-footer-unified .footer-brand{grid-area:brand!important}
.site-footer-unified .footer-stay-close{grid-area:social!important;margin-top:14px!important}
.site-footer-unified .footer-note-signup{grid-area:note!important;padding:28px 32px 30px!important;border-top:3px solid var(--plum)!important;background:var(--paper-deep)!important}
.site-footer-unified .footer-note-signup h2{font-size:clamp(32px,2.7vw,43px)!important;line-height:1.03!important}
.site-footer-unified .footer-note-signup form{display:grid!important;grid-template-columns:1fr auto!important;margin-top:18px!important}
.site-footer-unified .footer-note-signup .form-status{grid-column:1/-1;margin:9px 0 0!important;font-size:12px!important;color:var(--plum)!important}
.site-footer-unified .footer-base{display:flex!important;justify-content:flex-end!important;padding-block:16px 20px!important;border-top:1px solid var(--line)!important}
.site-footer-unified .footer-links{display:flex!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:10px 22px!important}
.article-page .article-hero h1{font-size:clamp(39px,3.45vw,53px)!important}
@media(max-width:900px){
  .site-footer-unified .footer-community{grid-template-columns:1fr!important;grid-template-areas:"brand" "social" "note"!important;gap:20px!important}
  .site-footer-unified .footer-base,.site-footer-unified .footer-links{justify-content:flex-start!important}
}
/* Lucca: this line belongs to the essay, not a pull-quote treatment. */
.lucca-home-line{margin:18px 0!important;padding-left:0!important;border-left:0!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}

/* FINAL LOCKED PASS · 2026-08-31 */
#drifted-note{scroll-margin-top:110px}
.signup-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.article-actions .action-share:before,.article-actions .action-download:before{content:none!important}
.article-actions svg{width:17px;height:17px;flex:0 0 auto}
.story-card[data-card-href]{cursor:pointer}

/* FINAL VISUAL QA · 2026-08-31 · Lucca + article actions */
.lucca-hero-follow{
  text-decoration:none!important;
  border-bottom:1px solid rgba(251,249,245,.78)!important;
  box-shadow:none!important;
}

/* Let the apartment chapter begin where the long-stay requirement becomes the story. */
.lucca-page-final .apartment-section{
  padding-top:54px!important;
  margin-top:0!important;
  align-items:start!important;
}
.lucca-page-final .apartment-section .lucca-prose>.eyebrow:first-child{
  margin-bottom:22px!important;
}
.lucca-page-final .apartment-knows-line{
  margin:28px 0!important;
  padding-left:22px!important;
  border-left:2px solid var(--plum)!important;
  color:var(--plum)!important;
  font-family:var(--serif)!important;
  font-size:clamp(26px,2.25vw,33px)!important;
  line-height:1.18!important;
}

/* Plan: make the numbers the visual event, then turn logistics into two readable beats. */
.lucca-plan{
  padding:32px 34px 34px!important;
}
.lucca-plan .number-list{
  margin:22px 0 26px!important;
}
.lucca-plan .number-list>div{
  padding:20px 18px!important;
}
.lucca-plan .number-list dt{
  color:var(--plum)!important;
  font-size:clamp(50px,4.2vw,64px)!important;
  line-height:.95!important;
}
.lucca-plan .number-list dd{
  margin-top:7px!important;
  color:var(--ink-soft)!important;
  font-size:15px!important;
  line-height:1.28!important;
}
.lucca-plan-copy{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:4px;
  background:var(--line);
}
.lucca-plan-block{
  padding:20px 22px 21px;
  background:rgba(250,247,242,.72);
}
.lucca-plan-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--plum);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.lucca-plan-block p{
  margin:0!important;
  color:var(--ink-soft);
  font-size:15px!important;
  line-height:1.48!important;
}
.lucca-plan-goal{
  margin:20px 0 0!important;
  padding-top:18px;
  border-top:1px solid var(--plum);
  color:var(--plum);
  font-family:var(--serif);
  font-size:clamp(21px,1.8vw,26px)!important;
  line-height:1.28!important;
}
.lucca-plan-goal:before{
  content:"THE GOAL";
  display:block;
  margin-bottom:7px;
  font-family:var(--sans);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}

/* Lucca footer now follows the current About-page footer hierarchy. */
.site-footer-modernized{
  margin-top:0!important;
  color:var(--ink)!important;
  background:var(--paper-light)!important;
  border-top:1px solid var(--line)!important;
}
.site-footer-modernized .footer-primary{
  width:min(100%,var(--max));
  height:auto;
  display:grid;
  grid-template-columns:minmax(270px,.72fr) minmax(520px,1.28fr);
  gap:72px;
  align-items:start;
  margin:0 auto;
  padding:42px var(--gutter) 32px;
}
.site-footer-modernized .footer-brand-block{min-width:0}
.site-footer-modernized .footer-tagline{
  margin:10px 0 0;
  color:var(--ink-soft);
  font-size:13px;
  letter-spacing:.035em;
}
.site-footer-modernized .footer-stay-close{margin-top:38px}
.site-footer-modernized .footer-social-nav{
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
  margin-top:12px;
}
.site-footer-modernized .footer-social-nav a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ink);
  font-size:12px;
  text-decoration:none;
}
.site-footer-modernized .social-dot{
  width:19px;
  height:19px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  font-size:10px;
  line-height:1;
}
.site-footer-modernized .footer-note-featured{
  padding:28px 32px 30px;
  border-top:3px solid var(--plum);
  background:var(--paper-deep);
}
.site-footer-modernized .footer-note-featured h2{
  margin:7px 0 0;
  font-family:var(--serif);
  font-size:clamp(32px,2.7vw,43px);
  font-weight:400;
  line-height:1.03;
}
.site-footer-modernized .footer-note-featured>p:not(.eyebrow){
  margin:9px 0 0;
  color:var(--ink-soft);
  font-size:14px;
}
.site-footer-modernized .footer-note-featured form{
  display:grid;
  grid-template-columns:1fr auto;
  margin-top:18px;
}
.site-footer-modernized .footer-note-featured input,
.site-footer-modernized .footer-note-featured button{
  min-height:50px;
  border:1px solid var(--ink);
  padding:0 14px;
}
.site-footer-modernized .footer-note-featured input{background:var(--paper-light);border-right:0}
.site-footer-modernized .footer-note-featured button{
  min-width:128px;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
}
.site-footer-modernized .footer-note-featured .form-status{
  grid-column:1/-1;
  margin:9px 0 0;
  color:var(--plum);
  font-size:12px;
}
.site-footer-modernized .footer-bottom{
  width:min(100%,var(--max));
  height:auto;
  display:flex;
  justify-content:space-between;
  gap:30px;
  margin:0 auto;
  padding:16px var(--gutter) 20px;
  border-top:1px solid var(--line);
}
.site-footer-modernized .footer-bottom-brand{
  font-family:var(--serif);
  font-size:14px;
  letter-spacing:.12em;
}
.site-footer-modernized .footer-links{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px 22px;
}
.site-footer-modernized .footer-links a{
  color:var(--ink-soft);
  font-size:12px;
  text-decoration:none;
}

/* Desktop Share deliberately exposes social networks; native sharing stays mobile-first. */
.share-menu{
  min-width:205px!important;
}

@media(max-width:900px){
  .lucca-page-final .apartment-section{padding-top:42px!important}
  .lucca-plan .number-list dt{font-size:50px!important}
  .lucca-plan-copy{grid-template-columns:1fr}
  .site-footer-modernized .footer-primary{grid-template-columns:1fr;gap:24px;padding-block:34px 26px}
  .site-footer-modernized .footer-bottom{align-items:flex-start;flex-direction:column}
  .site-footer-modernized .footer-links{justify-content:flex-start}
}
@media(max-width:560px){
  .lucca-plan{padding:26px 20px 28px!important}
  .lucca-plan .number-list dt{font-size:46px!important}
  .site-footer-modernized .footer-note-featured{padding:24px 20px 26px}
  .site-footer-modernized .footer-note-featured form{grid-template-columns:1fr}
  .site-footer-modernized .footer-note-featured input{border-right:1px solid var(--ink);border-bottom:0}
}


/* FINAL PRE-LAUNCH LUCCA DISCIPLINE PASS · 2026-08-31 */
.lucca-opening-stay-prose>.lucca-prose:last-child{
  padding-top:32px!important;
}
.lucca-opening-stay-prose>.lucca-prose:last-child>.eyebrow{
  margin-bottom:17px!important;
}
.lucca-page-final .apartment-section{
  padding-top:34px!important;
}
.lucca-page-final .apartment-section .lucca-prose>.eyebrow:first-child{
  margin-bottom:12px!important;
}
.lucca-page-final .apartment-section .lucca-home-line{
  margin:0 0 24px!important;
  color:var(--plum)!important;
  font-family:var(--serif)!important;
  font-size:clamp(22px,1.9vw,28px)!important;
  line-height:1.32!important;
}
.lucca-page-final .apartment-hunt-final{
  top:88px!important;
}
.apartment-hunt-final .apartment-copy{
  padding:17px 21px 18px!important;
}
.apartment-hunt-final .status-lines p{
  grid-template-columns:112px minmax(0,1fr)!important;
  padding:10px 0!important;
}
.apartment-hunt-final .status-lines span{
  color:var(--plum)!important;
}
.apartment-hunt-final .status-lines strong{
  color:var(--ink)!important;
  font-size:17px!important;
}
.lucca-plan .number-list{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.lucca-plan .number-list>div{
  min-height:118px!important;
  padding:17px 16px 18px!important;
  border-left:1px solid var(--line)!important;
  border-top:0!important;
}
.lucca-plan .number-list>div:nth-child(4n+1){
  border-left:0!important;
}
.lucca-plan .number-list>div:nth-child(n+5){
  border-top:1px solid var(--line)!important;
}
.lucca-plan .number-list dt{
  font-size:clamp(49px,4vw,60px)!important;
}
.lucca-plan .number-list dd{
  max-width:145px!important;
  margin-top:7px!important;
  font-size:14px!important;
}
.lucca-plan-goal{
  text-transform:none!important;
}
.lucca-closing-prose h2{
  max-width:760px!important;
  font-size:clamp(39px,3.6vw,52px)!important;
  line-height:1.04!important;
}
.site-footer-modernized .footer-mark{
  color:var(--ink)!important;
  font-size:26px!important;
  letter-spacing:.07em!important;
}
.site-footer-modernized .footer-tagline{
  color:var(--ink-soft)!important;
}
@media(max-width:900px){
  .lucca-plan .number-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .lucca-plan .number-list>div:nth-child(4n+1){border-left:1px solid var(--line)!important}
  .lucca-plan .number-list>div:nth-child(2n+1){border-left:0!important}
  .lucca-plan .number-list>div:nth-child(n+3){border-top:1px solid var(--line)!important}
}
