/*
 * Royaume Signature — public visual system
 * Additive overrides only: existing routes, forms and JavaScript hooks remain intact.
 */
:root {
    --rs-night: #071a2b;
    --rs-night-soft: #102b40;
    --rs-emerald: #0f4b43;
    --rs-emerald-deep: #0a3732;
    --rs-copper: #a96f2d;
    --rs-copper-light: #d3aa6c;
    --rs-ivory: #f7f3eb;
    --rs-paper: #fffdf9;
    --rs-ink: #0c2232;
    --rs-muted: #66727a;
    --rs-line: #e5ded2;
    --rs-shadow: 0 22px 65px rgba(7, 26, 43, .10);
    --rs-shadow-soft: 0 12px 34px rgba(7, 26, 43, .07);
    --rs-radius: 14px;
}

html { scroll-behavior: smooth; }
body {
    background: var(--rs-ivory) !important;
    color: var(--rs-ink) !important;
    text-rendering: optimizeLegibility;
}
body::selection { background: rgba(15, 75, 67, .18); }

.mi2,
.mi2-shell {
    --ink: var(--rs-ink) !important;
    --muted: var(--rs-muted) !important;
    --line: var(--rs-line) !important;
    --paper: var(--rs-paper) !important;
    --soft: var(--rs-ivory) !important;
    --gold: var(--rs-copper) !important;
    --gold-dark: #86531f !important;
    --mi2-ink: var(--rs-ink) !important;
    --mi2-muted: var(--rs-muted) !important;
    --mi2-line: var(--rs-line) !important;
    --mi2-gold: var(--rs-copper) !important;
    --mi2-gold-dark: #86531f !important;
    --mi2-night: var(--rs-night) !important;
}

.mi2-shell-top,
.mi2-top {
    height: 82px !important;
    background: rgba(255, 253, 249, .96) !important;
    border-bottom-color: rgba(7, 26, 43, .08) !important;
    box-shadow: 0 8px 30px rgba(7, 26, 43, .035);
    backdrop-filter: blur(16px);
}
.mi2-shell-wrap,
.mi2-wrap { width: min(1440px, calc(100% - 80px)) !important; }
.mi2-shell-links,
.mi2-links { gap: 26px !important; color: var(--rs-night); }
.mi2-shell-links a,
.mi2-links a { position: relative; }
.mi2-shell-links > a::after,
.mi2-links > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -9px;
    height: 1px;
    background: var(--rs-copper);
    transition: right .2s ease;
}
.mi2-shell-links > a:hover::after,
.mi2-links > a:hover::after { right: 0; }
.mi2-network-claim {
    color: var(--rs-copper) !important;
    letter-spacing: .10em !important;
}
.mi2-shell-actions,
.mi2-head-actions { gap: 14px !important; }
.rs-sell-cta {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid var(--rs-emerald);
    border-radius: 3px;
    background: var(--rs-emerald);
    color: #fff !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .025em;
    white-space: nowrap;
    transition: background .2s ease, transform .2s ease;
}
.rs-sell-cta:hover { background: var(--rs-emerald-deep); transform: translateY(-1px); }

.mi2-hero {
    min-height: 520px !important;
    background: var(--rs-night) !important;
}
.mi2-hero::after {
    background:
        linear-gradient(90deg, rgba(7, 26, 43, .82), rgba(7, 26, 43, .38) 48%, rgba(7, 26, 43, .08)) !important;
}
.mi2-hero-copy { padding-top: 94px !important; max-width: 1040px !important; }
.mi2-hero-copy h1 {
    max-width: 1000px;
    font-size: clamp(48px, 4.7vw, 68px) !important;
    line-height: .99 !important;
    letter-spacing: -.025em !important;
    text-wrap: balance;
}
.mi2-hero-copy h1 span { color: var(--rs-copper-light) !important; }
.mi2-hero-copy p { max-width: 680px !important; font-size: 19px !important; line-height: 1.65; }
.mi2-search-layer { margin-top: -52px !important; }
.mi2-search {
    max-width: 1220px !important;
    border-radius: var(--rs-radius) !important;
    border-color: rgba(255,255,255,.8) !important;
    box-shadow: 0 28px 80px rgba(7, 26, 43, .22) !important;
}
.mi2-tabs .active::after { background: var(--rs-emerald) !important; height: 3px !important; }
.mi2-btn,
.mi2 a.mi2-btn {
    border-radius: 5px !important;
    background: var(--rs-emerald) !important;
    box-shadow: none !important;
}
.mi2-btn:hover,
.mi2 a.mi2-btn:hover { background: var(--rs-emerald-deep) !important; }
.mi2-btn.secondary,
.mi2 a.mi2-btn.secondary { background: #fff !important; color: var(--rs-ink) !important; }

.mi2-property,
.mi2-quick-card,
.mi2-conversion article,
.pa-card,
.agent-personal-panel,
.agent-personal-top-card {
    border-color: var(--rs-line) !important;
    border-radius: var(--rs-radius) !important;
    box-shadow: var(--rs-shadow-soft) !important;
}
.mi2-property,
.pa-card { transition: transform .22s ease, box-shadow .22s ease; }
.mi2-property:hover,
.pa-card:hover { transform: translateY(-5px); box-shadow: var(--rs-shadow) !important; }
.mi2-photo img,
.pa-photo { transition: transform .55s cubic-bezier(.2,.75,.25,1); }
.mi2-property:hover .mi2-photo img,
.pa-card:hover .pa-photo { transform: scale(1.035); }
.mi2-price,
.agent-personal-listing .mi2-price { color: var(--rs-emerald) !important; }
.mi2-title,
.pa-card h3 { color: var(--rs-night) !important; }

.mi2-section-head h2,
.mi2-seller h2,
.mi2-off h2,
.pa h1,
.pa-head h2,
.agent-personal h1,
.agent-personal h2,
.luxury-results-header h1 {
    color: var(--rs-night);
    letter-spacing: -.025em;
    text-wrap: balance;
}
.mi2-more,
.pa-profile { color: var(--rs-emerald) !important; }
.mi2-seller,
.mi2-local-guide,
.mi2-mapbox,
.mi2-trust,
.mi2-alert,
.mi2-kingdom-manifesto {
    border-radius: var(--rs-radius) !important;
}

.pa-hero {
    background:
        radial-gradient(circle at 82% 12%, rgba(211,170,108,.20), transparent 34%),
        linear-gradient(130deg, var(--rs-night), var(--rs-emerald)) !important;
}
.pa-hero h1 { color: #fff !important; }
.pa-hero p { color: rgba(255,255,255,.86) !important; }
.pa-filter { border-radius: var(--rs-radius) !important; box-shadow: var(--rs-shadow) !important; }
.pa-btn,
.agent-personal-btn.gold {
    background: var(--rs-emerald) !important;
    border-color: var(--rs-emerald) !important;
    color: #fff !important;
}
.pa-btn.alt {
    background: var(--rs-paper) !important;
    border-color: var(--rs-line) !important;
    color: var(--rs-night) !important;
}
.agent-personal-hero::after {
    background: linear-gradient(90deg, rgba(7,26,43,.88), rgba(7,26,43,.48), rgba(7,26,43,.18)) !important;
}
.agent-personal-hero h1 { color: #fff !important; }
.agent-personal-hero-copy { max-width: 760px; }
.agent-personal-identity .agent-personal-avatar { display: none !important; }
.agent-personal-identity { align-items: flex-start !important; }
.agent-personal-identity-line { color: var(--rs-copper-light) !important; }
.agent-personal-lead { color: rgba(255,255,255,.88) !important; max-width: 700px; }
.agent-personal-status,
.agent-personal-kicker { color: var(--rs-copper-light) !important; }
.agent-personal-top-card {
    border: 1px solid rgba(255,255,255,.72) !important;
    background: rgba(255,253,249,.96) !important;
    backdrop-filter: blur(14px);
}
.agent-personal-contact a { color: var(--rs-night) !important; }
.agent-personal-stats { background: var(--rs-night) !important; }
.agent-personal-stat strong { color: var(--rs-copper-light) !important; }

/* Legacy public content receives the same surface language without changing markup. */
main .card,
main .modal-content,
main .dropdown-menu,
main .accordion-item,
main .list-group-item {
    border-color: var(--rs-line);
}
main .card { border-radius: var(--rs-radius); box-shadow: var(--rs-shadow-soft); }
main .form-control,
main .form-select,
main .input-1,
main input:not([type="checkbox"]):not([type="radio"]),
main select,
main textarea {
    border-color: #dcd5c9;
    border-radius: 6px;
}
main .form-control:focus,
main .form-select:focus,
main input:focus,
main select:focus,
main textarea:focus {
    border-color: var(--rs-emerald);
    box-shadow: 0 0 0 3px rgba(15,75,67,.10);
}
main .btn-primary,
main .btn-action {
    background: var(--rs-emerald);
    border-color: var(--rs-emerald);
}

.mi2-shell-footer {
    background:
        radial-gradient(circle at 8% 0, rgba(15,75,67,.42), transparent 32%),
        var(--rs-night) !important;
    border-top: 1px solid rgba(211,170,108,.25);
}

@media (max-width: 1200px) {
    .rs-sell-cta { display: none; }
    .mi2-shell-wrap,
    .mi2-wrap { width: min(100% - 44px, 1440px) !important; }
}
@media (max-width: 700px) {
    .mi2-shell-top,
    .mi2-top { height: 70px !important; }
    .mi2-shell-wrap,
    .mi2-wrap { width: min(100% - 28px, 1440px) !important; }
    .mi2-hero { min-height: 490px !important; }
    .mi2-hero-copy { padding-top: 58px !important; }
    .mi2-hero-copy h1 { font-size: clamp(41px, 12vw, 58px) !important; }
    .mi2-search-layer { margin-top: -34px !important; padding-inline: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Naya: factual, language-based property search */
.naya{position:fixed;right:24px;bottom:22px;z-index:1050;font-family:Inter,Arial,sans-serif}.naya-trigger{min-height:58px;display:flex;align-items:center;gap:10px;padding:0 20px;border:1px solid rgba(211,170,108,.55);background:var(--rs-night);color:#fff;box-shadow:0 18px 55px rgba(7,26,43,.28);cursor:pointer}.naya-trigger strong{font-size:15px;letter-spacing:.13em}.naya-trigger small{color:var(--rs-copper-light);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.naya-pulse{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--rs-copper);box-shadow:0 0 0 0 rgba(211,170,108,.55);animation:nayaPulse 2s infinite}.naya-panel{position:absolute;right:0;bottom:70px;width:min(390px,calc(100vw - 32px));padding:22px;background:linear-gradient(145deg,var(--rs-night),#103a36);color:#fff;border:1px solid rgba(211,170,108,.42);box-shadow:0 28px 85px rgba(7,26,43,.5)}.naya-panel[hidden]{display:none}.naya-panel header{display:flex;align-items:center;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid rgba(255,255,255,.14)}.naya-panel header>div{display:flex;align-items:center;gap:10px;letter-spacing:.13em}.naya-close{border:0;background:transparent;color:rgba(255,255,255,.65);font-size:25px;cursor:pointer}.naya-intro>span{display:block;margin-top:18px;color:var(--rs-copper-light);font:700 22px/1 Georgia,serif}.naya-intro p{margin:8px 0 17px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.55}.naya-examples{display:grid;gap:8px}.naya-examples button{padding:11px 12px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.18);color:#fff;text-align:left;font-size:11px;line-height:1.4;cursor:pointer}.naya-examples button:hover{border-color:var(--rs-copper)}.naya form{margin-top:14px}.naya form label{display:flex;margin:0;padding:5px;background:#fff}.naya form input{width:100%;min-width:0;height:46px;padding:0 12px;border:0!important;outline:0;box-shadow:none!important;color:var(--rs-night);font-size:13px}.naya form button{width:48px;flex:0 0 48px;border:0;background:var(--rs-copper);color:var(--rs-night);font-size:20px;cursor:pointer}.naya-criteria{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.naya-criteria span{padding:5px 7px;border:1px solid rgba(211,170,108,.3);color:var(--rs-copper-light);font-size:9px;font-weight:800}.naya-note{display:block;margin-top:10px;color:rgba(255,255,255,.43);font-size:8px;text-align:center}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes nayaPulse{70%{box-shadow:0 0 0 9px rgba(211,170,108,0)}}@media(max-width:700px){.naya{right:14px;bottom:14px}.naya-trigger{min-height:52px;padding:0 15px}.naya-trigger small{display:none}.naya-panel{bottom:62px}.naya-panel{max-height:calc(100dvh - 90px);overflow:auto}}
