::selection {
    background: rgba(239, 232, 0, 0.4);
    color: inherit;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.editorial-shadow {
    box-shadow: 0 20px 40px rgba(25, 28, 29, 0.04);
}

.glass-header {
    background: rgba(252, 249, 248, 0.7);
    backdrop-filter: blur(12px);
}

/* ── Hero entrance ── */
@keyframes rh-fade-up {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
.rh-hero-badge  { animation: rh-fade-up 0.6s ease both; animation-delay: 0.1s; }
.rh-hero-heading{ animation: rh-fade-up 0.7s ease both; animation-delay: 0.25s; }
.rh-hero-search { animation: rh-fade-up 0.7s ease both; animation-delay: 0.45s; }

/* ── Hover: property cards ── */
.rh-prop-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.rh-prop-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(25, 28, 29, 0.12);
}

/* ── Hover: area cards ── */
.rh-area-card {
    transition: transform 0.2s ease, background-color 0.2s ease;
}
.rh-area-card:hover {
    transform: translateY(-3px);
}

/* ── Hover: nav links — sliding underline ── */
.rh-nav-link {
    position: relative;
}
.rh-nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    right: 50%;
    height: 2px;
    background: #006782;
    border-radius: 2px;
    transition: left 0.2s ease, right 0.2s ease;
}
.rh-nav-link:hover::after {
    left: 8px;
    right: 8px;
}

/* ── Hover: icon tiles in contact info ── */
.rh-contact-icon {
    transition: transform 0.2s ease;
}
.rh-contact-row:hover .rh-contact-icon {
    transform: scale(1.15);
}

/* ── Hover: footer social button ── */
.rh-social-btn {
    transition: transform 0.2s ease, background-color 0.2s ease;
}
.rh-social-btn:hover {
    transform: translateY(-2px) scale(1.08);
}

/* ── Hover: primary/secondary buttons — subtle lift ── */
.rh-btn {
    transition: transform 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease;
}
.rh-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.rh-btn:active {
    transform: translateY(0);
    box-shadow: none;
}

/* ── Scroll reveal ── */
.rh-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.65s ease, transform 0.65s ease;
}
.rh-reveal.rh-from-left  { transform: translateX(-28px); }
.rh-reveal.rh-from-right { transform: translateX(28px); }
.rh-reveal.is-visible {
    opacity: 1;
    transform: translate(0, 0);
}

/* stagger siblings */
.rh-reveal:nth-child(2) { transition-delay: 0.1s; }
.rh-reveal:nth-child(3) { transition-delay: 0.2s; }
.rh-reveal:nth-child(4) { transition-delay: 0.3s; }
.rh-reveal:nth-child(5) { transition-delay: 0.4s; }
.rh-reveal:nth-child(6) { transition-delay: 0.5s; }
.rh-reveal:nth-child(7) { transition-delay: 0.6s; }
.rh-reveal:nth-child(8) { transition-delay: 0.7s; }
