.propertypro-page .dg-hero { background: radial-gradient(ellipse at 80% 15%, #13825622, transparent 42%), linear-gradient(120deg, #061329, #0b2334 66%, #123a3a); }
.propertypro-page .dg-hero__logo { display: block; width: min(100%, 365px); height: auto; object-fit: contain; margin: 0 0 30px; }
.propertypro-page .dg-hero__copy h1 span { color: #b7e5ce; }
.propertypro-page .dg-hero__copy > p { font-size: 14px; }
.propertypro-page .dg-hero__copy > p.dg-hero__note { font-size: 10px; color: #aec5d2; }
.propertypro-page .dg-eyebrow { color: #b3dfca; }
.propertypro-page .dg-eyebrow .status-dot { background: #8eddb6; box-shadow: 0 0 15px #8eddb680; }
.pp-scope-strip { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 26px; padding-block: 34px; border-bottom: 1px solid #e3e9ef; }
.pp-scope-strip div { display: flex; align-items: center; gap: 13px; min-width: 0; }
.pp-scope-strip strong { color: #17714e; font-size: 29px; font-weight: 500; letter-spacing: -1px; }
.pp-scope-strip span { color: #6b7b8c; font-size: 11px; line-height: 1.65; }
.propertypro-page .dg-principles article > span, .propertypro-page .dg-solution-eyebrow, .propertypro-page .dg-connection-label { color: #207553; }
.propertypro-page .dg-solution-icon { color: #248259; border-color: #d7eae1; background: #f0f8f4; }
.propertypro-page .dg-feature-list li::before { background: #4c9d75; box-shadow: 0 0 0 3px #edf7f1; }
.propertypro-page .dg-solution-card > p { font-size: 12px; }
.propertypro-page .dg-feature-list li { font-size: 11px; }
.propertypro-page .dg-mini-flow li { white-space: normal; }
.pp-lifecycle { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; list-style: none; }
.pp-lifecycle li { min-width: 0; padding: 22px 23px 22px 0; border-top: 2px solid #94c7b0; }
.pp-lifecycle li + li { padding-left: 23px; border-left: 1px solid #e1e9ed; }
.pp-lifecycle li > span { color: #648b78; font-size: 10px; }
.pp-lifecycle strong { display: block; margin-top: 13px; color: #203a4d; font-size: 16px; font-weight: 500; }
.pp-lifecycle small { display: block; margin-top: 10px; color: #6d7d8b; font-size: 10px; line-height: 1.8; }
.pp-lifecycle-note { margin-top: 18px; color: #758597; font-size: 10px; line-height: 1.8; }
.pp-logo-signature { display: block; width: min(240px, 65%); height: auto; margin-top: 25px; }
.pp-module-screen-link { display: inline-flex; gap: 9px; align-items: center; min-height: 44px; margin-top: 16px; color: #267153; font-size: 10px; font-weight: 500; }
.pp-module-screen-link .icon { width: 13px; height: 13px; }
.propertypro-page .dg-screen-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.propertypro-page .dg-screen-visual { height: auto; aspect-ratio: 4 / 3; }
.propertypro-page .dg-screen-visual img { object-fit: contain; }
.propertypro-page .dg-screen-card[data-image-kind="enhanced"] .dg-screen-visual,
.propertypro-page .dg-screen-card[data-image-kind="redrawn"] .dg-screen-visual { aspect-ratio: auto; }
.propertypro-page .dg-screen-card[data-image-kind="enhanced"] img,
.propertypro-page .dg-screen-card[data-image-kind="redrawn"] img { display: block; height: auto; }
.propertypro-page .dg-screen-card[data-image-kind="enhanced"]:hover img,
.propertypro-page .dg-screen-card[data-image-kind="redrawn"]:hover img { transform: none; }
.pp-capture-label { display: inline-block; width: fit-content; margin-bottom: 8px; padding: 4px 8px; border: 1px solid #d8e9e0; border-radius: 5px; background: #f2f8f5; color: #357356; font-size: 8px; font-weight: 500; line-height: 1.5; letter-spacing: .2px; }
.propertypro-page .dg-screen-card figcaption strong { font-size: 11px; }
.propertypro-page .dg-screen-card figcaption span { font-size: 10px; }
.propertypro-page .dg-gallery-tabs button[aria-selected="true"] { color: #176944; border-color: #aed2c0; background: #eef8f2; }
.propertypro-page .dg-platform-section { background: radial-gradient(ellipse at 90% 10%, #16876020, transparent 40%), linear-gradient(120deg,#07162d,#0a2a38 75%,#123b3a); }
.propertypro-page .dg-section-heading--light h2 span { color: #b0dfc8; }
.pp-fit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.pp-fit-grid article { padding: 25px; border: 1px solid #e2eaf0; border-radius: 17px; background: #fff; }
.pp-fit-grid h3 { font-size: 18px; }
.pp-fit-grid p { margin-top: 12px; color: #6a798c; font-size: 11px; line-height: 1.9; }
@media (max-width:1050px) {
  .propertypro-page .dg-hero__copy { max-width: 730px; }
  .pp-lifecycle { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
  .pp-lifecycle li, .pp-lifecycle li + li { padding: 18px 15px 5px 0; border-left: 0; }
}
@media (max-width:760px) {
  .pp-scope-strip { gap: 18px; }
  .pp-scope-strip div { display: block; }
  .pp-scope-strip strong, .pp-scope-strip span { display: block; }
  .pp-scope-strip span { margin-top: 4px; font-size: 10px; }
  .pp-fit-grid { grid-template-columns: 1fr; }
}
@media (max-width:600px) {
  .propertypro-page .dg-hero__logo { width: min(100%,300px); height: auto; margin-bottom: 23px; }
  .propertypro-page .dg-hero__copy > p { font-size: 12px; }
  .pp-scope-strip { grid-template-columns: 1fr; gap: 15px; padding-block: 26px; }
  .pp-scope-strip div { display: flex; }
  .pp-scope-strip strong { min-width: 100px; font-size: 25px; }
  .pp-scope-strip span { margin: 0; font-size: 11px; }
  .pp-lifecycle { grid-template-columns: 1fr; gap: 12px; }
  .pp-lifecycle li, .pp-lifecycle li + li { padding: 17px 0 12px; }
  .pp-lifecycle strong { margin-top: 8px; }
  .propertypro-page .dg-screen-grid { grid-template-columns: 1fr; }
  .propertypro-page .dg-screen-visual { aspect-ratio: 1 / 1; }
}
@media (prefers-reduced-motion: reduce) { .propertypro-page .dg-screen-card:hover img { transform: none; } }
:root[data-motion="paused"] .propertypro-page .dg-screen-card:hover img { transform: none; }

.propertypro-page .dg-hero { border-color: #74cdbb30; }
.propertypro-page .dg-hero__layout { gap: clamp(25px,3.5vw,55px); grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); padding-block: 70px 64px; }
.propertypro-page .dg-hero__copy h1 { font-size: clamp(39px,4.4vw,64px); line-height:1.08; }
.propertypro-page .dg-hero__copy h1 span { background: linear-gradient(100deg,#b7efcf,#91cdec,#b7efcf); background-size: 200% auto; -webkit-background-clip: text; background-clip: text; color: transparent; animation: pp-text-light 13s linear infinite; }
.pp-orbit { position: relative; min-width:0; margin:0; padding:19px 14px 15px; border:1px solid #88c8bc30; border-radius:27px; background: radial-gradient(ellipse at 50% 44%,#298a6d20,transparent 60%),linear-gradient(145deg,#19394370,#0b1e32a8); box-shadow:0 34px 100px #010c2059,inset 0 1px #ffffff12; }
.pp-orbit-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-inline:7px; color:#b5d8cd; font-size:8px; font-weight:600; letter-spacing:1.25px; }
.pp-motion-control { display:inline-flex; align-items:center; gap:5px; min-height:38px; padding:6px 8px; color:#c8dfdc; border:1px solid #b2dcd224; border-radius:9px; background:#ffffff05; font-size:8px; letter-spacing:0; cursor:pointer; flex-shrink:0; }
.pp-motion-control .icon { width:12px; height:12px; }
.pp-motion-control:hover { background:#ffffff12; }
.pp-motion-control:focus-visible,.pp-orbit-node:focus-visible { outline:3px solid #a2ddc9; outline-offset:4px; }
.pp-orbit-scene { position:relative; height:450px; margin-top:10px; perspective:1000px; transform:perspective(1300px) rotateX(var(--pp-rx,0deg)) rotateY(var(--pp-ry,0deg)); transition:transform .45s ease-out; }
.pp-orbit-grid { position:absolute; inset:3% -2% 0; background-image:radial-gradient(#b2e0d725 1px,transparent 1px); background-size:22px 22px; mask-image:radial-gradient(ellipse,#000,transparent 72%); pointer-events:none; }
.pp-orbit-halo { position:absolute; z-index:0; left:50%; top:50%; width:310px; height:310px; margin:-155px 0 0 -155px; border:1px solid #a2dac121; border-radius:50%; pointer-events:none; }
.pp-orbit-halo--outer { width:410px; height:410px; margin:-205px 0 0 -205px; border:1px dashed #a0d6c514; animation:pp-orbit-spin 70s linear infinite; }
.pp-orbit-halo--inner::before { content:''; position:absolute; inset:-3px; border-radius:50%; border-top:2px solid #8cdebb6b; border-right:2px solid transparent; transform:rotate(30deg); animation:pp-orbit-spin 25s linear infinite; filter:drop-shadow(0 0 6px #6eddba); }
.pp-orbit-circuits { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.pp-orbit-circuits path { fill:none; vector-effect:non-scaling-stroke; }
.pp-circuit-base path { stroke:#83bbbd35; stroke-width:1; }
.pp-circuit-signals path { stroke:url(#pp-signal-gradient); stroke-width:2; stroke-dasharray:8 260; stroke-dashoffset:0; animation:pp-signal-flow 6s linear infinite; filter:drop-shadow(0 0 4px #91e0c4); }
.pp-circuit-signals path:nth-child(2) { animation-delay:-1s; }.pp-circuit-signals path:nth-child(3) { animation-delay:-2s; }.pp-circuit-signals path:nth-child(4) { animation-delay:-3s; }.pp-circuit-signals path:nth-child(5) { animation-delay:-4s; }.pp-circuit-signals path:nth-child(6) { animation-delay:-5s; }
.pp-property-hub { position:absolute; z-index:2; left:50%; top:50%; width:184px; min-height:190px; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; text-align:center; padding:19px 10px 0; border:1px solid #a5e0c55c; border-radius:24px; background:linear-gradient(145deg,#1f4c4c,#112b3f 80%); box-shadow:0 20px 55px #03111d90,0 0 55px #3b9b7820,inset 0 1px #ffffff26; }
.pp-hub-kicker { color:#9fc6c0; font-size:7px; font-weight:600; letter-spacing:1.55px; }
.pp-hub-icon { position:relative; display:grid; place-items:center; width:66px; height:66px; margin-top:11px; color:#bdebd3; border:1px solid #c2f0d245; border-radius:19px; background:linear-gradient(145deg,#548b6c45,#66acbb16); box-shadow:0 5px 25px #10262f,inset 0 1px #ffffff16; }
.pp-hub-icon .icon { width:34px; height:34px; }
.pp-hub-beacon { position:absolute; inset:-8px; border:1px solid #8bddb929; border-radius:25px; animation:pp-hub-pulse 4s ease-out infinite; }
.pp-property-hub h2 { color:#f1fbf7; font-size:19px; line-height:1.25; letter-spacing:-.6px; font-weight:500; margin-top:13px; }
.pp-hub-foundation { display:block; margin-top:8px; color:#a7c7cd; font-size:8px; }
.pp-hub-platform { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:15px; padding:11px 2px; border-top:1px solid #a3d4c824; width:100%; color:#acd4d0; font-size:8px; }
.pp-hub-platform .icon { width:11px; height:11px; }
.pp-orbit-node { position:absolute; z-index:3; width:145px; min-height:107px; display:flex; flex-direction:column; align-items:flex-start; padding:13px 12px 11px; border:1px solid #b5d8d626; border-radius:16px; background:linear-gradient(145deg,#1a3547ee,#102438f5); color:#e2f0ed; box-shadow:0 12px 28px #02122166,inset 0 1px #ffffff09; transition:border-color .4s,box-shadow .4s,background .4s,translate .4s; }
.pp-orbit-node--sales { left:0; top:10px; }.pp-orbit-node--leasing { right:0; top:10px; }.pp-orbit-node--facilities { left:0; top:calc(50% - 54px); }.pp-orbit-node--marketing { right:0; top:calc(50% - 54px); }.pp-orbit-node--broker { left:0; bottom:10px; }.pp-orbit-node--tenant { right:0; bottom:10px; }
.pp-node-icon { display:grid; place-items:center; width:33px; height:33px; margin-bottom:10px; border:1px solid #aad4d933; border-radius:10px; background:#7ec2d21a; color:#b5dae8; transition:color .4s,background .4s; }
.pp-node-icon .icon { width:17px; height:17px; }
.pp-orbit-node strong { font-size:10px; font-weight:500; line-height:1.4; }
.pp-orbit-node small { display:block; margin-top:4px; color:#8cabbc; font-size:8px; line-height:1.45; }
.pp-node-dot { position:absolute; top:13px; right:12px; width:4px; height:4px; border-radius:50%; background:#568097; transition:box-shadow .4s,background .4s; }
.pp-orbit-node.is-active,.pp-orbit-node:hover,.pp-orbit-node:focus-visible { border-color:#91d9bfa6; background:linear-gradient(145deg,#234d4eee,#153141); box-shadow:0 15px 40px #010e2490,0 0 25px #76d5bb14; translate:0 -3px; }
.pp-orbit-node.is-active .pp-node-icon { color:#d6f3dc; background:#8de0b125; }
.pp-orbit-node.is-active .pp-node-dot { background:#b5f3d0; box-shadow:0 0 12px #a5f1cf; }
.pp-orbit-story { display:flex; align-items:center; gap:14px; padding:16px 11px 13px; margin-top:5px; border:1px solid #a7d7c923; border-radius:13px; background:#03152545; }
.pp-story-index { flex-shrink:0; color:#80bbae; font-size:9px; letter-spacing:1px; }
.pp-orbit-story strong { color:#d9efe5; font-size:11px; font-weight:500; }
.pp-orbit-story p { margin-top:4px; color:#94b5c4; font-size:9px; line-height:1.7; min-height:30px; }
.pp-orbit-story > .icon { width:15px; height:15px; color:#95cebd; margin-left:auto; flex-shrink:0; }
.pp-orbit figcaption { margin:12px 8px 0; color:#8babbd; font-size:8px; line-height:1.75; }
.pp-handoffs-section { background:linear-gradient(145deg,#f1f8f6,#f7fafd); border-block:1px solid #e1ece7; }
.pp-handoff-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pp-handoff { position:relative; min-width:0; overflow:hidden; padding:30px 26px 24px; border:1px solid #dbe9e4; border-radius:20px; background:#ffffffd9; box-shadow:0 8px 30px #1c5f4410; transition:transform .4s,border-color .4s,box-shadow .4s; }
.pp-handoff::before,.propertypro-page .dg-solution-card::after { content:''; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(260px circle at var(--pp-px,50%) var(--pp-py,0%),#52a68a12,transparent 75%); pointer-events:none; }
.pp-handoff:hover { transform:translateY(-7px); border-color:#a2cbbb; box-shadow:0 25px 50px #194b3615; }
.pp-handoff-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:23px; color:#287756; border:1px solid #d2e8db; border-radius:14px; background:#eef8f3; }
.pp-handoff-icon .icon { width:22px; height:22px; }
.pp-handoff > span { color:#5d8d77; font-size:8px; font-weight:600; letter-spacing:1.2px; }
.pp-handoff h3 { font-size:22px; line-height:1.3; letter-spacing:-.7px; margin-top:13px; }
.pp-handoff p { color:#6a7b87; font-size:11px; line-height:1.9; margin-top:13px; }
.pp-handoff-path { position:relative; display:flex; flex-wrap:wrap; gap:12px; margin:23px 0 0; padding:15px 0 0; border-top:1px solid #d5e8df; list-style:none; }
.pp-handoff-path::before { content:''; position:absolute; left:0; top:-2px; width:40px; height:3px; border-radius:3px; background:linear-gradient(90deg,transparent,#3f9e73,transparent); animation:pp-handoff-light 7s ease-in-out infinite; }
.pp-handoff:nth-child(2) .pp-handoff-path::before { animation-delay:-2s; }.pp-handoff:nth-child(3) .pp-handoff-path::before { animation-delay:-4s; }
.pp-handoff-path li { color:#42795d; font-size:9px; }
.pp-handoff-path li + li::before { content:'→'; margin-right:12px; color:#7fad96; }
.pp-handoff > a { display:flex; align-items:center; gap:10px; margin-top:18px; min-height:40px; font-size:10px; color:#1c7250; font-weight:500; }
.pp-handoff > a .icon { width:13px; height:13px; }
.propertypro-page .dg-solution-card { overflow:hidden; }
.propertypro-page .dg-solution-card:hover { border-color:#a8cdbb; box-shadow:0 20px 50px #234f3c12; }
@keyframes pp-signal-flow { to { stroke-dashoffset:-536; } }
@keyframes pp-orbit-spin { to { transform:rotate(360deg); } }
@keyframes pp-hub-pulse { 0%,100% { opacity:.4; scale:1; } 60% { opacity:0; scale:1.15; } }
@keyframes pp-text-light { to { background-position:200% center; } }
@keyframes pp-handoff-light { 0%,100% { left:0; opacity:.3; } 50% { left:calc(100% - 40px); opacity:1; } }
:root[data-motion="paused"] .propertypro-page *, :root[data-page-hidden="true"] .propertypro-page *, .pp-orbit[data-running="false"] * { animation-play-state:paused !important; }
.pp-handoffs-section[data-running="false"] * { animation-play-state:paused !important; }
@media (max-width:1200px) and (min-width:1051px) { .pp-orbit-node { width:126px; padding:12px 10px; }.pp-property-hub { width:165px; }.pp-orbit-node strong { font-size:9px; } }
@media (max-width:1050px) { .propertypro-page .dg-hero__layout { grid-template-columns:1fr; gap:38px; }.pp-orbit { width:100%; max-width:700px; }.pp-orbit-scene { height:470px; }.pp-orbit-node { width:170px; }.pp-property-hub { width:210px; }.pp-orbit-node strong { font-size:12px; }.pp-orbit-node small { font-size:9px; }.pp-handoff-grid { grid-template-columns:1fr; }.pp-handoff { padding:28px; } }
@media (max-width:600px) {
  .propertypro-page .dg-hero__layout { padding-block:45px 34px; gap:30px; }
  .propertypro-page .dg-hero__copy h1 { font-size:clamp(34px,9vw,46px); letter-spacing:-1.8px; }
  .pp-orbit { padding:15px 12px; border-radius:20px; }
  .pp-orbit-heading { align-items:flex-start; font-size:7px; letter-spacing:.9px; padding:0; }
  .pp-orbit-heading > span { max-width:150px; line-height:1.8; }
  .pp-orbit-scene { height:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-top:15px; transform:none !important; }
  .pp-property-hub { position:relative; left:auto; top:auto; transform:none; width:min(210px,100%); min-height:0; grid-column:1/-1; justify-self:center; margin-bottom:18px; }
  .pp-orbit-node { position:relative; left:auto; right:auto; top:auto; bottom:auto; width:auto; min-height:119px; padding:13px 12px; }
  .pp-orbit-node strong { font-size:10px; }.pp-orbit-node small { font-size:8px; }
  .pp-orbit-circuits { display:none; }
  .pp-orbit-halo { top:120px; width:260px; height:260px; margin:-130px 0 0 -130px; }
  .pp-orbit-halo--outer { display:none; }
  .pp-orbit-story { padding:13px 10px; gap:10px; }
  .pp-orbit-story p { font-size:8px; min-height:42px; }
  .pp-orbit-story > .icon { display:none; }
  .pp-handoff h3 { font-size:21px; }
}
@media (prefers-reduced-motion: reduce) { .propertypro-page *, .propertypro-page *::before, .propertypro-page *::after { animation:none !important; transition:none !important; }.pp-orbit-scene { transform:none !important; }.pp-orbit-node.is-active,.pp-orbit-node:hover,.pp-handoff:hover { translate:none; transform:none; } }
:root[data-motion="paused"] .pp-orbit-scene { transform:none !important; }

:root[data-motion="paused"] .propertypro-page *::before,
:root[data-motion="paused"] .propertypro-page *::after,
:root[data-page-hidden="true"] .propertypro-page *::before,
:root[data-page-hidden="true"] .propertypro-page *::after,
.pp-handoffs-section[data-running="false"] *::before,
.pp-handoffs-section[data-running="false"] *::after { animation-play-state:paused !important; }

.propertypro-page .dg-hero[data-running="false"] *,
.propertypro-page .dg-hero[data-running="false"] *::before,
.propertypro-page .dg-hero[data-running="false"] *::after { animation-play-state:paused !important; }
