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

* {
  box-shadow: none !important;
}

html,
body {
  background: #fff;
}

body {
  color: #111;
  font-size: 10.2pt;
  line-height: 1.34;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.page {
  max-width: none;
  background: #fff;
}

.hero {
  min-height: 0;
  height: 96mm;
  color: #fff;
  break-inside: avoid;
}

.hero::after {
  display: none;
}

.prelisting-ribbon,
.hero-pills,
.hero-top-cta,
.hero-scroll-kicker,
.mobile-collapse-toggle {
  display: none !important;
}

.mobile-collapse-ready .mobile-collapse-inner,
.mobile-collapsible .mobile-collapse-inner {
  max-height: none !important;
  overflow: visible !important;
}

.mobile-collapsible .mobile-collapse-inner::after {
  display: none !important;
}

.hero-screen-image {
  display: none;
}

.hero-print-image {
  display: block;
  filter: none;
}

.hero-content {
  padding: 13mm;
  max-width: 150mm;
}

.eyebrow {
  margin-bottom: 5mm;
  font-size: 7.5pt;
}

h1 {
  font-size: 31pt;
  line-height: 1.02;
}

.hero-subtitle {
  max-width: 120mm;
  margin-top: 6mm;
  font-size: 12pt;
  line-height: 1.3;
}

.facts {
  grid-template-columns: repeat(4, 1fr);
  break-inside: avoid;
  break-after: page;
}

.fact {
  padding: 5mm;
}

.fact strong {
  font-size: 15pt;
}

.fact span {
  font-size: 7.5pt;
  line-height: 1.2;
}

section,
.gallery,
.visual,
.cta-section,
.contact {
  padding: 8mm 9mm;
}

.section-grid,
.contact-grid {
  display: block;
  border-bottom: 0.3pt solid #d9ddd5;
}

.section-grid {
  break-inside: avoid;
  page-break-inside: avoid;
}

h2 {
  margin: 0 0 4mm;
  font-size: 19pt;
  break-after: avoid;
  page-break-after: avoid;
}

.copy {
  max-width: none;
}

.copy p {
  margin-bottom: 3.2mm;
  orphans: 3;
  widows: 3;
}

.lead {
  font-size: 13pt;
  line-height: 1.32;
}

.action-row,
.opportunity-actions,
.cta-actions,
.video-section,
.video-dialog,
.lightbox {
  display: none !important;
}

.features {
  columns: 2;
  column-gap: 9mm;
  font-size: 9.5pt;
}

.features li {
  padding-bottom: 2.3mm;
  break-inside: avoid;
  page-break-inside: avoid;
}

.opportunity-section {
  display: block;
  padding: 10mm 9mm;
  background: #f1f0ea;
  border-bottom: 0.3pt solid #d9ddd5;
  break-inside: avoid;
  page-break-inside: avoid;
}

.opportunity-copy,
.opportunity-grid {
  max-width: none;
}

.opportunity-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5mm;
  margin-top: 6mm;
}

.opportunity-grid > div {
  padding: 5mm;
  background: #fff;
  border: 0.3pt solid #d9ddd5;
  break-inside: avoid;
  page-break-inside: avoid;
}

.opportunity-note {
  grid-column: 1 / -1;
  padding: 2mm 0 0;
  font-size: 8.5pt;
}

.gallery h2 {
  margin-bottom: 5mm;
}

.gallery {
  break-before: page;
}

.gallery-grid {
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: auto;
  gap: 5mm;
}

.gallery-grid figure,
.gallery-grid figure:nth-child(1),
.gallery-grid figure:nth-child(2),
.gallery-grid figure:nth-child(3),
.gallery-grid .portrait {
  grid-column: auto;
  grid-row: auto;
  break-inside: avoid;
  page-break-inside: avoid;
}

.gallery-grid img,
.gallery-grid .portrait img {
  height: auto;
  aspect-ratio: 4 / 3;
}

.visual {
  background: #f7f6f1;
  break-before: page;
  break-inside: avoid;
  page-break-inside: avoid;
}

.visual-grid {
  gap: 5mm;
}

.visual figure {
  break-inside: avoid;
  page-break-inside: avoid;
}

.floorplans-print {
  display: block !important;
  padding: 0 0 8mm;
  break-before: page;
  break-after: page;
}

.floorplans-print h2 {
  margin: 0 0 6mm;
}

.floorplan-grid {
  display: block;
}

.floorplan-grid figure {
  margin: 0;
  padding: 0;
  break-inside: avoid;
  page-break-inside: avoid;
  break-after: page;
}

.floorplan-grid figure:last-child {
  break-after: page;
}

.floorplan-grid img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 238mm;
  object-fit: contain;
  border: 0.3pt solid #d9ddd5;
}

.floorplan-grid figcaption {
  padding: 2.5mm 0 0;
  background: transparent;
  border: 0;
  color: #333;
  font-size: 9pt;
}

.contact {
  background: #526346;
  color: #fff;
  padding: 10mm 9mm;
  break-inside: avoid;
  page-break-inside: avoid;
}

.cta-section {
  display: block;
  background: #526346;
  color: #fff;
  padding: 10mm 9mm;
  break-inside: avoid;
  page-break-inside: avoid;
}

.cta-copy h2,
.cta-copy p,
.contact h2,
.contact p {
  color: inherit;
}

.cta-copy p:last-child {
  max-width: none;
  font-size: 12pt;
}

.site-credit,
.fineprint {
  color: rgba(255, 255, 255, 0.82);
}
