
:root {
    --ca-navy: #07142d;
    --ca-navy-2: #102447;
    --ca-rust: #a3471f;
    --ca-cream: #f7f3ed;
    --ca-soft: #eef2f7;
    --ca-text: #24324b;
    --ca-muted: #647089;
    --ca-border: #e2ddd4;
    --ca-radius: 20px;
    --ca-shadow: 0 16px 45px rgba(7, 20, 45, .08);
}
.ca-dg { background:#fff; color:var(--ca-text); line-height:1.7; }
.ca-dg *, .ca-dg *::before, .ca-dg *::after { box-sizing:border-box; }
.ca-dg-container { width:min(1160px, calc(100% - 40px)); margin:0 auto; }
.ca-dg-hero { min-height:560px; display:flex; align-items:flex-end; background:linear-gradient(135deg,var(--ca-navy),var(--ca-navy-2)); background-position:center; background-size:cover; color:#fff; padding:100px 0 72px; }
.ca-dg-hero__inner { max-width:900px; margin:0 auto; text-align:center; }
.ca-dg-eyebrow { margin:0 0 14px; color:var(--ca-rust); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ca-dg-hero .ca-dg-eyebrow, .ca-dg-section--dark .ca-dg-eyebrow, .ca-dg-cta .ca-dg-eyebrow { color:#e3c98f; }
.ca-dg-title, .ca-dg h2, .ca-dg h3 { color:var(--ca-navy); line-height:1.2; }
.ca-dg-title { margin:0; color:#fff; font-size:clamp(46px,8vw,86px); letter-spacing:-.04em; }
.ca-dg-tagline { margin:20px 0 0; color:#f0d9a7; font-size:15px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ca-dg-hero__intro { max-width:790px; margin:24px auto 0; font-size:18px; color:rgba(255,255,255,.88); }
.ca-dg-snapshot { position:relative; margin-top:-38px; z-index:2; }
.ca-dg-snapshot__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ca-dg-snapshot__card { background:#fff; border:1px solid var(--ca-border); border-radius:16px; box-shadow:var(--ca-shadow); padding:22px; }
.ca-dg-snapshot__card span { display:block; margin-bottom:8px; color:var(--ca-rust); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ca-dg-snapshot__card strong { display:block; color:var(--ca-navy); font-size:17px; line-height:1.4; }
.ca-dg-section { padding:88px 0; }
.ca-dg-section--soft { background:var(--ca-soft); }
.ca-dg-section--dark, .ca-dg-cta { background:var(--ca-navy); color:rgba(255,255,255,.84); }
.ca-dg-section--dark h2, .ca-dg-section--dark h3, .ca-dg-cta h2, .ca-dg-cta h3 { color:#fff; }
.ca-dg h2 { margin:0 0 30px; font-size:clamp(34px,5vw,54px); letter-spacing:-.03em; }
.ca-dg h3 { margin-top:0; font-size:21px; }
.ca-dg-content-grid { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:64px; align-items:start; }
.ca-dg-prose > *:first-child { margin-top:0; }
.ca-dg-prose > *:last-child { margin-bottom:0; }
.ca-dg-prose h3 { margin-top:34px; }
.ca-dg-prose--light, .ca-dg-prose--light p, .ca-dg-prose--light li { color:rgba(255,255,255,.84); }
.ca-dg-card-grid { display:grid; gap:20px; }
.ca-dg-card-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ca-dg-card-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ca-dg-card, .ca-dg-list-card, .ca-dg-note { background:#fff; border:1px solid var(--ca-border); border-radius:var(--ca-radius); padding:28px; box-shadow:0 10px 30px rgba(7,20,45,.04); }
.ca-dg-card--dark { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); box-shadow:none; }
.ca-dg-card--dark p { color:rgba(255,255,255,.76); }
.ca-dg-note { margin-top:30px; background:var(--ca-cream); }
.ca-dg-pros-cons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px; }
.ca-dg-stack { display:grid; gap:14px; }
.ca-dg-list-card { padding:22px; }
.ca-dg-property-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ca-dg-property-card { overflow:hidden; background:#fff; border:1px solid var(--ca-border); border-radius:var(--ca-radius); box-shadow:var(--ca-shadow); color:inherit; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.ca-dg-property-card:hover { transform:translateY(-4px); box-shadow:0 22px 55px rgba(7,20,45,.14); }
.ca-dg-property-card img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.ca-dg-property-card__body { padding:22px; }
.ca-dg-property-card__body span { color:var(--ca-rust); font-weight:700; }
.ca-dg-landmark-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ca-dg-landmark { border-bottom:1px solid var(--ca-border); padding:16px 0; }
.ca-dg-landmark span, .ca-dg-landmark small { display:block; color:var(--ca-muted); }
.ca-dg-landmark span { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ca-dg-landmark strong { display:block; margin:6px 0 2px; color:var(--ca-navy); }
.ca-dg-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.ca-dg-gallery__grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px; }
.ca-dg-faq { max-width:900px; }
.ca-dg-faq__item { background:#fff; border:1px solid var(--ca-border); border-radius:14px; margin-bottom:12px; padding:0 22px; }
.ca-dg-faq__item summary { cursor:pointer; color:var(--ca-navy); font-size:18px; font-weight:800; padding:20px 0; }
.ca-dg-faq__item .ca-dg-prose { padding:0 0 20px; }
.ca-dg-related { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px; }
.ca-dg-link-list { display:grid; gap:10px; }
.ca-dg-link-list a { color:var(--ca-navy); font-size:18px; font-weight:700; text-decoration:none; }
.ca-dg-link-list a:hover { color:var(--ca-rust); }
.ca-dg-cta__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:50px; }
.ca-dg-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:14px 24px; border-radius:999px; background:#fff; color:var(--ca-navy); font-weight:800; text-decoration:none; white-space:nowrap; }
.ca-dg-button:hover { background:#f0d9a7; color:var(--ca-navy); }
.ca-dg-notice { padding:16px; border:1px solid #dba; background:#fff7ed; color:#7c2d12; }
@media (max-width:900px) {
    .ca-dg-snapshot__grid, .ca-dg-landmark-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ca-dg-card-grid--3, .ca-dg-property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ca-dg-content-grid, .ca-dg-pros-cons, .ca-dg-related, .ca-dg-cta__inner { grid-template-columns:1fr; }
    .ca-dg-content-grid { gap:20px; }
}
@media (max-width:640px) {
    .ca-dg-container { width:min(100% - 28px,1160px); }
    .ca-dg-hero { min-height:500px; padding:80px 0 56px; }
    .ca-dg-section { padding:62px 0; }
    .ca-dg-snapshot { margin-top:-24px; }
    .ca-dg-snapshot__grid, .ca-dg-card-grid--2, .ca-dg-card-grid--3, .ca-dg-property-grid, .ca-dg-landmark-grid, .ca-dg-gallery__grid { grid-template-columns:1fr; }
    .ca-dg-snapshot__card, .ca-dg-card, .ca-dg-list-card { padding:20px; }
}

/* Version 2.0 typography and spacing refinements */
.ca-dg {
  font-size: 17px;
  line-height: 1.78;
}
.ca-dg .ca-dg-prose p {
  margin: 0 0 1.45em;
}
.ca-dg .ca-dg-prose p + p {
  margin-top: 0;
}
.ca-dg .ca-dg-prose > *:last-child {
  margin-bottom: 0;
}
.ca-dg .ca-dg-prose ul,
.ca-dg .ca-dg-prose ol {
  margin: 0 0 1.45em 1.25em;
}
.ca-dg .ca-dg-prose li + li {
  margin-top: .45em;
}
.ca-dg .ca-dg-prose h3 {
  margin-top: 2em;
  margin-bottom: .7em;
}
.ca-dg .ca-dg-content-grid {
  gap: 72px;
}
.ca-dg .ca-dg-content-grid > div:first-child {
  position: sticky;
  top: 110px;
}
.ca-dg .ca-dg-card,
.ca-dg .ca-dg-list-card,
.ca-dg .ca-dg-note {
  padding: 30px;
}
.ca-dg .ca-dg-card p,
.ca-dg .ca-dg-list-card p {
  margin-bottom: 0;
}
.ca-dg .ca-dg-section {
  padding-top: 92px;
  padding-bottom: 92px;
}
.ca-dg .ca-dg-hero__intro p {
  margin-bottom: 1.25em;
}
.ca-dg .ca-dg-hero__intro p:last-child {
  margin-bottom: 0;
}
.ca-dg .ca-dg-faq__item .ca-dg-prose {
  padding-bottom: 22px;
}
@media (max-width: 900px) {
  .ca-dg .ca-dg-content-grid > div:first-child {
    position: static;
  }
  .ca-dg .ca-dg-content-grid {
    gap: 28px;
  }
}
@media (max-width: 640px) {
  .ca-dg {
    font-size: 16px;
  }
  .ca-dg .ca-dg-section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .ca-dg .ca-dg-card,
  .ca-dg .ca-dg-list-card,
  .ca-dg .ca-dg-note {
    padding: 21px;
  }
}
