:root{
  --lion-ivory:#fcfaf5;
  --lion-cream:#f3ecdf;
  --lion-cream-deep:#e9ddc9;
  --lion-gold:#b58d43;
  --lion-gold-soft:#d9c195;
  --lion-ink:#171914;
  --lion-muted:#65675e;
  --lion-olive:#6f7658;
  --lion-line:rgba(181,141,67,.42);
  --lion-shadow:0 22px 60px rgba(51,42,25,.12);
}

body{background:var(--lion-ivory);color:var(--lion-ink)}
::selection{background:var(--lion-gold-soft);color:var(--lion-ink)}
.eyebrow{color:var(--lion-gold)}

/* Main navigation */
.topbar{
  background:rgba(252,250,245,.94);
  color:var(--lion-ink);
  border-color:var(--lion-line);
  box-shadow:0 8px 30px rgba(51,42,25,.05);
}
.brand-mark{
  border:1px solid var(--lion-gold);
  background:var(--lion-ink);
  color:#e8c982;
  box-shadow:inset 0 0 0 4px var(--lion-ink),inset 0 0 0 5px rgba(232,201,130,.4);
}
.brand em{color:var(--lion-gold)}
.nav-cta{background:var(--lion-ink);color:var(--lion-ivory);border:1px solid var(--lion-ink)}
.language-trigger{border-color:var(--lion-line);background:rgba(255,255,255,.65)}
.language-menu{border-color:var(--lion-line);box-shadow:var(--lion-shadow)}
.language-option:hover,.language-option:focus-visible{background:var(--lion-cream)}
.language-option[aria-current="true"]{background:var(--lion-ink);color:var(--lion-ivory)}

/* Main page */
.hero{
  color:var(--lion-ink);
  background:
    radial-gradient(circle at 10% 12%,rgba(111,118,88,.12),transparent 29%),
    linear-gradient(135deg,var(--lion-ivory),var(--lion-cream));
}
.hero h1 span{color:var(--lion-gold)}
.hero .lead{color:var(--lion-muted)}
.hero-image:before{border-color:var(--lion-gold)}
.hero-image img{box-shadow:var(--lion-shadow)}
.hero-image figcaption{background:rgba(23,25,20,.88);color:var(--lion-ivory);border:1px solid rgba(217,193,149,.45)}
.search-shell{background:rgba(255,255,255,.95);color:var(--lion-ink);border:1px solid var(--lion-line);box-shadow:var(--lion-shadow)}
.search-heading h2{color:var(--lion-ink)}
.search-heading a{color:var(--lion-olive)}

.penthouse{background:var(--lion-ivory);color:var(--lion-ink);border-top:1px solid var(--lion-line)}
.penthouse-copy p{color:var(--lion-muted)}
.penthouse-copy a,.penthouse-footer span{color:var(--lion-gold)}
.penthouse-gallery figure{background:var(--lion-cream);border:1px solid var(--lion-gold-soft)}
.penthouse-gallery figure:after{box-shadow:inset 0 0 0 1px rgba(181,141,67,.34)}
.penthouse-footer{border-color:var(--lion-line)}
.penthouse-footer p{color:var(--lion-ink)}

.dicaprio-feature{background:var(--lion-cream);color:var(--lion-ink);border-block:1px solid var(--lion-line)}
.dicaprio-copy>p:not(.eyebrow){color:var(--lion-muted)}
.dicaprio-copy a{color:var(--lion-olive)}
.dicaprio-grid img{border:1px solid var(--lion-gold-soft)}

.shortstay{background:linear-gradient(180deg,#fff,var(--lion-cream));color:var(--lion-ink)}
.shortstay-head>p{color:var(--lion-muted)}
.catalog-toolbar{border-color:var(--lion-line)}
.catalog-toolbar label{color:var(--lion-gold)}
.catalog-toolbar input{color:var(--lion-ink);border-color:rgba(23,25,20,.26)}
.catalog-toolbar input:focus{border-color:var(--lion-gold)}
.catalog-toolbar span{color:var(--lion-muted)}
.property-card{background:#e8dfcf;border:1px solid var(--lion-gold-soft);box-shadow:0 12px 35px rgba(51,42,25,.08)}
.property-card:after{background:linear-gradient(180deg,rgba(23,25,20,0) 30%,rgba(23,25,20,.9) 100%)}
.property-card small{color:#e8c982}
.property-card h3{color:#fff5df;text-shadow:0 2px 14px rgba(0,0,0,.78)}
.property-card a{color:#fff}
.catalog-book{color:var(--lion-ink);border-color:var(--lion-gold);background:rgba(255,255,255,.6)}

.direct{background:var(--lion-ink);color:var(--lion-ivory);border-top:5px solid var(--lion-gold)}
.direct .eyebrow,.benefits b{color:#e8c982}
.benefits p{color:#c7c5bc}
footer{background:var(--lion-ivory);color:var(--lion-muted);border-color:var(--lion-line)}
.footer-brand,footer a{color:var(--lion-ink)}

/* Residence detail pages */
.property-topbar{
  position:absolute;
  color:var(--lion-ink);
  background:linear-gradient(180deg,rgba(252,250,245,.96),rgba(252,250,245,.86));
  border-color:var(--lion-line);
  backdrop-filter:blur(16px);
}
.property-brand b{border-color:var(--lion-gold);background:var(--lion-ink);color:#e8c982}
.property-brand em,.property-topbar>a:last-child{color:var(--lion-gold)}
.property-topbar .language-trigger{border-color:var(--lion-line);background:rgba(255,255,255,.58)}
.property-topbar .language-menu{background:#fff;color:var(--lion-ink);border-color:var(--lion-line)}
.property-topbar .language-option:hover,.property-topbar .language-option:focus-visible{background:var(--lion-cream)}
.property-topbar .language-option[aria-current="true"]{background:var(--lion-ink);color:var(--lion-ivory)}
.property-hero{background:var(--lion-ivory);color:var(--lion-ink)}
.property-visual:after{background:linear-gradient(90deg,transparent 55%,var(--lion-ivory)),linear-gradient(0deg,rgba(23,25,20,.18),transparent 48%)}
.property-copy small,.gallery-heading small,.detail-grid small{color:var(--lion-gold)}
.property-copy p{color:var(--lion-muted)}
.direct-signals{color:var(--lion-olive)}
.property-gallery{background:var(--lion-cream);color:var(--lion-ink);border-color:var(--lion-line)}
.gallery-item{border-color:rgba(181,141,67,.22);background:#fff}
.gallery-item.is-active{border-color:var(--lion-gold);box-shadow:0 0 0 2px rgba(181,141,67,.18)}
.gallery-item:focus-visible{outline-color:var(--lion-ink)}
.property-details{background:var(--lion-ivory);color:var(--lion-ink);border-color:var(--lion-line)}
.facts{border-color:var(--lion-line);background:#fff;box-shadow:0 14px 38px rgba(51,42,25,.06)}
.facts div{border-color:var(--lion-line)}
.facts strong{color:var(--lion-ink)}
.facts span,.detail-grid p{color:var(--lion-muted)}
.detail-grid li{color:var(--lion-ink);border-color:rgba(181,141,67,.25)}
.detail-grid li:before{color:var(--lion-olive)}
.direct-book{background:var(--lion-ink);color:var(--lion-ivory);border:1px solid var(--lion-gold)}
.tax-note{color:#7c796f!important}
.booking{background:var(--lion-cream);color:var(--lion-ink);border-top:1px solid var(--lion-line)}
.booking small{color:var(--lion-gold)}
.booking p{color:var(--lion-muted)}
.widget-shell{border-color:var(--lion-line);box-shadow:var(--lion-shadow)}
.property-footer{background:var(--lion-ink);color:#c7c5bc;border-color:var(--lion-gold)}
.property-footer a{color:#e8c982}

/* Editorial and legal landing pages */
.landing-top{background:rgba(252,250,245,.96);border-color:var(--lion-line)}
.landing-brand b{background:var(--lion-ink);color:#e8c982;border:1px solid var(--lion-gold)}
.landing-top .book{background:var(--lion-ink);color:var(--lion-ivory);border:1px solid var(--lion-gold)}
.landing-hero{background:linear-gradient(135deg,var(--lion-ivory),var(--lion-cream))}
.landing-hero p,.landing-main>.intro,.landing-card p,.legal-main p,.legal-main li{color:var(--lion-muted)}
.landing-hero img{box-shadow:18px 18px 0 var(--lion-gold-soft)}
.landing-cta{background:var(--lion-ink);color:var(--lion-ivory);border:1px solid var(--lion-gold)}
.landing-main{background:var(--lion-ivory)}
.landing-card{border-color:var(--lion-line);box-shadow:0 12px 35px rgba(51,42,25,.06)}
.landing-card small{color:var(--lion-gold)}
.landing-card a{border-color:var(--lion-gold)}
.landing-info{background:var(--lion-ink);border:1px solid var(--lion-gold)}
.landing-info p,.landing-info li{color:#c7c5bc}
.legal-note{background:var(--lion-cream);border-color:var(--lion-olive)}
.landing-footer{background:var(--lion-ivory);border-top:1px solid var(--lion-line)}

.cookie-banner{background:var(--lion-ink);border-color:var(--lion-gold);color:var(--lion-ivory)}
.cookie-actions button{border-color:var(--lion-gold)}
.cookie-actions .cookie-accept{background:var(--lion-gold);color:var(--lion-ink)}

@media(max-width:820px){
  .property-visual:after{background:linear-gradient(0deg,var(--lion-ivory),transparent 58%)}
  .property-copy{background:var(--lion-ivory)}
}

/* Private Luxury Residence opens the homepage directly below the header. */
body[data-page="home"] .featured-residence{padding:18px 5vw 0;background:var(--lion-ivory)}
body[data-page="home"] .featured-residence-card{min-height:clamp(440px,68vh,700px);width:100%}
body[data-page="home"] .featured-residence-card>div{left:32px;right:32px;bottom:30px}
body[data-page="home"] .featured-residence-card h3{font-size:clamp(2rem,4.5vw,4rem);line-height:1.12}
@media(max-width:760px){body[data-page="home"] .featured-residence{padding:12px 18px 0}body[data-page="home"] .featured-residence-card{min-height:clamp(420px,68svh,650px)}body[data-page="home"] .featured-residence-card>div{left:22px;right:22px;bottom:24px}}
