/* Shared visual system for all Delin Capital route pages. */
:root {
  --ink: #171516;
  --paper: #F7F6F3;
  --surface: #FFFFFF;
  --muted: #67615A;
  --line: #E3DED6;
  /* Brand accent: the Delin gold is the sole interactive accent. */
  --gold: #CDA35E;
  --gold-deep: #A87E3A;
  --max: 1320px;
}

html { scroll-behavior: auto; overflow-y: scroll; }
body { background: var(--paper); color: var(--ink); font-family: Inter, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif; margin: 0; }
.wrap { width: min(calc(100% - 96px), var(--max)); margin: auto; }
.eyebrow { color: var(--gold-deep); font-size: 12px; font-weight: 700; letter-spacing: .06em; }
h1, h2, h3 { color: var(--ink); font-weight: 500; }
p, .intro, .hero-intro, .statement p, .spaces-head p, .support-intro p, .living p, .eligibility > p, .timeline-head p, .residence p, .contact-layout > div > p { color: var(--muted); }

.hero { background: var(--paper); }
.hero::before, .hero::after, .quote::after, .cta::after { display: none; }
.hero-image, .residence img, .living img { border-radius: 24px; box-shadow: none; }
.gallery .photo { border-radius: 18px; }

.button { min-height: 52px; border-color: var(--gold); border-radius: 10px; transition: background 180ms ease, color 180ms ease, border-color 180ms ease; text-decoration: none; }
.button.primary { background: var(--gold); color: #171516; }
.button.primary:hover { background: #A87E3A; color: #fff; }
.button.secondary { background: transparent; color: var(--ink); border-color: var(--line); }
.button.secondary:hover { background: #EEECE7; }

.spaces, .numbers, .portfolio, .timeline, .quote, .faq, .cta {
  background: var(--paper);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.numbers, .quote, .cta { border-bottom: 0; }
.number { border-color: var(--line); }
.number strong { color: var(--gold); }
.timeline { background: var(--paper); }
.stage, .stages { border-color: var(--line); }
.portfolio { background: var(--paper); }
.card { border-color: var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.card:hover { transform: none; box-shadow: none; background: rgba(205, 163, 94, .05); }
.tag, .filter.active { background: transparent; border-color: var(--gold-deep); color: var(--gold-deep); }
.quote { background: var(--paper); }
.cta { background: var(--paper); }
footer { background: var(--paper); border-top: 1px solid var(--line); }
.site-footer { padding: 0; }
.site-footer .site-footer-inner { min-height: 108px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.site-footer .site-footer-inner img { width: 222px; height: 60px; object-fit: contain; object-position: left center; }
.site-footer .site-footer-inner p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; text-align: right; }

@media (max-width: 800px) {
  .wrap { width: calc(100% - 48px); }
}
@media (max-width: 640px) {
  .wrap { width: calc(100% - 40px); }
  .hero-image, .residence img, .living img { border-radius: 18px; }
  .site-footer .site-footer-inner { min-height: 94px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 13px; }
  .site-footer .site-footer-inner img { width: 198px; height: 54px; }
  .site-footer .site-footer-inner p { font-size: 12px; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .card, .photo img { transition: none; }
}
