.relocation-page,
.relocation-index {
  --relocation-line: color-mix(in srgb, var(--ink) 22%, transparent);
  --relocation-warm: color-mix(in srgb, var(--paper) 45%, var(--cream));
  --relocation-sage: color-mix(in srgb, var(--paper) 76%, var(--sage));
  --relocation-sand: color-mix(in srgb, var(--paper) 84%, var(--clay));
  background: var(--paper);
  color: var(--ink);
  margin-inline: auto;
  max-width: 90rem;
  overflow: hidden;
}

.relocation-hero,
.relocation-index-hero {
  background: var(--relocation-sand);
  display: grid;
  gap: clamp(1.5rem, 3.5vw, 3.5rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
  padding: clamp(2rem, 3.8vw, 3.5rem) clamp(1.25rem, 5.5vw, 5rem);
}

.relocation-hero-copy { align-self: center; }
.relocation-kicker { color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .13em; margin: 0 0 .7rem; text-transform: uppercase; }
.relocation-hero h1,
.relocation-index h1 { font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1.02; margin: 0; max-width: 15ch; }
.relocation-deck { color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.04rem, 1.5vw, 1.22rem); line-height: 1.55; margin: 1rem 0 0; max-width: 44rem; }
.relocation-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .8rem 1.25rem; margin-top: 1.35rem; }
.relocation-hero-photo { align-self: center; margin: 0; }
.relocation-hero-image { aspect-ratio: 4 / 3; border-radius: .35rem; object-fit: cover; width: 100%; }
.relocation-hero-photo figcaption { color: var(--muted); font-size: .78rem; margin-top: .4rem; }
.relocation-text-link { text-underline-offset: .2em; }

.relocation-state-nav { align-items: baseline; border-bottom: 1px solid var(--relocation-line); display: flex; flex-wrap: wrap; gap: .35rem .85rem; margin: 0 auto; max-width: 82rem; padding: .9rem clamp(1.25rem, 5vw, 4rem); }
.relocation-state-nav > span { color: var(--muted); font-size: .83rem; }
.relocation-state-nav ul { display: flex; flex-wrap: wrap; gap: .35rem .9rem; list-style: none; margin: 0; padding: 0; }
.relocation-state-nav li { font-size: .85rem; }
.relocation-state-nav [aria-current="page"] { font-weight: 700; }

/* Keep the comparison sequence full-width; table heights must not stretch a neighboring panel. */
.relocation-comparison-pair { border-block: 1px solid var(--relocation-line); display: block; margin: 0 auto; max-width: 82rem; }
.relocation-section-data { background: var(--relocation-warm); border-bottom: 1px solid var(--relocation-line); display: grid; gap: .8rem 1.5rem; grid-template-columns: minmax(0, 1fr); min-width: 0; padding: clamp(1.3rem, 2.5vw, 2rem); }
.relocation-section-data:last-child { border-bottom: 0; }
.relocation-section-data:nth-child(even) { background: var(--relocation-sage); }
.relocation-section-data-with-photo { grid-template-columns: minmax(0, 1fr) minmax(18rem, .95fr); grid-template-areas: "copy photo" "table table" "note note"; }
.relocation-section-data .relocation-section-copy { grid-column: 1 / -1; }
.relocation-section-data-with-photo .relocation-section-copy { display: block; grid-area: copy; min-width: 0; }
.relocation-section-data-with-photo .relocation-section-copy h2 { max-width: none; }
.relocation-section-data .relocation-section-photos { grid-column: 1 / -1; margin: .75rem 0; }
.relocation-section-data-with-photo .relocation-section-photos { align-self: center; grid-area: photo; margin: 0; }
.relocation-section-data .relocation-table-scroll,
.relocation-section-data .relocation-source-note { grid-column: 1 / -1; }
.relocation-section-data-with-photo .relocation-table-scroll { grid-area: table; }
.relocation-section-data-with-photo .relocation-source-note { grid-area: note; }
.relocation-section-data-with-photo .relocation-section-image { height: 18rem; max-height: 18rem; }
.relocation-section-data h2 { color: var(--moss); font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.14; margin: 0 0 .8rem; }
.relocation-section-data p { line-height: 1.55; margin: .3rem 0 .8rem; }
.relocation-section-data .relocation-table-scroll { margin-top: .8rem; }
.relocation-table-scroll { background: var(--cream); border-radius: .35rem; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; padding: .75rem; scroll-padding-inline: .75rem; }
.relocation-table { border-collapse: collapse; font-variant-numeric: tabular-nums; min-width: 34rem; width: 100%; }
.relocation-table caption { color: var(--moss); font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; line-height: 1.3; padding: 0 0 .55rem; text-align: left; }
.relocation-table th, .relocation-table td { border-bottom: 1px solid rgb(49 55 43 / 13%); padding: .5rem .55rem; text-align: left; }
.relocation-table thead th { color: var(--muted); font-size: .78rem; }
.relocation-table tbody th { font-weight: 650; }
.relocation-source-note { color: var(--muted); font-size: .73rem; line-height: 1.45; margin: .5rem 0 0; }
.relocation-table-hint { color: var(--muted); display: none; font-size: .72rem; margin: 0 0 .3rem; }
.relocation-table-scroll:focus-visible { outline: 2px solid var(--moss); outline-offset: 3px; }

/* Story sections echo the homepage's light tonal changes and compact split layout. */
.relocation-section-story { align-items: start; border-top: 1px solid var(--relocation-line); display: grid; gap: clamp(1rem, 2.5vw, 2.25rem); margin: 0 auto; max-width: 82rem; padding: clamp(1.8rem, 3.2vw, 3rem) clamp(1.25rem, 5vw, 4rem); position: relative; }
.relocation-section-tone-warm { background: var(--relocation-warm); }
.relocation-section-tone-sage { background: var(--relocation-sage); }
.relocation-section-copy { display: grid; gap: clamp(.8rem, 2.2vw, 2.1rem); grid-column: 1 / -1; grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr); }
.relocation-section-copy h2 { color: var(--moss); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.85rem, 3vw, 2.9rem); font-weight: 400; letter-spacing: -.02em; line-height: 1.08; margin: 0; max-width: 18ch; }
.relocation-section-body { max-width: 50rem; }
.relocation-section-body p { color: color-mix(in srgb, var(--ink) 84%, var(--paper)); line-height: 1.6; margin: 0; }
.relocation-section-body p + p { margin-top: .65rem; }
.relocation-section-body ul { margin: .6rem 0 0; padding-left: 1.2rem; }
.relocation-section-body li { margin: .35rem 0; }
.relocation-section-photo-layout .relocation-section-copy { grid-column: 1 / 3; }
.relocation-section-photos { display: grid; gap: .7rem; grid-column: 3; grid-row: 1; }
.relocation-section-photo { margin: 0; min-width: 0; }
.relocation-section-multi-photo .relocation-section-copy,
.relocation-section-multi-photo .relocation-section-photos { grid-column: 1 / -1; }
.relocation-section-multi-photo .relocation-section-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.relocation-section-image { aspect-ratio: 4 / 3; border-radius: .25rem; display: block; object-fit: cover; width: 100%; }
.relocation-section-photo figcaption { color: var(--muted); font-size: .75rem; line-height: 1.4; margin-top: .35rem; }
.relocation-photo-credit { display: block; font-size: .68rem; margin-top: .15rem; }
.relocation-photo-credit a { color: inherit; text-underline-offset: .15em; }
.relocation-section-story > .terra-flair-edge-branch,
.relocation-index-flourish > .terra-flair-edge-branch { fill: none; height: 2.5rem; margin: 0; overflow: visible; pointer-events: none; position: absolute; stroke: #5f7a4b; top: .35rem; width: clamp(8.5rem, 14vw, 12rem); z-index: 1; }
.relocation-section-story > .terra-flair-edge-branch path,
.relocation-index-flourish > .terra-flair-edge-branch path { fill: none; stroke: #5f7a4b; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.15; vector-effect: non-scaling-stroke; }
.relocation-index-flourish { height: 2.7rem; margin: 0 auto; max-width: 82rem; position: relative; }
.relocation-index-flourish > .terra-flair-edge-right { left: auto; right: clamp(1.25rem, 5vw, 4rem); }
.relocation-section-story > .terra-flair-edge-right { right: clamp(1.25rem, 5vw, 4rem); }
.relocation-section-story > .terra-flair-edge-left { left: clamp(1.25rem, 5vw, 4rem); }
.relocation-section-flair { padding-top: 2.8rem; }

.relocation-sources { border-top: 1px solid var(--relocation-line); margin: 0 auto; max-width: 82rem; padding: 1.1rem clamp(1.25rem, 5vw, 4rem); }
.relocation-sources summary { color: var(--moss); cursor: pointer; font-weight: 700; }
.relocation-sources ul { padding-left: 1.2rem; }
.relocation-related { background: var(--relocation-sand); border-top: 1px solid var(--relocation-line); margin: 0 auto; max-width: 82rem; padding: 1.6rem clamp(1.25rem, 5vw, 4rem); }
.relocation-related h2 { color: var(--moss); font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 400; margin: 0 0 .55rem; }
.relocation-related ul { display: flex; flex-wrap: wrap; gap: .45rem 1.2rem; list-style: none; margin: 0; padding: 0; }

.relocation-index-hero { display: block; padding-inline: clamp(1.25rem, 8vw, 7rem); }
.relocation-index-hero h1 { max-width: 18ch; }
.relocation-index-list { padding: clamp(1.8rem, 3vw, 2.75rem) clamp(1.25rem, 5.5vw, 5rem); }
.relocation-index-list > h2 { color: var(--moss); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 400; margin: 0 0 .5rem; }
.relocation-index-list > p { color: var(--muted); margin: 0 0 1.35rem; max-width: 56rem; }
.relocation-state-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.relocation-state-card { background: var(--cream); border-radius: .35rem; overflow: hidden; }
.relocation-state-card > a { color: inherit; display: flex; flex-direction: column; height: 100%; text-decoration: none; }
.relocation-card-image { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.relocation-state-card > a > div { display: flex; flex: 1; flex-direction: column; padding: .95rem 1rem 1rem; }
.relocation-state-card .relocation-kicker { margin-bottom: .35rem; }
.relocation-state-card h2 { color: var(--moss); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 1.9vw, 1.55rem); font-weight: 400; line-height: 1.15; margin: 0 0 .5rem; }
.relocation-state-card p:not(.relocation-kicker) { color: var(--muted); font-size: .9rem; line-height: 1.5; margin: 0 0 .8rem; }
.relocation-card-link { color: var(--moss); font-size: .78rem; font-weight: 700; letter-spacing: .04em; margin-top: auto; text-transform: uppercase; }
.relocation-state-card a:focus-visible,
.relocation-index .award-feature a:focus-visible { outline: 2px solid var(--moss); outline-offset: 3px; }
.relocation-next-step { background: var(--relocation-sage); border-top: 1px solid var(--relocation-line); margin: 1.5rem auto 0; max-width: 82rem; padding: clamp(1.6rem, 3vw, 2.5rem) clamp(1.25rem, 5vw, 4rem); }
.relocation-next-step h2 { color: var(--moss); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 2.5vw, 2.2rem); font-weight: 400; margin: 0 0 .4rem; }
.relocation-next-step p { margin: 0 0 .9rem; }
.relocation-next-step > div { align-items: center; display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; }

@media (max-width: 760px) {
  .relocation-hero { grid-template-columns: 1fr; }
  .relocation-hero-photo { order: -1; }
  .relocation-section-data-with-photo { grid-template-columns: 1fr; grid-template-areas: "copy" "photo" "table" "note"; }
  .relocation-section-data .relocation-section-copy,
  .relocation-section-data-with-photo .relocation-section-copy,
  .relocation-section-data-with-photo .relocation-section-photos,
  .relocation-section-data .relocation-table-scroll,
  .relocation-section-data .relocation-source-note { grid-column: 1; grid-row: auto; }
  .relocation-section-data .relocation-section-copy { display: block; }
  .relocation-section-data .relocation-section-copy h2 { max-width: none; }
  .relocation-section-data-with-photo .relocation-section-image { height: auto; max-height: none; }
  .relocation-section-photo-layout .relocation-section-copy,
  .relocation-section-photos,
  .relocation-section-multi-photo .relocation-section-photos { grid-column: 1; grid-row: auto; }
  .relocation-state-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .relocation-table-hint { display: block; }
}
@media (max-width: 520px) {
  .relocation-index-hero { padding-block: 1.75rem 1.5rem; }
  .relocation-index-hero h1 { font-size: clamp(2.35rem, 10vw, 3.2rem); }
  .relocation-state-grid { grid-template-columns: 1fr; }
  .relocation-section-story { padding-block: 1.7rem; }
  .relocation-section-copy { gap: .55rem; grid-template-columns: 1fr; }
  .relocation-section-copy h2,
  .relocation-section-body { grid-column: 1; }
  .relocation-section-multi-photo .relocation-section-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .relocation-section-flair { padding-top: 2.6rem; }
  .relocation-section-story > .terra-flair-edge-branch,
  .relocation-index-flourish > .terra-flair-edge-branch { top: .1rem; width: min(9rem, 35vw); }
  .relocation-section-photo { margin-top: .2rem; }
  .relocation-table-scroll { padding: .6rem; }
  .relocation-table th, .relocation-table td { padding: .45rem .5rem; }
}
