.city-hub-page {
  background: #fbf9f5;
}

.city-main {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 24px 20px 88px;
}

.city-main h1,
.city-main h2,
.city-main h3,
.city-main p {
  margin-top: 0;
}

.city-breadcrumb {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--vision-muted);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.city-breadcrumb::before {
  content: "← ";
}

.city-local-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  border-bottom: 1px solid var(--vision-line);
  padding-bottom: 14px;
}

.city-local-nav a {
  padding: 7px 0;
  color: var(--vision-muted);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.city-local-nav a[aria-current="page"] {
  border-bottom: 2px solid var(--vision-red);
  color: var(--vision-navy);
}

.city-editorial-hero {
  display: grid;
  gap: 28px;
  margin: 42px 0 72px;
  border-bottom: 1px solid var(--vision-line);
  padding-bottom: 52px;
}

.city-hero-copy {
  max-width: 720px;
}

.city-hero-copy h1 {
  max-width: 760px;
  margin-bottom: 18px;
  color: var(--vision-ink);
  font-size: clamp(38px, 9vw, 62px);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.city-hero-copy > p:not(.eyebrow):not(.city-hero-chinese) {
  max-width: 650px;
  margin-bottom: 24px;
  border-left: 4px solid var(--vision-red);
  padding-left: 17px;
  color: var(--vision-muted);
  font-size: 18px;
  line-height: 1.55;
}

.city-hero-actions,
.city-inline-links,
.city-office-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
}

.city-text-link,
.city-source-link {
  color: var(--vision-navy);
  font-size: 13px;
  font-weight: 800;
}

.city-hero-note {
  display: grid;
  align-content: center;
  gap: 5px;
  min-height: 150px;
  border-left: 5px solid var(--vision-red);
  padding: 24px;
  color: #fff;
  background: var(--vision-navy-deep);
}

.city-hero-note span,
.city-hero-note small {
  color: #d7e8e6;
  font-size: 12px;
}

.city-hero-note strong {
  font-family: "Literata", Georgia, serif;
  font-size: 22px;
}

.city-section {
  margin: 0 0 72px;
}

.city-section-heading {
  margin-bottom: 24px;
}

.city-section-heading h2 {
  margin-bottom: 0;
  color: var(--vision-navy-deep);
  font-size: clamp(28px, 6vw, 40px);
}

.city-step-heading > span {
  color: var(--vision-red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.city-workflow-step {
  margin-bottom: 88px;
  border-top: 2px solid var(--vision-navy-deep);
  padding-top: 24px;
  scroll-margin-top: 88px;
}

.city-step-heading {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px;
  margin-bottom: 30px;
}

.city-step-heading h2 {
  margin-bottom: 8px;
  color: var(--vision-navy-deep);
  font-size: clamp(28px, 6vw, 42px);
}

.city-step-heading p:last-child {
  max-width: 630px;
  margin-bottom: 0;
  color: var(--vision-muted);
  font-size: 14px;
}

.city-finder-layout,
.city-prep-grid,
.city-filing-options,
.city-online-routes {
  display: grid;
  gap: 16px;
}

.city-office-finder,
.city-office-result,
.city-action-panel,
.city-prep-list,
.city-filing-options article,
.city-online-routes article {
  border: 1px solid var(--vision-line);
  padding: 22px;
  background: #fff;
}

.city-office-finder {
  display: grid;
  align-content: start;
  gap: 17px;
}

.city-office-finder label {
  display: grid;
  gap: 7px;
}

.city-office-finder label > span,
.city-office-result > span,
.city-action-panel > span,
.city-filing-options article > span,
.city-online-routes article > span {
  color: var(--vision-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.city-office-finder select {
  width: 100%;
  min-height: 50px;
  border: 1px solid #bec9c7;
  border-radius: 4px;
  padding: 10px 12px;
  color: var(--vision-ink);
  background: #fff;
  font: inherit;
}

.city-office-finder small,
.city-form-help,
.city-result-note {
  margin-bottom: 0;
  color: var(--vision-muted);
  font-size: 11px;
  line-height: 1.5;
}

.city-office-result {
  align-content: start;
  border-left: 5px solid var(--vision-red);
}

.city-office-result h3 {
  margin: 7px 0 5px;
  color: var(--vision-navy-deep);
  font-size: 24px;
}

.city-office-result > p:not(.city-result-note) {
  margin-bottom: 7px;
  color: var(--vision-muted);
  font-size: 13px;
}

.city-office-result > p[lang],
.city-action-panel > p[lang] {
  color: var(--vision-navy);
  font-weight: 700;
}

.city-office-result .city-office-actions {
  margin: 18px 0 14px;
}

.city-action-panel,
.city-prep-list,
.city-filing-options article,
.city-online-routes article {
  display: grid;
  align-content: start;
  gap: 10px;
}

.city-action-panel h3,
.city-prep-list h3,
.city-filing-options h3,
.city-online-routes h2 {
  margin-bottom: 0;
  color: var(--vision-navy-deep);
  font-size: 23px;
}

.city-action-panel p,
.city-filing-options p,
.city-online-note p {
  margin-bottom: 0;
  color: var(--vision-muted);
  font-size: 13px;
}

.city-action-panel .primary-button {
  justify-self: start;
  margin-top: 8px;
}

.city-prep-list ul,
.city-online-routes ol {
  display: grid;
  gap: 9px;
  margin: 2px 0 8px;
  padding-left: 20px;
  color: var(--vision-muted);
  font-size: 13px;
}

.city-print-link {
  justify-self: start;
  border: 0;
  padding: 0;
  color: var(--vision-navy);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
}

.city-filing-options article:first-child,
.city-online-routes article:first-child {
  border-top: 5px solid var(--vision-navy);
}

.city-filing-options article:last-child,
.city-online-routes article:last-child {
  border-top: 5px solid var(--vision-red);
}

.city-filing-options a {
  margin-top: 7px;
  color: var(--vision-navy);
  font-size: 13px;
  font-weight: 800;
}

.city-filing-options strong[data-in-person-office] {
  border-left: 3px solid var(--vision-green);
  padding: 8px 11px;
  color: var(--vision-navy-deep);
  background: #e7f3f1;
  font-size: 13px;
  line-height: 1.45;
}

.city-district-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0 0 28px;
  border-block: 1px solid var(--vision-line);
  padding: 14px 0;
}

.city-district-jumps a {
  color: var(--vision-navy);
  font-size: 12px;
  font-weight: 800;
}

.city-online-note {
  max-width: 760px;
  margin-top: 18px;
  border-left: 5px solid var(--vision-red);
  padding: 16px 18px;
  background: var(--vision-sand, #f5f3ef);
}

.city-online-note strong {
  display: block;
  margin-bottom: 5px;
  color: var(--vision-navy-deep);
}

.city-route-list {
  border-top: 1px solid var(--vision-line);
}

.city-route-list > a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid var(--vision-line);
  padding: 22px 4px;
  color: var(--vision-ink);
  text-decoration: none;
}

.city-route-list > a > span {
  color: var(--vision-red);
  font-size: 11px;
  font-weight: 900;
}

.city-route-list h3 {
  margin-bottom: 4px;
  font-size: 20px;
}

.city-route-list p {
  margin-bottom: 0;
  color: var(--vision-muted);
  font-size: 13px;
}

.city-route-list b {
  color: var(--vision-navy);
  font-size: 21px;
}

.city-route-list > a:hover h3,
.city-route-list > a:focus-visible h3 {
  color: var(--vision-navy);
}

.city-facts {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin-bottom: 24px;
  border: 1px solid var(--vision-line);
  background: var(--vision-line);
}

.city-facts > div {
  padding: 18px;
  background: #fff;
}

.city-facts span,
.city-facts strong {
  display: block;
}

.city-facts span {
  margin-bottom: 4px;
  color: var(--vision-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.city-facts strong {
  color: var(--vision-navy-deep);
  font-family: "Literata", Georgia, serif;
  font-size: 22px;
}

.city-slim-hero {
  margin-bottom: 54px;
}

.city-step-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--vision-line);
  list-style: none;
}

.city-step-list > li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  border-bottom: 1px solid var(--vision-line);
  padding: 24px 0;
}

.city-step-list > li > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #fff;
  background: var(--vision-green);
  font-size: 12px;
  font-weight: 900;
}

.city-step-list h3 {
  margin-bottom: 8px;
  font-size: 22px;
}

.city-step-list p,
.city-step-list ul {
  max-width: 690px;
  color: var(--vision-muted);
  font-size: 14px;
}

.city-step-list ul {
  display: grid;
  gap: 5px;
  padding-left: 19px;
}

.city-boundary,
.city-attribution,
.city-directory-note {
  max-width: 760px;
  border-left: 4px solid var(--vision-red);
  padding: 12px 15px;
  color: var(--vision-muted);
  background: #f5f3ef;
  font-size: 12px;
}

.city-directory-note {
  margin: 30px 0 0;
}

.city-directory-hero,
.city-forms-hero {
  margin: 28px 0 26px;
  padding-bottom: 26px;
}

.city-directory-hero .city-hero-copy h1,
.city-forms-hero .city-hero-copy h1 {
  margin-bottom: 10px;
  font-size: clamp(34px, 7vw, 52px);
}

.city-directory-hero .city-hero-copy > p:not(.eyebrow),
.city-forms-hero .city-hero-copy > p:not(.eyebrow) {
  margin-bottom: 0;
  font-size: 15px;
}

.city-office-list {
  border-top: 1px solid var(--vision-line);
}

.city-office-row {
  display: grid;
  gap: 18px;
  border-bottom: 1px solid var(--vision-line);
  padding: 26px 0;
  scroll-margin-top: 90px;
}

.city-office-row header > span {
  display: block;
  margin-bottom: 6px;
  color: var(--vision-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.city-office-row h2 {
  margin-bottom: 4px;
  font-size: 20px;
}

.city-office-row header p,
.city-office-address p {
  margin-bottom: 4px;
  color: var(--vision-muted);
  font-size: 13px;
}

.city-office-row header p[lang],
.city-office-address p[lang] {
  color: var(--vision-navy);
  font-weight: 700;
}

.city-office-actions a,
.city-office-actions button {
  border: 0;
  padding: 0;
  color: var(--vision-navy);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
}

.city-form-downloads {
  display: grid;
  gap: 10px;
}

.city-form-downloads > a {
  display: grid;
  align-content: start;
  gap: 3px;
  border: 1px solid var(--vision-line);
  border-left: 4px solid var(--vision-navy);
  padding: 16px 18px;
  color: var(--vision-ink);
  background: #fff;
  text-decoration: none;
}

.city-form-downloads > a:last-child {
  border-left-color: var(--vision-red);
}

.city-form-downloads > a:hover,
.city-form-downloads > a:focus-visible {
  background: #eef6f4;
}

.city-form-downloads span {
  color: var(--vision-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.city-form-downloads strong {
  color: var(--vision-navy);
  font-size: 15px;
}

.city-form-downloads small {
  color: var(--vision-muted);
  font-size: 11px;
  line-height: 1.45;
}

.city-builder-disclosure {
  margin: -10px 0 24px;
  border: 1px solid #d8ba85;
  padding: 13px 16px;
  color: #68470f;
  background: #fff8e9;
  font-size: 13px;
  line-height: 1.5;
}

.application-document {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  min-width: 0;
}

.application-document-page {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  aspect-ratio: 210 / 297;
  box-sizing: border-box;
  border: 1px solid #b8c1c2;
  padding: clamp(18px, 4.3vw, 34px);
  color: #172628;
  background: #fff;
  box-shadow: 0 12px 36px rgba(10, 45, 52, 0.08);
  font-family: "Work Sans", "Microsoft YaHei", sans-serif;
}

.application-document-header {
  position: relative;
  margin-bottom: 14px;
  border-bottom: 2px solid var(--vision-navy);
  padding-bottom: 12px;
  text-align: center;
}

.application-document-header h2 {
  margin-bottom: 3px;
  font-family: "Literata", "Microsoft YaHei", serif;
  font-size: clamp(19px, 3.2vw, 29px);
  letter-spacing: 0.07em;
}

.application-document-header p {
  margin-bottom: 0;
  color: #667476;
  font-size: clamp(8px, 1.3vw, 11px);
}

.application-document-header small {
  position: absolute;
  right: 0;
  bottom: 12px;
  color: #7b8688;
  font-size: 8px;
}

.application-document-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: clamp(8px, 1.35vw, 11px);
}

.application-document-table .label-a {
  width: 15%;
}

.application-document-table .label-b {
  width: 19%;
}

.application-document-table th,
.application-document-table td {
  height: clamp(37px, 6vw, 53px);
  border: 1px solid #526062;
  padding: clamp(4px, 0.9vw, 8px);
  vertical-align: middle;
}

.application-document-table th {
  text-align: left;
  font-weight: 800;
}

.application-document-table .application-document-section th {
  height: auto;
  padding-block: 6px;
  background: #e9f2f0;
  font-size: clamp(10px, 1.6vw, 13px);
}

.application-document-value {
  display: block;
  color: #152427;
  font-size: clamp(8px, 1.35vw, 11px);
  font-weight: 500;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.application-document-value.is-long {
  flex: 1;
  min-height: 0;
  padding: 9px;
}

.application-document-block {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  margin-top: 14px;
  border: 1px solid #526062;
}

.application-document-block h3 {
  margin: 0;
  border-bottom: 1px solid #526062;
  padding: 6px 9px;
  background: #e9f2f0;
  font-size: clamp(10px, 1.6vw, 13px);
}

.is-second-page .application-document-block.is-facts {
  flex: 1.35;
  margin-top: 0;
}

.is-second-page .application-document-block.is-evidence {
  flex: 0.8;
}

.is-second-page .application-document-block.is-witnesses {
  flex: 0.65;
}

.application-document-signature {
  display: grid;
  justify-content: end;
  gap: 8px;
  padding: 20px 8px 12px;
  font-size: clamp(9px, 1.45vw, 12px);
}

.application-document-footer {
  margin-top: auto;
  padding-top: 9px;
  color: #737e80;
  font-size: clamp(6px, 1vw, 8px);
  line-height: 1.35;
}

.city-form-builder {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.city-builder-input,
.city-builder-preview {
  min-width: 0;
}

.city-builder-input {
  border: 1px solid var(--vision-line);
  padding: 20px;
  background: #fff;
}

.city-builder-input fieldset {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--vision-line);
  padding: 0 0 24px;
}

.city-builder-input fieldset + fieldset {
  padding-top: 24px;
}

.city-builder-input legend {
  margin-bottom: 16px;
  color: var(--vision-navy-deep);
  font-family: "Literata", Georgia, serif;
  font-size: 20px;
  font-weight: 700;
}

.city-builder-fields {
  display: grid;
  gap: 16px;
}

.city-builder-field {
  display: grid;
  gap: 6px;
}

.city-builder-field > span {
  color: var(--vision-ink);
  font-size: 13px;
  font-weight: 800;
}

.city-builder-field small {
  color: var(--vision-muted);
  font-size: 11px;
}

.city-builder-field input,
.city-builder-field textarea,
.city-builder-field select {
  width: 100%;
  border: 1px solid var(--vision-line);
  border-radius: 0;
  padding: 11px 12px;
  color: var(--vision-ink);
  background: #fff;
  font: inherit;
}

.city-builder-field textarea {
  resize: vertical;
}

.city-guided-help {
  max-width: 60ch;
  margin: -7px 0 16px;
  color: var(--vision-muted);
  font-size: 12px;
  line-height: 1.55;
}

.city-guided-options {
  display: grid;
  gap: 10px;
}

.city-guided-option {
  border: 1px solid var(--vision-line);
  padding: 13px 14px;
  background: #fbfaf6;
}

.city-guided-option.is-other {
  border-style: dashed;
  background: #fff;
}

.city-guided-choice {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--vision-navy-deep);
  cursor: pointer;
}

.city-guided-choice input {
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  accent-color: var(--vision-navy);
}

.city-guided-choice strong {
  font-size: 13px;
  line-height: 1.45;
}

.city-guided-option > p {
  margin: 7px 0 0 27px;
  color: var(--vision-muted);
  font-size: 11px;
  line-height: 1.5;
}

.city-guided-variables {
  display: grid;
  gap: 10px;
  margin: 13px 0 0 27px;
  border-top: 1px solid var(--vision-line);
  padding-top: 12px;
}

.city-guided-variables[hidden] {
  display: none;
}

.city-guided-variables label {
  display: grid;
  gap: 6px;
}

.city-guided-variables label > span {
  color: var(--vision-ink);
  font-size: 11px;
  font-weight: 800;
}

.city-guided-variables input,
.city-guided-variables select {
  width: 100%;
  border: 1px solid var(--vision-line);
  border-radius: 0;
  padding: 10px 11px;
  color: var(--vision-ink);
  background: #fff;
  font: inherit;
}

.city-builder-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 8px;
}

.city-builder-actions > button:not(.primary-button) {
  border: 1px solid var(--vision-line);
  padding: 10px 16px;
  color: var(--vision-navy);
  background: transparent;
  font-weight: 800;
  cursor: pointer;
}

.city-builder-actions button:disabled {
  cursor: wait;
  opacity: 0.65;
}

.city-builder-delivery {
  display: grid;
  gap: 13px;
  margin-top: 24px;
  border: 1px solid var(--vision-line);
  padding: 18px;
  background: #f5f8f7;
}

.city-builder-delivery h2 {
  margin: 0;
  color: var(--vision-navy-deep);
  font-family: "Literata", Georgia, serif;
  font-size: 20px;
}

.city-delivery-check {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  color: var(--vision-ink);
  font-size: 12px;
  line-height: 1.45;
  cursor: pointer;
}

.city-delivery-check input {
  width: 17px;
  height: 17px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: var(--vision-navy);
}

.city-delivery-status {
  min-height: 18px;
  margin: 0;
  color: var(--vision-muted);
  font-size: 12px;
  font-weight: 800;
}

.city-delivery-status[data-state="success"] {
  color: #22683f;
}

.city-delivery-status[data-state="warning"],
.city-delivery-status[data-state="error"] {
  color: var(--vision-red);
}

.city-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.city-builder-preview > span {
  display: block;
  margin-bottom: 9px;
  color: var(--vision-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.city-builder-preview .application-document {
  margin-bottom: 0;
}

.city-attribution {
  margin-bottom: 0;
}

.city-hero-chinese {
  margin: -9px 0 18px;
  color: var(--vision-navy);
  font-size: 21px;
  font-weight: 700;
}

.city-calculator-hero {
  align-items: end;
}

.city-rate-card {
  display: grid;
  gap: 1px;
  border: 1px solid var(--vision-line);
  background: var(--vision-line);
}

.city-rate-card > div {
  padding: 18px;
  background: #fff;
}

.city-rate-card span,
.city-rate-card strong {
  display: block;
}

.city-rate-card span {
  color: var(--vision-muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.city-rate-card strong {
  margin-top: 4px;
  color: var(--vision-navy-deep);
  font-family: "Literata", Georgia, serif;
  font-size: 25px;
}

.city-calculator {
  display: grid;
  gap: 16px;
  margin-bottom: 28px;
}

.city-calculator form,
.city-calculator > aside {
  display: grid;
  gap: 15px;
  border: 1px solid var(--vision-line);
  padding: 20px;
  background: #fff;
}

.city-calculator label {
  display: grid;
  gap: 6px;
}

.city-calculator label span {
  font-size: 12px;
  font-weight: 800;
}

.city-calculator input,
.city-calculator select {
  width: 100%;
  min-height: 48px;
  border: 1px solid #bec9c7;
  border-radius: 4px;
  padding: 9px 11px;
  background: #fff;
}

.city-calculator > aside {
  border-left: 5px solid var(--vision-red);
  background: #f5f3ef;
}

.city-calculator > aside > span {
  color: var(--vision-red);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.city-calculator > aside h2 {
  margin-bottom: 0;
  font-size: 24px;
}

.city-calculator dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.city-calculator dl div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid var(--vision-line);
  padding-top: 8px;
}

.city-calculator dt,
.city-calculator dd {
  font-size: 13px;
}

.city-calculator dd {
  margin: 0;
  color: var(--vision-navy-deep);
  font-weight: 800;
}

.city-source-footer {
  display: grid;
  gap: 7px;
  margin-top: 72px;
  border-top: 1px solid var(--vision-line);
  padding-top: 18px;
  color: var(--vision-muted);
  font-size: 11px;
}

.city-source-footer summary {
  color: var(--vision-navy);
  font-weight: 800;
  cursor: pointer;
}

.city-source-footer p {
  margin: 4px 0 0;
}

.city-source-footer > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 4px;
}

.city-source-footer .city-source-link {
  font-size: 11px;
}

@media (min-width: 700px) {
  .city-main {
    padding: 32px 32px 96px;
  }

  .city-editorial-hero {
    grid-template-columns: minmax(0, 1.65fr) minmax(250px, 0.75fr);
    align-items: center;
  }

  .city-finder-layout,
  .city-prep-grid,
  .city-filing-options,
  .city-online-routes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .city-slim-hero,
  .city-translation-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .city-forms-hero {
    grid-template-columns: minmax(0, 1.25fr) minmax(270px, 0.75fr);
  }

  .city-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .city-office-row {
    grid-template-columns: minmax(220px, 0.95fr) minmax(260px, 1.1fr);
  }

  .city-office-actions {
    grid-column: 1 / -1;
  }

  .city-builder-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .city-builder-field.is-wide {
    grid-column: 1 / -1;
  }

  .city-guided-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .city-guided-option.is-other {
    grid-column: 1 / -1;
  }

  .city-calculator {
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
  }
}

@media (min-width: 960px) {
  .city-main {
    padding-inline: 0;
  }

  .city-route-list > a {
    padding: 25px 10px;
  }

  .city-office-row {
    grid-template-columns: minmax(250px, 0.9fr) minmax(310px, 1.1fr) minmax(240px, 0.8fr);
    align-items: center;
  }

  .city-office-actions {
    grid-column: auto;
    align-content: center;
  }

  .city-form-builder {
    grid-template-columns: minmax(340px, 0.75fr) minmax(0, 1.25fr);
  }
}

@page {
  size: A4;
  margin: 12mm;
}

@media print {
  .site-header,
  .site-footer,
  .bottom-bar,
  .city-breadcrumb,
  .city-local-nav,
  .city-translation-hero,
  .city-forms-hero,
  .city-office-finder,
  .city-filing-options,
  .city-district-jumps,
  .city-source-footer,
  .city-builder-disclosure,
  .city-builder-input,
  .city-builder-preview > span,
  .city-builder-page > .city-boundary {
    display: none !important;
  }

  body:not(.intake-page) {
    padding-bottom: 0;
    background: #fff;
  }

  .city-main {
    width: 100%;
    padding: 0;
  }

  .city-editorial-hero {
    margin: 0 0 24px;
    padding-bottom: 18px;
  }

  .city-form-builder {
    display: block;
  }

  .application-document {
    display: block;
  }

  .application-document-page {
    width: 186mm;
    height: 273mm;
    aspect-ratio: auto;
    margin: 0;
    border: 0;
    padding: 8mm;
    box-shadow: none;
    break-after: page;
  }

  .application-document-page:last-child {
    break-after: auto;
  }

  .application-document-header h2 {
    font-size: 18pt;
  }

  .application-document-header p,
  .application-document-table,
  .application-document-value,
  .application-document-signature {
    font-size: 9pt;
  }

  .application-document-table th,
  .application-document-table td {
    height: 13mm;
    padding: 2mm;
  }

  .application-document-table .application-document-section th {
    font-size: 10pt;
  }

  .application-document-block h3 {
    font-size: 10pt;
  }

  .application-document-footer {
    font-size: 6.5pt;
  }
}
