/* Office Gallery, revision of 31 October 2026. Loaded after each page's own styles, so it wins over them. */
:root{
  --font-heading:'Fraunces',Georgia,serif;
  --color-muted:#5c5a57;
  --cafe:#7a5a41;--cafe-hondo:#5f4431;--cafe-texto:#6b4e38;
  --text-xs:14px;--text-sm:16px;--text-base:17px;--text-md:19px;
  --text-2xl:clamp(38px,3.6vw,52px);
}
html{scroll-padding-top:96px}
/* Headings: one family, written normally. */
.hero-title,.categorias-heading,.banner-cta-title,.quienes-label,.section-title,.split-dark-title,.valores-banner-title,.cta-final-title,.info-title,.form-title,.map-strip-title,.mv-card-title,.valor-name,.cat-card-name,.og-sede h2,.og-privacidad h1,.og-privacidad h2{font-family:var(--font-heading);font-weight:500;text-transform:none;letter-spacing:-.01em;line-height:1.15}
.hero-title{font-size:var(--text-2xl)}
.banner-cta-title{font-size:clamp(30px,3.4vw,44px)}
.cat-card-name{font-size:22px}
/* Small labels and buttons stay in the reading font. */
.btn,.form-btn,label,.hero-eyebrow,.section-label,.split-dark-label,.info-label,.info-item-label,.map-strip-label{font-family:var(--font-body)}
/* Buttons: darker brown fill, white letters. */
.btn,.form-btn{background:var(--cafe);color:#fff;font-size:16px;font-weight:700;letter-spacing:.02em;text-transform:none}
.btn:hover,.form-btn:hover{background:var(--cafe-hondo);color:#fff}
.btn-outline{background:transparent;color:#fff;border:1px solid #fff}
.btn-outline:hover{background:#fff;color:#1d1d1d}
/* Labels dark enough on light backgrounds. */
.section-label,.info-label,.map-strip-label,.info-item-label{color:var(--cafe-texto);letter-spacing:.08em}
.info-icon svg{stroke:var(--cafe-texto)}
.form-subtitle{color:var(--color-muted)}
.form-card form p{font-size:13px!important;opacity:1!important}
input::placeholder,textarea::placeholder{color:#6d6b68}
.cat-card-arrow{color:var(--cafe-texto)}
.quienes-body{line-height:1.7}
/* Even left edge. */
.hero-text-col{padding-left:5%}
.categorias-inner{max-width:none;margin:0 5%}
.categorias{padding:4rem 0}
/* Top bar, the same on every page. */
.og-barra{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid rgba(0,0,0,.08)}
.og-barra-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:72px;padding:0 5%}
.og-logo{display:block;flex-shrink:0}
.og-logo img{display:block;height:48px;width:auto}
.og-enlaces{display:flex;gap:40px;list-style:none;margin:0;padding:0}
.og-enlaces a{display:block;padding:10px 0;font-family:var(--font-body);font-size:16px;font-weight:700;color:#1d1d1d;text-decoration:none}
.og-enlaces a:hover{color:var(--cafe-texto)}
.og-menu{display:none;align-items:center;min-height:44px;padding:0 16px;background:#fff;border:1px solid var(--cafe);color:var(--cafe-hondo);font-family:var(--font-body);font-size:16px;font-weight:700;cursor:pointer}
/* Home: first screen. */
.visual-og .hero{min-height:620px}
.visual-og .hero-text-col{padding-top:3rem;padding-bottom:3rem}
.visual-og .hero-subtitle{font-size:19px;line-height:1.5}
.visual-og .hero-img-col img{width:100%;height:100%;min-height:620px;object-fit:cover;display:block}
/* Approved figures. */
.og-cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0 5%;background:#1d1d1d;list-style:none}
.og-cifras li{padding:2rem 1.5rem;border-right:1px solid rgba(255,255,255,.14);min-width:0}
.og-cifras li:first-child{padding-left:0}
.og-cifras li:last-child{border-right:0}
.og-cifras strong{display:block;font-family:var(--font-heading);font-size:clamp(26px,2.6vw,36px);font-weight:500;line-height:1.15;color:var(--color-primary)}
.og-cifras span{display:block;margin-top:.4rem;font-size:16px;line-height:1.4;color:#e4e1dc}
/* Headquarters and contact. */
.og-sede{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:3rem;align-items:center;padding:4rem 5%;background:var(--color-secondary)}
.og-sede-foto{margin:0}
.og-sede-foto img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.og-sede-foto figcaption{margin-top:.4rem;font-size:13px;color:var(--color-muted)}
.og-sede h2{font-size:clamp(28px,3vw,38px);margin-bottom:1rem}
.og-sede p{font-size:17px;line-height:1.6;margin-bottom:1rem}
.og-linea{display:flex;flex-direction:column;gap:4px;margin-bottom:1.5rem}
.og-linea a{color:var(--cafe-hondo);font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* Contact page: map and building side by side. */
.map-strip .og-sede-foto{flex:1;min-width:0}
.map-strip .og-sede-foto img{aspect-ratio:auto;height:260px}
.map-strip .og-sede-foto figcaption{color:#3f3d3a}
.info-item-value a{color:inherit}
/* About page: the blocks that lost an invented photo. */
.resp-grid{grid-template-columns:minmax(0,1fr);max-width:74ch}
.team-split{display:block;background:var(--color-secondary)}
.team-content{display:block;flex:none;width:100%;max-width:none;padding:0 5% 5rem;background:transparent}
.team-content .section-body{max-width:74ch}
.team-content .btn{display:inline-block;width:auto}
.hero-text{font-size:17px}
.hero-content .hero-eyebrow{color:var(--cafe-texto)}
.valor-text{font-size:15px}
/* Light letters wherever the background is dark. */
.split-dark-text,.cta-final-text,body:not(.visual-og) .hero-subtitle{color:#e4e1dc}
/* Footer, the same on every page. */
.og-pie{padding:3rem 5% 2rem;background:var(--color-light-shade)}
.og-pie-logo{display:block;height:48px;width:auto;margin-bottom:1.75rem}
.og-pie-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
.og-pie-titulo{margin:0 0 .75rem;font-family:var(--font-heading);font-size:19px;font-weight:500;color:#1d1d1d}
.og-pie p,.og-pie a{display:block;margin:0 0 .3rem;font-size:16px;line-height:1.5;color:#1d1d1d}
.og-pie a{text-decoration:none}
.og-pie a:hover{color:var(--cafe-hondo);text-decoration:underline}
.og-pie-fin{padding-top:1rem;border-top:1px solid rgba(0,0,0,.14);text-align:center}
.og-pie-fin p{font-size:15px}
/* Privacy notice, in the site's own letters. */
.og-privacidad{font-family:var(--font-body);background:#f6f4f1;font-size:17px}
.og-privacidad h2{font-size:21px;color:#1d1d1d}
.og-privacidad p,.og-privacidad li{font-size:16px;color:#2c2b29}
.og-privacidad a{color:var(--cafe-hondo)}
.og-privacidad .hero{background:#1d1d1d}
.og-privacidad .hero .sub{font-size:15px;opacity:1}
.og-privacidad .og-barra a,.og-privacidad .og-pie a{color:#1d1d1d}
@media(max-width:1024px){
  .og-sede{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .og-pie-grid{grid-template-columns:1fr 1fr}
  .og-cifras{grid-template-columns:repeat(2,minmax(0,1fr))}
  .og-cifras li:nth-child(odd){padding-left:0}
  .og-cifras li:nth-child(2){border-right:0}
  .visual-og .hero{min-height:0}
  .visual-og .hero-img-col img{min-height:0;height:360px}
  .map-strip{align-items:stretch}
}
@media(max-width:768px){
  .og-barra-in{min-height:64px;gap:1rem}
  .og-logo img{height:40px}
  .og-menu{display:inline-flex}
  .og-enlaces{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:.5rem 5% 1rem;background:#fff;border-bottom:1px solid rgba(0,0,0,.12);box-shadow:0 10px 20px rgba(0,0,0,.08)}
  .og-enlaces.abierto{display:flex}
  .og-enlaces a{padding:12px 0}
  .visual-og .hero-text-col{padding:2.25rem 5%}
  .visual-og .hero-img-col{min-height:0}
  .visual-og .hero-img-col img{height:240px}
  .categorias{padding:2.5rem 0}
  .categorias-grid{gap:1.25rem}
  .og-cifras li{padding:1.25rem .9rem}
  .banner-cta{min-height:320px}
  .quienes-img-col{min-height:0}
  .quienes-img-col img{min-height:0!important;height:240px!important}
  .og-sede{padding:2.5rem 5%}
  .og-pie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}
  .og-pie-grid>:first-child{grid-column:1/-1}
}
