/* CAPA DE LUJO
   Se carga después de site.css y motion.css. Reúne el acento metálico, la voz tipográfica,
   los botones, el menú a pantalla completa, la galería de servicios, las residencias,
   el pie de marca y las secciones nuevas de las páginas de servicio. */

/* TOKENS: un único acento champán sobre papel cálido y carbón */
:root{--accent:#a88b5e;--accent-light:#d3bd94;--line:rgba(168,139,94,.4);--body:#55564f;--body-dark:#c9c7bf;--charcoal:#141513;--paper:#f6f5f2;--ink:#171816}

/* TITULARES: serif en tipo título con una palabra en cursiva como acento */
.section h2,.copy h2,.about h2,.contact h2,.circle h2,.residences h2,.lifestyle h2,.svc-intro h2,.svc-process h2,.svc-cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.012em;text-transform:none}
h2 em{font-style:italic;font-weight:300;letter-spacing:-.005em}
.dark h2,.lifestyle h2,.svc-process h2{color:var(--paper)}
.dark h2 em,.acquisition h2 em,.circle h2 em,.svc-cta h2 em{color:var(--accent-light)}

/* TEXTO DE LECTURA: 16 px, peso normal y contraste suficiente */
.split-head p,.section-top p,.copy p,.management-copy p,.about p,.contact p,.residences>p,.circle p{font:400 16px/1.75 var(--sans);color:var(--body)}
.dark p,.copy p,.circle p{color:var(--body-dark)}
.pillar p{font-size:15px;line-height:1.75;font-weight:400;color:var(--body)}
.pillar h3{font-size:11px;letter-spacing:.22em;font-weight:500}

/* ANTETÍTULOS: número de sección en el color de acento con un filete */
.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:500;color:#6d6e68}
.eyebrow .num{color:var(--accent);letter-spacing:.14em;margin-right:14px}
.eyebrow .num::after{content:'';display:inline-block;width:28px;height:1px;margin-left:14px;background:var(--accent);vertical-align:middle}
.dark .eyebrow,.copy .eyebrow,.circle .eyebrow,.svc-cta .eyebrow{color:#bdb9ae}

/* MAYÚSCULAS PEQUEÑAS: nunca por debajo de 11 px en escritorio */
.list li,.inline-list,.locations,.presence,.text-link{font-size:11px}
.list li{letter-spacing:.18em}
.presence{color:var(--accent);font-weight:500}
#acquisition .inline-list span:not(:last-child)::after{color:var(--accent)}
@media(min-width:701px){.hero-bottom,.service-document .hero-foot,.service-document .hero-kicker{font-size:11px;letter-spacing:.2em}}

/* FRASE DEL HERO: serif en cursiva, sin mayúsculas */
.hero .quote{font:italic 300 clamp(21px,1.9vw,28px)/1.3 var(--serif);letter-spacing:0;text-transform:none;margin:0 0 20px;color:#fff}
.hero .hero-copy{font-size:15px;font-weight:400}

/* BOTONES: uno principal (carbón, o blanco sobre oscuro) que se rellena de champán; el secundario es un enlace */
.button{min-height:50px;padding:0 30px;font-size:11px;letter-spacing:.2em;font-weight:500;--fill:var(--accent);--fill-text:#fff;background-color:var(--ink);color:#fff;border:1px solid var(--ink)}
.button:hover,.button:focus-visible{border-color:var(--accent)}
:is(.hero,.copy,.dark,.circle,.svc-cta,.nav) .button{background-color:#fff;color:var(--ink);border-color:#fff}
:is(.hero,.copy,.dark,.circle,.svc-cta,.nav) .button:is(:hover,:focus-visible){color:#fff;border-color:var(--accent)}
.form .button{background:var(--ink) linear-gradient(var(--accent),var(--accent)) no-repeat left center/0 100%;color:#fff;border-color:var(--ink)}
.form .button:is(:hover,:focus-visible){background-size:100% 100%;border-color:var(--accent)}
.text-link{letter-spacing:.2em;font-weight:500;white-space:nowrap}
.hero-actions{flex-wrap:wrap;row-gap:20px}

/* CABECERA: logo a la izquierda; a la derecha la consulta privada y el botón de menú */
:is(.home-page,.service-document) .nav{grid-template-columns:auto 1fr;z-index:40}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:30px}
.nav .nav-cta{display:inline-flex;min-height:44px;padding:0 22px}
body.service-document .nav .nav-cta{background:#fff linear-gradient(var(--accent),var(--accent)) no-repeat left center/0 100%;color:var(--ink);border:1px solid #fff;font:500 11px var(--sans);letter-spacing:.2em}
body.service-document .nav .nav-cta:is(:hover,:focus-visible){background-size:100% 100%;color:#fff;border-color:var(--accent)}
:is(.home-page,.service-document) .menu-toggle{display:inline-flex;align-items:center;gap:14px;padding:10px 0;background:none;border:0;color:#fff;cursor:pointer;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.menu-label{min-width:3.4em;text-align:right}
.menu-icon{position:relative;display:inline-block;width:28px;height:10px}
.menu-icon i{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:top .5s var(--ease-lux),transform .5s var(--ease-lux)}
.menu-icon i:first-child{top:0}
.menu-icon i:last-child{top:9px}
.nav.menu-open .menu-icon i:first-child{top:5px;transform:rotate(45deg)}
.nav.menu-open .menu-icon i:last-child{top:5px;transform:rotate(-45deg)}
.nav.menu-open{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom-color:rgba(255,255,255,.12)!important}

/* SELECTOR DE IDIOMA: EN | ES en mayúsculas pequeñas; el idioma activo en champán */
.lang-switch{display:inline-flex;align-items:center;font:500 11px/1 var(--sans);letter-spacing:.2em}
.lang-switch>*+*{margin-left:10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.3)}
.lang-switch a{opacity:.62;transition:opacity .3s}
.lang-switch a:is(:hover,:focus-visible){opacity:1}
.lang-switch [aria-current]{color:var(--accent-light)}
.nav .lang-switch{color:#fff}
.site-menu-aside .lang-switch{margin:0 0 26px;color:var(--paper)}
.footer-bottom .lang-switch{letter-spacing:.2em}

/* MENÚ A PANTALLA COMPLETA */
html.menu-is-open{overflow:hidden}
.site-menu{position:fixed;inset:0;z-index:30;overflow-y:auto;background:#121311;color:var(--paper);opacity:0;visibility:hidden;transition:opacity .6s var(--ease-lux),visibility 0s linear .6s}
.site-menu.is-open{opacity:1;visibility:visible;transition:opacity .6s var(--ease-lux)}
.site-menu-inner{min-height:100%;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8%;align-items:center;padding:140px var(--hero-gutter) 70px}
.site-menu-main{list-style:none;margin:0;padding:0}
.site-menu-main li{overflow:hidden}
.site-menu-main a{display:flex;align-items:baseline;gap:22px;padding:5px 0;font:300 clamp(30px,3.6vw,52px)/1.12 var(--serif);color:var(--paper);transform:translateY(105%);transition:transform .9s var(--ease-out),color .3s}
.site-menu-main a .num{min-width:24px;font:500 11px var(--sans);letter-spacing:.14em;color:var(--accent)}
.site-menu-main a:is(:hover,:focus-visible){color:var(--accent-light);font-style:italic}
.site-menu.is-open .site-menu-main a{transform:none}
.site-menu.is-open .site-menu-main li:nth-child(2) a{transition-delay:.05s}
.site-menu.is-open .site-menu-main li:nth-child(3) a{transition-delay:.1s}
.site-menu.is-open .site-menu-main li:nth-child(4) a{transition-delay:.15s}
.site-menu.is-open .site-menu-main li:nth-child(5) a{transition-delay:.2s}
.site-menu.is-open .site-menu-main li:nth-child(6) a{transition-delay:.25s}
.site-menu.is-open .site-menu-main li:nth-child(7) a{transition-delay:.3s}
.site-menu.is-open .site-menu-main li:nth-child(8) a{transition-delay:.35s}
.site-menu-aside{padding-left:12%;border-left:1px solid rgba(255,255,255,.12);opacity:0;transition:opacity .8s var(--ease-lux)}
.site-menu.is-open .site-menu-aside{opacity:1;transition-delay:.35s}
.site-menu-aside .eyebrow{margin:0 0 14px;color:var(--accent)}
.site-menu-aside ul{list-style:none;margin:0 0 38px;padding:0}
.site-menu-aside li a{display:inline-block;padding:5px 0;font-size:15px;color:var(--body-dark);transition:color .3s}
.site-menu-aside li a:is(:hover,:focus-visible){color:#fff}
.site-menu-locations{margin:0;font-size:11px;letter-spacing:.2em;color:#8d8b84}

/* PRESENTACIÓN EN DOS COLUMNAS: titular a la izquierda, texto a la derecha */
.split-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:8%;align-items:end;text-align:left}
.split-head h2{margin:0}
.split-head p{margin:0 0 8px;max-width:520px}
#approach .pillars{margin-top:96px}
#approach .pillar+.pillar{border-left-color:var(--line)}
@media(min-width:701px){.motion #approach .pillar+.pillar{background-image:linear-gradient(var(--line),var(--line))}}

/* SERVICIOS DE LIFESTYLE: sección oscura con galería editorial */
.lifestyle.dark{background:var(--charcoal);color:var(--paper);text-align:left}
#lifestyle.lifestyle{padding-left:var(--hero-gutter);padding-right:var(--hero-gutter)}
.svc-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:80px}
.svc-card{grid-column:span 3;position:relative;display:block;height:clamp(300px,30vw,440px);overflow:hidden;color:#fff;isolation:isolate}
.svc-card:nth-child(n+5){grid-column:span 4;height:clamp(260px,24vw,360px)}
.svc-grid-3 .svc-card,.svc-grid-3 .svc-card:nth-child(n+5){grid-column:span 4;height:clamp(280px,26vw,380px)}
.svc-card-img{position:absolute;inset:0;background:var(--img) center/cover;filter:saturate(.85);transform:scale(1.02);transition:transform 1.6s var(--ease-out),filter 1s}
.svc-card::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,11,10,0) 35%,rgba(10,11,10,.8) 100%)}
.svc-card:is(:hover,:focus-visible) .svc-card-img{transform:scale(1.08);filter:saturate(1)}
.svc-grid .svc-card{color:#fff}
.svc-card:focus-visible{outline:1px solid var(--accent-light);outline-offset:4px}
.svc-card-body{position:absolute;left:26px;right:26px;bottom:24px;z-index:2;display:flex;flex-direction:column;gap:8px}
.svc-card .num{font:500 11px var(--sans);letter-spacing:.16em;color:var(--accent-light)}
.svc-card-title{font:400 clamp(24px,2.1vw,32px)/1.05 var(--serif)}
.svc-card-more{font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-light);opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s var(--ease-out)}
.svc-card:is(:hover,:focus-visible) .svc-card-more{opacity:1;transform:none}
@media(hover:none){.svc-card-more{opacity:1;transform:none}}

/* RESIDENCIAS SELECCIONADAS: se intuyen, no se muestran */
.residences{padding:150px var(--hero-gutter);text-align:center;background:var(--paper)}
.residences h2{margin:0 0 24px}
.residences>p{max-width:560px;margin:0 auto}
.res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:72px 0 60px;text-align:left}
.res-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#d9d6cf}
.res-img::before{content:'';position:absolute;inset:-30px;background:var(--img) center/cover;filter:blur(16px) saturate(.7)}
.res-img::after{content:'';position:absolute;inset:0;background:rgba(20,21,19,.3)}
.res-lock{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;font:500 11px var(--sans);letter-spacing:.24em;text-transform:uppercase}
.res-lock svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1}
.res-card h3{margin:22px 0 8px;font:400 26px/1.1 var(--serif)}
.res-card p{margin:0;font:500 11px var(--sans);letter-spacing:.2em;color:#6d6e68}

/* CONSULTA PRIVADA: mismo papel cálido que el resto; campos con foco champán */
.contact{background:var(--paper)}
.contact h2{max-width:8.5em}
.form input,.form select,.form textarea{font:400 15px var(--sans);border-bottom-color:rgba(23,24,22,.25);transition:border-color .3s}
.form input:focus,.form select:focus,.form textarea:focus{border-bottom-color:var(--accent)}
.form .alert{padding:14px 16px;border-left:2px solid var(--accent);background:rgba(168,139,94,.08);font-size:14px;line-height:1.6}
.form .alert.error{border-left-color:#a14a3b;background:rgba(161,74,59,.08)}

/* ABOUT: filete champán que lo separa de la consulta */
.about{position:relative}
.about::before{content:'';position:absolute;top:0;left:var(--hero-gutter);right:var(--hero-gutter);height:1px;background:var(--line)}

/* PIE DE MARCA */
.site-footer.black-footer{display:block;padding:100px var(--hero-gutter) 36px;background:var(--charcoal);color:var(--body-dark)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:5%;padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand-col img{display:block;width:170px;height:auto;margin-bottom:26px}
.footer-brand-col p{max-width:300px}
.site-footer p,.site-footer li{margin:0;font-size:14px;line-height:1.9}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer .footer-label{margin:0 0 20px;font:500 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.site-footer .footer-note{margin-top:10px;color:#8d8b84}
.site-footer a{color:var(--body-dark);transition:color .3s}
.site-footer a:is(:hover,:focus-visible){color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:28px;font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#8d8b84}

/* PÁGINAS DE SERVICIO: qué coordinamos, cómo funciona, llamada a la acción y otros servicios */
.svc-intro{padding:150px var(--hero-gutter);background:var(--paper);color:var(--ink)}
.svc-list{list-style:none;margin:90px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8%}
.svc-list li{display:flex;align-items:baseline;gap:22px;padding:24px 0;border-bottom:1px solid var(--line);font:400 clamp(20px,1.7vw,26px)/1.3 var(--serif)}
.svc-list .num{font:500 11px var(--sans);letter-spacing:.14em;color:var(--accent)}
.svc-process{padding:150px var(--hero-gutter);background:var(--charcoal);color:var(--paper)}
.svc-process h2{margin:0}
.svc-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;margin-top:80px}
.svc-step{padding-top:30px;border-top:1px solid rgba(255,255,255,.14)}
.svc-step-num{display:block;margin-bottom:26px;font:italic 300 44px/1 var(--serif);color:var(--accent-light)}
.svc-step h3{margin:0 0 14px;font:400 26px/1.15 var(--serif);color:#fff}
.svc-step p{margin:0;font-size:15px;line-height:1.75;color:var(--body-dark)}
.svc-cta{position:relative;isolation:isolate;overflow:hidden;padding:170px var(--hero-gutter);text-align:center;color:#fff}
.svc-cta::before{content:'';position:absolute;inset:0;z-index:-2;background:var(--img) center/cover}
.svc-cta::after{content:'';position:absolute;inset:0;z-index:-1;background:rgba(12,13,12,.62)}
.svc-cta h2{margin:0 0 40px;color:#fff}
.svc-cta-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:30px}
.svc-more{padding:120px var(--hero-gutter);background:var(--paper);color:var(--ink)}
.svc-more .svc-grid{margin-top:40px}

/* TABLET */
@media(max-width:980px){
  .svc-card,.svc-card:nth-child(n+5),.svc-grid-3 .svc-card,.svc-grid-3 .svc-card:nth-child(n+5){grid-column:span 6;height:300px}
  .svc-grid>.svc-card:nth-child(7),.svc-grid-3>.svc-card:nth-child(3){grid-column:span 12}
  .footer-grid{grid-template-columns:1fr 1fr;row-gap:48px}
}
@media(max-width:900px){
  .split-head{grid-template-columns:1fr;gap:28px}
  .svc-steps{grid-template-columns:1fr;gap:48px}
  .res-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}
}

/* MÓVIL */
@media(max-width:700px){
  .residences,.svc-intro,.svc-process{padding-top:96px;padding-bottom:96px}
  .svc-cta{padding-top:110px;padding-bottom:110px}
  .svc-more{padding-top:84px;padding-bottom:84px}
  .svc-list{grid-template-columns:1fr;margin-top:56px}
  .svc-grid{margin-top:56px}
  .svc-card,.svc-card:nth-child(n+5),.svc-grid-3 .svc-card,.svc-grid-3 .svc-card:nth-child(n+5){grid-column:span 12;height:260px}
  #approach .pillars{margin-top:56px}
  #approach .pillar,#approach .pillar+.pillar{border-left:0;border-top-color:var(--line)}
  .site-menu-inner{grid-template-columns:1fr;gap:44px;align-items:start;padding:110px var(--hero-gutter) 50px}
  .site-menu-main a{font-size:34px}
  .site-menu-aside{padding:36px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .nav-actions{gap:20px}
  .site-footer.black-footer{padding-top:72px}
  .footer-grid{grid-template-columns:1fr;row-gap:40px;padding-bottom:48px}
  .footer-bottom{flex-direction:column;gap:10px}
}
@media(max-width:560px){.nav .nav-cta,body.service-document .nav .nav-cta{display:none}}
@media(prefers-reduced-motion:reduce){.site-menu,.site-menu *,.svc-card *{transition:none!important}}
