/* Royals 2026: supplied Sofia Sans and complete Lato Latin/Cyrillic webfonts. */
@font-face{font-family:"Sofia Sans";src:url("SofiaSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Sofia Sans";src:url("SofiaSans-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Sofia Sans";src:url("SofiaSans-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Sofia Sans";src:url("SofiaSans-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Sofia Sans";src:url("SofiaSans-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Sofia Sans";src:url("SofiaSans-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("Lato-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("Lato-Regular.woff2") format("woff2");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("Lato-Semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("Lato-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("Lato-Heavy.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("Lato-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("Lato-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --royals-deep-lilac:#7457A7;
  --royals-wisteria:#B8A9E0;
  --royals-lavender-veil:#E5D7F0;
  --royals-indigo-velvet:#3F2971;
  --royals-dark-amethyst:#24133F;
}

/* Preserve icon fonts by applying text families to semantic text elements. */
body,
body :is(p,input,textarea,select,button,label,li,blockquote,td,th,summary),
body .elementor-widget-text-editor,
body .elementor-button,
body .jet-listing-dynamic-field__content{
  font-family:"Lato","Sofia Sans",Arial,sans-serif!important;
}
body :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title),
body :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title) :is(span,strong,b,em,a){
  font-family:"Sofia Sans","Lato",Arial,sans-serif!important;
  font-feature-settings:"locl" 1;
}

/* Two-colour headings become a single Wisteria colour, including child spans. */
body .royals-wisteria-heading,
body .royals-wisteria-heading *{
  color:var(--royals-wisteria)!important;
  -webkit-text-fill-color:var(--royals-wisteria)!important;
  background-image:none!important;
}

/* Shared brand surfaces retain their existing layout and interactions. */
body .rx-band,
body #royals-footer{
  background:var(--royals-deep-lilac)!important;
}
body .elementor-1063 > .elementor-section:not(.elementor-hidden-desktop){
  --e-global-color-primary:var(--royals-deep-lilac);
}
body #royals-footer .sbtn{
  background:var(--royals-indigo-velvet);
}
body #royals-footer .h,
body #royals-footer a,
body #royals-footer .logo-caption{
  color:#fff;
}

/* Keep the fixed enquiry action legible over every page background. */
body #royals-bottom-cta #rb-open-inquiry2{
  background:var(--royals-deep-lilac);
  color:#fff;
  border-color:#fff;
}
body #royals-bottom-cta #rb-open-inquiry2 .txt{
  color:inherit;
}
body #royals-bottom-cta #rb-open-inquiry2:is(:hover,:active,:focus-visible){
  background:var(--royals-indigo-velvet);
  color:#fff;
}
body #royals-bottom-cta #rb-open-inquiry2:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
  box-shadow:0 0 0 5px var(--royals-dark-amethyst);
}

/* Shared interaction colours must override the theme's dark-grey link hover. */
body #royals-bottom-cta .rb-btn{
  background:var(--royals-deep-lilac)!important;
  color:#fff!important;
  border-color:#fff;
  opacity:1;
}
body #royals-bottom-cta .rb-btn:is(:hover,:active,:focus-visible){
  background:var(--royals-indigo-velvet)!important;
  color:#fff!important;
  filter:none;
}
body #royals-bottom-cta .rb-btn :is(.txt,.rb-ico){color:inherit!important}

/* A stable dark navigation surface supports white and Wisteria labels. */
body .elementor-1063 .jet-mobile-menu__container-inner{
  background:var(--royals-dark-amethyst)!important;
}
body .elementor-1063 .jet-mobile-menu__items a{
  color:#fff!important;
  opacity:1!important;
}
body .elementor-1063 .jet-mobile-menu__items a *{color:inherit!important}
body .elementor-1063 .jet-mobile-menu__items a:is(:hover,:active,:focus-visible),
body .elementor-1063 .jet-mobile-menu__items .current-menu-item>a,
body .elementor-1063 .jet-mobile-menu__items a[aria-current="page"]{
  background:var(--royals-indigo-velvet)!important;
  color:var(--royals-wisteria)!important;
}
body .elementor-1063 :is(.jet-mobile-menu__toggle,.jet-mobile-menu__container-close,.elementor-button){
  color:#fff!important;
}
body .elementor-1063 .elementor-button:is(:hover,:active,:focus-visible){
  color:#fff!important;
  background:var(--royals-indigo-velvet)!important;
}

/* Wisteria headings need an Indigo surface, rather than translucent glass. */
body :is(#cta-royals-2,#cta-royals) .cta-card{
  background:var(--royals-indigo-velvet)!important;
  border-color:var(--royals-wisteria);
}
body :is(#cta-royals-2,#cta-royals) .seg{
  background:var(--royals-dark-amethyst)!important;
}
body :is(#cta-royals-2,#cta-royals) .seg::before{
  background:var(--royals-deep-lilac)!important;
}
body :is(#cta-royals-2,#cta-royals) .seg label,
body :is(#cta-royals-2,#cta-royals) .seg label:is(:hover,:active,:focus-visible){
  color:#fff!important;
}
body :is(#cta-royals-2,#cta-royals) .seg-badge>span{
  background:var(--royals-wisteria)!important;
  color:var(--royals-dark-amethyst)!important;
  border-color:var(--royals-wisteria)!important;
}
body :is(#cta-royals-2,#cta-royals) :is(.cta-input,.cta-select){
  background:var(--royals-dark-amethyst)!important;
  color:#fff!important;
  border-color:var(--royals-wisteria)!important;
}
body :is(#cta-royals-2,#cta-royals) .cta-input::placeholder{
  color:var(--royals-lavender-veil)!important;
  opacity:1;
}
body :is(#cta-royals-2,#cta-royals) .cta-select option{
  background:var(--royals-dark-amethyst)!important;
  color:#fff!important;
}
body :is(#cta-royals-2,#cta-royals) .cta-accept,
body :is(#cta-royals-2,#cta-royals) .cta-accept a{
  color:#fff!important;
  opacity:1!important;
}
body :is(#cta-royals-2,#cta-royals) .cta-accept a{text-decoration:underline}
body :is(#cta-royals-2,#cta-royals) .cta-submit{
  background:var(--royals-deep-lilac)!important;
  color:#fff!important;
  opacity:1!important;
  filter:none!important;
}
body :is(#cta-royals-2,#cta-royals) .cta-submit:is(:hover,:active,:focus-visible):not(:disabled){
  background:var(--royals-dark-amethyst)!important;
  color:#fff!important;
}
body :is(#cta-royals-2,#cta-royals) .cta-submit:disabled{
  background:var(--royals-wisteria)!important;
  color:var(--royals-dark-amethyst)!important;
}
body #cta-royals .cta-sub{color:#fff;opacity:1}
body #royals-hero-cta .cta-subtext{color:#fff!important;opacity:1!important}

/* Buyer funnel headings use the same approved Wisteria/Indigo pairing. */
body #rns-funnel-buy :is(.hero,.form-wrap){
  background:var(--royals-indigo-velvet)!important;
  color:#fff;
}
body #rns-funnel-buy :is(.hero .subtitle,.form-subtitle,.checkbox,.checkbox a){
  color:#fff!important;
  opacity:1!important;
}
body #rns-funnel-buy .checkbox a{text-decoration:underline}
body #rns-funnel-buy :is(input[type="text"],input[type="tel"]){
  background:var(--royals-lavender-veil)!important;
  color:var(--royals-dark-amethyst)!important;
}
body #rns-funnel-buy input::placeholder{color:var(--royals-indigo-velvet);opacity:1}
body #rns-funnel-buy button{
  background:var(--royals-deep-lilac)!important;
  color:#fff!important;
  opacity:1!important;
}
body #rns-funnel-buy button:is(:hover,:active,:focus-visible){background:var(--royals-dark-amethyst)!important}

/* Footer copy and icons must meet contrast on Deep Lilac, including hover. */
body #royals-footer{
  --ink:#fff;
  --muted:#fff;
  --accent:#fff;
  color:#fff;
}
body #royals-footer :is(.bottom,.bottom div,.bottom strong,.copy,.copyright,.ic){
  color:#fff!important;
  opacity:1;
}
body #royals-footer a:is(:hover,:active,:focus-visible){color:#fff!important;text-decoration:underline}
body #royals-footer .sbtn:is(:hover,:active,:focus-visible){background:var(--royals-dark-amethyst)!important}

/* Review copy is opaque; its small-print note sits on a light brand surface. */
body #royfb-reviews{background:var(--royals-lavender-veil)}
body #royfb-reviews .card{background:var(--royals-lavender-veil)!important}
body #royfb-reviews :is(.title,.sub,.text1){color:var(--royals-dark-amethyst)!important;opacity:1!important}
body #royfb-reviews .item{background:var(--royals-indigo-velvet)!important}
body #royfb-reviews :is(.name,.meta,.text){color:#fff!important;opacity:1}
body #royfb-reviews .link{color:var(--royals-wisteria)!important;text-decoration:underline}
body #royfb-reviews .link:is(:hover,:active,:focus-visible){color:#fff!important}
body #royals-popbox-root .rls-pop{background:var(--royals-indigo-velvet)!important}
body #royals-popbox-root .rls-pop__title{color:var(--royals-wisteria)!important}
body #royals-popbox-root .rls-pop__text{color:#fff!important}
body #royals-popbox-root .rls-pop__time{color:var(--royals-lavender-veil)!important;opacity:1!important}
body #royals-popbox-root :is(.rls-pop__close,.rls-pop__badge){background:var(--royals-deep-lilac)!important;color:#fff!important;filter:none!important}
body #royals-popbox-root .rls-pop__close:is(:hover,:active,:focus-visible){background:var(--royals-dark-amethyst)!important;color:#fff!important}
body #rls-root .rls-card{background:#fff!important;color:var(--royals-dark-amethyst)}
body #rls-root .rls-card .rls-item{background:#fff!important}
body #rls-root .rls-card .rls-item :is(p,strong,b){color:var(--royals-dark-amethyst)!important}
body #rls-root .rls-card .rls-item strong{color:var(--royals-deep-lilac)!important}

/* The enquiry dialog uses a light, opaque brand panel and dark labels. */
body #inquiry2-popup .inq2-modal{
  background:var(--royals-lavender-veil)!important;
  color:var(--royals-dark-amethyst);
}
body #inquiry2-popup :is(.inq2-title,label){color:var(--royals-dark-amethyst)!important}
body #inquiry2-popup :is(input:not([type="checkbox"]),textarea){
  background:#fff!important;
  color:var(--royals-dark-amethyst)!important;
  border-color:var(--royals-deep-lilac)!important;
}
body #inquiry2-popup :is(input,textarea)::placeholder{color:var(--royals-indigo-velvet);opacity:1}
body #inquiry2-popup a{color:var(--royals-indigo-velvet)!important;text-decoration:underline}
body #inquiry2-popup a:is(:hover,:active,:focus-visible){color:var(--royals-dark-amethyst)!important}
body #inquiry2-popup :is(.inq2-btn,.inq2-close){
  color:#fff!important;
  background:var(--royals-deep-lilac)!important;
  filter:none!important;
}
body #inquiry2-popup :is(.inq2-btn,.inq2-close):is(:hover,:active,:focus-visible){background:var(--royals-indigo-velvet)!important}
body #inquiry2-popup .inq2-close::before,
body #inquiry2-popup .inq2-close::after{background:#fff!important}

/* Supporting copy and inline links on the About page's light sections. */
body .elementor-1691 .elementor-element-2115905 .elementor-heading-title{
  color:var(--royals-dark-amethyst)!important;
}
body .elementor-1691 .elementor-widget-text-editor a{
  color:var(--royals-indigo-velvet)!important;
  text-decoration:underline;
}
body .elementor-1691 .elementor-widget-text-editor a:is(:hover,:active,:focus-visible){color:var(--royals-deep-lilac)!important}

/* Search labels and card details are opaque over the decorative gradients. */
body :is(.elementor-5153,.elementor-5155) .e-parent:has(select.wpgb-select){
  background:linear-gradient(180deg,var(--royals-indigo-velvet) 33%,#fff 100%)!important;
}
body :is(.elementor-5153,.elementor-5155) .e-grid:has(.wpgb-facet){
  background:var(--royals-lavender-veil)!important;
  color:var(--royals-dark-amethyst);
}
body :is(.elementor-5153,.elementor-5155) .e-grid :is(h4,.elementor-heading-title){color:var(--royals-dark-amethyst)!important}
body .wpgb-card .wpgb-card-content{background:#fff!important;color:var(--royals-dark-amethyst)}
body .wpgb-card .wpgb-block-13{background:var(--royals-deep-lilac)!important;color:#fff!important}
body .wpgb-card :is(.badge-top,.badge-ex){background:var(--royals-wisteria)!important;color:var(--royals-dark-amethyst)!important}
body #rns-funnel-buy .card{background:#fff!important}

/* Team names and links stay readable as the decorative heading gradient fades. */
body #royals-team::before{
  background:linear-gradient(180deg,var(--royals-indigo-velvet) 0%,var(--royals-indigo-velvet) 25%,transparent 100%)!important;
}
body #royals-team .card{background:#fff!important}
body #royals-team .card .link:is(:hover,:active,:focus-visible){color:var(--royals-indigo-velvet)!important}

/* Property/broker quick actions use the same contrast pair as the fixed bar. */
body .rbk1 .rbk1-btn{
  background:var(--royals-deep-lilac)!important;
  color:#fff!important;
  opacity:1;
  filter:none!important;
}
body .rbk1 .rbk1-btn:is(:hover,:active,:focus-visible){background:var(--royals-indigo-velvet)!important;color:#fff!important}
body .rbk1 .rbk1-link:is(:hover,:active,:focus-visible){color:var(--royals-indigo-velvet)!important}
body .rbk1 .rbk1-inner{background:#fff!important}
body #royals-sgradi-gallery .sg-btn{background:var(--royals-deep-lilac)!important;color:#fff!important}
body #royals-sgradi-gallery .sg-btn:is(:hover,:active,:focus-visible){background:var(--royals-indigo-velvet)!important;color:#fff!important}

body #royals-newsletter #rnl-email{
  background:var(--royals-dark-amethyst)!important;
  color:#fff!important;
  border-color:var(--royals-wisteria);
}
body #royals-newsletter #rnl-email::placeholder{color:var(--royals-lavender-veil)!important;opacity:1}
body #royals-newsletter #rnl-submit{background:var(--royals-indigo-velvet)!important;color:#fff!important}
body #royals-newsletter #rnl-submit:is(:hover,:active,:focus-visible){background:var(--royals-dark-amethyst)!important;color:#fff!important}

body .inq-modal{background:var(--royals-lavender-veil)!important;color:var(--royals-dark-amethyst)}
body .inq-modal :is(.inq-title,label){color:var(--royals-dark-amethyst)!important}
body .inq-modal :is(input:not([type="checkbox"]),textarea){background:#fff!important;color:var(--royals-dark-amethyst)!important;border-color:var(--royals-deep-lilac)!important}
body .inq-modal :is(input,textarea)::placeholder{color:var(--royals-indigo-velvet);opacity:1}
body .inq-modal a{color:var(--royals-indigo-velvet)!important;text-decoration:underline}
body .inq-modal a:is(:hover,:active,:focus-visible){color:var(--royals-dark-amethyst)!important}
body .inq-modal :is(.inq-btn,.inq-close){background:var(--royals-deep-lilac)!important;color:#fff!important;filter:none!important}
body .inq-modal :is(.inq-btn,.inq-close):is(:hover,:active,:focus-visible){background:var(--royals-indigo-velvet)!important;color:#fff!important}
body .inq-modal .inq-close::before,body .inq-modal .inq-close::after{background:#fff!important}

/* Pale metadata and inherited white links need dark ink on light documents. */
body .jet-posts :is(.post__date-link,time){color:var(--royals-indigo-velvet)!important}
body .jet-posts .post__date-link:is(:hover,:active,:focus-visible),
body .jet-posts .post__date-link:is(:hover,:active,:focus-visible) time{color:var(--royals-deep-lilac)!important;text-decoration:underline}
body :is(.elementor-3,.elementor-1506) .elementor-top-section{background:#fff!important}
body :is(.elementor-3,.elementor-1506) :is(h1,h2,h3,h4,h5,h6){color:var(--royals-indigo-velvet)!important}
body :is(.elementor-3,.elementor-1506) .elementor-widget-text-editor{color:var(--royals-dark-amethyst)!important}
body :is(.elementor-3,.elementor-1506) .elementor-widget-text-editor a{color:var(--royals-indigo-velvet)!important;text-decoration:underline}
body :is(.elementor-3,.elementor-1506) .elementor-widget-text-editor a:is(:hover,:active,:focus-visible){color:var(--royals-deep-lilac)!important}
body .elementor-1278 .elementor-element-3c3ea22,
body .elementor-1278 .elementor-element-3c3ea22>.elementor-widget-container{background:var(--royals-lavender-veil)!important;color:var(--royals-dark-amethyst)!important}

/* The separate careers hero must support its Wisteria title in either theme. */
body #hero.hero .hero-content{
  background:var(--royals-indigo-velvet);
  border:1px solid var(--royals-wisteria);
  border-radius:28px;
  padding:clamp(20px,3vw,36px);
}
body #hero.hero .hero-content>p{color:#fff!important;opacity:1}
body #hero.hero .hero-badge{
  background:var(--royals-lavender-veil);
  color:var(--royals-dark-amethyst);
}
body #hero.hero .btn-secondary{color:var(--royals-wisteria)!important}
body #hero.hero .btn-secondary:is(:hover,:active,:focus-visible){background:var(--royals-dark-amethyst)!important;color:#fff!important}
body #hero.hero .btn-primary{background:var(--royals-deep-lilac)!important;color:#fff!important}
body #hero.hero .btn-primary:is(:hover,:active,:focus-visible){background:var(--royals-dark-amethyst)!important;color:#fff!important}
body:has(#hero.hero) .btn-primary{background:var(--royals-deep-lilac)!important;color:#fff!important}
body:has(#hero.hero) .btn-primary:is(:hover,:active,:focus-visible){background:var(--royals-indigo-velvet)!important;color:#fff!important}
body .footer p>a{text-decoration:underline}

/* A two-tone focus ring stays visible on both light and dark brand surfaces. */
body :is(a,button,input,select,textarea,summary,[role="button"]):not(#wpadminbar *):focus-visible{
  outline:2px solid var(--royals-dark-amethyst)!important;
  outline-offset:3px;
  box-shadow:0 0 0 5px var(--royals-lavender-veil)!important;
}

/* The primary lockup has a different aspect ratio from the previous logo. */
body .elementor-1063 .elementor-widget-image img,
body .elementor-4983 .elementor-widget-image img,
body .elementor-4986 .elementor-widget-image img{
  width:auto!important;
  height:124px!important;
  max-width:170px;
  object-fit:contain;
}
@media(max-width:1024px){
  body .elementor-1063 .elementor-widget-image img,
  body .elementor-4983 .elementor-widget-image img{
    height:64px!important;
    max-width:90px;
  }
}
