/* ══════════════════════════════════════════════════════════
   DARY CARRERAS · EXPERIENCE LAYER (site-wide)
   Preloader · page transitions · smooth scroll · pacing
   ══════════════════════════════════════════════════════════ */

/* ── Preloader — brand reveal on first load ── */
.dcr-loader {
  position: fixed; inset: 0; z-index: 99999;
  background: #0D1B2A;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  opacity: 1; visibility: visible;
  transition: opacity 0.9s cubic-bezier(.16,.84,.28,1.01),
              visibility 0s linear 0.9s;
  pointer-events: all;
}
.dcr-loader.hide { opacity: 0; visibility: hidden; }
.dcr-loader-brand {
  font-family: 'Cormorant Garamond','Playfair Display', Georgia, serif;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.005em;
  opacity: 0;
  animation: dcrl-in 1.2s .1s cubic-bezier(.16,.84,.28,1.01) forwards;
}
.dcr-loader-sub {
  font-size: 0.62rem;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #C49A3C;
  margin-top: 8px;
  opacity: 0;
  animation: dcrl-in 1.2s .4s cubic-bezier(.16,.84,.28,1.01) forwards;
}
.dcr-loader-line {
  margin-top: 30px; width: 0;
  height: 1px; background: linear-gradient(90deg, transparent, #C49A3C, transparent);
  animation: dcrl-line 1.4s .7s cubic-bezier(.16,.84,.28,1.01) forwards;
}
@keyframes dcrl-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes dcrl-line {
  to { width: 260px; }
}

/* ── Page transition overlay — fades over content on navigation ── */
.dcr-transition {
  position: fixed; inset: 0; z-index: 99998;
  background: #0D1B2A;
  opacity: 0; visibility: hidden;
  transition: opacity 0.6s cubic-bezier(.16,.84,.28,1.01),
              visibility 0s linear 0.6s;
  pointer-events: none;
}
.dcr-transition.active {
  opacity: 1; visibility: visible; pointer-events: all;
  transition-delay: 0s;
}

/* ── Smooth-scroll polish ── */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .dcr-loader, .dcr-transition, .dcr-loader-brand, .dcr-loader-sub, .dcr-loader-line { animation: none !important; transition: opacity .2s !important; }
}

/* ── Section entrance rhythm (deeper reveal spacing across all pages) ── */
section { position: relative; }
section > .container,
section > .section-inner,
section > .ready-inner {
  will-change: opacity, transform;
}

/* ── Elite custom cursor accent on interactive elements ── */
@media (hover:hover) {
  a, button, .btn, .service-card, .neighborhood-card, .blog-card, .testimonial-card {
    cursor: pointer;
  }
  .dcr-cursor-dot {
    position: fixed; top: 0; left: 0;
    width: 12px; height: 12px; border-radius: 50%;
    background: #C49A3C;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: 9990;
    opacity: 0;
    transition: opacity .3s, width .25s, height .25s, background .25s;
    mix-blend-mode: difference;
  }
  .dcr-cursor-dot.active { opacity: 0.9; }
  .dcr-cursor-dot.big   { width: 40px; height: 40px; background: rgba(196,154,60,0.55); }
}

/* ── Blog page nav elevation (match homepage nav) ── */
body.blog nav {
  background: rgba(13,27,42,0.92);
  backdrop-filter: blur(14px);
  padding: 18px 0;
}
body.blog nav .nav-logo {
  font-family: 'Cormorant Garamond','Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.005em;
  display: flex; align-items: baseline; gap: 10px;
  text-decoration: none;
}
body.blog nav .nav-logo::after {
  content: 'CENTURY 21 TENACE REALTY';
  display: block;
  font-family: 'Inter', 'DM Sans', sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.32em;
  color: #d4aa52;
  font-weight: 600;
  margin-top: 4px;
}

/* ── Blog page hero + article typography polish ── */
body.blog .blog-hero { padding-top: 140px; }

/* ── Body fade on load (removes flash) ── */
body { opacity: 0; transition: opacity 0.6s ease; }
body.dcr-ready { opacity: 1; }
