/* ─────────────────────────────────────────────────────────────
   OLMA GROUP — Design System
   Warm Corporate Luxury · walnut / ivory / charcoal / champagne
   ───────────────────────────────────────────────────────────── */
:root{
  --walnut:#6B432F;
  --cocoa:#4B2E22;
  --ivory:#F5EFE7;
  --sand:#D9C9B7;
  --gold:#C8A46A;
  --taupe:#7A786C;
  --charcoal:#1E1C1A;
  --ivory-deep:#EFE7DA;
  --linea:rgba(30,28,26,.12);
  --linea-gold:rgba(200,164,106,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--ivory);color:var(--charcoal);
  line-height:1.7;font-size:16px;
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Cormorant Garamond',serif}
::selection{background:var(--gold);color:#fff}

/* ── Navegación ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:90;
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 5vw;transition:background .35s, box-shadow .35s, padding .35s;
}
nav.solida{
  background:rgba(30,28,26,.97);
  box-shadow:0 1px 24px rgba(0,0,0,.22);
  padding:14px 5vw;
}
nav .logo{
  font-family:'Cormorant Garamond',serif;text-decoration:none;
  color:var(--ivory);line-height:1.05;text-align:left;
}
nav .logo .l1{font-size:24px;font-weight:700;letter-spacing:.22em;display:block}
nav .logo .l2{
  font-family:'Inter',sans-serif;font-size:8.5px;font-weight:600;
  letter-spacing:.34em;color:var(--gold);display:block;margin-top:3px;
}
nav .links{display:flex;gap:30px;align-items:center}
nav .links a{
  color:#DCD5C9;text-decoration:none;font-size:12px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;transition:color .2s;
}
nav .links a:hover{color:var(--gold)}
nav .links a.activa{color:var(--gold)}
nav .links a.portal{
  border:1px solid var(--linea-gold);border-radius:2px;padding:9px 20px;
  color:var(--gold);
}
nav .links a.portal:hover{background:rgba(200,164,106,.1)}
#lang-toggle{
  font:inherit;font-size:11.5px;font-weight:600;letter-spacing:.14em;
  background:none;border:1px solid rgba(220,213,201,.35);border-radius:2px;
  color:#DCD5C9;padding:8px 14px;cursor:pointer;transition:all .2s;
}
#lang-toggle:hover{border-color:var(--gold);color:var(--gold)}
#nav-burger{display:none;background:none;border:none;cursor:pointer;padding:6px}
#nav-burger span{display:block;width:22px;height:1.5px;background:var(--ivory);margin:5px 0;transition:all .25s}
@media(max-width:960px){
  nav .links{
    display:none;position:fixed;inset:0;background:rgba(30,28,26,.985);
    flex-direction:column;justify-content:center;gap:34px;
  }
  nav .links.abierto{display:flex}
  nav .links a{font-size:15px}
  #nav-burger{display:block;z-index:95;position:relative}
  nav .links #lang-toggle{font-size:14px}
}

/* ── Hero oscuro (pared) ── */
.hero{
  position:relative;color:var(--ivory);overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:
    radial-gradient(1200px 600px at 50% -20%, rgba(200,164,106,.10), transparent 55%),
    repeating-linear-gradient(92deg,
      rgba(255,255,255,.014) 0px, rgba(0,0,0,.05) 3px,
      rgba(255,255,255,.010) 6px, rgba(0,0,0,.035) 11px),
    linear-gradient(170deg,#241610 0%, var(--cocoa) 42%, #3E2519 76%, #2A1A12 100%);
}
.hero::after{
  content:"";position:absolute;left:10%;right:10%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--linea-gold),transparent);
}
.hero-int{max-width:900px;padding:170px 24px 120px;position:relative}
.hero .marca-olma{
  font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--gold);
  letter-spacing:.24em;line-height:1;
}
.hero .descriptor{
  font-size:12px;font-weight:600;letter-spacing:.4em;color:#E8DFCE;
  text-transform:uppercase;margin-top:22px;
}
.hero .descriptor .sep{color:var(--gold);padding:0 6px}
.hero h1{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(27px,3.6vw,42px);line-height:1.3;color:#F2ECE0;
  margin-top:46px;letter-spacing:.01em;
}
.hero .sub{
  margin-top:24px;color:#C9BFAF;font-size:15.5px;max-width:56ch;
  margin-left:auto;margin-right:auto;font-weight:400;
}
.hero .cta{margin-top:48px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ── Botones ── */
.btn{
  display:inline-block;text-decoration:none;font-size:12.5px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;border-radius:2px;
  padding:16px 36px;transition:all .25s;
}
.btn-gold{background:var(--gold);color:#241610}
.btn-gold:hover{background:#B8935A}
.btn-linea{border:1px solid rgba(242,236,224,.4);color:var(--ivory)}
.btn-linea:hover{border-color:var(--gold);color:var(--gold)}
.btn-oscuro{background:var(--charcoal);color:var(--ivory)}
.btn-oscuro:hover{background:#33302C}

/* ── Secciones ── */
section{padding:110px 5vw}
.int{max-width:1100px;margin:0 auto}
.etiqueta{
  font-size:11px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:22px;
  display:flex;align-items:center;gap:16px;
}
.etiqueta::before{content:"";width:36px;height:1px;background:var(--gold)}
h2.titulo{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(30px,3.8vw,46px);color:var(--charcoal);line-height:1.2;
  max-width:22ch;
}
.seccion-oscura{background:var(--charcoal);color:var(--ivory)}
.seccion-oscura h2.titulo{color:var(--ivory)}
.seccion-walnut{
  color:var(--ivory);
  background:
    repeating-linear-gradient(92deg,
      rgba(255,255,255,.012) 0px, rgba(0,0,0,.04) 3px,
      rgba(255,255,255,.008) 6px, rgba(0,0,0,.03) 11px),
    linear-gradient(160deg,var(--walnut) 0%,var(--cocoa) 100%);
}
.seccion-walnut h2.titulo{color:var(--ivory)}
.seccion-sand{background:var(--ivory-deep)}
.dos-col{display:grid;grid-template-columns:5fr 6fr;gap:70px;align-items:start;margin-top:0}
@media(max-width:860px){.dos-col{grid-template-columns:1fr;gap:34px}}
.prosa p{color:#4A453E;font-size:15.5px;margin-bottom:18px}
.prosa p strong{color:var(--charcoal);font-weight:600}
.seccion-oscura .prosa p,.seccion-walnut .prosa p{color:#CFC6B6}
.seccion-oscura .prosa p strong,.seccion-walnut .prosa p strong{color:var(--ivory)}
.cita{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;
  font-size:clamp(22px,2.6vw,30px);line-height:1.45;color:var(--walnut);
  max-width:26ch;
}
.seccion-oscura .cita,.seccion-walnut .cita{color:var(--gold)}

/* ── Pilares / tarjetas ── */
.pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linea);
  border:1px solid var(--linea);margin-top:64px}
@media(max-width:860px){.pilares{grid-template-columns:1fr}}
.pilar{background:var(--ivory);padding:52px 40px;transition:background .3s}
.pilar:hover{background:#FBF7F0}
.pilar .num{
  font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gold);
  letter-spacing:.28em;margin-bottom:26px;display:block;
}
.pilar h3{
  font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:600;
  color:var(--charcoal);margin-bottom:6px;
}
.pilar .sub-pilar{
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--taupe);font-weight:600;margin-bottom:20px;
}
.pilar p{font-size:14px;color:#4A453E;margin-bottom:20px}
.pilar ul{list-style:none}
.pilar li{
  font-size:13.5px;color:var(--charcoal);padding:9px 0;
  border-top:1px solid var(--linea);
}
.pilar li:last-child{border-bottom:1px solid var(--linea)}
.pilar .mas{
  display:inline-block;margin-top:24px;font-size:11.5px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--walnut);
  text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px;
}
.pilar .mas:hover{color:var(--gold)}

/* ── Lista editorial (áreas) ── */
.areas{margin-top:56px;border-top:1px solid var(--linea)}
.area{
  display:grid;grid-template-columns:70px 1fr 2fr;gap:30px;align-items:baseline;
  padding:30px 0;border-bottom:1px solid var(--linea);
}
@media(max-width:720px){.area{grid-template-columns:1fr;gap:6px;padding:24px 0}}
.area .a-num{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--gold);letter-spacing:.2em}
.area h4{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:600;color:var(--charcoal)}
.area p{font-size:14px;color:#4A453E}
.seccion-sand .area{border-color:rgba(30,28,26,.14)}

/* ── Rasgos (approach) ── */
.rasgos{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:60px}
@media(max-width:860px){.rasgos{grid-template-columns:1fr;gap:30px}}
.rasgo .r-num{
  font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--gold);
  font-weight:500;display:block;margin-bottom:14px;
}
.rasgo h4{
  font-size:12px;letter-spacing:.26em;text-transform:uppercase;
  margin-bottom:12px;font-weight:600;
}
.rasgo p{font-size:14px;opacity:.82}

/* ── Banner portal ── */
.banner-portal{text-align:center}
.banner-portal h2{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(28px,3.4vw,42px);
}
.banner-portal p{max-width:58ch;margin:20px auto 40px;font-size:15px;opacity:.85}

/* ── Ubicación ── */
.ubi-grid{display:grid;grid-template-columns:340px 1fr;gap:50px;margin-top:56px;align-items:stretch}
@media(max-width:820px){.ubi-grid{grid-template-columns:1fr;gap:28px}}
.ubi-datos{display:flex;flex-direction:column;gap:30px}
.ubi-item h4{
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:10px;font-weight:600;
}
.ubi-item p{color:var(--charcoal);font-size:15px;line-height:1.75}
.ubi-item a{color:var(--walnut);font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold)}
.ubi-mapa{
  border:1px solid var(--linea);min-height:400px;overflow:hidden;
  filter:sepia(.14) saturate(.9);
}
.ubi-mapa iframe{width:100%;height:100%;min-height:400px;border:0;display:block}

/* ── Formulario ── */
form.olma-form{margin-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:760px}
form.olma-form .full{grid-column:1/-1}
@media(max-width:640px){form.olma-form{grid-template-columns:1fr}}
label{
  display:block;font-size:10.5px;font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;color:var(--charcoal);margin-bottom:10px;
}
input,textarea{
  width:100%;padding:14px 16px;border:1px solid rgba(30,28,26,.22);
  border-radius:2px;font:inherit;font-size:14.5px;background:#FDFBF7;
  color:var(--charcoal);transition:border-color .2s;
}
input:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:130px;resize:vertical}
.form-msg{display:none;grid-column:1/-1;border-radius:2px;padding:14px 16px;font-size:14px}
.form-msg.ok{display:block;background:#EDE7D8;color:#5A4A2E}
.form-msg.error{display:block;background:#F3E3DC;color:#8A4630}
button.btn{border:none;cursor:pointer;font-family:inherit}
button.btn:disabled{opacity:.55;cursor:wait}

/* ── Footer ── */
footer{background:var(--charcoal);color:#9A938A;padding:70px 5vw 50px;text-align:center}
footer .f-logo{
  font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;
  letter-spacing:.24em;color:var(--gold);
}
footer .f-desc{
  font-size:9.5px;letter-spacing:.38em;text-transform:uppercase;
  color:#DCD5C9;margin-top:8px;font-weight:600;
}
footer .f-desc .sep{color:var(--gold);padding:0 5px}
footer .f-linea{
  width:60px;height:1px;background:var(--linea-gold);margin:34px auto;
}
footer .f-dir{font-size:13px;line-height:1.9}
footer .f-links{margin-top:26px;display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
footer .f-links a{
  color:#BDB5A8;text-decoration:none;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:500;
}
footer .f-links a:hover{color:var(--gold)}
footer .f-copy{margin-top:36px;font-size:12px;color:#6E675E}

/* ── Sub-hero (páginas internas) ── */
.sub-hero{
  color:var(--ivory);text-align:left;position:relative;
  background:
    radial-gradient(900px 400px at 80% -10%, rgba(200,164,106,.12), transparent 55%),
    repeating-linear-gradient(92deg,
      rgba(255,255,255,.012) 0px, rgba(0,0,0,.045) 3px,
      rgba(255,255,255,.008) 6px, rgba(0,0,0,.03) 11px),
    linear-gradient(165deg,#241610 0%,var(--cocoa) 55%,#3A2418 100%);
}
.sub-hero .int{padding:190px 0 100px}
.sub-hero .rama{
  font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--gold);
  font-size:clamp(38px,5.4vw,64px);letter-spacing:.16em;line-height:1.05;
}
.sub-hero .rama-desc{
  font-size:11.5px;font-weight:600;letter-spacing:.36em;text-transform:uppercase;
  color:#E8DFCE;margin-top:18px;
}
.sub-hero .rama-sub{margin-top:34px;color:#C9BFAF;font-size:16px;max-width:58ch}
.sub-hero::after{
  content:"";position:absolute;left:10%;right:10%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--linea-gold),transparent);
}
.migas{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#9A8E7C;
  margin-bottom:30px;
}
.migas a{color:var(--gold);text-decoration:none}
