/* Neumann Immobilien — Unterseiten
 * 01 Seitenkopf · 02 Redaktion · 03 Beratung · 04 Team und Archiv
 * 05 Referenzen · 06 Rechtstexte · 07 Formulare · 08 Responsive
 * Gemeinsame Farben, Schrift und Bedienelemente stehen in site.css.
 */

/* 01 Seitenkopf und Inhaltsbreite */
.breadcrumbs.wrap,
.page-heading.wrap,
.content-columns.wrap,
.reference-section.wrap,
.legal-copy.wrap,
.legal-document.wrap,
.license-intro.wrap,
.license-grid.wrap,
.sitemap-grid.wrap {
  width: calc(100% - 96px);
  max-width: var(--content-width);
  margin-inline: auto;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  padding-block: 26px 24px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs a:is(:hover, :focus-visible) { color: var(--blue); }
.breadcrumbs > :last-child { overflow-wrap: anywhere; }

.page-heading {
  display: block;
  padding-block: 10px 44px;
  margin-bottom: 46px;
  border-bottom: 1px solid var(--line);
}
.page-heading.has-photo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
}
.page-heading-copy { display: block; min-width: 0; }
.page-heading h1 {
  max-width: 900px;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: -1px;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.page-heading .eyebrow { margin-bottom: 17px; }
.page-lead {
  max-width: 780px;
  margin-top: 22px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.85;
}
.subpage-photo { position: relative; display: block; min-width: 0; margin: 0; background: var(--paper); }
.subpage-photo > img,
.subpage-photo > .brxe-image,
.subpage-photo > .brxe-image > img { display: block; width: 100%; }
.page-heading-photo { align-self: stretch; min-height: 300px; }
.page-heading-photo > img,
.page-heading-photo > .brxe-image,
.page-heading-photo > .brxe-image > img { height: 100%; min-height: 300px; object-fit: cover; }

/* 02 Redaktionelle Inhalte */
.content-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: start;
  gap: 64px;
  padding-bottom: 76px;
}
.prose { display: block; min-width: 0; color: var(--muted); font-size: 15px; line-height: 1.9; }
.prose > * + * { margin-top: 24px; }
.prose :is(h2, h3, h4) { color: var(--blue); }
.prose h2 { margin-bottom: 20px; font-size: 30px; line-height: 1.3; letter-spacing: -.75px; }
.prose h3 { margin-block: 26px 14px; font-size: 22px; line-height: 1.35; }
.prose h4 { margin-block: 24px 12px; font-size: 17px; font-weight: 650; line-height: 1.5; }
.prose p { margin-block: 0 18px; }
.prose :is(ul, ol) { padding-left: 22px; margin-block: 0 20px; }
.prose li + li { margin-top: 8px; }
.prose li > :last-child { margin-bottom: 0; }
.prose :is(p, li, dd, address, td, th) { overflow-wrap: break-word; }
.prose address { font-style: normal; }
.prose a:not(.button) { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.prose a:not(.button):is(:hover, :focus-visible) { text-decoration-thickness: 2px; }
.prose .button { color: var(--surface); text-decoration: none; }
.prose .button.outline { color: var(--blue); }
.prose .button.outline:is(:hover, :focus-visible) { color: var(--surface); }
.prose .contact-link { max-width: 100%; font-size: inherit; vertical-align: baseline; }
.prose .contact-link .ui-icon { color: inherit; }
/* Kontaktlinks im Fließtext folgen derselben Textbaseline. */
.prose :is(p, li) .contact-link { display: inline; line-height: inherit; }
.prose :is(p, li) .contact-link > .ui-icon { display: inline-block; margin-inline-end: .45em; vertical-align: -.125em; }
.prose table { width: 100%; border-collapse: collapse; font-size: 14px; }
.prose :is(th, td) { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose th { color: var(--blue); font-weight: 600; }
.prose blockquote { margin-inline: 0; padding: 6px 0 6px 24px; border-left: 2px solid var(--blue); }
.prose blockquote > :last-child { margin-bottom: 0; }
.article-section { display: block; margin-block: 0 40px; }
.article-section:last-child { margin-bottom: 0; }
.article-section > :last-child,
.prose > :last-child { margin-bottom: 0; }
.article-photo { margin-block: 36px 42px; }
.article-photo > img,
.article-photo > .brxe-image > img { height: auto; max-height: 440px; object-fit: cover; }
.article-photo.team-photo > img,
.article-photo.team-photo > .brxe-image > img { height: auto; max-height: none; aspect-ratio: 5 / 4; object-fit: contain; }
.article-photo.portrait-photo > img,
.article-photo.portrait-photo > .brxe-image > img { object-fit: contain; }

/* 03 Persoenliche Beratung neben dem Artikel */
.service-aside {
  position: sticky;
  top: 140px;
  display: block;
  min-width: 0;
  padding: 27px 26px 30px;
  border-top: 3px solid var(--blue);
  background: var(--paper);
}
.service-aside .eyebrow { margin-bottom: 16px; font-size: 10px; letter-spacing: 1.35px; }
.service-aside h2 { font-size: 24px; line-height: 1.35; letter-spacing: -.5px; }
.service-aside > p:not(.eyebrow) { margin-top: 18px; color: var(--muted); font-size: 13px; line-height: 1.85; }
.service-aside .aside-phone { display: inline-flex; margin-top: 22px; font-size: 21px; font-weight: 600; line-height: 1.5; }
.service-aside .aside-phone .ui-icon { font-size: 17px; }
.service-aside .link-list { gap: 12px; margin-top: 23px; padding-top: 23px; border-top: 1px solid var(--line); }
.service-aside .link-list a { color: var(--blue); font-size: 13px; line-height: 1.6; text-decoration: underline; text-decoration-color: #b5bdcf; text-underline-offset: 4px; }
.service-aside .link-list a:is(:hover, :focus-visible) { text-decoration-color: var(--blue); }
.service-note { color: var(--muted); font-size: 12px; line-height: 1.8; }

/* 04 Team, Unternehmensgeschichte und Nachrichten */
.staff-section { display: block; margin-block: 44px; }
.staff-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px; margin-top: 26px; }
.staff-card { display: flex; flex-direction: column; min-width: 0; padding: 0 16px 22px; border: 1px solid var(--line); background: var(--surface); }
.staff-card > img,
.staff-card > .brxe-image,
.staff-card > .photo-placeholder { width: calc(100% + 32px); max-width: none; margin-inline: -16px; }
.staff-card > img,
.staff-card > .brxe-image > img { height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 0; }
.staff-card h3 { margin-block: 20px 12px; font-size: 19px; line-height: 1.35; letter-spacing: -.35px; }
.staff-card p { margin-bottom: 15px; font-size: 12px; line-height: 1.75; }
.staff-card .contact-link { display: flex; width: fit-content; gap: 7px; margin-top: 8px; font-size: 11px; line-height: 1.7; }
.staff-card .contact-link:first-of-type { margin-top: auto; }
.staff-card .contact-link .ui-icon { color: inherit; }
.history { display: block; margin-top: 44px; }
.history dl { margin-block: 26px 0; }
.history dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 24px; padding-block: 18px; border-top: 1px solid var(--line); }
.history dt { color: var(--blue); font-size: 15px; font-weight: 650; }
.history dd { margin: 0; font-size: 14px; line-height: 1.85; }
.news-archive { display: block; margin-top: 44px; }
.archive-card { display: block; padding-block: 26px; border-top: 1px solid var(--line); }
.archive-card:last-child { padding-bottom: 0; }
.archive-card .archive-meta { margin-bottom: 12px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.archive-card h3 { margin-block: 0 14px; font-size: 24px; line-height: 1.35; }
.archive-card > :last-child { margin-bottom: 0; }

/* 05 Verkaufte Immobilien: Galerie, Objektkarten und Kontakt */
.reference-section { display: block; padding-block: 12px 80px; }
.reference-intro { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: end; gap: 36px; margin-bottom: 34px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.reference-intro-heading { display: block; }
.reference-intro .eyebrow { margin-bottom: 12px; }
.reference-intro h2 { max-width: 610px; font-size: clamp(30px, 3vw, 39px); line-height: 1.2; text-wrap: balance; }
.reference-intro > p { max-width: 390px; justify-self: end; color: var(--muted); font-size: 14px; line-height: 1.9; }
.reference-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 28px; }
.reference-card { display: flex; flex-direction: column; min-width: 0; background: var(--paper); }
.reference-visual { position: relative; display: block; min-width: 0; margin: 0; overflow: hidden; background: var(--line); aspect-ratio: 3 / 2; }
.reference-visual > .brxe-image { display: block; width: 100%; height: 100%; overflow: hidden; }
.reference-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; object-view-box: inset(var(--image-inset, 0)); }
.reference-visual > a { cursor: zoom-in; }
.reference-visual > a:focus-visible { outline: 3px solid var(--blue); outline-offset: -5px; }
.reference-status { position: absolute; z-index: 1; top: 18px; left: 18px; display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 7px 11px; background: var(--surface); color: var(--blue); font-size: 10px; font-weight: 650; line-height: 1.5; letter-spacing: 1px; text-transform: uppercase; pointer-events: none; }
.reference-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.reference-lightbox-hint { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 30px; height: 30px; background: var(--surface); color: var(--blue); font-size: 22px; line-height: 1; pointer-events: none; }
.reference-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 25px 25px 26px; }
.reference-location { margin: 0 0 10px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.reference-card h3 { margin: 0 0 25px; color: var(--blue); font-size: 21px; line-height: 1.35; letter-spacing: -.45px; overflow-wrap: break-word; text-wrap: pretty; }
.reference-facts { display: flex; flex-wrap: wrap; gap: 18px 25px; margin: auto 0 0; padding-top: 18px; border-top: 1px solid var(--line); }
.reference-facts > div { display: block; min-width: 0; }
.reference-facts dt { color: var(--muted); font-size: 10px; line-height: 1.6; }
.reference-facts dd { margin: 5px 0 0; color: var(--blue); font-size: 18px; font-weight: 600; line-height: 1.4; }
.reference-cta { grid-column: span 2; display: flex; justify-content: space-between; align-items: center; gap: 32px; min-width: 0; padding: 36px; border: 1px solid var(--line); background: var(--surface); }
.reference-cta-copy { display: block; max-width: 370px; }
.reference-cta .eyebrow { margin-bottom: 12px; }
.reference-cta h3 { margin-bottom: 16px; font-size: 30px; line-height: 1.25; text-wrap: balance; }
.reference-cta p:not(.eyebrow) { color: var(--muted); font-size: 13px; line-height: 1.85; }
.reference-cta .button { flex: 0 0 auto; align-self: flex-end; }
.reference-pagination { display: flex; justify-content: center; margin-top: 42px; padding-top: 30px; border-top: 1px solid var(--line); }
.reference-pagination .page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.reference-pagination .page-numbers > li > :is(a, span) { display: grid; place-items: center; min-width: 42px; height: 42px; padding-inline: 12px; color: var(--blue); font-size: 13px; }
.reference-pagination .page-numbers > li > .current { background: var(--blue); color: var(--surface); }
.reference-pagination .page-numbers > li > a:is(:hover, :focus-visible) { background: var(--paper); }
@supports not (object-view-box: inset(0)) {
  .reference-visual img { transform: scale(var(--image-zoom, 1)); }
}
@media (min-width: 1001px) {
  .reference-grid:has(> .reference-card:last-of-type:nth-of-type(3n + 2)) > .reference-cta { grid-column: 1 / -1; }
}
@media (min-width: 761px) {
  .reference-card:first-of-type { grid-column: span 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: var(--blue); }
  .reference-card:first-of-type .reference-visual { height: 100%; min-height: 360px; aspect-ratio: auto; }
  .reference-card:first-of-type .reference-copy { justify-content: center; padding: 32px; }
  .reference-card:first-of-type .reference-location { color: #d9ddeb; }
  .reference-card:first-of-type h3 { margin-bottom: 32px; color: var(--surface); font-size: 27px; line-height: 1.3; }
  .reference-card:first-of-type .reference-facts { margin-top: 0; border-color: #ffffff40; }
  .reference-card:first-of-type dt { color: #d9ddeb; }
  .reference-card:first-of-type dd { color: var(--surface); font-size: 21px; }
}
@media (max-width: 1000px) {
  .reference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .reference-grid:has(> .reference-card:last-of-type:nth-of-type(even)) > .reference-cta { grid-column: auto; }
  .reference-cta { flex-direction: column; align-items: flex-start; justify-content: center; padding: 30px; }
  .reference-cta .button { align-self: flex-start; margin-top: 4px; }
}
@media (max-width: 760px) {
  .reference-section { padding-block: 4px 48px; }
  .reference-cta { grid-column: span 2; }
  .reference-grid:has(> .reference-card:last-of-type:nth-of-type(odd)) > .reference-cta { grid-column: auto; }
  .reference-intro { grid-template-columns: 1fr; gap: 18px; margin-bottom: 26px; padding-bottom: 24px; }
  .reference-intro > p { justify-self: start; max-width: 520px; font-size: 13px; }
  .reference-copy { padding: 22px; }
  .reference-card h3 { font-size: 20px; }
  .reference-cta { padding: 28px; }
  .reference-cta h3 { font-size: 27px; }
  .reference-pagination { margin-top: 30px; padding-top: 24px; }
}
@media (max-width: 600px) {
  .reference-grid { grid-template-columns: 1fr; gap: 28px; }
  .reference-cta { grid-column: auto; padding: 28px 24px; }
  .reference-status { top: 14px; left: 14px; }
  .reference-facts { gap: 18px 32px; }
}


/* Bildausschnitte: weiße Balken im Bestandsmaterial, Originale bleiben unverändert. */
.reference-visual img[src*="/referenz-002-"] { --image-inset: 0 24.27% 0 22.59%; --image-zoom: 1.882; }
.reference-visual img[src*="/referenz-004-"] { --image-inset: 0 24.27% 0 22.43%; --image-zoom: 1.876; }
.reference-visual img[src*="/referenz-017-"] { --image-inset: 0 24.27% 0 22.27%; --image-zoom: 1.871; }
.reference-visual img[src*="/referenz-022-"] { --image-inset: 0 20.03% 0 20.19%; --image-zoom: 1.673; }
.reference-visual img[src*="/referenz-043-"] { --image-inset: 0 19.95% 0 20.19%; --image-zoom: 1.671; }
.reference-visual img[src*="/referenz-066-"] { --image-inset: 0 19.07% 0 21.15%; --image-zoom: 1.673; }
.reference-visual img[src*="/referenz-072-"] { --image-inset: 0 19.71% 0 20.11%; --image-zoom: 1.662; }
.reference-visual img[src*="/referenz-080-"] { --image-inset: 0 20.11% 0 20.19%; --image-zoom: 1.675; }

/* 06 Rechtstexte und redaktionelle Verzeichnisse */
.legal-copy.wrap,
.legal-document.wrap { max-width: 800px; padding-bottom: 76px; }
.legal-copy,
.legal-document { display: block; color: var(--muted); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
:is(.legal-copy, .legal-document) :is(h2, h3, h4) { overflow-wrap: break-word; }
:is(.legal-copy, .legal-document) h2 { margin-block: 34px 18px; font-size: 25px; line-height: 1.35; letter-spacing: -.5px; }
:is(.legal-copy, .legal-document) h3 { margin-block: 28px 16px; font-size: 21px; }
:is(.legal-copy, .legal-document) h4 { margin-block: 24px 14px; font-size: 17px; }
:is(.legal-copy, .legal-document) p { margin-block: 0 18px; }
:is(.legal-copy, .legal-document) :is(ul, ol) { padding-left: 22px; margin-block: 0 20px; }
:is(.legal-copy, .legal-document) li + li { margin-top: 8px; }
:is(.legal-copy, .legal-document) a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
:is(.legal-copy, .legal-document) > :first-child,
:is(.legal-copy, .legal-document) > .brxe-text > :first-child { margin-top: 0; }
:is(.legal-copy, .legal-document) > :last-child,
:is(.legal-copy, .legal-document) > .brxe-text > :last-child { margin-bottom: 0; }
.legal-context { margin-bottom: 30px; padding: 20px 24px; background: var(--paper); color: var(--muted); font-size: 12px; line-height: 1.85; }
.license-intro { display: block; padding-bottom: 38px; }
.license-intro h2 { margin-bottom: 20px; font-size: 30px; }
.license-intro p { max-width: 800px; margin-bottom: 18px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.license-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding-bottom: 76px; }
.license-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); }
.license-card > img,
.license-card > .brxe-image > img { width: 100%; height: auto; aspect-ratio: 1.7; object-fit: cover; }
.license-card > div:not(.brxe-image) { display: block; min-width: 0; padding: 26px; }
.license-card h2 { margin-bottom: 16px; font-size: 25px; }
.license-card p { margin-block: 12px 0; color: var(--muted); font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
.license-card a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.sitemap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding-bottom: 76px; }
.sitemap-grid > div { display: block; min-width: 0; }
.sitemap-grid h2 { font-size: 26px; }
.sitemap-grid .link-list { margin-top: 22px; }
.sitemap-grid .link-list a { color: var(--blue); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }

/* 07 Native Bricks-Formulare */
.inquiry-section { display: block; margin-top: 44px; padding: 30px; background: var(--paper); }
.inquiry-section > h2 { font-size: 28px; }
.inquiry-section > p { font-size: 13px; line-height: 1.85; }
.brxe-form.inquiry-form { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 22px 20px; width: 100%; margin-top: 26px; }
.brxe-form.inquiry-form .form-group { min-width: 0; width: calc((100% - 20px) / 2); margin: 0; padding: 0; }
.brxe-form.inquiry-form .form-group:has(textarea, select, .options-wrapper),
.brxe-form.inquiry-form .form-group.form-wide,
.brxe-form.inquiry-form .form-group:is(.submit-button-wrapper, .message, .captcha, .recaptcha-error, .hcaptcha-error) { width: 100%; }
.brxe-form.inquiry-form :is(.label, label) { color: var(--blue); font-size: 13px; font-weight: 500; line-height: 1.6; letter-spacing: 0; text-transform: none; }
.brxe-form.inquiry-form .form-group > .label { margin-bottom: 8px; }
.brxe-form.inquiry-form .form-group > :is(input, select, textarea) { width: 100%; min-width: 0; }
.brxe-form.inquiry-form .form-group > :is(input, select, textarea) {
  padding: 12px 13px;
  border: 1px solid #c7cdd9;
  border-radius: 0;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 15px;
  line-height: 1.6;
  box-shadow: none;
}
.brxe-form.inquiry-form .form-group > :is(input, select) { min-height: 48px; }
.brxe-form.inquiry-form .form-group > textarea { min-height: 150px; resize: vertical; }
.brxe-form.inquiry-form .form-group > :is(input, select, textarea):focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.brxe-form.inquiry-form .options-wrapper { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.brxe-form.inquiry-form .options-wrapper li { align-items: flex-start; gap: 9px; min-width: 0; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.brxe-form.inquiry-form .options-wrapper input:is([type='checkbox'], [type='radio']) { flex: 0 0 16px; width: 16px; height: 16px; min-height: 0; margin: 3px 0 0; padding: 0; accent-color: var(--blue); }
.brxe-form.inquiry-form .options-wrapper label { min-width: 0; margin: 0; color: var(--muted); font-size: 13px; font-weight: 400; line-height: 1.8; }
.brxe-form.inquiry-form .options-wrapper a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.brxe-form.inquiry-form .submit-button-wrapper { align-items: flex-start; margin-top: 4px; }
.brxe-form.inquiry-form button[type='submit'] { min-height: 48px; padding: 13px 24px; border: 1px solid var(--blue); border-radius: 0; background: var(--blue); color: var(--surface); font-size: 14px; line-height: 1.5; }
.brxe-form.inquiry-form button[type='submit']:is(:hover, :focus-visible) { border-color: var(--deep); background: var(--deep); }
.brxe-form.inquiry-form .form-group-error-message { margin-top: 8px; font-size: 13px; line-height: 1.7; }
.inquiry-section .form-note,
.form-note { margin-top: 18px; margin-bottom: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }

/* 08 Responsive */
@media (max-width: 1100px) {
  .breadcrumbs.wrap,
  .page-heading.wrap,
  .content-columns.wrap,
  .reference-section.wrap,
  .legal-copy.wrap,
  .legal-document.wrap,
  .license-intro.wrap,
  .license-grid.wrap,
  .sitemap-grid.wrap { width: calc(100% - 56px); }
  .page-heading.has-photo { gap: 34px; }
  .page-heading h1 { font-size: 36px; }
  .page-lead { font-size: 15px; }
  .content-columns { grid-template-columns: minmax(0, 1fr) 260px; gap: 38px; }
  .service-aside { padding-inline: 22px; }
  .staff-grid { grid-template-columns: 1fr; gap: 20px; }
  .staff-card { display: grid; grid-template-columns: 108px minmax(0, 1fr); align-items: start; gap: 0 20px; padding: 18px; }
  .staff-card > img,
  .staff-card > .brxe-image,
  .staff-card > .photo-placeholder { grid-column: 1; grid-row: 1 / 5; width: 100%; margin: 0; }
  .staff-card h3 { margin-block: 2px 9px; }
  .staff-card p { margin-bottom: 8px; }
  .staff-card .contact-link { font-size: 12px; }
  .staff-card .contact-link:first-of-type { margin-top: 8px; }
}
@media (max-width: 1000px) {
  .content-columns { grid-template-columns: 1fr; gap: 38px; padding-bottom: 58px; }
  .service-aside { position: static; padding: 28px; }
  .service-aside h2 { max-width: 520px; }
  .service-aside > p:not(.eyebrow) { max-width: 620px; }
  .service-aside .link-list { flex-direction: row; flex-wrap: wrap; gap: 12px 24px; }
  .staff-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .staff-card { display: flex; padding: 0 16px 22px; }
  .staff-card > img,
  .staff-card > .brxe-image,
  .staff-card > .photo-placeholder { width: calc(100% + 32px); margin-inline: -16px; }
  .staff-card h3 { margin-block: 20px 12px; }
  .staff-card p { margin-bottom: 15px; }
  .staff-card .contact-link { font-size: 11px; }
  .staff-card .contact-link:first-of-type { margin-top: auto; }
  .sitemap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .breadcrumbs.wrap,
  .page-heading.wrap,
  .content-columns.wrap,
  .reference-section.wrap,
  .legal-copy.wrap,
  .legal-document.wrap,
  .license-intro.wrap,
  .license-grid.wrap,
  .sitemap-grid.wrap { width: calc(100% - 40px); }
  .breadcrumbs { padding-block: 20px 22px; font-size: 10px; }
  .page-heading { padding-block: 0 32px; margin-bottom: 34px; }
  .page-heading.has-photo { grid-template-columns: 1fr; gap: 26px; }
  .page-heading h1 { font-size: 33px; line-height: 1.22; }
  .page-heading .eyebrow { margin-bottom: 14px; }
  .page-lead { margin-top: 18px; font-size: 15px; line-height: 1.85; }
  .page-heading-photo { min-height: 0; }
  .page-heading-photo > img,
  .page-heading-photo > .brxe-image,
  .page-heading-photo > .brxe-image > img { height: auto; min-height: 0; aspect-ratio: 1.85; object-fit: cover; }
  .content-columns { gap: 32px; padding-bottom: 46px; }
  .prose { font-size: 14px; line-height: 1.9; }
  .prose h2 { font-size: 27px; line-height: 1.3; }
  .prose h3 { font-size: 21px; }
  .article-section { margin-bottom: 32px; }
  .article-photo { margin-block: 28px 34px; }
  .article-photo > img,
  .article-photo > .brxe-image > img { max-height: 340px; }
  .service-aside { padding: 25px 24px; }
  .service-aside h2 { font-size: 24px; }
  .service-aside .link-list { flex-direction: column; gap: 12px; }
  .staff-section,
  .history,
  .news-archive { margin-top: 34px; }
  .staff-grid { grid-template-columns: 1fr; gap: 24px; }
  .staff-card { padding: 0 22px 25px; }
  .staff-card > img,
  .staff-card > .brxe-image,
  .staff-card > .photo-placeholder { width: calc(100% + 44px); margin-inline: -22px; }
  .staff-card > img,
  .staff-card > .brxe-image > img { max-height: 420px; aspect-ratio: 1; object-position: 50% 20%; }
  .staff-card h3 { margin-top: 22px; font-size: 23px; }
  .staff-card p { font-size: 13px; }
  .staff-card .contact-link { font-size: 13px; }
  .history dl > div { grid-template-columns: 54px minmax(0, 1fr); gap: 18px; }
  .history dd { font-size: 13px; }
  .archive-card { padding-block: 24px; }
  .archive-card h3 { font-size: 23px; }
  .legal-copy.wrap,
  .legal-document.wrap { padding-bottom: 46px; }
  :is(.legal-copy, .legal-document) h2 { font-size: 23px; }
  .legal-context { padding: 18px 20px; }
  .license-grid { gap: 24px; padding-bottom: 46px; }
  .license-card > div:not(.brxe-image) { padding: 22px; }
  .license-card h2 { font-size: 23px; }
  .sitemap-grid { gap: 32px; padding-bottom: 46px; }
  .sitemap-grid h2 { font-size: 24px; }
  .inquiry-section { padding: 25px 20px; margin-top: 34px; }
  .inquiry-section > h2 { font-size: 26px; }
  .brxe-form.inquiry-form { gap: 20px; margin-top: 24px; }
  .brxe-form.inquiry-form .form-group { width: 100%; }
  .brxe-form.inquiry-form .form-group > :is(input, select, textarea) { font-size: 16px; }
  .brxe-form.inquiry-form .submit-button-wrapper { align-items: stretch; }
  .brxe-form.inquiry-form button[type='submit'] { width: 100%; }
}
@media (max-width: 600px) {
  .license-grid,
  .sitemap-grid { grid-template-columns: 1fr; }
}
@media (max-width: 370px) {
  .page-heading h1 { font-size: 30px; }
  .service-aside { padding-inline: 20px; }
  .inquiry-section { padding-inline: 16px; }
  .history dl > div { gap: 13px; }
}

/* Shared reading, attribution and service embeds. */
.reading-copy { display:block; width:calc(100% - 96px); max-width:800px; margin:0 auto 78px; }
.valuation-calculator { display:block; width:100%; max-width:100%; height:1050px; border:0; background:#fff; }
.license-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; padding-bottom:78px; }
.license-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); }
.license-card > img { width:100%; aspect-ratio:1.7; object-fit:cover; }
.license-card > div { padding:24px; }
.license-card h2 { font-size:22px; }
.license-card p { margin-top:14px; font-size:14px; overflow-wrap:anywhere; }
.license-card .link-list { margin-top:18px; font-size:13px; }
.license-card a { text-decoration:underline; text-underline-offset:3px; }
.related-articles, .calculator-section { display:block; padding-bottom:78px; }
.related-articles > h2, .calculator-section > h2 { margin-bottom:28px; }
.archive-list, .calculator-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.archive-list > .bricks-posts-nothing-found { grid-column:1 / -1; }
.archive-card .text-link { margin-top:18px; }
.photo-focus-0 { object-position:50% 0%; }
.photo-focus-35 { object-position:50% 35%; }
.photo-focus-50 { object-position:50% 50%; }
.photo-focus-65 { object-position:50% 65%; }
.archive-notice { padding:14px 18px; border-left:3px solid var(--blue); background:var(--paper); font-size:13px; }
.reading-copy video { display:block; width:100%; height:auto; max-width:100%; margin:24px 0; }
@media(max-width:1100px){.reading-copy{width:calc(100% - 56px);}}
@media(max-width:760px){.reading-copy{width:calc(100% - 40px);margin-bottom:42px;}.license-grid,.archive-list,.calculator-grid{grid-template-columns:1fr;}.license-grid,.related-articles,.calculator-section{padding-bottom:42px;}.valuation-calculator{height:1250px;}}
@media(max-width:370px){.reading-copy{width:calc(100% - 32px);}}

/* The supplied valuation provider uses a fixed 802px layout. */
.valuation-section { margin-bottom:78px; }
.valuation-viewport { width:100%; overflow:auto; overscroll-behavior-x:contain; background:#fff; }
.valuation-viewport .valuation-calculator { width:820px; min-width:820px; max-width:none; margin-inline:auto; }
.valuation-scroll-note { display:none; }
@media(max-width:900px){.valuation-scroll-note{display:block;font-size:13px;color:var(--muted);}.valuation-section{margin-bottom:42px;}}
