:root{
  --cream:#f5efe8;
  --paper:#fffdfa;
  --ink:#191511;
  --muted:#71675f;
  --gold:#b78c56;
  --gold2:#dcc09a;
  --line:#e4d8cc;
  --dark:#171411;
  --max:1240px;
  --shadow:0 28px 80px rgba(29,19,11,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
button,input,textarea,select{font:inherit}
.container{width:min(92%,var(--max));margin:auto}
.serif,h1,h2,h3{font-family:Georgia,"Times New Roman",serif}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.72rem;
  font-weight:800;
  color:var(--gold);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  font-weight:800;
  border:1px solid transparent;
  transition:.25s ease;
}
.btn-dark{background:var(--dark);color:#fff}
.btn-dark:hover{transform:translateY(-2px);background:#000}
.btn-light{background:#fff;color:#111}
.btn-outline{border-color:currentColor}
.btn-outline:hover{background:#fff;color:#111}

header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  background:rgba(245,239,232,.86);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.nav{
  min-height:78px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.brand{
  font-size:1.22rem;
  font-weight:700;
  white-space:nowrap;
}
.brand span{color:var(--gold)}
.links{
  display:flex;
  align-items:center;
  gap:24px;
  font-size:.92rem;
}

/* HERO */
.hero{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#111;
  color:#fff;
}
.hero video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.58;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(8,6,5,.94) 0%,rgba(8,6,5,.72) 45%,rgba(8,6,5,.18) 100%),
    linear-gradient(0deg,rgba(0,0,0,.35),transparent 55%);
}
.hero-content{
  position:relative;
  z-index:2;
  padding-top:110px;
}
.hero .eyebrow{color:#ecd5b3}
h1{
  margin:15px 0 22px;
  max-width:900px;
  font-size:clamp(3.9rem,7.3vw,7.3rem);
  line-height:.91;
  font-weight:500;
}
.hero p{
  max-width:690px;
  font-size:clamp(1.05rem,2vw,1.32rem);
  color:#eee5dd;
}
.actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}

/* TRUST */
.trust{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.trust-row{
  min-height:94px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  text-align:center;
  gap:16px;
}
.trust strong{
  display:block;
  font-family:Georgia,serif;
  font-size:1.16rem;
}
.trust span{
  color:var(--muted);
  font-size:.78rem;
}

section{padding:105px 0}
h2{
  margin:10px 0 20px;
  font-size:clamp(2.5rem,5vw,4.7rem);
  line-height:1.02;
  font-weight:500;
}
.lead{
  max-width:740px;
  color:var(--muted);
  font-size:1.07rem;
  margin:0 0 42px;
}

/* ABOUT */
.about{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:72px;
  align-items:center;
}
.about-img{
  height:690px;
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.quote{
  font-family:Georgia,serif;
  font-size:1.7rem;
  line-height:1.34;
  border-left:3px solid var(--gold);
  padding-left:24px;
  margin:30px 0;
}

/* MOSAIC */
.mosaic{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:16px;
  height:530px;
  margin-top:65px;
}
.mosaic-card{
  position:relative;
  overflow:hidden;
  border-radius:26px;
}
.mosaic-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent 50%,rgba(0,0,0,.65));
}
.mosaic-card span{
  position:absolute;
  z-index:2;
  left:20px;
  bottom:18px;
  color:#fff;
  font-family:Georgia,serif;
  font-size:1.15rem;
}

/* SERVICES */
.services-section{background:#eadfd3}
.services{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.service{
  background:var(--paper);
  padding:32px;
  min-height:318px;
  border-radius:28px;
  border:1px solid var(--line);
  transition:.25s;
}
.service:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 45px rgba(0,0,0,.08);
}
.service .num{
  font-family:Georgia,serif;
  font-size:2.5rem;
  color:var(--gold);
}
.service h3{
  font-size:1.55rem;
  margin:20px 0 10px;
}
.service p{
  color:var(--muted);
  font-size:.94rem;
}

/* VERTICAL VIDEO FEATURE */
.video-section{
  background:var(--dark);
  color:#fff;
}
.video-layout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:75px;
}
.video-copy .eyebrow{color:#d8b07a}
.video-copy .lead{color:#c9bdb4}
.video-points{
  display:grid;
  gap:14px;
  margin-top:30px;
}
.video-point{
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.video-point strong{
  display:block;
  font-family:Georgia,serif;
  font-size:1.2rem;
  margin-bottom:4px;
}
.video-point span{color:#bfb3aa;font-size:.92rem}

.vertical-video-wrap{
  display:flex;
  justify-content:center;
  position:relative;
}
.vertical-video{
  width:min(100%,430px);
  aspect-ratio:9/16;
  border-radius:34px;
  overflow:hidden;
  background:#000;
  position:relative;
  box-shadow:0 35px 90px rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.12);
}
.vertical-video video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.video-badge{
  position:absolute;
  z-index:3;
  top:16px;
  left:16px;
  background:rgba(0,0,0,.5);
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-size:.72rem;
  backdrop-filter:blur(8px);
}
.vertical-caption{
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:18px;
  padding:16px 18px;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(9px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
}
.vertical-caption strong{
  display:block;
  font-family:Georgia,serif;
  font-size:1.15rem;
}
.vertical-caption span{
  color:#d8cec6;
  font-size:.8rem;
}

/* RESULTS */
.results{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.result{
  border-top:2px solid var(--gold);
  padding:28px 22px;
}
.result strong{
  font-family:Georgia,serif;
  font-size:2.4rem;
  color:var(--gold);
}
.result h3{
  font-size:1.3rem;
  margin:8px 0;
}
.result p{
  color:var(--muted);
  font-size:.92rem;
}

/* EDITORIAL SPLIT */
.editorial{
  background:#fff;
}
.editorial-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.editorial-main{
  height:650px;
  border-radius:30px;
  overflow:hidden;
}
.editorial-stack{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.editorial-stack div{
  height:316px;
  border-radius:25px;
  overflow:hidden;
}

/* FAQ */
.faq{max-width:900px}
details{
  border-bottom:1px solid var(--line);
  padding:20px 0;
}
summary{
  cursor:pointer;
  font-family:Georgia,serif;
  font-size:1.25rem;
  font-weight:bold;
}
details p{color:var(--muted);max-width:760px}

/* CTA */
.cta-box{
  border-radius:40px;
  overflow:hidden;
  padding:75px;
  color:#fff;
  background:
    linear-gradient(110deg,rgba(17,14,12,.96),rgba(75,54,34,.80)),
    url("../images/referencia-02.jpg")
    center/cover no-repeat;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:50px;
}
.cta-box .eyebrow{color:#e3c495}
.cta-box p{color:#e6ddd5}
form{
  display:grid;
  gap:13px;
  padding:26px;
  border-radius:25px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
}
input,select,textarea{
  width:100%;
  padding:15px;
  border-radius:13px;
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  outline:0;
}
input::placeholder,textarea::placeholder{color:#ddd2c8}
select option{color:#111}
textarea{min-height:115px;resize:vertical}
form button{border:0}

footer{
  padding:45px 0;
  border-top:1px solid var(--line);
}
.footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  color:#71685f;
  font-size:.88rem;
}
.wa{
  position:fixed;
  z-index:1001;
  right:20px;
  bottom:20px;
  width:62px;
  height:62px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:1.7rem;
  box-shadow:0 15px 35px rgba(0,0,0,.22);
}

@media(max-width:1000px){
  .about,.video-layout,.cta-box{grid-template-columns:1fr}
  .services,.results{grid-template-columns:1fr 1fr}
  .vertical-video-wrap{margin-top:15px}
}
@media(max-width:780px){
  .links a:not(.btn){display:none}
  .trust-row{grid-template-columns:1fr 1fr;padding:20px 0}
  .mosaic{height:auto;grid-template-columns:1fr 1fr}
  .mosaic-card{height:350px}
  .mosaic-card:first-child{grid-column:1/-1}
  .editorial-grid{grid-template-columns:1fr}
  .cta-box{padding:45px 28px}
}
@media(max-width:560px){
  section{padding:76px 0}
  .brand{font-size:1rem}
  .links .btn{padding:0 14px;font-size:.8rem}
  h1{font-size:3.2rem}
  .services,.results,.trust-row,.mosaic{grid-template-columns:1fr}
  .mosaic-card,.mosaic-card:first-child{height:410px;grid-column:auto}
  .about-img{height:520px}
  .vertical-video{width:100%;max-width:390px}
  .editorial-stack{grid-template-columns:1fr}
  .editorial-main{height:500px}
  .editorial-stack div{height:390px}
}