:root {
  --pd-red: #ff403a;
  --pd-ink: #0b3033;
  --pd-muted: #647b7e;
  --pd-line: #d8e1df;
  --pd-paper: #f5f7f4;
  --pd-white: #fff;
  --pd-soft: #e8efec;
  --pd-display: "Geologica", "Manrope", sans-serif;
  --pd-text: "Manrope", sans-serif;
  --pd-data: "IBM Plex Mono", monospace;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.property-page {
  margin: 0;
  color: var(--pd-ink);
  background: var(--pd-paper);
  font-family: var(--pd-text);
  -webkit-font-smoothing: antialiased;
}

.property-page a { color: inherit; text-decoration: none; }
.property-page img { display: block; max-width: 100%; }
.property-page p { margin: 0; }
.property-page .pd-wrap { width: min(calc(100% - 64px), 1440px); margin-inline: auto; }

.pd-header {
  position: sticky;
  z-index: 30;
  top: 0;
  border-bottom: 1px solid var(--pd-line);
  background: rgba(245, 247, 244, 0.94);
  backdrop-filter: blur(18px);
}

.pd-header .pd-wrap {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 44px;
  align-items: center;
  min-height: 78px;
}

.pd-brand { display: flex; gap: 14px; align-items: center; font-size: 12px; font-weight: 700; }
.pd-brand img { width: 116px; height: auto; }
.pd-nav { display: flex; gap: 28px; justify-content: center; font-size: 13px; font-weight: 600; }
.pd-nav a:hover { color: var(--pd-red); }

.pd-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid var(--pd-red);
  border-radius: 999px;
  color: #fff !important;
  background: var(--pd-red);
  font-size: 13px;
  font-weight: 700;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.pd-button:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(255, 64, 58, 0.2); }
.pd-button-secondary { color: var(--pd-ink) !important; border-color: var(--pd-line); background: transparent; }

.pd-hero { padding: 44px 0 0; }
.pd-hero-grid { display: grid; grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr); min-height: 690px; }
.pd-hero-copy { display: flex; flex-direction: column; padding: 54px 64px 48px 0; }
.pd-crumbs { margin-bottom: auto; color: var(--pd-muted); font-size: 12px; }
.pd-crumbs span { margin: 0 8px; color: #a4b1af; }
.pd-badge { align-self: flex-start; margin: 68px 0 22px; color: var(--pd-red); font: 500 11px/1.2 var(--pd-data); letter-spacing: 0.08em; text-transform: uppercase; }
.pd-hero h1 { max-width: 720px; margin: 0 0 24px; font: 500 clamp(48px, 5.4vw, 84px)/0.96 var(--pd-display); letter-spacing: -0.065em; }
.pd-lead { max-width: 650px; color: var(--pd-muted); font-size: 18px; line-height: 1.6; }
.pd-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

.pd-hero-media { position: relative; overflow: hidden; min-height: 690px; margin: 0; border-radius: 24px 24px 0 0; background: var(--pd-soft); }
.pd-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.pd-hero-media::after { position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(transparent, rgba(5, 35, 39, 0.7)); content: ""; }
.pd-hero-media figcaption { position: absolute; z-index: 2; right: 24px; bottom: 22px; left: 24px; display: flex; justify-content: space-between; color: #fff; font: 500 10px var(--pd-data); letter-spacing: 0.06em; text-transform: uppercase; }

.pd-facts-rail { border-block: 1px solid var(--pd-line); background: var(--pd-white); }
.pd-facts-rail .pd-wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pd-fact { min-height: 138px; padding: 30px 26px; border-right: 1px solid var(--pd-line); }
.pd-fact:first-child { padding-left: 0; }
.pd-fact:last-child { padding-right: 0; border-right: 0; }
.pd-fact span { display: block; margin-bottom: 10px; color: var(--pd-red); font: 500 10px var(--pd-data); text-transform: uppercase; }
.pd-fact strong { display: block; font: 500 23px/1.25 var(--pd-display); letter-spacing: -0.03em; }

.pd-section { padding: 104px 0; }
.pd-section-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr); gap: 80px; align-items: end; margin-bottom: 46px; }
.pd-kicker { margin-bottom: 16px !important; color: var(--pd-red); font: 500 11px var(--pd-data); letter-spacing: 0.08em; text-transform: uppercase; }
.pd-section h2 { max-width: 850px; margin: 0; font: 500 clamp(38px, 4.2vw, 64px)/1.02 var(--pd-display); letter-spacing: -0.055em; }
.pd-section-head > p { color: var(--pd-muted); font-size: 16px; line-height: 1.65; }

.pd-offer { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr); overflow: hidden; border: 1px solid var(--pd-line); border-top: 3px solid var(--pd-red); border-radius: 18px; background: var(--pd-white); }
.pd-offer-copy { padding: 42px; }
.pd-offer-copy h3 { max-width: 780px; margin: 0 0 18px; font: 500 clamp(28px, 3vw, 46px)/1.08 var(--pd-display); letter-spacing: -0.045em; }
.pd-offer-copy > p { max-width: 800px; color: var(--pd-muted); font-size: 16px; line-height: 1.7; }
.pd-offer-meta { display: grid; align-content: center; gap: 22px; padding: 42px; border-left: 1px solid var(--pd-line); background: var(--pd-soft); }
.pd-offer-meta div { display: grid; gap: 6px; }
.pd-offer-meta span { color: var(--pd-muted); font: 500 10px var(--pd-data); text-transform: uppercase; }
.pd-offer-meta strong { font-size: 17px; }

.pd-evaluation { background: var(--pd-white); }
.pd-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pd-card { min-height: 310px; padding: 30px; border: 1px solid var(--pd-line); border-radius: 16px; background: var(--pd-paper); }
.pd-card span { color: var(--pd-red); font: 500 11px var(--pd-data); text-transform: uppercase; }
.pd-card h3 { margin: 82px 0 18px; font: 500 27px/1.15 var(--pd-display); letter-spacing: -0.035em; }
.pd-card p, .pd-card li { color: var(--pd-muted); font-size: 14px; line-height: 1.65; }
.pd-card ul { margin: 0; padding-left: 18px; }

.pd-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--pd-line); }
.pd-data-row { display: grid; grid-template-columns: 140px 1fr; gap: 22px; min-height: 112px; padding: 26px 26px 26px 0; border-right: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.pd-data-row:nth-child(2n) { padding-left: 26px; border-right: 0; }
.pd-data-row span { color: var(--pd-muted); font: 500 10px var(--pd-data); text-transform: uppercase; }
.pd-data-row strong { font-size: 15px; line-height: 1.55; }

.pd-path { background: var(--pd-ink); color: #fff; }
.pd-path .pd-kicker { color: #ff7772; }
.pd-path .pd-section-head > p { color: #b6c7c6; }
.pd-path-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.2); }
.pd-path-list li { min-height: 210px; padding: 28px 22px; border-right: 1px solid rgba(255,255,255,.2); }
.pd-path-list li:last-child { border-right: 0; }
.pd-path-list span { color: #ff7772; font: 500 11px var(--pd-data); }
.pd-path-list strong { display: block; margin: 54px 0 12px; font: 500 20px var(--pd-display); }
.pd-path-list p { color: #b6c7c6; font-size: 13px; line-height: 1.55; }

.pd-final { padding: 88px 0 112px; }
.pd-final-card { display: grid; grid-template-columns: 1fr auto; gap: 44px; align-items: center; padding: 54px; border-radius: 20px; background: var(--pd-white); box-shadow: 0 24px 80px rgba(8, 47, 52, 0.09); }
.pd-final h2 { max-width: 850px; margin: 0 0 14px; font: 500 clamp(34px, 4vw, 58px)/1.05 var(--pd-display); letter-spacing: -0.05em; }
.pd-final p { max-width: 700px; color: var(--pd-muted); line-height: 1.6; }

.pd-footer { padding: 42px 0 90px; border-top: 1px solid var(--pd-line); }
.pd-footer .pd-wrap { display: grid; grid-template-columns: 1fr auto; gap: 40px; color: var(--pd-muted); font-size: 12px; line-height: 1.6; }
.pd-mobile-cta { display: none; }

/* Existing long-form object dossiers keep their content and inherit a calmer light finish. */
.legacy-property .pd-decision { margin: 0 auto; padding: 70px 0 10px; }
.legacy-property .pd-decision .pd-card-grid { width: min(calc(100% - 48px), 1320px); margin-inline: auto; }

@media (max-width: 980px) {
  .property-page .pd-wrap { width: min(calc(100% - 40px), 1440px); }
  .pd-header .pd-wrap { grid-template-columns: auto 1fr; }
  .pd-nav { display: none; }
  .pd-header .pd-button { justify-self: end; }
  .pd-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .pd-hero-copy { padding: 22px 0 38px; }
  .pd-crumbs { margin-bottom: 0; }
  .pd-badge { margin-top: 52px; }
  .pd-hero-media { min-height: 0; aspect-ratio: 16 / 10; border-radius: 20px 20px 0 0; }
  .pd-section-head, .pd-offer { grid-template-columns: 1fr; gap: 28px; }
  .pd-offer-meta { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-card-grid { grid-template-columns: 1fr; }
  .pd-card { min-height: 250px; }
  .pd-card h3 { margin-top: 54px; }
  .pd-path-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-path-list li { border-bottom: 1px solid rgba(255,255,255,.2); }
  .pd-final-card { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .property-page .pd-wrap { width: min(calc(100% - 32px), 1440px); }
  .pd-header .pd-wrap { min-height: 66px; }
  .pd-brand span, .pd-header .pd-button { display: none; }
  .pd-hero { padding-top: 20px; }
  .pd-hero h1 { font-size: 47px; }
  .pd-lead { font-size: 16px; }
  .pd-actions { flex-direction: column; }
  .pd-actions .pd-button { width: 100%; }
  .pd-hero-media { aspect-ratio: 4 / 3; margin-inline: -16px; border-radius: 0; }
  .pd-facts-rail .pd-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-fact, .pd-fact:first-child, .pd-fact:last-child { min-height: 120px; padding: 22px 14px; border-right: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
  .pd-fact:nth-child(2n) { border-right: 0; }
  .pd-section { padding: 72px 0; }
  .pd-section h2 { font-size: 39px; }
  .pd-offer-copy, .pd-offer-meta { padding: 28px 22px; }
  .pd-data-grid { grid-template-columns: 1fr; }
  .pd-data-row, .pd-data-row:nth-child(2n) { grid-template-columns: 105px 1fr; padding: 22px 0; border-right: 0; }
  .pd-path-list { grid-template-columns: 1fr; }
  .pd-path-list li { min-height: 0; padding: 24px 0; border-right: 0; }
  .pd-path-list strong { margin-top: 26px; }
  .pd-final-card { padding: 34px 24px; }
  .pd-footer .pd-wrap { grid-template-columns: 1fr; }
  .pd-mobile-cta { position: fixed; z-index: 40; right: 16px; bottom: 14px; left: 16px; display: flex; min-height: 52px; align-items: center; justify-content: center; border-radius: 999px; color: #fff !important; background: var(--pd-red); font-size: 13px; font-weight: 700; box-shadow: 0 16px 40px rgba(255,64,58,.28); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .pd-button { transition: none; }
}
.telegram-manager-link{position:fixed;right:22px;bottom:22px;z-index:80;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;background:#d71920;color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 12px 30px rgba(17,24,39,.22)}
.telegram-manager-link:hover{background:#b91218;transform:translateY(-1px)}
.telegram-manager-link:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:700px){.telegram-manager-link{right:14px;bottom:88px;min-height:44px;padding:0 14px;font-size:13px}}
