:root{--olive:#5b6236;--olive-deep:#3e4526;--lime:#c9d64f;--terracotta:#c96f4a;--cream:#f5f0e6;--ink:#2b2b23}
*{margin: 0px;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink)}
img{display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.mobile-loader{display:none}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:40;width:46px;height:46px;margin:0;padding:0;border:1px solid rgba(245,240,230,.65);border-radius:50%;background:rgba(62,69,38,.82);color:var(--cream);font:inherit;font-size:1.5rem;line-height:1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease;cursor:pointer}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{background:var(--olive-deep)}
/* Navegación */
header{position:fixed;top:0;left:0;right:0;z-index:99999;background:transparent;transition:background-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
header.is-sticky{background: rgb(45 45 45 / 16%);box-shadow: 0 1px 0 rgb(255 255 255 / 0%), 0 8px 24px rgb(0 0 0 / 23%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
nav{position:relative;width:100%;max-width:none;min-height:82px;margin:0 auto;padding:10px clamp(24px,3vw,88px);display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(16px,2.5vw,34px);transition:min-height .35s ease,padding .35s ease}
header.is-sticky nav{min-height:72px}
nav .logo{display:block;flex:0 0 auto;border:0;transition:transform .3s ease}
nav .logo:hover{transform:translateY(-2px)}
nav .logo img{height:62px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));transition:height .35s ease,filter .25s ease}
header.is-sticky nav .logo img{height:56px}
nav ul{flex:1;display:flex;flex-wrap:nowrap;justify-content:center;gap:clamp(13px,calc(2.3vw - 5px),72px);list-style:none;align-items:center}
nav ul li{flex:0 0 auto}
nav ul a{position:relative;display:flex;align-items:center;justify-content:center;width:fit-content;max-width:11em;min-height:3.5em;padding:0 3px;text-align:center;white-space:normal;text-wrap:balance;font-size:clamp(.66rem,calc(.46rem + .32vw),.98rem);font-weight:500;letter-spacing:.12em;line-height:1.3;text-transform:uppercase;color:var(--cream);text-shadow:0 1px 3px rgba(0,0,0,.4);transition:color .22s ease,transform .22s ease,text-shadow .22s ease}
nav ul a::after{position:absolute;right:50%;bottom:3px;left:50%;height:1px;background:var(--lime);content:"";transition:left .25s ease,right .25s ease}
nav ul a:hover,nav ul a:focus-visible,nav ul a.is-active,nav ul a[aria-current="page"]{color:var(--lime)}
nav ul a:hover::after,nav ul a:focus-visible::after,nav ul a.is-active::after,nav ul a[aria-current="page"]::after{right:0;left:0}
nav ul a.is-pressed{color:var(--lime);transform:translateY(2px);text-shadow:0 0 12px rgba(201,214,79,.8)}
strong{
  font-weight: 500;
}
.lead-text strong, .sub strong, .principles-row strong {
  color: var(--terracotta);
}

/* Menú responsive */
.menu-toggle{display:none;position:relative;align-items:center;justify-content:center;width:48px;height:48px;margin-left:auto;padding:0;border:1px solid rgba(245,240,230,.58);border-radius:3px;background:transparent linear-gradient(var(--cream),var(--cream)) center/20px 2px no-repeat;color:transparent;font-size:0;cursor:pointer;transition:border-color .25s ease,background-size .25s ease,transform .25s ease}
.menu-toggle::before,.menu-toggle::after{position:absolute;left:50%;width:20px;height:2px;background:var(--cream);content:"";transition:top .25s ease,bottom .25s ease,transform .25s ease}
.menu-toggle::before{top:calc(50% - 7px);transform:translateX(-50%)}
.menu-toggle::after{bottom:calc(50% - 7px);transform:translateX(-50%)}
.menu-toggle:hover{border-color:var(--lime);transform:translateY(-1px)}
.menu-toggle[aria-expanded="true"]{background-size:0 2px}
.menu-toggle[aria-expanded="true"]::before{top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.menu-toggle[aria-expanded="true"]::after{bottom:50%;transform:translate(-50%,50%) rotate(-45deg)}
.menu-toggle:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@media(max-width:1000px){
  header,header.is-sticky{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  nav,header.is-sticky nav{min-height:75px;padding:0;gap:15px 10px;background:rgb(90 90 90 / 70%);border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 4px 20px rgba(0,0,0,.25)}
  nav .logo{margin:0 auto}
  nav .logo img,header.is-sticky nav .logo img{height:60px}
  .menu-toggle{position:absolute;top: 6%;right:25px;display:flex;flex:0 0 auto;width:45px;height:45px;z-index:2;transform:translateY(-50%)}
  .menu-toggle:hover{transform:translateY(-50%)}
  nav ul{position:fixed;top:75px;right:0;left:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;height:calc(100vh - 75px);max-height:0;padding:0;overflow-x:hidden;overflow-y:auto;background:rgb(90 90 90 / 70%);border:0;box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transform:translateY(-8px);transform-origin:top;transition:max-height .42s ease,padding .35s ease,opacity .25s ease,transform .35s ease,visibility .35s ease}
  nav ul.is-open{max-height:calc(100vh - 75px);padding:14px 0;opacity:1;visibility:visible;transform:translateY(0)}
  nav ul li{width:100%;opacity:0;transform:translateY(-7px)}
  nav ul.is-open li{animation:menu-item-in .32s ease forwards}
  nav ul.is-open li:nth-child(2){animation-delay:.035s}
  nav ul.is-open li:nth-child(3){animation-delay:.07s}
  nav ul.is-open li:nth-child(4){animation-delay:.105s}
  nav ul.is-open li:nth-child(5){animation-delay:.14s}
  nav ul.is-open li:nth-child(6){animation-delay:.175s}
  nav ul.is-open li:nth-child(7){animation-delay:.21s}
  nav ul a{display:block;width:100%;max-width:none;min-height:0;padding:19px 24px;text-align:center;font-size:1.05rem;line-height:1.35;letter-spacing:.14em;color:#fff;text-shadow:none;transition:background-color .25s ease,color .25s ease,transform .2s ease}
  nav ul a::after{display:none}
  nav ul a:hover,nav ul a:focus-visible,nav ul a:active,nav ul a.is-active,nav ul a[aria-current="page"]{background:rgba(62,69,38,.7);color:var(--lime)}
}
@keyframes menu-item-in{to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  header,nav,nav .logo,nav .logo img,.menu-toggle,.menu-toggle::before,.menu-toggle::after,nav ul,nav ul a,nav ul a::after{transition:none}
  nav ul.is-open li{animation:none;opacity:1;transform:none}
}
@media(max-width:767px){
  .mobile-loader{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;background:var(--olive);opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}
  .mobile-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
  .mobile-loader img{width:min(58vw,240px);height:auto;animation:loader-logo 1.2s ease-in-out infinite alternate}
}
/* Portada */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.hero>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.1);z-index:-1}
.hero-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:128px 24px 0}
.quote-row{display:flex;align-items:center;gap:24px;width:100%;max-width:1024px}
.quote-row .line{display:none;flex:1;height:1px;background:rgba(245,240,230,.8)}
.quote-row h1{font-size: 1.6em;}
h1{font-size:1.5rem;font-weight:300;font-style:italic;line-height:1.5;color:var(--cream);text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.social{display:flex;gap:24px;margin-top:64px}
.social a{color:var(--cream);transition:opacity .2s}
.social a:hover{opacity:.7}
.wave{display:block;width:100%;height:60px;margin-bottom:-1px}
/* Somos */
.somos{position:relative;background:var(--olive);isolation:isolate}
.somos>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4;z-index:-1}
.somos::after{content:"";position:absolute;inset:0;background:rgba(91,98,54,.8);z-index:-1}
.somos-inner{max-width:1152px;margin:0 auto;padding:80px 24px}
.somos-grid{display:grid;gap:40px;align-items:start}
.somos-grid>.sello{width:176px;margin:0 auto}
.somos h2{font-size:2.5rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--cream)}
.hrow{display:flex;align-items:center;gap:24px}
.hrow .rule,
.section-title + .rule,
.section-title-naranja + .rule{display:block;flex:1;height:1px;background: rgb(201 214 79);transform:scaleX(0);transform-origin:center;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.hrow .rule.is-visible,
.section-title + .rule.is-visible,
.section-title-naranja + .rule.is-visible{transform:scaleX(1)}
.somos .sub{margin-top:12px;font-size: 1.7rem;font-weight:500;letter-spacing:.14em;color:var(--lime)}
.somos .desc{margin-top:24px;max-width:768px;font-size: 1.4rem;line-height: 1.5;color: #ffffff;}
.somos hr.sep{margin:48px 0;border:none;border-top: 1px solid #c9d64f;}
hr{transform:scaleX(0);transform-origin:center;transition:transform .8s cubic-bezier(.22,1,.36,1)}
hr.is-visible{transform:scaleX(1)}
.mv{display:grid;gap:48px;text-align:center}
.mv h3{font-size: 1.7rem;font-weight:300;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);display:inline-flex;align-items:center;gap:12px}
.mv h3 img{height:28px;width:auto}
.mv p{margin:20px auto 0;max-width:448px;line-height: 1.7;color:var(--cream);font-size: 1.2em;}
.mv>.reveal-delay-3{grid-column:1 / -1;max-width:960px;width:100%;margin:0 auto;display:grid;grid-template-columns:1fr;gap:0 40px}
.mv>.reveal-delay-3 h3{grid-column:1 / -1;justify-self:center}
.mv>.reveal-delay-3 p{max-width:448px;width:100%;margin:20px auto 0;text-align:left}
.mv>.reveal-delay-3 .principles-row{grid-column:1 / -1;max-width:none;display:grid;gap:28px 32px}
.mv>.reveal-delay-3 .principles-row-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.mv>.reveal-delay-3 .principles-row-two{grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1 / -1}
.mv>.reveal-delay-3 .principles-row span{display:block;opacity:0;transform:translateX(-48px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}
.mv>.reveal-delay-3 .principles-row span.is-visible{opacity:1;transform:none}
.nosotras-divider{width:100%;height:clamp(50px,8vw,100px);margin-bottom:-1px;background:#e38048;mask-image:url("../assets/2.svg");mask-position:center bottom;mask-size:40% auto;mask-repeat:repeat-x;-webkit-mask-image:url("../assets/2.svg");-webkit-mask-position:center bottom;-webkit-mask-size:40% auto;-webkit-mask-repeat:repeat-x}
/* Nosotras */
.nosotras{background: #e38048;}
.nosotras-inner{max-width:1400px;margin:0 auto;padding:64px 24px}
.nosotras h2{font-size:2.5rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--cream)}
.nosotras .hrow .rule{background:rgba(245,240,230,.7)}
.team{margin-top:56px;display:grid;gap: 81px 69px;}
.member{display:grid;gap: 21px;}
.member-side{text-align:center}
.member-side img{margin:0 auto;width:181px;height:218px;object-fit:cover}
.member-side h3{margin-top:16px;font-size:clamp(1.05rem, 1.4vw, 1.4rem);font-weight:300;letter-spacing:.08em;line-height:1.25;text-transform:uppercase;color:var(--cream)}
.member-side .last{margin-top:4px;font-size:clamp(.72rem, 1vw, .875rem);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--olive-deep)}
.member-side hr{margin:12px auto 0;width:100%;border:none;border-top:1px solid rgba(245,240,230,.6)}
.member-side .role{margin-top:12px;font-size:clamp(.8rem, 1.2vw, .95rem);color:var(--cream);white-space:pre-line}
.member-bio .bio{font-size:clamp(.96rem, 1.15vw, 1.08rem);line-height:1.7;color:var(--cream);opacity:0;transform:translateX(-48px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}
.member-bio .bio.is-visible{opacity:1;transform:none}
.member-bio .bio+p{margin-top:12px}
.member-bio{position:relative}
.member-bio::before{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:rgba(245,240,230,.5);transform:scaleY(0);transform-origin:top;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.member-bio.is-visible::before{transform:scaleY(1)}
.wave-flip{transform:rotateX(180deg);transform-origin:center}
/* Contacto */
.contacto{position:relative;isolation:isolate}
.contacto-divider{position:relative;z-index:1;width:100%;height: 3.625vw;margin-bottom:-1px;background:#e38048;mask-image:url("../assets/3.svg");mask-position:center bottom;mask-size:100% auto;mask-repeat:no-repeat;-webkit-mask-image:url("../assets/3.svg");-webkit-mask-position:center bottom;-webkit-mask-size:100% auto;-webkit-mask-repeat:no-repeat;transform:translate(40%, -14px) rotateX(180deg);transform-origin:center}
.contacto>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.contacto::after{content:"";position:absolute;inset:0;background:rgba(62,69,38,.25);z-index:-1}
.contacto-inner{position:relative;z-index:1;max-width:1152px;margin:0 auto;display:grid;gap:48px;align-items:center;padding:96px 24px}
form{background: rgb(245 240 230 / 74%);backdrop-filter:blur(4px);border-radius:12px;padding:32px}
.frow{display:grid;gap:24px}
label{display:block}
label span{font-size:.875rem;color: #c96f4a;}
input,textarea{width:100%;margin-top:8px;background:transparent;border:none;border-bottom: 1px solid #c96f4a;padding:0 0 4px;color:var(--cream);font:inherit;outline:none;resize:none}
.contacto form input,.contacto form textarea{color:var(--terracotta);caret-color:var(--terracotta)}
input:focus,textarea:focus{border-bottom-color:var(--cream)}
button{margin-top:32px;background:var(--terracotta);color:var(--cream);border:none;border-radius:4px;padding:10px 32px;font:inherit;cursor:pointer;transition:opacity .2s}
button:hover{opacity:.9}
.gracias{margin-top:16px;color:var(--cream);display:none}
.cinfo{text-align:right}
.cinfo h2{font-size:2.5rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--cream)}
.cinfo hr{margin:40px 0 0 auto;width:75%;border:none;border-top: 2px solid #e38048;}
.cinfo .datos{margin-top:24px;font-size:1.25rem;color:var(--cream);line-height:2}
.cinfo a:hover{opacity:.8}
@media(min-width:640px){
  .quote-row .line{display:block}
  h1{font-size:1.875rem}
  .frow{grid-template-columns:1fr 1fr}
  .wave{height:90px}
}
@media(min-width:768px){
  h1{font-size: 1.9rem;}
  .somos-grid{grid-template-columns:220px 1fr}
  .mv{grid-template-columns:1fr 1fr}
  .member{grid-template-columns:200px 1fr}
  .member-bio{padding-left:24px}
  .contacto-inner{grid-template-columns:1fr 1fr}
  .somos h2,.nosotras h2,.cinfo h2{font-size:3rem}
  .mv>.reveal-delay-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:860px){.team{grid-template-columns:1fr 1fr}}
@media(max-width:767px){
  .mv>.reveal-delay-3 .principles-row-three,.mv>.reveal-delay-3 .principles-row-two{grid-template-columns:1fr;grid-column:1 / -1}
  .nosotras-divider{height:clamp(56px,15.625vw,80px);mask-size:100% auto;-webkit-mask-size:100% auto}
  .member{gap:18px}
  .member-side h3{font-size:clamp(1rem, 4.2vw, 1.2rem);letter-spacing:.07em}
  .member-side .last{font-size:clamp(.68rem, 2.3vw, .8rem);letter-spacing:.14em}
  .member-side .role{font-size:clamp(.78rem, 3.6vw, .9rem)}
  .member-bio .bio{font-size:clamp(.92rem, 3.8vw, 1rem);line-height:1.65}
  .member-bio{padding-left:0}
  .member-bio::before{display:none}
}

/* === CAPA DE VIDEO Y MOVIMIENTO — derivado de la captura Wix === */
.hero,.somos,.contacto{overflow:hidden}
.hero > img.bg{transition:opacity .8s ease;}
.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none;background:#1f2417;}
.hero .bg-video{filter:saturate(.92) contrast(.98);}
.somos .bg-video,.contacto .bg-video{filter:saturate(.78) contrast(.92);}
.contacto .bg-video{z-index:0;}
.hero::before,.somos::before,.contacto::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;}
.hero::before{background:linear-gradient(180deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.06) 42%,rgba(0,0,0,.32) 100%);}
.somos::before{background:linear-gradient(90deg,rgba(36,42,22,.78),rgba(91,98,54,.50));}
.contacto::before{background:linear-gradient(180deg,rgba(25,30,16,.25),rgba(25,30,16,.62));}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);font-weight: 300;}
.reveal.is-visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}
.hero .hero-center{position:relative;z-index:2;}
.hero .social a{transform:translateY(0);transition:transform .3s ease,opacity .3s ease;}
.hero .social a:hover{transform:translateY(-4px);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.bg-video{display:none}.hero>img.bg{opacity:1}hr{transform:scaleX(1);transition:none}.hrow .rule{transform:scaleX(1);transition:none}.member-bio::before{transform:scaleY(1);transition:none}}
@media (max-width:760px){
 .hero-center{padding-top:105px}.bg-video{object-position:center center}
}

/* Horario / Dirección dentro de Contacto */
.info-extra{margin-top:32px;display:grid;gap:24px;text-align:right}
.info-extra h3,.info-extra h4{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin-bottom:8px}
.info-extra p{font-size:.95rem;color:var(--cream);line-height:1.6}
@media(min-width:640px){.info-extra{grid-template-columns:1fr 1fr}}

/* Suscríbete */
.suscribete{background:var(--olive-deep)}
.suscribete-inner{padding:64px 24px;display:grid;gap:32px;align-items:center}
.suscribete h2{font-size:1.8rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--cream)}
.suscribete p{margin-top:12px;color:rgba(245,240,230,.75);max-width:44ch}
.suscribete form{background:none;backdrop-filter:none;border-radius:0;padding:0;display:flex;flex-wrap:wrap;gap:16px}
.suscribete input{flex:1;min-width:200px;background:rgba(245,240,230,.08);border:1px solid rgba(245,240,230,.35);border-radius:4px;padding:12px 16px;color:var(--cream)}
.suscribete input:focus{border-color:var(--lime)}
.suscribete button{margin-top:0;background:var(--lime);color:var(--olive-deep);font-weight:500}
.suscribete .gracias{width:100%}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:768px){.suscribete-inner{grid-template-columns:1fr 1fr}}

/* Footer */
.site-footer, .footer{background:var(--ink);width:100%;clear:both}
.site-footer-inner, .footer-inner{max-width:1200px;margin:0 auto;padding: 24px !important;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;font-size:.85rem;color:rgba(245,240,230,.65)}
.site-footer-inner p, .footer-inner p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
.site-footer-inner a, .footer-inner a{color:rgba(245,240,230,.85);transition:color .2s}
.site-footer-inner a:hover, .footer-inner a:hover{color:var(--lime)}

/* Detalles de movimiento adicionales */
.hero .bg-video,.hero>img.bg{animation:kenburns 22s ease-in-out infinite alternate}
.member{transition:transform .35s ease;margin-bottom: 2em;}
.member:hover .member-side img{box-shadow:0 12px 28px rgba(43,43,35,.35)}
.member-side img{transition:box-shadow .35s ease}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}
@media (prefers-reduced-motion:reduce){.hero .bg-video,.hero>img.bg{animation:none}}
@keyframes loader-logo{from{transform:scale(.94);opacity:.72}to{transform:scale(1);opacity:1}}