@import url('https://fonts.googleapis.com/css2?family=Arsenal:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root{
  --color-bg:#ffffff;
  --color-text:#000000;
  --color-nav:#304254;
  --color-accent:#724f45;
  --color-border:#b3b3b3;
  --color-btn:#090909;
  --font:'Arsenal', Georgia, serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font);
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.25;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

.container{max-width:1400px;margin:0 auto;padding:0 6vw;}

/* ---------- NAV ---------- */
.site-nav{
  border-bottom:1px solid #eee;
}
.nav-inner{
  margin:0 auto;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.nav-links{
  display:flex;
  gap:0;
  list-style:none;
  font-size:15px;
  font-weight:400;
}
.nav-links a{color:var(--color-nav);display:inline-block;padding:16px;}
.nav-links a.active{font-weight:700;color:var(--color-nav);}
.nav-links a:hover{color:var(--color-text);}
.nav-toggle{display:none;}

/* ---------- GENERIC TWO COLUMN SECTION ---------- */
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:start;
}
.two-col .text-panel{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:2.2vw 6vw 5vw 7vw;
}
.two-col .photo-panel{
  width:100%;
}
.two-col .photo-panel img{
  width:100%;
  height:auto;
  display:block;
}
.two-col.reverse .photo-panel{order:1;}
.two-col.reverse .text-panel{order:2;}

/* ---------- HERO / INICIO ---------- */
.hero-logo{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:10px;
}
.hero-logo img{width:clamp(70px,12.5vw,210px);height:auto;}
.hero-logo h1{
  font-family:var(--font);
  font-weight:700;
  font-size:clamp(2.4rem,7vw,6.45rem);
  line-height:1.242;
  letter-spacing:.021em;
}
.hero-subtitle{
  font-family:var(--font);
  font-weight:700;
  font-size:clamp(1.15rem,2.2vw,2.02rem);
  line-height:1.242;
  letter-spacing:.016em;
  margin-bottom:34px;
}
.hero-tagline{
  font-family:var(--font);
  font-style:italic;
  font-weight:400;
  font-size:clamp(1.1rem,1.72vw,1.58rem);
  line-height:1.38;
  letter-spacing:-.022em;
  text-align:center;
  max-width:520px;
  margin-bottom:36px;
}
.hero-infobox{
  border:1px solid var(--color-border);
  padding:20px 26px;
  max-width:460px;
  text-align:center;
  font-size:clamp(1rem,1.42vw,1.3rem);
  line-height:1.39;
  letter-spacing:-.022em;
  margin-bottom:40px;
}
.hero-infobox p{margin:2px 0;}
.btn-dark{
  display:inline-block;
  background:var(--color-btn);
  color:#fff;
  padding:12px 40px;
  font-size:1.5rem;
  font-weight:400;
  text-decoration:underline;
  width:fit-content;
}
.btn-dark:hover{opacity:.85;}

/* ---------- QUIENES SOMOS ---------- */
.eyebrow{
  font-size:clamp(.95rem,1.18vw,1.08rem);
  letter-spacing:-.022em;
  margin-bottom:24px;
  color:var(--color-text);
}
h2.section-title{
  font-family:var(--font);
  font-weight:700;
  font-size:clamp(1.9rem,2.45vw,2.25rem);
  letter-spacing:.04em;
  line-height:1.3;
  margin-bottom:28px;
}
.rich-text p{
  font-size:clamp(1.2rem,1.63vw,1.5rem);
  line-height:1.5;
  text-align:justify;
  margin-bottom:20px;
}
.rich-text em{
  color:var(--color-accent);
  font-style:italic;
}

/* ---------- EQUIPO ---------- */
#equipo{
  position:relative;
  padding:7vw 6vw 5vw;
  text-align:center;
  background:#efeeea;
}
#equipo::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/equipo_bg.jpg') center/cover no-repeat;
  opacity:.5;
  z-index:0;
}
#equipo > *{position:relative;z-index:1;}
#equipo h2.section-title{text-align:center;letter-spacing:.06em;}
.equipo-sub{
  font-style:italic;
  font-weight:400;
  font-size:clamp(1.2rem,1.54vw,1.42rem);
  text-align:center;
  max-width:820px;
  margin:0 auto 56px;
  line-height:1.4;
}
.equipo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(40px,7vw,102px);
  max-width:960px;
  margin:0 auto 60px;
}
.equipo-grid figure{position:relative;overflow:hidden;border-radius:2px;}
.equipo-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:2/2.9;}
.equipo-grid figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:18px 20px;
  color:#fff;
  text-align:left;
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
}
.equipo-grid figcaption .name{font-weight:700;font-size:1.25rem;letter-spacing:-.022em;}
.equipo-grid figcaption .role{font-size:1.08rem;letter-spacing:-.022em;text-transform:uppercase;}

.brand-mini{display:inline-flex;align-items:center;gap:14px;margin:0 auto;align-self:flex-start;}
.brand-mini img{height:110px;width:auto;}
.brand-mini .name{font-family:var(--font);font-weight:700;font-size:2.9rem;line-height:1.242;letter-spacing:.021em;color:var(--color-text);}
.brand-mini .sub{font-family:var(--font);font-weight:700;font-size:.95rem;line-height:1.242;letter-spacing:.016em;margin-top:2px;color:var(--color-text);}

/* ---------- ATENCION / INFORMACION ITEM LIST ---------- */
.info-item{
  display:flex;
  gap:18px;
  margin-bottom:42px;
}
.info-item:last-child{margin-bottom:0;}
.info-item .icon{font-size:clamp(1.8rem,2.36vw,2.24rem);font-weight:700;line-height:1;flex-shrink:0;}
.info-item h3{font-size:clamp(1.2rem,1.5vw,1.42rem);font-weight:700;letter-spacing:.021em;margin-bottom:12px;}
.info-item p{font-size:clamp(1.2rem,1.5vw,1.42rem);line-height:1.5;text-align:justify;}
.panel-logo.brand-mini{margin-top:46px;margin-left:0;}

/* ---------- CONTACTO ---------- */
#contacto.two-col{min-height:auto;padding:6vw 0;}
#contacto .text-panel{padding-top:4vw;padding-bottom:4vw;}
.contact-eyebrow{
  font-size:clamp(1.4rem,2.2vw,2.08rem);
  font-weight:300;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:26px;
}
.contact-heading{
  font-style:italic;
  font-weight:400;
  font-size:clamp(1.7rem,2.65vw,2.5rem);
  line-height:1.3;
  text-align:justify;
  margin-bottom:30px;
  max-width:560px;
}
.contact-copy{
  font-size:clamp(1.2rem,1.5vw,1.42rem);
  font-weight:300;
  line-height:1.5;
  max-width:520px;
  margin-bottom:36px;
}
.contact-table{border:1px solid #333;max-width:520px;margin-left:auto;}
.contact-table .row{padding:20px 28px;border-bottom:1px solid #333;}
.contact-table .row:last-child{border-bottom:none;}
.contact-table .row.price{background:#e9e9e9;}
.contact-table label{
  display:block;
  font-size:clamp(1.2rem,1.5vw,1.42rem);
  font-weight:300;
  letter-spacing:.18em;
  margin-bottom:6px;
}
.contact-table .value{font-size:clamp(1.2rem,1.5vw,1.42rem);font-weight:300;line-height:1.1;}
.contact-table .value a{text-decoration:underline;}
.contact-table .price strong{display:block;font-size:1.25rem;font-weight:700;margin-bottom:6px;}
.contact-table .price p{font-size:clamp(1.2rem,1.5vw,1.42rem);font-weight:300;line-height:1.5;}

footer.site-footer{
  text-align:center;
  padding:28px 6vw 46px;
  font-size:.85rem;
  color:#666;
  border-top:1px solid #eee;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .two-col, .two-col.reverse{grid-template-columns:1fr;}
  .two-col .photo-panel{order:-1;}
  .two-col .text-panel{order:2;padding:12vw 7vw;}
  .hero-logo{flex-direction:column;align-items:flex-start;}
  .equipo-grid{grid-template-columns:1fr;max-width:420px;}
  .nav-inner{justify-content:center;}
  .nav-links{gap:18px;justify-content:center;font-size:14px;}
  .contact-table{margin:0 auto;}
  #contacto.two-col .text-panel{padding-bottom:0;}
}
