
:root{--black:#07110f;--gold:#b99350;--ink:#171917;--cream:#f6f3ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit}.site-header{height:92px;background:#07110f;color:#fff;display:flex;align-items:center;padding:0 4vw;gap:35px;position:relative;z-index:20}.logo{width:190px;height:78px;display:flex;align-items:center;overflow:hidden}.logo img{width:100%;height:100%;object-fit:contain}.site-header nav{display:flex;gap:25px;margin-left:auto}.site-header nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.languages{display:flex;gap:7px;align-items:center}.languages a{display:flex;align-items:center;text-decoration:none;font-size:19px}.languages b{display:none}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:690px;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15)),url('images/hero-approved.webp') center/cover;display:flex;align-items:center;color:#fff;padding:8vw}.hero-copy{max-width:900px}.hero p,.page-hero p,.heading p{letter-spacing:.24em;font-size:11px;color:#d4b16b}.hero h1,.page-hero h1{font:500 clamp(52px,6vw,95px)/.98 Georgia,serif;margin:20px 0}.hero h2,.page-hero h2{font:400 18px/1.7 Arial;max-width:750px}.gold{display:inline-block;margin-top:25px;background:var(--gold);padding:16px 25px;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.search{max-width:1200px;margin:-38px auto 0;position:relative;z-index:4;background:#fff;box-shadow:0 15px 45px #0002;display:grid;grid-template-columns:1.5fr 1fr 1fr auto}.search label{padding:18px 20px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-right:1px solid #ddd}.search input,.search select{display:block;width:100%;border:0;margin-top:8px;font-size:14px;outline:0}.search button,.contact-layout button{border:0;background:var(--black);color:#fff;padding:0 30px;text-transform:uppercase;letter-spacing:.1em}.section{max-width:1500px;margin:auto;padding:95px 5vw}.heading{margin-bottom:45px}.heading h2{font:500 clamp(40px,4vw,65px) Georgia;margin:8px 0}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.property-card{border:1px solid #e2ded5;background:#fff}.property-card img{width:100%;aspect-ratio:1.45;object-fit:cover;display:block}.property-card div{padding:20px}.property-card small{color:#766}.property-card h3{font:500 25px Georgia;margin:10px 0}.property-card p{font-weight:bold}.property-card a{text-decoration:none;border-bottom:1px solid var(--gold);font-size:12px}.international-strip{background:var(--black);color:#fff;padding:80px 4vw}.heading.light{text-align:center}.heading.light span{color:#bbb}.country-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:35px}.country-card{min-height:260px;background-size:cover;background-position:center;position:relative;text-decoration:none;display:flex;align-items:flex-end}.country-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.82))}.country-card span{position:relative;padding:20px;color:#fff}.country-card b{display:block;font:500 27px Georgia}.country-card small{display:block;margin-top:4px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ddd}.service-grid article{padding:35px;border-right:1px solid #ddd}.service-grid span{color:var(--gold)}.service-grid h3{font:500 26px Georgia}.service-grid p{color:#666;line-height:1.8}.page-hero{background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.2)),url('images/hero-approved.webp') center/cover;min-height:430px;color:#fff;padding:110px 7vw}.page-hero h1{font-size:65px}.country-grid.standalone{grid-template-columns:repeat(4,1fr)}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.editorial img{width:100%;max-height:550px;object-fit:cover}.editorial h2{font:500 50px Georgia}.editorial p{line-height:1.9;color:#555}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-layout h2{font:500 50px Georgia}.contact-layout p{line-height:2}.contact-layout form{display:grid;gap:15px}.contact-layout input,.contact-layout textarea{padding:16px;border:1px solid #ccc;font:inherit}.contact-layout textarea{min-height:170px}.contact-layout button{padding:18px}footer{background:#050c0a;color:#bbb;padding:65px 5vw 30px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:45px;font-size:13px}footer a{color:#ddd}.footer-logo{width:180px;height:150px;object-fit:contain}.copyright{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:20px}@media(max-width:1000px){.site-header nav{display:none}.menu-toggle{display:block;margin-left:auto}.site-header.open nav{display:flex;position:absolute;top:92px;left:0;right:0;background:#07110f;flex-direction:column;padding:25px}.languages{order:3}.property-grid{grid-template-columns:repeat(2,1fr)}.country-grid,.country-grid.standalone{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}}@media(max-width:650px){.site-header{height:auto;min-height:90px;flex-wrap:wrap;padding:8px 18px}.logo{width:145px;height:70px}.languages{width:100%;justify-content:center;padding-bottom:8px}.hero{min-height:620px;padding:60px 25px}.search{margin:0;grid-template-columns:1fr}.search label{border-right:0;border-bottom:1px solid #ddd}.search button{padding:18px}.property-grid,.country-grid,.country-grid.standalone,.service-grid,.editorial,.contact-layout,footer{grid-template-columns:1fr}.section{padding:70px 20px}.country-card{min-height:240px}.page-hero{padding:80px 25px}.page-hero h1{font-size:50px}}

/* 2026 premium homepage redesign — concept approved by client */
body{background:#fff}
.site-header{position:absolute;inset:0 0 auto 0;height:96px;background:linear-gradient(180deg,rgba(4,10,20,.88),rgba(4,10,20,.35),transparent);padding:10px 7vw;gap:28px;z-index:30}
.logo{width:220px;height:82px;overflow:visible;align-self:flex-start}
.logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
.site-header nav{margin-left:auto;align-self:center;gap:28px}
.site-header nav a{font-family:Georgia,serif;font-size:11px;letter-spacing:.08em;text-shadow:0 1px 5px #000}
.languages{position:absolute;right:7vw;top:12px;gap:10px}
.languages a{font-size:15px;color:#fff;gap:3px;text-shadow:0 1px 4px #000}
.languages a:after{content:attr(lang);font:600 9px/1 Arial;text-transform:uppercase}
.hero{min-height:530px;padding:145px 8vw 100px;background-position:center 52%;align-items:center;position:relative}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,25,.64) 0%,rgba(4,12,25,.35) 45%,rgba(4,12,25,.04) 75%);pointer-events:none}
.hero-copy{position:relative;z-index:2;max-width:780px}
.hero-copy>p{display:none}
.hero h1{font:400 clamp(37px,4vw,62px)/1.05 Georgia,serif;text-transform:uppercase;max-width:760px;margin:0 0 14px;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.hero h2{font:400 clamp(15px,1.45vw,21px)/1.45 Georgia,serif;max-width:720px;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.gold{margin-top:24px;padding:16px 28px;background:#c19a55;color:#fff;border:1px solid rgba(255,255,255,.15);font-family:Georgia,serif;letter-spacing:.12em}
.search{width:min(850px,72vw);margin:-58px 7vw 0 auto;grid-template-columns:1.2fr 1fr 1fr auto;background:rgba(3,13,24,.92);box-shadow:0 18px 50px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12);color:#fff}
.search label{padding:14px 15px;border-right:1px solid rgba(255,255,255,.16);color:#c8a969}
.search input,.search select{color:#fff;background:transparent;font-size:12px}
.search input::placeholder{color:#fff}.search select option{color:#111}
.search button{background:#c19a55;padding:0 26px;color:#fff;font-family:Georgia,serif}
.section{padding-top:78px}
.heading h2{font-size:clamp(34px,3.5vw,55px)}
@media(max-width:1000px){
 .site-header{height:92px;padding:7px 4vw}.logo{width:175px;height:76px}.languages{right:4vw}.site-header nav{display:none}
 .hero{min-height:550px;padding:145px 6vw 110px}.search{width:88vw;margin:-45px auto 0;grid-template-columns:1fr 1fr}.search button{padding:18px}
}
@media(max-width:650px){
 .site-header{min-height:90px;padding:5px 16px}.logo{width:145px;height:70px}.languages{position:static;width:auto;margin-left:auto;order:initial;padding:0;max-width:145px;flex-wrap:wrap;justify-content:flex-end}.languages a:after{display:none}
 .hero{min-height:610px;padding:150px 24px 110px;background-position:62% center}.hero h1{font-size:38px}.hero h2{font-size:17px}
 .search{width:calc(100% - 28px);margin:-48px auto 0;grid-template-columns:1fr}.search label{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
}

/* Final branding scale overrides */
.logo{width:290px!important;height:92px!important;flex:0 0 290px!important;}
.logo img{width:100%!important;height:100%!important;object-fit:contain!important;}
.footer-logo{width:260px!important;height:190px!important;}
@media(max-width:1180px){.logo{width:235px!important;flex-basis:235px!important}.site-header{gap:18px}.site-header nav{gap:16px}}
@media(max-width:650px){.logo{width:190px!important;height:80px!important;flex-basis:190px!important}.footer-logo{width:220px!important;height:160px!important}}

/* Official RIALESA logo supplied by the client */
.logo{
  width:320px!important;
  height:108px!important;
  flex:0 0 320px!important;
  overflow:visible!important;
}
.logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.45))!important;
}
.footer-logo{
  width:285px!important;
  height:210px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:1180px){
  .logo{width:250px!important;height:92px!important;flex-basis:250px!important}
}
@media(max-width:650px){
  .logo{width:205px!important;height:82px!important;flex-basis:205px!important}
  .footer-logo{width:235px!important;height:170px!important}
}

/* FINAL APPROVED HOMEPAGE VISUAL */
.hero{background-image:linear-gradient(90deg,rgba(2,10,20,.68) 0%,rgba(2,10,20,.36) 42%,rgba(2,10,20,.06) 72%),url('images/hero-approved.webp')!important;background-position:center center!important;background-size:cover!important;min-height:535px!important}
.site-header{background:linear-gradient(180deg,rgba(2,9,18,.78),rgba(2,9,18,.18),transparent)!important}
.international-strip{background:#020b12!important;padding:26px 1.2vw 18px!important}
.international-strip .heading{margin-bottom:12px!important}.international-strip .heading p{display:none!important}
.international-strip .heading h2{font-size:24px!important;letter-spacing:.13em;text-transform:uppercase;color:#c79b50!important;margin:0!important}
.international-strip .heading span{font-family:Georgia,serif;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#fff!important}
.country-grid{grid-template-columns:repeat(8,1fr)!important;gap:5px!important;margin-top:14px!important}
.country-card{min-height:220px!important;background-position:center!important;border-bottom:1px solid #9d7938}
.country-card b{font-size:23px!important;text-transform:uppercase}.country-card small{text-transform:uppercase;color:#d7a64c!important;font-size:10px!important}
footer{background:#020b12!important;border-top:1px solid #8f6c31;padding-top:30px!important}
@media(max-width:1100px){.country-grid{grid-template-columns:repeat(4,1fr)!important}}
@media(max-width:650px){.country-grid{grid-template-columns:repeat(2,1fr)!important}.hero{min-height:620px!important}}
/* Exact homepage composition approved on 13 July 2026 */
.exact-hero{position:relative;width:100%;background:#07111c;line-height:0;overflow:hidden}
.exact-hero>img{display:block;width:100%;height:auto;min-height:430px;object-fit:cover;object-position:center top}
.exact-hero .hotspot{position:absolute;display:block;z-index:5;background:transparent}
.hs-home{left:29.2%;top:9%;width:5.2%;height:8%}.hs-properties{left:34.8%;top:9%;width:7%;height:8%}.hs-international{left:43%;top:9%;width:10.3%;height:8%}.hs-services{left:54.8%;top:9%;width:7.5%;height:8%}.hs-about{left:64%;top:9%;width:7.8%;height:8%}.hs-contact{left:73%;top:9%;width:7.7%;height:8%}
.hs-en{left:80.2%;top:1.2%;width:3.8%;height:6%}.hs-es{left:84%;top:1.2%;width:3.8%;height:6%}.hs-fr{left:87.8%;top:1.2%;width:3.8%;height:6%}.hs-de{left:91.5%;top:1.2%;width:3.8%;height:6%}.hs-zh{left:95%;top:1.2%;width:4%;height:6%}.hs-cta{left:3.3%;top:67%;width:14.5%;height:12%}
.portugal-locations{background:#020b12;color:#fff;padding:34px 4vw 38px;text-align:center;border-top:1px solid #8f6c31;border-bottom:1px solid #8f6c31}
.portugal-locations h2{margin:0 0 24px;color:#c79b50;font:400 28px/1.2 Georgia,serif;letter-spacing:.12em}
.portugal-locations nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap}
.portugal-locations a{font:400 20px/1.2 Georgia,serif;letter-spacing:.06em;text-decoration:none;padding:0 42px;border-right:1px solid #9b7737;margin:8px 0}
.portugal-locations a:last-child{border-right:0}
@media(max-width:850px){.exact-hero>img{min-height:360px}.portugal-locations a{padding:0 22px;font-size:17px}}
@media(max-width:600px){.exact-hero{height:470px}.exact-hero>img{height:100%;width:auto;max-width:none;position:absolute;left:50%;transform:translateX(-50%)}.exact-hero .hotspot{display:none}.portugal-locations h2{font-size:22px}.portugal-locations a{width:50%;border-right:0;padding:8px;font-size:16px}}


/* Functional menu overlays on the exact approved homepage */
.exact-hero .hotspot{
  cursor:pointer;
  pointer-events:auto;
}
.exact-hero .hotspot:focus-visible{
  outline:2px solid #d2aa5d;
  outline-offset:2px;
  background:rgba(210,170,93,.10);
}
.hero-dropdowns{
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
}
.hero-dropdown{
  position:absolute;
  top:16.5%;
  min-width:220px;
  padding:10px;
  background:rgba(4,15,26,.97);
  border:1px solid rgba(199,155,76,.62);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  pointer-events:auto;
  line-height:1.3;
}
.hero-dropdown[hidden]{display:none!important}
.hero-dropdown[data-panel="properties"]{left:34%}
.hero-dropdown[data-panel="international"]{left:43.5%}
.hero-dropdown[data-panel="services"]{left:55%}
.hero-dropdown a{
  display:block;
  padding:11px 13px;
  color:#fff;
  text-decoration:none;
  font:500 13px/1.25 Arial,Helvetica,sans-serif;
  letter-spacing:.03em;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hero-dropdown a:last-child{border-bottom:0}
.hero-dropdown a:hover,
.hero-dropdown a:focus{
  color:#d6b26a;
  background:rgba(255,255,255,.06);
  outline:none;
}

.exact-mobile-toggle,
.exact-mobile-nav{display:none}

@media(max-width:600px){
  .exact-hero .hotspot{display:none!important}
  .exact-mobile-toggle{
    display:block;
    position:absolute;
    z-index:30;
    top:18px;
    right:18px;
    width:46px;
    height:42px;
    color:#fff;
    background:rgba(4,15,26,.90);
    border:1px solid #c79b4c;
    font-size:22px;
    cursor:pointer;
  }
  .exact-mobile-nav{
    position:absolute;
    display:flex;
    z-index:29;
    top:68px;
    right:18px;
    width:220px;
    flex-direction:column;
    padding:10px;
    background:rgba(4,15,26,.98);
    border:1px solid #c79b4c;
    line-height:1.3;
  }
  .exact-mobile-nav[hidden]{display:none!important}
  .exact-mobile-nav a{
    padding:12px 10px;
    color:#fff;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .exact-mobile-nav a:last-child{border-bottom:0}
}


/* Direct, fully functional links over the approved homepage artwork */
.exact-hero .hotspot{
  z-index:50!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.exact-hero .hotspot:hover{
  background:rgba(199,155,76,.08)!important;
}
.exact-hero .hotspot:focus-visible{
  outline:2px solid #d2aa5d!important;
  outline-offset:1px!important;
}
.hero-dropdowns{display:none!important}


/* ==========================================================
   REAL HTML HOMEPAGE — no screenshot used as the page
   ========================================================== */
.real-home{background:#06111c;color:#fff}
.real-header{
  position:absolute;top:0;left:0;right:0;z-index:50;
  height:118px;padding:18px 4.2vw;display:flex;align-items:center;gap:28px;
  background:linear-gradient(180deg,rgba(2,9,17,.92),rgba(2,9,17,.42),transparent)
}
.real-logo{display:block;width:250px;flex:0 0 250px}
.real-logo img{display:block;width:100%;height:88px;object-fit:contain;object-position:left center}
.real-nav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}
.real-nav a{color:#fff;text-decoration:none;text-transform:uppercase;font:600 13px/1 Arial,sans-serif;letter-spacing:.06em;padding:14px 0;border-bottom:1px solid transparent}
.real-nav a:hover,.real-nav a:focus{color:#d5b16b;border-color:#d5b16b}
.real-languages{display:flex;gap:7px;align-items:center}
.real-languages a{font-size:18px;text-decoration:none;line-height:1;filter:saturate(.9)}
.header-cta{border:1px solid #b68d49;color:#d9bd80;text-decoration:none;text-transform:uppercase;font:700 12px Arial,sans-serif;letter-spacing:.08em;padding:14px 19px}
.real-menu-toggle{display:none}
.real-hero{
  position:relative;min-height:720px;
  background:url('images/hero-approved.webp') center center/cover no-repeat;
  display:flex;align-items:center;padding:150px 5vw 125px;
}
.real-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,21,.86) 0%,rgba(3,11,21,.62) 38%,rgba(3,11,21,.18) 70%,rgba(3,11,21,.04) 100%)}
.real-hero-content{position:relative;z-index:2;max-width:760px}
.real-eyebrow{margin:0 0 22px;color:#d8b46d;text-transform:uppercase;font:600 14px/1.2 Arial,sans-serif;letter-spacing:.18em}
.real-hero h1{margin:0;color:#fff;font:500 clamp(48px,5.2vw,82px)/1.02 Georgia,serif;letter-spacing:-.025em;text-shadow:none}
.real-subtitle{max-width:700px;margin:24px 0 30px;color:rgba(255,255,255,.88);font:400 19px/1.65 Arial,sans-serif}
.gold-button{display:inline-block;padding:16px 26px;background:#b9914d;color:#fff;text-decoration:none;text-transform:uppercase;font:700 12px Arial,sans-serif;letter-spacing:.12em}
.property-search{
  position:absolute;z-index:4;left:5vw;right:5vw;bottom:-38px;
  display:grid;grid-template-columns:1fr 1.35fr 1fr 1fr auto;
  background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.28)
}
.property-search select,.property-search input,.property-search button{
  min-width:0;height:76px;border:0;border-right:1px solid #e1ded6;padding:0 20px;background:#fff;color:#383a38;font:500 14px Arial,sans-serif
}
.property-search button{border-right:0;background:#b9914d;color:#fff;text-transform:uppercase;font-weight:700;letter-spacing:.09em;cursor:pointer}
.real-portugal{padding-top:110px!important}
.section-heading{text-align:center;max-width:800px;margin:0 auto 30px}
.section-heading p{color:#6a665f;line-height:1.7}
.real-international{padding-top:72px}
@media(max-width:1180px){
  .real-header{gap:18px;padding-left:3vw;padding-right:3vw}
  .real-logo{width:210px;flex-basis:210px}.real-logo img{height:76px}
  .real-nav{gap:18px}.real-nav a{font-size:12px}
  .header-cta{display:none}
}
@media(max-width:920px){
  .real-header{height:92px;background:rgba(3,11,21,.94)}
  .real-nav{display:none;position:absolute;top:92px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#06111c;padding:15px 5vw 25px}
  .real-header.open .real-nav{display:flex}
  .real-nav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.09)}
  .real-languages{margin-left:auto}
  .real-menu-toggle{display:block;background:transparent;border:1px solid #b68d49;color:#fff;width:44px;height:40px;font-size:22px}
  .real-hero{min-height:680px;padding-top:125px}
  .property-search{grid-template-columns:1fr 1fr;bottom:-155px}
  .property-search button{grid-column:1/-1}
  .real-portugal{padding-top:230px!important}
}
@media(max-width:600px){
  .real-logo{width:170px;flex-basis:170px}.real-logo img{height:68px}
  .real-languages{display:none}
  .real-hero{min-height:620px;padding:110px 24px 160px;background-position:64% center}
  .real-hero h1{font-size:46px}
  .real-subtitle{font-size:16px}
  .property-search{left:18px;right:18px;grid-template-columns:1fr;bottom:-235px}
  .property-search select,.property-search input,.property-search button{height:58px;border-right:0;border-bottom:1px solid #e1ded6}
  .property-search button{grid-column:auto}
  .real-portugal{padding-top:310px!important}
}


/* ==========================================================
   RIALESA COOKIE CONSENT — prior-choice modal
   ========================================================== */
html.cookie-consent-open,
html.cookie-consent-open body{
  overflow:hidden!important;
}
.cookie-consent[hidden]{display:none!important}
.cookie-consent{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:22px;
}
.cookie-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,8,14,.88);
  backdrop-filter:blur(9px);
}
.cookie-panel{
  position:relative;
  z-index:2;
  width:min(680px,100%);
  max-height:min(90vh,780px);
  overflow:auto;
  padding:34px 38px 30px;
  border:1px solid rgba(196,153,78,.68);
  background:#07121e;
  color:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.62);
}
.cookie-brand img{
  display:block;
  width:220px;
  height:92px;
  margin:0 auto 8px;
  object-fit:contain;
}
.cookie-panel h2{
  margin:0 0 14px;
  text-align:center;
  color:#fff;
  font:500 clamp(28px,4vw,39px)/1.15 Georgia,serif;
}
.cookie-panel>p{
  max-width:590px;
  margin:0 auto 22px;
  color:rgba(255,255,255,.82);
  text-align:center;
  font:400 15px/1.65 Arial,sans-serif;
}
.cookie-preferences{
  margin:18px 0 22px;
  border-top:1px solid rgba(255,255,255,.13);
}
.cookie-preferences[hidden]{display:none!important}
.cookie-choice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:17px 2px;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.cookie-choice span{display:grid;gap:5px}
.cookie-choice strong{
  color:#fff;
  font:600 15px/1.2 Arial,sans-serif;
}
.cookie-choice small{
  color:rgba(255,255,255,.66);
  font:400 13px/1.45 Arial,sans-serif;
}
.cookie-choice input{
  width:22px;
  height:22px;
  flex:0 0 22px;
  accent-color:#b9914d;
}
.cookie-choice.locked input{opacity:.65}
.cookie-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.cookie-button{
  min-height:46px;
  padding:11px 17px;
  border:1px solid rgba(196,153,78,.72);
  background:transparent;
  color:#fff;
  cursor:pointer;
  font:700 12px/1 Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.cookie-button.primary{
  background:#b9914d;
  border-color:#b9914d;
}
.cookie-button.link{
  border-color:transparent;
  color:#d8b46d;
  text-decoration:underline;
  text-underline-offset:4px;
}
.cookie-button:hover,
.cookie-button:focus{
  filter:brightness(1.13);
  outline:2px solid rgba(216,180,109,.55);
  outline-offset:2px;
}
.cookie-policy-link{
  display:block;
  margin:19px auto 0;
  color:#d8b46d;
  text-align:center;
  font:500 13px/1.4 Arial,sans-serif;
}
.cookie-settings-button{
  position:fixed;
  z-index:8000;
  right:16px;
  bottom:16px;
  padding:10px 13px;
  border:1px solid #b9914d;
  background:#07121e;
  color:#fff;
  cursor:pointer;
  font:600 11px/1 Arial,sans-serif;
  letter-spacing:.04em;
}
@media(max-width:600px){
  .cookie-panel{padding:24px 20px 22px}
  .cookie-brand img{width:175px;height:72px}
  .cookie-actions{display:grid}
  .cookie-button{width:100%}
  .cookie-choice{gap:14px}
}

/* Client request: remove hero CTA and homepage property search */
.real-home .real-hero-content .gold-button,
.real-home .property-search,
.real-home .search-bar,
.real-home .hero-search {
  display:none!important;
}
.real-home .real-hero{
  padding-bottom:110px!important;
}
@media(max-width:920px){
  .real-home .real-portugal{padding-top:110px!important}
}
@media(max-width:600px){
  .real-home .real-portugal{padding-top:90px!important}
}


/* Bilingual PT/EN cookie consent */
.bilingual-cookie .cookie-panel{
  width:min(760px,100%);
  padding:30px 36px 28px;
}
.bilingual-cookie .cookie-brand img{
  width:185px;
  height:78px;
  margin-bottom:6px;
}
.cookie-language-block{
  text-align:center;
}
.cookie-language-block h2{
  margin:0 0 10px;
  color:#fff;
  font:500 clamp(27px,3.4vw,38px)/1.12 Georgia,serif;
}
.cookie-language-block p{
  max-width:650px;
  margin:0 auto;
  color:rgba(255,255,255,.82);
  font:400 14px/1.58 Arial,sans-serif;
}
.cookie-divider{
  width:72px;
  height:1px;
  margin:18px auto;
  background:#b9914d;
}
.bilingual-actions .cookie-button{
  min-width:190px;
  line-height:1.2;
}
.bilingual-actions .cookie-button span{
  display:inline-block;
  margin-top:4px;
  font-size:10px;
  opacity:.82;
  letter-spacing:.05em;
}
@media(max-width:700px){
  .bilingual-cookie .cookie-panel{padding:22px 18px 20px}
  .bilingual-actions{display:grid}
  .bilingual-actions .cookie-button{width:100%}
}


/* ==========================================================
   RIALESA — EXCELLENCE LAYOUT
   ========================================================== */
.excel-home{margin:0;background:#06111d;color:#fff;font-family:Arial,Helvetica,sans-serif}
.excel-header{
  position:absolute;z-index:60;top:0;left:0;right:0;
  display:flex;align-items:center;gap:34px;
  min-height:126px;padding:20px 3.8vw;
  background:rgba(3,11,20,.88);
  border-bottom:1px solid rgba(255,255,255,.04)
}
.excel-logo{display:block;width:225px;flex:0 0 225px}
.excel-logo img{display:block;width:100%;height:92px;object-fit:contain;object-position:left center}
.excel-nav{display:flex;justify-content:center;gap:34px;flex:1}
.excel-nav a{
  color:#fff;text-decoration:none;text-transform:uppercase;
  font:500 15px/1 Arial,sans-serif;letter-spacing:.035em;
  padding:15px 0;border-bottom:2px solid transparent
}
.excel-nav a:first-child,.excel-nav a:hover,.excel-nav a:focus{color:#d6aa57;border-color:#d6aa57}
.excel-langs{display:flex;gap:10px;align-items:center}
.excel-langs a{font-size:22px;text-decoration:none;line-height:1}
.excel-toggle{display:none}
.excel-hero{
  position:relative;min-height:825px;
  background:url('images/hero-excelencia.webp') center center/cover no-repeat;
  display:flex;align-items:center;padding:150px 4.2vw 90px
}
.excel-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,11,22,.92) 0%,rgba(3,11,22,.66) 38%,rgba(3,11,22,.12) 72%,rgba(3,11,22,.04) 100%)
}
.excel-copy{position:relative;z-index:2;max-width:680px}
.excel-copy h1{
  margin:0;color:#fff;font:500 clamp(56px,5vw,78px)/1.02 Georgia,serif;
  letter-spacing:.015em
}
.excel-copy h1 span{
  display:block;margin-top:10px;color:#d2a14f;
  font-size:.72em;letter-spacing:.035em
}
.excel-line{width:70px;height:2px;background:#d2a14f;margin:38px 0 30px}
.excel-copy p{
  max-width:560px;margin:0 0 34px;color:#fff;
  font:400 22px/1.55 Arial,sans-serif
}
.excel-cta{
  display:inline-block;padding:18px 28px;background:#c1964b;color:#fff;
  text-decoration:none;text-transform:uppercase;font:700 14px/1 Arial,sans-serif;
  letter-spacing:.08em
}
.excel-features{
  display:grid;grid-template-columns:repeat(3,1fr);
  background:#05111d;border-top:1px solid #b88d44
}
.hero-feature{
  display:block;padding:32px 7vw 38px;text-align:center;
  color:#fff;text-decoration:none;border-right:1px solid rgba(255,255,255,.04)
}
.hero-feature:last-child{border-right:0}
.feature-icon{display:block;color:#d2a14f;font-size:44px;line-height:1;margin-bottom:18px}
.hero-feature h3{
  margin:0 0 12px;color:#d2a14f;font:500 22px/1.2 Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.04em
}
.hero-feature p{margin:0 auto;max-width:380px;color:#fff;font:400 16px/1.45 Arial,sans-serif}
.hero-feature:hover{background:#081827}
@media(max-width:1120px){
  .excel-header{gap:20px;padding-left:3vw;padding-right:3vw}
  .excel-logo{width:190px;flex-basis:190px}.excel-logo img{height:78px}
  .excel-nav{gap:20px}.excel-nav a{font-size:13px}
}
@media(max-width:900px){
  .excel-header{min-height:92px;background:#06111d}
  .excel-nav{
    display:none;position:absolute;top:92px;left:0;right:0;
    flex-direction:column;gap:0;background:#06111d;padding:12px 5vw 24px
  }
  .excel-header.open .excel-nav{display:flex}
  .excel-nav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .excel-langs{margin-left:auto}
  .excel-toggle{
    display:block;width:44px;height:40px;background:transparent;
    color:#fff;border:1px solid #d2a14f;font-size:22px
  }
  .excel-hero{min-height:720px;padding-top:120px}
  .excel-features{grid-template-columns:1fr}
  .hero-feature{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
}
@media(max-width:600px){
  .excel-logo{width:160px;flex-basis:160px}.excel-logo img{height:68px}
  .excel-langs{display:none}
  .excel-hero{min-height:650px;background-position:68% center;padding:110px 24px 70px}
  .excel-copy h1{font-size:48px}
  .excel-copy p{font-size:17px}
}


/* Elegant destination graphics and expanded location lists */
.excel-features{
  align-items:stretch;
}
.hero-feature{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:310px;
  padding-top:28px!important;
}
.feature-graphic{
  display:block;
  width:92px;
  height:92px;
  margin:0 auto 13px;
}
.feature-graphic-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.28));
}
.feature-location-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:7px 0;
  max-width:490px;
  margin:0 auto;
  color:#fff;
  font:400 14px/1.45 Arial,Helvetica,sans-serif;
}
.feature-location-list span{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}
.feature-location-list span:not(:last-child)::after{
  content:"";
  width:3px;
  height:3px;
  margin:0 9px;
  border-radius:50%;
  background:#c79a4b;
  box-shadow:0 0 0 2px rgba(199,154,75,.13);
}
.hero-feature h3{
  margin-bottom:15px!important;
}
@media(max-width:900px){
  .hero-feature{
    min-height:auto;
    padding:30px 8vw 34px!important;
  }
  .feature-location-list{
    max-width:720px;
  }
}
@media(max-width:520px){
  .feature-graphic{
    width:78px;
    height:78px;
  }
  .feature-location-list{
    max-width:330px;
    font-size:13px;
  }
  .feature-location-list span:not(:last-child)::after{
    margin:0 7px;
  }
}


/* RIALESA / About page — approved Palácio da Pena image */
body.about-page .page-hero,
body.about-page .about-hero,
body.about-page .hero,
.page-rialesa .page-hero,
.page-rialesa .about-hero {
  background-image:
    linear-gradient(90deg,rgba(3,11,21,.68),rgba(3,11,21,.18)),
    url('images/rialesa-palacio-pena.webp')!important;
  background-size:cover!important;
  background-position:center 42%!important;
}
.about-hero img,
.page-rialesa main img:first-of-type{
  width:100%;
  height:auto;
  object-fit:cover;
}
