@font-face{
  font-family:'Rimouski';
  src:url('../fonts/Rimouski-SemiBold.otf') format('opentype');
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Nunito-Bold';
  src:url('https://fonts.gstatic.com/s/nunito/v32/XRXV3I6Li01BKofINeaB.woff2') format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

:root{
  --white:#FFFFFF;
  --gray-light:#F7F9FC;
  --navy:#1A3047;
  --sky:#49B8E4;
  --navy-soft:rgba(26,48,71,.7);
  --sky-soft:rgba(73,184,228,.14);
  --shadow-soft:0 30px 60px -20px rgba(26,48,71,.18);
  --ease:cubic-bezier(.16,.8,.24,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--navy);
  background:var(--white);
  overflow-x:hidden;
  line-height:1.6;
}
h1,h2,h3{
  font-family:'Rimouski','Fraunces',serif;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--navy);
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea{font-family:inherit;font-size:.95rem;}
.section-inner{max-width:1240px;margin:0 auto;padding:0 6vw;}
.section{position:relative;padding:min(14vh,140px) 0;}
.eyebrow{
  display:inline-block;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sky);
  margin-bottom:1rem;
}
.eyebrow.center{display:block;text-align:center;}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.lead-p{max-width:640px;color:var(--navy-soft);font-size:1.05rem;}
h2{font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.25;margin-bottom:1.1rem;}
.section p{color:var(--navy-soft);font-size:1.02rem;}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(36px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);}
[data-reveal].in-view{opacity:1;transform:translateY(0);filter:blur(0);}

/* cursor glow */
.cursor-glow{
  position:fixed;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:2;
  background:radial-gradient(circle,rgba(73,184,228,.10),transparent 70%);
  transform:translate(-50%,-50%);left:-500px;top:-500px;transition:left .25s var(--ease),top .25s var(--ease);
}
.progress-bar{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--sky);z-index:1000;transition:width .1s linear;}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:1rem 1.7rem;border-radius:100px;
  font-size:.92rem;font-weight:600;
  position:relative;overflow:hidden;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.btn svg{width:16px;height:16px;transition:transform .4s var(--ease);}
.btn:hover svg{transform:translateX(4px);}
.btn:active{transform:scale(.96);}
.btn-primary{background:var(--navy);color:var(--white);box-shadow:0 14px 30px -10px rgba(26,48,71,.45);}
.btn-primary:hover{box-shadow:0 18px 40px -8px rgba(73,184,228,.55);transform:translateY(-3px);}
.btn-primary::before{
  content:'';position:absolute;inset:0;border-radius:100px;
  background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(73,184,228,.55),transparent 60%);
  opacity:0;transition:opacity .4s;
}
.btn-primary:hover::before{opacity:1;}
.btn-ghost{background:transparent;color:var(--navy);border:1.4px solid rgba(26,48,71,.18);}
.btn-ghost:hover{border-color:var(--sky);color:var(--sky);transform:translateY(-3px);}
.btn-light{background:var(--white);color:var(--navy);}
.btn-light:hover{transform:translateY(-3px);box-shadow:0 16px 36px -10px rgba(0,0,0,.35);}
.btn-small{padding:.8rem 1.3rem;font-size:.84rem;}

.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--navy);position:relative;}
.link-arrow svg{width:15px;height:15px;transition:transform .35s var(--ease);color:var(--sky);}
.link-arrow:hover svg{transform:translateX(5px);}
.link-arrow::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:1.4px;background:var(--sky);transition:width .35s var(--ease);}
.link-arrow:hover::after{width:calc(100% - 24px);}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:1.6rem 0;transition:padding .45s var(--ease),background .45s var(--ease),box-shadow .45s var(--ease);}
.nav-inner{max-width:1300px;margin:0 auto;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;}
.nav.scrolled{padding:.8rem 0;background:rgba(255,255,255,.68);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);box-shadow:0 8px 30px -14px rgba(26,48,71,.18);}
.nav-logo{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;justify-self:start;}
.logo-img{height:30px;width:auto;display:block;transition:transform .4s var(--ease);}
.nav-logo:hover .logo-img{transform:scale(1.03);}
.logo-tagline{font-size:.62rem;font-weight:500;color:var(--navy-soft);letter-spacing:.05em;padding-left:.1rem;}
.logo-tagline.light{color:rgba(255,255,255,.5);}
.nav-links{grid-column:2;display:flex;gap:1.9rem;justify-content:center;}
.nav-links a{font-size:.84rem;font-weight:500;color:var(--navy-soft);position:relative;white-space:nowrap;transition:color .3s;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1.4px;background:var(--sky);transition:width .35s var(--ease);}
.nav-links a:hover{color:var(--navy);}
.nav-links a:hover::after{width:100%;}
.nav-cta{justify-self:end;}
.nav-burger{display:none;flex-direction:column;gap:5px;justify-self:end;padding:6px;}
.nav-burger span{width:22px;height:1.6px;background:var(--navy);transition:.3s;}

/* ===== HERO ===== */
.hero{position:relative;min-height:80vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-top:6rem;}
.hero-bg{position:absolute;inset:0;z-index:0;background:var(--gray-light);}
.hero-wave{position:absolute;inset:-10% -10% auto -10%;height:70%;background:radial-gradient(60% 60% at 30% 20%,var(--sky-soft),transparent 70%),radial-gradient(50% 50% at 80% 10%,rgba(26,48,71,.06),transparent 70%);}
#particles{position:absolute;inset:0;width:100%;height:100%;}
.floating-dot{position:absolute;border-radius:50%;background:var(--sky);opacity:.35;filter:blur(1px);animation:float 9s ease-in-out infinite;}
.d1{width:10px;height:10px;top:18%;left:38%;animation-delay:0s;}
.d2{width:6px;height:6px;top:66%;left:44%;animation-delay:2s;}
.d3{width:14px;height:14px;top:40%;left:82%;animation-delay:4s;background:var(--navy);opacity:.18;}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}

.hero-inner{position:relative;z-index:2;max-width:1300px;margin:0 auto;padding:0 6vw;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem;width:100%;}
.hero-title{font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1.06;margin-bottom:1.4rem;}
.hero-title .accent{color:var(--sky);font-style:italic;}
.hero-sub{max-width:440px;color:var(--navy-soft);font-size:1.08rem;margin-bottom:2.1rem;}
.hero-actions{display:flex;gap:1rem;margin-bottom:2.6rem;flex-wrap:wrap;}
.hero-play{display:flex;align-items:center;gap:.9rem;font-size:.86rem;color:var(--navy-soft);}
.play-circle{width:46px;height:46px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);color:var(--sky);flex-shrink:0;transition:transform .4s var(--ease);}
.play-circle svg{width:16px;height:16px;}
.hero-play:hover .play-circle{transform:scale(1.12);}
.hero-play strong{color:var(--navy);}

.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;}
.hero-blob{
  width:100%;aspect-ratio:1/1.05;max-width:520px;
  border-radius:62% 38% 55% 45%/55% 45% 55% 45%;
  overflow:hidden;position:relative;
  box-shadow:var(--shadow-soft);
  animation:blobmorph 14s ease-in-out infinite;
}
.hero-blob img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.2s var(--ease);}
.hero-visual:hover .hero-blob img{transform:scale(1.12);}
@keyframes blobmorph{
  0%,100%{border-radius:62% 38% 55% 45%/55% 45% 55% 45%;}
  50%{border-radius:45% 55% 40% 60%/50% 60% 40% 50%;}
}
.hero-ring{position:absolute;inset:-6%;border:1.4px dashed rgba(73,184,228,.35);border-radius:62% 38% 55% 45%/55% 45% 55% 45%;animation:spin 40s linear infinite;pointer-events:none;}
@keyframes spin{to{transform:rotate(360deg)}}

.scroll-cue{position:absolute;left:50%;bottom:2.4rem;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.72rem;letter-spacing:.08em;color:var(--navy-soft);z-index:2;}
.scroll-cue svg{width:16px;height:16px;animation:bounce 2s ease-in-out infinite;color:var(--sky);}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ===== QUIENES SOMOS ===== */
.quienes-grid{display:grid;grid-template-columns:1fr .9fr;gap:5vw;align-items:center;}
.principios{display:flex;flex-direction:column;gap:1.6rem;margin:2.4rem 0 2rem;}
.principio{display:flex;gap:1.1rem;align-items:flex-start;}
.principio-icon{width:46px;height:46px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--sky);background:var(--sky-soft);transition:transform .4s var(--ease);}
.principio:hover .principio-icon{transform:rotate(-8deg) scale(1.08);}
.principio-icon svg{width:20px;height:20px;}
.principio h3{font-size:1.05rem;margin-bottom:.25rem;}
.principio p{font-size:.92rem;}

.quienes-visual{position:relative;}
.quienes-blob{
  position:relative;
  border-radius:44% 56% 52% 48%/48% 42% 58% 52%;
  overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:4/3.1;
}
.quienes-blob img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity 1.4s ease;}
.quienes-visual:hover .quienes-blob img.active{transform:scale(1.1);}
.quienes-tag{
  position:absolute;bottom:-8%;right:-6%;background:rgba(255,255,255,.75);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.6);border-radius:22px;padding:1.1rem 1.3rem;
  display:flex;align-items:center;gap:.8rem;box-shadow:var(--shadow-soft);max-width:220px;font-weight:600;font-size:.92rem;
}
.quienes-tag svg{width:22px;height:22px;color:var(--sky);flex-shrink:0;}

/* ===== IMPACTO ===== */
.impacto{background:var(--gray-light);}
.impacto-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:4rem;text-align:center;}
.impacto-line{position:absolute;top:-3.2rem;left:0;width:100%;height:90px;opacity:.5;}
.impacto-line path{stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2.2s var(--ease);}
.impacto-line.drawn path{stroke-dashoffset:0;}
.impacto-num{display:block;font-family:'Fraunces',serif;font-size:clamp(2.2rem,4vw,3.2rem);color:var(--navy);font-weight:500;}
.impacto-label{font-size:.86rem;color:var(--navy-soft);}

/* ===== AREAS ===== */
.areas-cloud{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;margin-top:4rem;}
.area-blob{
  position:relative;padding:2.6rem 2rem;border-radius:44% 56% 38% 62%/54% 42% 58% 46%;
  background:var(--gray-light);transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-radius .6s var(--ease),background .5s;
  overflow:hidden;
}
.area-blob:nth-child(2n){border-radius:56% 44% 62% 38%/42% 58% 42% 58%;}
.area-blob::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(73,184,228,.25),transparent 60%);opacity:0;transition:opacity .5s;}
.area-blob:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-soft);border-radius:38% 62% 30% 70%/60% 30% 70% 40%;background:var(--white);}
.area-blob:hover::before{opacity:1;}
.area-icon{width:46px;height:46px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--sky);margin-bottom:1.3rem;box-shadow:0 10px 24px -10px rgba(26,48,71,.2);position:relative;z-index:1;}
.area-icon svg{width:20px;height:20px;}
.area-blob h3{font-size:1.15rem;margin-bottom:.5rem;position:relative;z-index:1;}
.area-blob p{font-size:.9rem;position:relative;z-index:1;}

/* ===== STORY SECTIONS ===== */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;}
.story-grid.reverse .story-visual{order:2;}
.story-visual{position:relative;overflow:hidden;border-radius:32% 68% 60% 40%/42% 46% 54% 58%;box-shadow:var(--shadow-soft);width:100%;max-width:none;aspect-ratio:4/2.85;}
.story-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),opacity 1.4s ease;}
.story-visual:hover img.active{transform:scale(1.05) rotate(-.5deg);}
.story-quote{font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem;color:var(--navy);margin:1.4rem 0;padding-left:1.2rem;border-left:2px solid var(--sky);}
.lead-lines{display:flex;flex-direction:column;gap:1rem;margin:1.8rem 0;}
.lead-lines li{display:flex;align-items:center;gap:1rem;font-weight:600;color:var(--navy);font-size:1.02rem;}
.lead-lines span{font-family:'Fraunces',serif;font-size:1.3rem;color:var(--sky);font-weight:400;}

/* ===== RSE ===== */
.img-slider img.slide-img{opacity:0;}
.img-slider img.slide-img.active{opacity:1;z-index:1;}

.rse{background:var(--gray-light);}
.rse-visual{position:relative;overflow:hidden;width:100%;max-width:640px;aspect-ratio:16/9.5;margin:3rem auto;border-radius:48% 52% 42% 58%/44% 40% 60% 56%;box-shadow:var(--shadow-soft);}
.rse-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.4s ease;}
.rse-benefits{display:flex;justify-content:center;gap:5rem;margin:3.5rem 0 3.5rem;flex-wrap:wrap;}
.rse-item{text-align:center;}
.rse-item strong{display:block;font-family:'Fraunces',serif;font-size:2.2rem;color:var(--sky);}
.rse-item span{font-size:.86rem;color:var(--navy-soft);}
.rse-logos{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;opacity:.55;}
.rse-logos span{font-weight:600;letter-spacing:.05em;color:var(--navy);filter:grayscale(1);transition:opacity .3s;}
.rse-logos span:hover{opacity:1;color:var(--sky);}

/* ===== BREATHWORK ===== */
.breathwork{background:var(--navy);color:var(--white);overflow:hidden;padding:min(16vh,160px) 0;}
.breathwork h2,.breathwork .eyebrow{color:var(--white);}
.breathwork .eyebrow{color:var(--sky);}
.breathwork p{color:rgba(255,255,255,.65);}
.breath-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.breath-circle{position:absolute;border-radius:50%;border:1px solid rgba(73,184,228,.25);animation:breathe 8s ease-in-out infinite;}
.c1{width:40vw;height:40vw;animation-delay:0s;}
.c2{width:60vw;height:60vw;animation-delay:.6s;border-color:rgba(73,184,228,.15);}
.c3{width:80vw;height:80vw;animation-delay:1.2s;border-color:rgba(73,184,228,.08);}
@keyframes breathe{0%,100%{transform:scale(.88);opacity:.5}50%{transform:scale(1.05);opacity:1}}
.breath-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;align-items:center;}
.breath-blob{position:relative;border-radius:46% 54% 44% 56%/54% 46% 54% 46%;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);aspect-ratio:4/3.2;animation:blobmorph 12s ease-in-out infinite;}
.breath-blob img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.4s ease;}

/* ===== TURISMO ===== */
.turismo{position:relative;overflow:hidden;}
.topo-bg{position:absolute;inset:0;opacity:.06;pointer-events:none;}
.turismo-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;}
.compass-icon{display:inline-flex;width:44px;height:44px;color:var(--sky);margin-bottom:1rem;animation:spin 30s linear infinite;}
.compass-icon svg{width:100%;height:100%;}
.turismo-visual{position:relative;overflow:hidden;border-radius:20% 80% 35% 65%/60% 30% 70% 40%;box-shadow:var(--shadow-soft);width:100%;aspect-ratio:4/3.6;}
.turismo-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.4s ease;}

/* ===== GALERIA ===== */
.galeria{background:var(--gray-light);}
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:130px;gap:1.1rem;margin-top:4rem;}
.g-item{overflow:hidden;border-radius:22px;grid-column:span 2;grid-row:span 2;position:relative;}
.g-item.g-big{grid-column:span 3;grid-row:span 3;}
.g-item.g-tall{grid-row:span 4;}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.g-item:hover img{transform:scale(1.12);}

/* ===== CTA BANNER ===== */
.cta-banner{position:relative;background:linear-gradient(120deg,var(--navy),#122232);overflow:hidden;padding:min(9vh,90px) 0;}
.cta-waves{position:absolute;inset:0;background:radial-gradient(50% 80% at 15% 100%,rgba(73,184,228,.35),transparent 70%),radial-gradient(40% 60% at 90% 0%,rgba(73,184,228,.2),transparent 70%);}
.cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.cta-inner h2{color:var(--white);margin-bottom:.3rem;}
.cta-inner p{color:rgba(255,255,255,.7);}

/* ===== CONTACTO ===== */
.contacto h2{max-width:620px;}
.contacto-grid{display:grid;grid-template-columns:.8fr 1fr .9fr;gap:2.4rem;margin-top:3.5rem;}
.contacto-info{display:flex;flex-direction:column;gap:1.6rem;}
.info-item{display:flex;gap:1rem;align-items:flex-start;}
.info-item svg{width:22px;height:22px;color:var(--sky);flex-shrink:0;margin-top:.15rem;}
.info-item span{display:block;font-size:.78rem;color:var(--navy-soft);}
.info-item strong{font-weight:600;}
.social-row{margin-top:.6rem;}
.social-row>span{display:block;font-size:.8rem;color:var(--navy-soft);margin-bottom:.7rem;}
.social-icons{display:flex;gap:.7rem;}
.social-icons a{width:38px;height:38px;border-radius:50%;background:var(--gray-light);display:flex;align-items:center;justify-content:center;color:var(--navy);transition:.35s var(--ease);}
.social-icons a svg{width:16px;height:16px;}
.social-icons a:hover{background:var(--sky);color:var(--white);transform:translateY(-3px);}
.social-icons.light a{background:rgba(255,255,255,.08);color:var(--white);}
.social-icons.light a:hover{background:var(--sky);}

.contacto-form{background:var(--gray-light);border-radius:28px;padding:2.2rem;display:flex;flex-direction:column;gap:1rem;}
.contacto-form h3{font-size:1.15rem;margin-bottom:.4rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.contacto-form input,.contacto-form textarea{
  border:none;border-radius:14px;padding:.9rem 1.1rem;background:var(--white);
  box-shadow:inset 0 0 0 1px rgba(26,48,71,.08);transition:box-shadow .3s;resize:none;
}
.contacto-form input:focus,.contacto-form textarea:focus{outline:none;box-shadow:inset 0 0 0 1.4px var(--sky);}
.contacto-form .btn{align-self:flex-start;margin-top:.4rem;}

.contacto-map{border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);min-height:320px;}
.contacto-map iframe{width:100%;height:100%;min-height:320px;border:0;filter:grayscale(.15);}

.whatsapp-float{
  position:fixed;bottom:1.8rem;right:1.8rem;width:56px;height:56px;border-radius:50%;
  box-shadow:0 14px 30px -8px rgba(0,0,0,.35);z-index:400;
  animation:pulse-wa 2.6s ease-in-out infinite;
}
.whatsapp-float svg{width:100%;height:100%;}
@keyframes pulse-wa{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* ===== FOOTER ===== */
.footer{position:relative;background:var(--navy);color:rgba(255,255,255,.75);padding-top:min(10vh,100px);overflow:hidden;}
.footer-wave{position:absolute;top:-1px;left:0;width:100%;height:80px;background:radial-gradient(60% 100% at 20% 0%,rgba(73,184,228,.18),transparent 70%);}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-brand{max-width:340px;}
.footer-logo-img{height:34px;}
.footer-brand p{margin:1.2rem 0;font-size:.9rem;color:rgba(255,255,255,.55);max-width:280px;}
.footer-copy{font-size:.78rem;color:rgba(255,255,255,.4)!important;}
.footer-col h4{color:var(--white);font-family:'Inter',sans-serif;font-weight:600;font-size:.92rem;margin-bottom:1.2rem;letter-spacing:.02em;}
.footer-col{display:flex;flex-direction:column;gap:.75rem;}
.footer-col a{font-size:.88rem;color:rgba(255,255,255,.55);transition:color .3s;}
.footer-col a:hover{color:var(--sky);}
.newsletter p{font-size:.86rem;color:rgba(255,255,255,.5);margin-bottom:1rem;}
.newsletter-form{display:flex;background:rgba(255,255,255,.06);border-radius:100px;padding:.3rem;margin-bottom:1.3rem;}
.newsletter-form input{flex:1;background:none;border:none;color:var(--white);padding:.6rem 1rem;}
.newsletter-form input::placeholder{color:rgba(255,255,255,.4);}
.newsletter-form button{width:38px;height:38px;border-radius:50%;background:var(--sky);color:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s;}
.newsletter-form button:hover{transform:scale(1.1);}
.newsletter-form svg{width:15px;height:15px;}
.footer .section-inner{padding-top:0;}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .quienes-grid,.story-grid,.breath-grid,.turismo-grid{grid-template-columns:1fr;}
  .story-grid.reverse .story-visual{order:0;}
  .hero-inner{grid-template-columns:1fr;text-align:center;}
  .hero-sub{margin-left:auto;margin-right:auto;}
  .hero-actions{justify-content:center;}
  .hero-play{justify-content:center;margin:0 auto;}
  .hero-visual{margin-top:2rem;max-width:380px;margin-left:auto;margin-right:auto;}
  .areas-cloud{grid-template-columns:repeat(2,1fr);}
  .contacto-grid{grid-template-columns:1fr 1fr;}
  .contacto-map{grid-column:span 2;}
}
@media (max-width:820px){
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:flex;}
  .nav-links.open{
    display:flex;position:fixed;inset:0;top:0;background:var(--white);
    flex-direction:column;justify-content:center;align-items:center;gap:2rem;z-index:400;
  }
  .nav-links.open a{font-size:1.4rem;}
  .impacto-grid{grid-template-columns:repeat(2,1fr);row-gap:2.5rem;}
  .impacto-line{display:none;}
  .rse-benefits{gap:2.4rem;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .g-item.g-big{grid-column:span 2;grid-row:span 2;}
  .g-item.g-tall{grid-row:span 2;}
  .cta-inner{flex-direction:column;text-align:center;}
  .contacto-grid{grid-template-columns:1fr;}
  .contacto-map{grid-column:auto;}
}
@media (max-width:560px){
  .section{padding:min(10vh,90px) 0;}
  .areas-cloud{grid-template-columns:1fr;}
  .footer-grid{gap:2.2rem;}
  .footer-brand{grid-column:1/-1;}
  .form-row{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column;width:100%;}
  .hero-actions .btn{width:100%;justify-content:center;}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  [data-reveal]{opacity:1;transform:none;filter:none;}
}
