/* Approved public identity from the supplied Bellavista identity manual.
   Layout, content, media and motion controllers deliberately remain in place. */
@font-face{font-family:'Bellavista Sofia';src:url('fonts/SofiaPro-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Bellavista Sofia';src:url('fonts/SofiaPro-Regular.woff2') format('woff2');font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:'Bellavista Sofia';src:url('fonts/SofiaPro-Bold.woff2') format('woff2');font-weight:600 800;font-style:normal;font-display:swap}
@font-face{font-family:'Bellavista Sofia Support';src:url('fonts/SofiaPro-Light.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --brand-anthracite:#232323;
  --brand-beige:#d9d3c7;
  --brand-warm-grey:#a7a299;
  --brand-paper:#f4f1eb;
  --white:#f4f1eb;
  --black:#232323;
  --grey:#625f59;
  --grey-light:#716d65;
  --accent:#a7a299;
  --accent-light:#d9d3c7;
  --bg-card:#eee9df;
  --display:'Bellavista Sofia','Bellavista Sofia Support','Inter',sans-serif;
  --body:'Bellavista Sofia','Bellavista Sofia Support','Inter',sans-serif;
  --bv-serif:var(--display);
  --bv-sans:var(--body);
}
body{background:var(--brand-paper);color:var(--brand-anthracite);font-family:var(--body);font-weight:300;font-synthesis:none}
/* Keep the accompanying type light, including headings with legacy inline weights. */
body h1,body h2,body h3{font-weight:300!important}
body .header-link,body .header-login-btn,body .card-btn,body .nosotros-card-btn,body .nosotros-team-link,body .faq-answer-link,body .galeria-cta,body .primer-paso-btn{font-weight:400}
.team-heading h1,.team-profile h1,.team-portrait span,.team-card h2,.team-direction h2{font-family:var(--display)}
::selection{background:var(--brand-beige);color:var(--brand-anthracite)}
body::before{background:var(--brand-beige)}
html.intro-preload,html.intro-preload body,.intro-overlay{background:var(--brand-anthracite)}
.intro-overlay::after{background:var(--brand-beige)}
body .intro-brand.brand-intro{color:var(--brand-beige)}
body .header,body.is-scrolled .header{background:var(--brand-anthracite);border-bottom:1px solid #d9d3c724}
body .header-logo,.header-link,.header-login-btn{color:var(--brand-beige)}
.header-link:hover,.header-link.active{color:#fff}
.header-link::after{background:var(--brand-beige)}
.header-login-btn{border-color:#d9d3c76b}
.header-login-btn:hover{background:var(--brand-beige);border-color:var(--brand-beige);color:var(--brand-anthracite)}
.header-mobile-toggle span{background:var(--brand-beige)}
.nav-overlay{background:var(--brand-anthracite);color:var(--brand-beige)}
.nav-overlay a,.nav-close,.nav-overlay-title{color:var(--brand-beige)}
.nav-overlay a:hover{color:#fff}
.cards-hero{background:var(--brand-beige)}
.cards-hero::after{background:linear-gradient(180deg,#23232318,#d9d3c722 45%,#d9d3c759)}
.cards-hero-title{font-weight:300;letter-spacing:.015em;color:var(--brand-anthracite)}
.cards-hero-subtitle{font-weight:300;letter-spacing:.14em;color:var(--brand-anthracite)}
.cards-hero-title::after{background:var(--brand-anthracite);height:1px}
.card-item{background:#f4f1ebf5;border-color:#a7a2997a;box-shadow:0 18px 45px #2323230a}
.card-item:hover{border-color:var(--brand-warm-grey);box-shadow:0 20px 45px #23232312}
.card-icon{color:var(--brand-anthracite)}
.card-title{font-weight:300;font-size:25px;letter-spacing:0}
.card-desc{color:var(--grey);font-weight:300}
.card-btn,.faq-answer-link,.primer-paso-btn{color:var(--brand-anthracite);border-color:var(--brand-anthracite);background:transparent;box-shadow:none}
.card-btn:hover,.faq-answer-link:hover,.primer-paso-btn:hover{background:var(--brand-anthracite);color:var(--brand-beige);border-color:var(--brand-anthracite)}
/* Keep the CTA's nested text in sync with its background in every state. */
.home-page .galeria-cta{background:var(--brand-anthracite);color:var(--brand-paper);border-color:var(--brand-anthracite)}
.home-page .galeria-cta:is(:hover,:focus-visible){background:var(--brand-paper);color:var(--brand-anthracite);border-color:var(--brand-anthracite)}
body.home-page .galeria-cta :is(.galeria-cta-title,.galeria-cta-eyebrow,.galeria-cta-arrow){color:inherit}
.tagline-text .logo-inline{color:var(--brand-anthracite)}
.tagline-text p{color:var(--grey);font-weight:300}
.tagline-text .eyebrow,.faq-eyebrow,.telegram-cta-eyebrow{color:#716d65}
.nosotros-section{background:var(--brand-anthracite);color:var(--brand-beige)}
.nosotros-heading,.nosotros-card-name,.faq-heading,.telegram-cta-heading,.contacto-heading,.map-preview-title,.section-title,.modal-title{font-family:var(--display);font-weight:300;letter-spacing:.01em}
.nosotros-eyebrow{color:var(--brand-warm-grey)}
.nosotros-card-name{color:var(--brand-paper)}
.nosotros-card-role{color:var(--brand-beige)}
.nosotros-card{border-color:#d9d3c729}
.nosotros-card:hover{border-color:var(--brand-beige)}
.nosotros-card-btn{color:var(--brand-beige);border-color:#d9d3c785;background:#23232333}
.nosotros-card:hover .nosotros-card-btn,.nosotros-card-btn:hover,.nosotros-team-link:hover{background:var(--brand-beige);border-color:var(--brand-beige);color:var(--brand-anthracite)}
.faq-section{background:var(--brand-paper)}
.faq-panel,.faq-item{background:#f9f7f2;border-color:#a7a29959;box-shadow:none}
.faq-panel-toggle span:first-child{font-family:var(--display);font-weight:300}
.faq-question span:first-child{font-family:var(--body);font-weight:400}
.faq-item:hover,.faq-item.is-open{background:#eee9df;border-color:var(--brand-warm-grey);box-shadow:none}
.faq-panel-icon::before,.faq-panel-icon::after,.faq-icon::before,.faq-icon::after{background:var(--brand-anthracite)}
.faq-answer p,.faq-subtitle{color:var(--grey)}
.telegram-cta-section{background:var(--brand-paper)}
.telegram-cta-copy{background:var(--brand-beige);border-color:var(--brand-beige);box-shadow:none}
.telegram-cta-action{border-color:var(--brand-warm-grey);box-shadow:none}
.telegram-cta-channel{background:#f4f1eb66;border-color:#23232335;color:var(--brand-anthracite)}
.telegram-cta-button{color:var(--brand-paper)}
.telegram-cta-button:hover{background:var(--brand-anthracite);color:var(--brand-beige)}
.telegram-cta-button-badge{background:var(--brand-beige);color:var(--brand-anthracite);border-color:var(--brand-beige)}
.galeria-section{background:var(--brand-paper)}
.galeria-track{scrollbar-color:var(--brand-warm-grey) var(--brand-beige)}
.galeria-track::-webkit-scrollbar-thumb,.galeria-track::-webkit-scrollbar-thumb:hover{background:var(--brand-warm-grey)}
.galeria-scroll-hint span::after{background:var(--brand-warm-grey)}
.map-preview-section{background:var(--brand-paper)}
.map-preview-card{border-color:#a7a29988;box-shadow:none}
.contacto-directo{background:var(--brand-paper)}
.contacto-card,button.contacto-card{background:var(--brand-anthracite);border-color:var(--brand-anthracite);color:var(--brand-beige)}
.contacto-card:hover,button.contacto-card:hover{background:var(--brand-beige);border-color:var(--brand-warm-grey);color:var(--brand-anthracite)}
.contacto-card-icon,.contacto-card svg,.contacto-card-label,.contacto-card-value{color:inherit}
.public-footer{background:var(--brand-anthracite);color:var(--brand-beige);border-color:#d9d3c738}
.public-footer a{color:var(--brand-beige)}
.modal-content{background:var(--brand-paper);color:var(--brand-anthracite)}
.bv-widget-btn,.bv-widget-toggle,.blv-public-chat-toggle{background:var(--brand-anthracite)!important;color:var(--brand-beige)!important;border-color:#d9d3c759!important}
.blv-public-chat-header{background:var(--brand-anthracite);color:var(--brand-beige)}
.blv-public-chat-message-assistant{background:var(--brand-beige);color:var(--brand-anthracite)}
.blv-public-chat-toggle-pulse{background:var(--brand-beige);border-color:var(--brand-anthracite)}
.blv-public-chat,.bv-modal-title{font-family:var(--body)}
.bv-modal-title{color:var(--brand-beige)}
:focus-visible{outline:2px solid var(--brand-warm-grey);outline-offset:4px}
@media(max-width:600px){.card-title{font-size:24px}.cards-hero-title{letter-spacing:0}.cards-hero-subtitle{letter-spacing:.09em}}
