/* Sanáhra — estilos del sitio estático. Paleta y tipografía tomadas del sitio Wix original. */
:root{
  --green:#45572D; --green-dark:#2F3924; --cream:#FFFDF7; --beige:#F0EBE4; --sage:#D1D4C5;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --ui:"Nunito Sans",system-ui,sans-serif;
  --wrap:1180px; --gutter:clamp(20px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--green);font:400 18px/1.45 var(--sans);letter-spacing:-.01em}
img,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 .5em;letter-spacing:-.035em}
h1{font-size:clamp(46px,7vw,80px);font-weight:500}
h2{font-size:clamp(34px,4.6vw,52px)}
h3{font-size:clamp(26px,2.6vw,32px);letter-spacing:-.03em}
.display{font-size:clamp(44px,7.5vw,90px);font-weight:300}
.caps{text-transform:uppercase;font-size:clamp(28px,3.4vw,40px);letter-spacing:.01em}
.center{text-align:center}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:820px}
.wrap.narrow{max-width:calc(820px + 2*var(--gutter))}
.section{padding:clamp(64px,9vw,120px) 0}
.alt{background:var(--beige)}
.sage{background:var(--sage)}
.lead{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.2;letter-spacing:-.03em}
.eyebrow{font:600 13px/1 var(--ui);text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.2em}
.closing{font-family:var(--serif);font-size:clamp(22px,2.4vw,28px);line-height:1.25;font-style:italic}
.pull{font-family:var(--serif);font-size:clamp(26px,3vw,36px);line-height:1.2;border-left:2px solid var(--green);padding-left:.8em;margin-top:1.5em}
.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip:focus{position:fixed;z-index:100;top:8px;left:8px;width:auto;height:auto;clip:auto;background:var(--green);color:var(--cream);padding:10px 16px}

/* Botones */
.btn{display:inline-block;font:600 13px/1 var(--ui);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;
  background:var(--green);color:var(--cream);border:1px solid var(--green);border-radius:5px;padding:15px 24px;transition:background .2s,color .2s;cursor:pointer}
.btn:hover,.btn:focus-visible{background:var(--green-dark);border-color:var(--green-dark)}
.btn-outline{background:transparent;color:var(--green)}
.btn-outline:hover,.btn-outline:focus-visible{background:var(--green);color:var(--cream)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4em}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,247,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(69,87,45,.08)}
.header-inner{display:flex;align-items:center;gap:20px;min-height:84px}
.brand img{width:64px;height:64px;object-fit:contain}
.lang{font:600 12px/1 var(--ui);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;border:1px solid var(--green);border-radius:5px;padding:8px 12px}
.lang:hover{background:var(--green);color:var(--cream)}
.site-nav{margin-left:auto}
.site-nav ul{display:flex;gap:clamp(18px,3vw,40px);list-style:none;margin:0;padding:0}
.site-nav a{font:400 12px/1 var(--ui);text-transform:uppercase;letter-spacing:.14em;text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--green)}
.helpline{padding:11px 16px;font-size:12px}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu-toggle>span:first-child,.menu-toggle>span:first-child::before,.menu-toggle>span:first-child::after{content:"";position:absolute;left:10px;width:24px;height:1.5px;background:var(--green);transition:transform .2s}
.menu-toggle>span:first-child{top:21px}
.menu-toggle>span:first-child::before{left:0;top:-7px}
.menu-toggle>span:first-child::after{left:0;top:7px}
.menu-toggle[aria-expanded=true]>span:first-child{background:transparent}
.menu-toggle[aria-expanded=true]>span:first-child::before{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true]>span:first-child::after{transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{padding:clamp(40px,6vw,80px) 0}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{line-height:1.12}
.hero-sub{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);letter-spacing:-.03em;margin-bottom:1em}
.hero-text .btn{margin-top:.6em}
.hero-media video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:4px;background:var(--beige)}
.band-image img{width:100%;height:clamp(260px,45vw,620px);object-fit:cover}

/* Welcome stats */
.stats{list-style:none;margin:2.5em 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(69,87,45,.25)}
.stats li{padding:28px 20px 28px 0;border-bottom:1px solid rgba(69,87,45,.25)}
.stats strong{display:block;font:400 clamp(28px,3vw,40px)/1.1 var(--serif);letter-spacing:-.03em}
.stats span{font:400 14px/1.4 var(--ui);text-transform:uppercase;letter-spacing:.1em}

/* Testimonios */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:2em}
.quote{margin:0}
.quote blockquote{margin:0}
.quote p{font-family:var(--serif);font-size:clamp(21px,2vw,25px);line-height:1.3;letter-spacing:-.02em}
.quote figcaption{font:600 13px/1 var(--ui);text-transform:uppercase;letter-spacing:.14em}
.quote.big p{font-size:clamp(26px,3vw,36px);text-align:center}
.quote.big figcaption{text-align:center}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.split.reverse .split-media{order:2}
.split-media img{width:100%;border-radius:4px}

/* Por qué elegirnos */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin-top:2em}
.why-icon{width:40px;height:40px;fill:none;stroke:var(--green);stroke-width:1.3;margin-bottom:18px}
.why-item p{min-height:7.5em}

/* Galería */
.gallery-track{overflow-x:auto;scroll-snap-type:x mandatory;padding:8px var(--gutter) 24px;scrollbar-width:thin}
.gallery-track ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;width:max-content}
.gallery-track li{scroll-snap-align:start;width:clamp(260px,32vw,400px)}
.gallery-track img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}

/* Método */
.pillars{display:grid;gap:clamp(48px,7vw,96px);margin-top:3em}
.pillar{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.pillar.reverse .pillar-media{order:2}
.pillar-media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.after h2{font-size:clamp(32px,4vw,48px)}

/* Equipo */
.story h1{font-size:clamp(44px,6vw,72px)}
.story-image{margin:2.5em auto}
.story-image img{width:100%;border-radius:4px}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(28px,4vw,48px);margin-top:3em}
.member-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 25%;border-radius:4px;margin-bottom:18px}
.member h3{margin-bottom:.1em}
.member .role{font:600 12px/1.4 var(--ui);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.9em}
.member p:last-child{font-size:16px}

/* Contacto */
.contact{align-items:start}
.contact-list{list-style:none;padding:0;margin:1.5em 0 2.5em;display:grid;gap:12px}
.contact-list li{display:flex;gap:14px}
.contact-list span{font:600 12px/1.9 var(--ui);text-transform:uppercase;letter-spacing:.12em;min-width:96px}
.hours-h{font-size:clamp(28px,3vw,36px)}
.form-card{background:var(--beige);padding:clamp(24px,4vw,44px);border-radius:6px}
.form-card h2{font-size:clamp(28px,3vw,36px)}
form label{display:block;font:600 12px/1.4 var(--ui);text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}
form input,form textarea{display:block;width:100%;margin-top:6px;font:400 17px/1.4 var(--sans);color:var(--green);background:var(--cream);border:1px solid rgba(69,87,45,.35);border-radius:4px;padding:12px 14px}
form input:focus,form textarea:focus{outline:2px solid var(--green);outline-offset:0;border-color:var(--green)}
.form-note{font-size:14px;opacity:.85}
.hp{position:absolute;left:-9999px}
.form-status:not(:empty){padding:14px 16px;border-radius:4px;margin-bottom:20px;background:var(--green);color:var(--cream)}
.form-status.error{background:#7a2e1f}
.map iframe{width:100%;height:420px;border:0;filter:grayscale(.3)}

/* Footer */
.site-footer{background:var(--green);color:var(--cream);padding:clamp(56px,7vw,88px) 0 24px}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}
.footer-name{font:300 clamp(30px,3.6vw,46px)/1.1 var(--serif);letter-spacing:-.03em}
.footer-city{font:300 clamp(22px,2.4vw,30px)/1.2 var(--serif)}
.footer-contact p{font-size:15px;margin-bottom:.5em}
.social{display:flex;gap:14px;list-style:none;padding:0;margin:18px 0 0}
.social svg{width:24px;height:24px;fill:var(--cream)}
.footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,253,247,.2);font-size:13px;opacity:.8}

/* Animación de aparición */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* Responsive */
@media (max-width:980px){
  .menu-toggle{display:block}
  .site-nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid rgba(69,87,45,.15);display:none}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;gap:0;padding:8px var(--gutter) 20px}
  .site-nav a{display:block;padding:14px 0;font-size:14px}
  .helpline{display:none}
  .lang{margin-left:auto}
  .menu-toggle{margin-left:0}
  .hero-grid{grid-template-columns:1fr}
  .hero-media{max-width:340px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .quotes,.why-grid{grid-template-columns:1fr}
  .why-item p{min-height:0}
  .split,.pillar,.footer-inner{grid-template-columns:1fr}
  .split.reverse .split-media,.pillar.reverse .pillar-media{order:0}
}
@media (max-width:560px){
  body{font-size:17px}
  .header-inner{min-height:70px}
  .brand img{width:52px;height:52px}
  .stats{grid-template-columns:1fr}
}

/* Botón flotante de WhatsApp */
.wa-float{position:fixed;z-index:60;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));
  width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.22);transition:transform .2s ease,box-shadow .2s ease}
.wa-float svg{width:32px;height:32px;fill:currentColor}
.wa-float:hover{transform:scale(1.07);box-shadow:0 8px 26px rgba(0,0,0,.28)}
.wa-float:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media (max-width:560px){.wa-float{width:54px;height:54px;right:16px;bottom:16px}.wa-float svg{width:29px;height:29px}}
@media (prefers-reduced-motion:reduce){.wa-float{transition:none}.wa-float:hover{transform:none}}
@media print{.wa-float{display:none}}
@media (max-width:980px){.footer-bottom{padding-bottom:72px}}
