:root{
  --mv-cream:#F6F0E4;
  --mv-paper:#FCF8F0;
  --mv-sand:#EADFCB;
  --mv-tan:#C9A876;
  --mv-copper:#9C6F3F;
  --mv-brown:#7A5230;
  --mv-ink:#26190E;
  --mv-ink-soft:#5F4B32;
  --mv-night:#211609;
  --mv-night-deep:#170F06;
  --bs-body-bg:var(--mv-cream);
  --bs-body-color:var(--mv-ink);
  --bs-body-font-family:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  --bs-link-color:var(--mv-copper);
  --bs-link-hover-color:var(--mv-brown);
  --bs-border-color:rgba(38,25,14,.12);
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:92px;
}

body{
  letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

::selection{
  background:var(--mv-tan);
  color:var(--mv-ink);
}

.font-display{
  font-family:"Fraunces",Georgia,"Times New Roman",serif;
  font-weight:600;
  letter-spacing:-.02em;
}

.hero-title,.section-title,.panel-title,.cta-title{
  text-wrap:balance;
}

.accent-mv{
  color:var(--mv-copper);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.24em;
  color:var(--mv-copper);
  margin-bottom:1rem;
}

.eyebrow i{
  font-size:.95rem;
  line-height:1;
}

.navbar-mv{
  background:rgba(252,248,240,.86);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid rgba(38,25,14,.08);
  padding:.65rem 0;
  transition:box-shadow .3s ease,background-color .3s ease;
}

.navbar-mv.is-scrolled{
  box-shadow:0 .6rem 1.75rem rgba(38,25,14,.12);
}

.brand-mv{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  font-family:"Fraunces",Georgia,serif;
  font-weight:600;
  font-size:1.18rem;
  letter-spacing:-.01em;
  color:var(--mv-ink);
}

.brand-mv:hover{
  color:var(--mv-ink);
}

.brand-logo{
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 .2rem .6rem rgba(38,25,14,.28);
}

.navbar-mv .nav-link{
  color:var(--mv-ink-soft);
  font-weight:500;
  font-size:.95rem;
  border-radius:999px;
  padding:.5rem 1rem;
  transition:color .2s ease,background-color .2s ease;
}

.navbar-mv .nav-link:hover,
.navbar-mv .nav-link.active{
  color:var(--mv-ink);
  background:rgba(38,25,14,.07);
}

.navbar-mv a.nav-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  border-radius:50%;
  background:var(--mv-ink);
  color:var(--mv-cream);
  transition:transform .25s ease,background-color .25s ease,color .25s ease;
}

.navbar-mv a.nav-social:hover{
  background:var(--mv-copper);
  color:var(--mv-cream);
  transform:translateY(-2px);
}

.nav-toggler-mv{
  border:1px solid rgba(38,25,14,.16);
  border-radius:50%;
  width:46px;
  height:46px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.nav-toggler-mv:focus{
  box-shadow:0 0 0 .2rem rgba(156,111,63,.3);
}

.offcanvas-mv{
  background:var(--mv-paper);
  border-left:1px solid var(--bs-border-color);
  width:min(340px,90vw);
}

@media (max-width:991.98px){
  .offcanvas-mv .nav-link{
    font-size:1.05rem;
    padding:.85rem 1.1rem;
    color:var(--mv-ink);
  }
}

.offcanvas-actions{
  padding:1.25rem 0 0;
  border-top:1px solid var(--bs-border-color);
  margin-top:1.25rem;
}

.btn-mv{
  border-radius:999px;
  padding:.85rem 1.9rem;
  font-weight:600;
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease;
}

.btn-mv:hover{
  transform:translateY(-2px);
}

.btn-dark{
  --bs-btn-bg:var(--mv-ink);
  --bs-btn-border-color:var(--mv-ink);
  --bs-btn-hover-bg:var(--mv-brown);
  --bs-btn-hover-border-color:var(--mv-brown);
  --bs-btn-active-bg:var(--mv-brown);
  --bs-btn-active-border-color:var(--mv-brown);
}

.btn-outline-dark{
  --bs-btn-color:var(--mv-ink);
  --bs-btn-border-color:rgba(38,25,14,.55);
  --bs-btn-hover-bg:var(--mv-ink);
  --bs-btn-hover-border-color:var(--mv-ink);
  --bs-btn-active-bg:var(--mv-ink);
  --bs-btn-active-border-color:var(--mv-ink);
}

.btn-light{
  --bs-btn-bg:var(--mv-cream);
  --bs-btn-color:var(--mv-ink);
  --bs-btn-hover-bg:var(--mv-tan);
  --bs-btn-hover-color:var(--mv-ink);
  --bs-btn-active-bg:var(--mv-tan);
  --bs-btn-active-color:var(--mv-ink);
}

.btn-outline-light{
  --bs-btn-color:var(--mv-cream);
  --bs-btn-border-color:rgba(246,240,228,.6);
  --bs-btn-hover-bg:var(--mv-cream);
  --bs-btn-hover-color:var(--mv-ink);
  --bs-btn-hover-border-color:var(--mv-cream);
  --bs-btn-active-bg:var(--mv-cream);
  --bs-btn-active-border-color:var(--mv-cream);
}

.hero-mv{
  position:relative;
  padding:10.5rem 0 4.5rem;
  background:radial-gradient(130% 90% at 50% -12%,#FCF8F0 0%,var(--mv-cream) 52%,var(--mv-sand) 100%);
  overflow:hidden;
}

.hero-mv::before{
  content:"";
  position:absolute;
  top:-260px;
  right:-180px;
  width:620px;
  height:620px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,118,.4) 0%,rgba(201,168,118,0) 65%);
  pointer-events:none;
}

.hero-mv::after{
  content:"";
  position:absolute;
  bottom:-320px;
  left:-220px;
  width:680px;
  height:680px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,118,.28) 0%,rgba(201,168,118,0) 65%);
  pointer-events:none;
}

.hero-mv .container{
  position:relative;
  z-index:1;
}

.hero-title{
  font-size:clamp(3.4rem,9vw,6.75rem);
  line-height:1.01;
  margin-bottom:1.4rem;
}

.hero-sub{
  font-size:clamp(1.15rem,2.3vw,1.5rem);
  font-weight:600;
  color:var(--mv-ink-soft);
  margin-bottom:0;
}

.hero-figure{
  border-radius:1.75rem;
  overflow:hidden;
  box-shadow:0 2.5rem 4.5rem -1.75rem rgba(38,25,14,.4);
}

.hero-caption{
  font-size:.88rem;
  color:var(--mv-ink-soft);
  margin:1.1rem auto 0;
  max-width:60ch;
}

.scroll-cue{
  color:var(--mv-copper);
  font-size:1.25rem;
  animation:mv-float 2.4s ease-in-out infinite;
}

@keyframes mv-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(9px)}
}

.section-mv{
  padding:6.5rem 0;
}

.section-alt{
  background:var(--mv-paper);
  border-top:1px solid var(--bs-border-color);
  border-bottom:1px solid var(--bs-border-color);
}

.section-title{
  font-size:clamp(2.05rem,4.4vw,3.3rem);
  line-height:1.07;
}

.rule-mv{
  width:72px;
  height:2px;
  background:var(--mv-copper);
  border-radius:2px;
}

.figure-mv{
  border-radius:1.5rem;
  overflow:hidden;
  border:1px solid rgba(38,25,14,.06);
  box-shadow:0 1.75rem 3rem -1.25rem rgba(38,25,14,.32);
}

.ratio img{
  object-fit:cover;
}

.prose p{
  line-height:1.9;
  color:var(--mv-ink-soft);
  font-size:1.02rem;
  margin-bottom:0;
}

.prose p + p{
  margin-top:1.35rem;
}

.prose .lead{
  font-size:clamp(1.08rem,1.7vw,1.28rem);
  font-weight:500;
  line-height:1.75;
  color:var(--mv-ink);
}

.pull-quote{
  padding:2.75rem 1.5rem;
  border-top:1px solid rgba(38,25,14,.14);
  border-bottom:1px solid rgba(38,25,14,.14);
}

.pull-quote i{
  font-size:2.25rem;
  color:var(--mv-tan);
  line-height:1;
}

.pull-quote p{
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-weight:500;
  line-height:1.35;
  color:var(--mv-brown);
  margin:.75rem 0 0;
}

.panel{
  box-shadow:0 2rem 3.75rem -1.5rem rgba(38,25,14,.3);
}

.panel-dark{
  background:var(--mv-night);
}

.panel-light{
  background:var(--mv-paper);
  border:1px solid var(--bs-border-color);
  box-shadow:0 1.5rem 3rem -1.5rem rgba(38,25,14,.22);
}

.panel-title{
  font-size:clamp(1.35rem,2.5vw,1.85rem);
  line-height:1.15;
}

.panel-dark .panel-title{
  color:var(--mv-cream);
}

.panel-light .panel-title{
  color:var(--mv-ink);
}

.panel p{
  line-height:1.85;
  font-size:1rem;
  margin-bottom:1.15rem;
}

.panel p:last-child{
  margin-bottom:0;
}

.panel-dark p{
  color:rgba(246,240,228,.78);
}

.panel-light p{
  color:var(--mv-ink-soft);
}

.icon-badge{
  width:54px;
  height:54px;
  border-radius:1.05rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  flex:none;
}

.icon-badge-dark{
  background:rgba(201,168,118,.18);
  color:var(--mv-tan);
}

.icon-badge-light{
  background:rgba(156,111,63,.12);
  color:var(--mv-copper);
}

.icon-badge-cta{
  width:68px;
  height:68px;
  border-radius:1.4rem;
  background:rgba(201,168,118,.2);
  color:var(--mv-tan);
  font-size:1.7rem;
}

.cta-mv{
  position:relative;
  padding:7rem 0;
  background:var(--mv-night);
  color:var(--mv-cream);
  overflow:hidden;
}

.cta-mv::before{
  content:"";
  position:absolute;
  top:-300px;
  left:50%;
  transform:translateX(-50%);
  width:900px;
  height:600px;
  background:radial-gradient(closest-side,rgba(201,168,118,.22),rgba(201,168,118,0));
  pointer-events:none;
}

.cta-mv .container{
  position:relative;
  z-index:1;
}

.cta-title{
  font-size:clamp(2.25rem,5vw,3.8rem);
  line-height:1.05;
  color:var(--mv-cream);
}

.cta-sub{
  color:rgba(246,240,228,.75);
  font-size:1.08rem;
  line-height:1.8;
  max-width:58ch;
  margin:1.5rem auto 0;
}

.cta-mail{
  color:var(--mv-tan);
  font-weight:600;
  font-size:1rem;
}

.footer-mv{
  background:var(--mv-night-deep);
  padding:2.25rem 0;
}

.brand-footer{
  font-size:1.02rem;
}

.footer-tag{
  color:rgba(246,240,228,.55);
  font-size:.9rem;
}

.footer-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(246,240,228,.09);
  color:var(--mv-cream);
  font-size:1.05rem;
  transition:background-color .25s ease,color .25s ease,transform .25s ease;
}

.footer-icon:hover{
  background:var(--mv-tan);
  color:var(--mv-ink);
  transform:translateY(-2px);
}

/* Por defecto visible: si el JS no carga, el contenido se sigue viendo. */
.reveal{
  opacity:1;
  transform:none;
}

/* El estado oculto solo aplica cuando main.js confirma que corre (clase .js). */
.js .reveal{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform;
}

.js .reveal.is-visible{
  opacity:1;
  transform:none;
}

.delay-1{
  transition-delay:.15s;
}

@media (min-width:992px){
  .hero-ratio{
    --bs-aspect-ratio:21/9;
  }
  .panel-media .ratio{
    height:100%;
    aspect-ratio:auto;
  }
}

@media (max-width:767.98px){
  .hero-mv{
    padding:7.75rem 0 3.25rem;
  }
  .section-mv{
    padding:4.25rem 0;
  }
  .cta-mv{
    padding:4.75rem 0;
  }
  .pull-quote{
    padding:2rem 1rem;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }
  .reveal,
  .js .reveal{
    opacity:1;
    transform:none;
    transition:none;
  }
  .scroll-cue{
    animation:none;
  }
  .btn-mv:hover,.footer-icon:hover,.navbar-mv a.nav-social:hover{
    transform:none;
  }
}