@font-face {
  font-family:'Fraunces';
  src:url('https://res.cloudinary.com/dcokjh4g1/raw/upload/fraunces-italic.ttf') format('truetype');
  font-style:italic; font-weight:100 900;
  font-display:swap;
}

/* ─── TOKENS ─── */
:root {
  --wine:#5A1E37; --wine-dk:#3C1423; --wine-lt:#7A2E4F;
  --cream:#EBE6DC; --cream-lt:#F5F2EC; --cream-dk:#DDD6C8;
  --warm:#F9F6F0; --muted:#7A5A68; --text:#2A1020;
  --dark:#0a0406; --dark2:#110508; --dark3:#1a0910;
  --c-onto:#7864B4; --c-pnl:#37787D; --c-micro:#9B641E;
  --c-reb:#877D28; --c-retiros:#913723; --c-reiki:#28416E;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--dark);color:var(--cream);overflow-x:hidden;}

/* ─── CURSOR ─── */
.cr,.crr{position:fixed;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s;}
.cr{width:8px;height:8px;background:var(--cream);mix-blend-mode:difference;}
.crr{width:32px;height:32px;border:1px solid rgba(235,230,220,0.3);transition:transform .15s ease,width .3s,height .3s;}
@media(max-width:600px){.cr,.crr{display:none;}}

/* ─── NAV ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 3rem;
  transition:background .5s,padding .3s;
}
nav.scrolled{
  background:rgba(10,4,6,0.85);
  backdrop-filter:blur(24px);
  padding:1rem 3rem;
  border-bottom:1px solid rgba(235,230,220,0.05);
}
.nav-logo img{height:38px;}
.nav-logo .nav-iso{
  height:42px;width:auto;
  /* bordó -> cream via filter */
  filter:brightness(0) invert(1) opacity(.88);
  transition:filter .4s,transform .4s;
}
.nav-logo .nav-iso:hover{filter:brightness(0) invert(1) opacity(1);transform:rotate(8deg);}
nav.scrolled .nav-logo .nav-iso{height:36px;}

/* Logo completo (cream) en landings internas */
.nav-logo .nav-logo-full{
  height:34px;width:auto;
  opacity:.92;
  transition:opacity .3s;
}
.nav-logo .nav-logo-full:hover{opacity:1;}
nav.scrolled .nav-logo .nav-logo-full{height:30px;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{
  color:rgba(235,230,220,0.55);text-decoration:none;
  font-size:0.75rem;font-weight:300;letter-spacing:0.14em;text-transform:uppercase;
  transition:color .3s;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;
  background:var(--cream);transform:scaleX(0);transform-origin:left;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.nav-links a:hover,.nav-links a.active{color:var(--cream);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}

/* Dropdown */
.nav-dropdown{position:relative;}
.nav-dropdown > a{display:flex;align-items:center;gap:.4em;}
.nav-dd-arrow{
  font-size:.55em;opacity:.6;transition:transform .25s, opacity .25s;
  margin-left:2px;
}
.nav-dropdown:hover .nav-dd-arrow{transform:rotate(180deg);opacity:1;}

.nav-dd-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  background:rgba(11,5,7,.96);
  backdrop-filter:blur(12px);
  border:1px solid rgba(235,230,220,.08);
  padding:.6rem 0;min-width:220px;
  list-style:none;margin:0;
  opacity:0;pointer-events:none;
  transition:opacity .25s, transform .25s;
  z-index:100;
}
.nav-dropdown:hover .nav-dd-menu,
.nav-dropdown:focus-within .nav-dd-menu{
  opacity:1;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dd-menu li{display:block;}
.nav-dd-menu a{
  display:block;padding:.7rem 1.4rem;
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(235,230,220,.7);text-decoration:none;
  transition:background .2s, color .2s;
}
.nav-dd-menu a::after{display:none;}
.nav-dd-menu a:hover{
  background:rgba(235,230,220,.05);
  color:var(--cream);
}

/* ─── HAMBURGUESA & MOBILE NAV ─── */
.nav-burger{
  display:none;
  background:transparent;border:0;cursor:pointer;
  width:44px;height:44px;padding:10px;
  flex-direction:column;justify-content:space-between;
  position:relative;z-index:910;
}
.nav-burger span{
  display:block;width:100%;height:1.5px;
  background:var(--cream);
  transition:transform .35s ease, opacity .25s ease, background .3s;
  transform-origin:center;
}
body.mob-open .nav-burger span:nth-child(1){transform:translateY(11px) rotate(45deg);}
body.mob-open .nav-burger span:nth-child(2){opacity:0;}
body.mob-open .nav-burger span:nth-child(3){transform:translateY(-11px) rotate(-45deg);}

.mob-nav{
  position:fixed;inset:0;z-index:900;
  background:var(--dark);
  background-image:radial-gradient(ellipse at top right, rgba(90,30,55,.32), transparent 55%),
                   radial-gradient(ellipse at bottom left, rgba(90,30,55,.18), transparent 60%);
  display:flex;align-items:center;justify-content:flex-start;
  padding:6rem 2rem 3rem;
  opacity:0;pointer-events:none;visibility:hidden;
  transition:opacity .35s ease, visibility 0s linear .35s;
}
body.mob-open .mob-nav{
  opacity:1;pointer-events:auto;visibility:visible;
  transition:opacity .35s ease, visibility 0s;
}
body.mob-open{overflow:hidden;}
.mob-nav-inner{
  width:100%;max-width:480px;margin:0 auto;
  display:flex;flex-direction:column;gap:.4rem;
}
.mob-link{
  display:block;padding:1rem .2rem;
  color:var(--cream);text-decoration:none;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:1.7rem;letter-spacing:-.01em;
  border-bottom:1px solid rgba(235,230,220,.08);
  transition:color .25s, transform .25s, padding-left .25s;
  transform:translateY(8px);opacity:0;
}
.mob-link:hover, .mob-link:active{
  color:var(--wine-lt);
  padding-left:.6rem;
}
body.mob-open .mob-link{opacity:1;transform:translateY(0);transition:opacity .4s ease, transform .4s ease;}
body.mob-open .mob-link:nth-child(1){transition-delay:.05s;}
body.mob-open .mob-link:nth-child(2){transition-delay:.1s;}
body.mob-open .mob-link:nth-child(4){transition-delay:.15s;}
body.mob-open .mob-link:nth-child(5){transition-delay:.2s;}
body.mob-open .mob-link:nth-child(6){transition-delay:.25s;}
body.mob-open .mob-link:nth-child(7){transition-delay:.3s;}
body.mob-open .mob-link:nth-child(8){transition-delay:.35s;}
.mob-section{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(235,230,220,.45);margin:1.4rem 0 .2rem;
  font-family:'DM Sans',sans-serif;font-weight:400;
}
.mob-section-link{
  font-family:'DM Sans',sans-serif;font-style:normal;font-weight:400;
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(235,230,220,.55);
  padding:1.2rem .2rem .4rem;
  margin-top:.6rem;
  border-bottom:1px solid rgba(235,230,220,.08);
}
.mob-section-link:hover, .mob-section-link:active{color:var(--cream);}
.mob-sublink{
  font-size:1.25rem;padding:.7rem .2rem;
  color:rgba(235,230,220,.85);
  font-style:italic;
}

@media(max-width:700px){
  nav{padding:1rem 1.2rem;}
  nav.scrolled{padding:.8rem 1.2rem;}
  .nav-logo .nav-iso{height:32px;}
  nav.scrolled .nav-logo .nav-iso{height:28px;}
  .nav-logo .nav-logo-full{height:24px;}
  nav.scrolled .nav-logo .nav-logo-full{height:22px;}
  .nav-links{display:none;}
  .nav-burger{display:flex;}
}
@media(max-width:420px){
  .nav-logo .nav-iso{height:28px;}
  .nav-logo .nav-logo-full{height:20px;}
  .mob-link{font-size:1.5rem;}
  .mob-sublink{font-size:1.15rem;}
}

/* ---- next block ---- */

/* ─── PAGE SYSTEM ─── */
.page{display:none;min-height:100vh;}
.page.active{display:block;animation:pgIn .4s ease both;}
@keyframes pgIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ══════════════════════════════════
   HERO
══════════════════════════════════ */
#hero{
  position:relative;height:100vh;min-height:700px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  overflow:hidden;
}

/* Full-bleed photo background · más alejada para ver más del colibrí */
.hero-photo{
  position:absolute;inset:0;
  background-color:var(--wine-dk);
  background-image:url('https://res.cloudinary.com/dcokjh4g1/image/upload/f_auto,q_auto/bg-monarcas-flores');
  background-position:center 38%;
  background-size:cover;
  background-repeat:no-repeat;
  filter:saturate(0.55) brightness(0.55);
  animation:heroZoom 22s ease-in-out infinite alternate;
}
@keyframes heroZoom{
  from{background-size:100%;}
  to{background-size:106%;}
}

/* Dark vignette · dark center for text legibility, edges reveal photo */
.hero-vignette{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 55% 55% at 50% 50%,rgba(10,4,6,0.72) 0%,rgba(10,4,6,0.45) 40%,transparent 80%),
    linear-gradient(135deg,rgba(60,20,35,0.35) 0%,rgba(90,30,55,0.15) 40%,transparent 70%),
    linear-gradient(to bottom,rgba(60,20,35,0.3) 0%,transparent 25%,transparent 55%,rgba(10,4,6,0.8) 100%);
}

/* Grain */
.hero-grain{
  position:absolute;inset:0;opacity:.28;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:220px;
}

/* ── BREATHING RINGS (the star of the show) ── */
#breath-wrap{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;z-index:3;
}
.bw-svg{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:min(90vw,700px);
  height:min(90vw,700px);
  overflow:visible;
}
/* Canvas ring elements controlled by JS */
.br{
  fill:none;
  stroke:rgba(235,230,220,0.18);
  stroke-width:1;
  transform-origin:center;
  transform-box:fill-box;
}
.br-inner{stroke:rgba(235,230,220,0.7);stroke-width:2;}
.br-mid{stroke:rgba(235,230,220,0.45);stroke-width:1.5;}
.br-outer{stroke:rgba(235,230,220,0.28);stroke-width:1.2;}
.br-far{stroke:rgba(235,230,220,0.14);stroke-width:0.9;}

/* Glowing center orb */
#breath-orb{
  position:absolute;
  width:60px;height:60px;border-radius:50%;
  background:radial-gradient(circle,rgba(235,230,220,0.6) 0%,rgba(235,230,220,0.1) 50%,transparent 80%);
  box-shadow:0 0 40px 10px rgba(235,230,220,0.12);
  transform:scale(1);
  transition:none;
}

/* Breath phase arc */
#phase-svg{
  position:absolute;
  width:min(90vw,700px);height:min(90vw,700px);
  pointer-events:none;z-index:3;overflow:visible;
}

/* Hero text */
.hero-content{
  position:relative;z-index:10;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;
  padding:0 2rem;
}
.hero-eyebrow{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(1rem,1.8vw,1.3rem);
  color:rgba(235,230,220,0.45);letter-spacing:0.18em;
  text-indent:0.18em;
  margin-bottom:1.2rem;
  animation:fadeUp 1.5s .2s both;
}
.hero-logo{
  width:clamp(280px,48vw,620px);
  height:auto;
  margin-top:.4rem;
  filter:drop-shadow(0 4px 24px rgba(10,5,8,.4));
  animation:fadeUp 1.5s .3s both;
}
.hero-tagline{
  font-size:clamp(.9rem,1.4vw,1.05rem);font-weight:300;
  color:rgba(235,230,220,0.45);letter-spacing:.06em;
  max-width:420px;line-height:1.8;margin-top:1.8rem;
  animation:fadeUp 1.5s .6s both;
}
.hero-cta-wrap{
  display:flex;gap:1rem;margin-top:2.5rem;flex-wrap:wrap;justify-content:center;
  animation:fadeUp 1.5s .75s both;
}
.hero-btn{
  padding:.85rem 2.2rem;border:1px solid rgba(235,230,220,0.3);
  color:var(--cream);text-decoration:none;font-size:.75rem;
  font-weight:300;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(235,230,220,0.06);
  transition:background .4s,border-color .4s,gap .3s;cursor:pointer;
}
.hero-btn:hover,.hero-btn-solid:hover{border-color:rgba(235,230,220,.7);background:rgba(235,230,220,.14);}
.hero-btn-solid{
  padding:.85rem 2.2rem;background:var(--wine);border:1px solid var(--wine);
  color:var(--cream);text-decoration:none;font-size:.75rem;
  font-weight:400;letter-spacing:.14em;text-transform:uppercase;
  transition:background .3s;cursor:pointer;
}
.hero-btn-solid:hover{background:var(--wine-lt);}

/* Breath label */
.breath-label{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:1.05rem;color:rgba(235,230,220,.85);letter-spacing:.15em;
  transition:opacity .7s;min-height:1.4em;
  margin-top:1rem;
  animation:fadeUp 1.5s 1s both;
}
.breath-bar-wrap{
  width:64px;height:1px;background:rgba(235,230,220,.08);
  margin:.5rem auto 0;position:relative;overflow:hidden;
}
.breath-bar{
  position:absolute;left:0;top:0;height:100%;
  background:rgba(235,230,220,.45);width:0%;
}
.scroll-hint{
  position:absolute;bottom:1.5rem;right:2.5rem;z-index:10;
  color:rgba(235,230,220,.2);font-size:.65rem;letter-spacing:.22em;
  text-transform:uppercase;writing-mode:vertical-rl;
  animation:fadeUp 2s 1.5s both;
}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}

/* ══════════════════════════════════
   ANIMALS SECTION
══════════════════════════════════ */
.animals-section{
  background:var(--dark);
  padding:0;
  position:relative;
}
.animals-intro{
  padding:5rem 3rem 3rem;
  display:flex;align-items:flex-end;justify-content:space-between;
  max-width:1300px;margin:0 auto;gap:2rem;flex-wrap:wrap;
}
.animals-intro-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2.5rem,5vw,4.5rem);
  color:var(--cream);line-height:1;
}
.animals-intro-title em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:rgba(235,230,220,.5);
}
.animals-intro-text{
  max-width:360px;font-size:.95rem;
  color:rgba(235,230,220,.4);line-height:1.75;font-weight:300;
}
.animals-row{
  display:flex;gap:2px;height:520px;overflow:hidden;
}
.ap{
  flex:1;position:relative;overflow:hidden;cursor:pointer;
  transition:flex .7s cubic-bezier(.16,1,.3,1);
  min-width:60px;
}
.ap:hover{flex:3.5;}
.ap img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform .8s cubic-bezier(.16,1,.3,1),filter .6s;
  filter:saturate(.45) brightness(.5);
}
.ap:hover img{transform:scale(1.06);filter:saturate(.75) brightness(.65);}
.ap-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,4,6,.92) 0%,rgba(10,4,6,.3) 45%,transparent 100%);
}
.ap-label{
  position:absolute;bottom:0;left:0;right:0;
  padding:2rem 1.8rem;
}
.ap-name{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--cream);
  display:block;margin-bottom:.3rem;
  transform:translateY(6px);
  transition:transform .5s ease;
}
.ap-desc{
  font-size:.72rem;color:rgba(235,230,220,.45);
  letter-spacing:.1em;text-transform:uppercase;
  opacity:0;transform:translateY(8px);
  transition:opacity .4s .1s,transform .4s .1s;
}
.ap:hover .ap-name{transform:translateY(0);}
.ap:hover .ap-desc{opacity:1;transform:translateY(0);}

/* ══════════════════════════════════
   INTRO STATEMENT
══════════════════════════════════ */
.statement-section{
  background:var(--wine-dk);
  padding:6rem 3rem;
  position:relative;overflow:hidden;
}
.statement-section::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;opacity:.04;pointer-events:none;
}
.statement-inner{max-width:900px;margin:0 auto;text-align:center;}
.statement-kicker{
  font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  color:rgba(235,230,220,.3);margin-bottom:2rem;
}
.statement-quote{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(2rem,4.5vw,3.8rem);
  color:var(--cream);line-height:1.25;margin-bottom:2.5rem;
}
.statement-body{
  font-size:1.05rem;color:rgba(235,230,220,.55);
  line-height:1.85;font-weight:300;max-width:640px;margin:0 auto 2.5rem;
}
.statement-cta{
  display:inline-flex;align-items:center;gap:.8rem;
  padding:1rem 2.8rem;background:rgba(235,230,220,.07);
  border:1px solid rgba(235,230,220,.2);
  color:var(--cream);font-size:.75rem;letter-spacing:.14em;
  text-transform:uppercase;cursor:pointer;
  transition:background .4s,border-color .4s,gap .3s;
}
.statement-cta:hover{background:rgba(235,230,220,.14);border-color:rgba(235,230,220,.45);gap:1.3rem;}

/* ══════════════════════════════════
   DIFERENCIALES
══════════════════════════════════ */
.dif-section{
  background:var(--dark2);
  padding:6rem 0;
  position:relative;
}
.dif-head{
  max-width:1300px;margin:0 auto;
  padding:0 3rem 4rem;
}
.dif-head-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2.5rem,5vw,4rem);
  color:var(--cream);line-height:1.05;
}
.dif-head-title em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:rgba(235,230,220,.55);
}
.dif-head-text{
  font-size:.95rem;color:rgba(235,230,220,.55);
  line-height:1.8;font-weight:300;
}
.dif-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;max-width:1300px;margin:0 auto;
  padding:0 3rem;
}
.dif-card{
  padding:3rem 2.5rem;
  background:rgba(235,230,220,.025);
  border:1px solid rgba(235,230,220,.08);
  position:relative;overflow:hidden;
  transition:background .4s,border-color .4s,transform .4s;
}
.dif-card:hover{background:rgba(235,230,220,.05);border-color:rgba(235,230,220,.16);transform:translateY(-2px);}
.dif-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--wine-lt),transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.dif-card:hover::after{transform:scaleX(1);}
.dif-n{
  font-family:'Fraunces',serif;font-style:italic;
  font-size:4rem;font-weight:300;
  color:rgba(235,230,220,.32);
  display:block;line-height:1;margin-bottom:.8rem;
}
.dif-card h3{
  font-size:1rem;font-weight:500;color:var(--cream);margin-bottom:.9rem;letter-spacing:.02em;
}
.dif-card p{
  font-size:.92rem;color:rgba(235,230,220,.72);line-height:1.75;font-weight:300;
}

/* ══════════════════════════════════
   HOME SERVICES PREVIEW
══════════════════════════════════ */
.home-serv{
  background:var(--cream);
  padding:7rem 0 8rem;
  position:relative;
}
.home-serv-head{
  max-width:1300px;margin:0 auto;
  padding:0 3rem 4rem;text-align:center;
}
.home-serv-kicker{
  font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  color:var(--wine);opacity:.65;margin-bottom:1.2rem;
}
.home-serv-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2.5rem,5vw,4.2rem);
  color:var(--wine-dk);line-height:1.05;margin-bottom:1.4rem;
}
.home-serv-title em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:var(--wine);
}
.home-serv-sub{
  font-size:1rem;color:rgba(60,20,35,.72);
  line-height:1.78;font-weight:300;
  max-width:560px;margin:0 auto;
}
.home-serv-block{
  max-width:1300px;margin:0 auto;padding:0 3rem;
}
.home-serv-block + .hs-divider + .home-serv-block{margin-top:0;}
.hs-block-label{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--wine);opacity:.7;font-weight:500;
  text-align:center;margin-bottom:2.4rem;
}
.hs-block-label-grupales{color:#3F5042;opacity:.85;}
.home-serv-grid{
  margin:0 auto;
  display:grid;
  gap:1.4rem;
}
.hs-grid-3{grid-template-columns:repeat(3,1fr);}
.hs-grid-2{grid-template-columns:repeat(2,1fr);max-width:1100px;margin:0 auto;}
.hs-divider{
  max-width:1300px;margin:5rem auto 4rem;padding:0 3rem;
  display:flex;justify-content:center;
}
.hs-divider span{
  display:block;width:60px;height:1px;
  background:rgba(90,30,55,.32);
}
.hs-card{
  position:relative;display:flex;flex-direction:column;
  padding:2.4rem 2rem 2rem;
  background:var(--cream-lt);
  border:1px solid rgba(90,30,55,.1);
  text-decoration:none;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  min-height:300px;
}
.hs-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(90,30,55,.08);
  border-color:rgba(90,30,55,.22);
}
.hs-icon{width:54px;height:54px;object-fit:contain;margin-bottom:1rem;}
.hs-num{
  position:absolute;top:1.4rem;right:1.6rem;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:2.4rem;color:rgba(90,30,55,.18);line-height:1;
}
.hs-name{
  font-size:1.1rem;font-weight:500;color:var(--wine-dk);
  margin-bottom:.8rem;letter-spacing:-.01em;
}
.hs-badge{
  display:inline-block;font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;background:var(--wine);color:var(--cream);
  padding:.18rem .55rem;margin-left:.35rem;font-weight:400;vertical-align:middle;
  font-family:'DM Sans',sans-serif;
}
.hs-desc{
  font-size:.9rem;color:rgba(60,20,35,.72);
  line-height:1.65;font-weight:300;flex:1;margin-bottom:1.4rem;
}
.hs-link{
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--wine);font-weight:500;
  transition:gap .3s,letter-spacing .3s;
  display:inline-flex;align-items:center;gap:.4rem;
}
.hs-card:hover .hs-link{gap:.7rem;}
/* Cards grupales: paleta verde-tierra */
.hs-card-grup{background:#F1EEE5;border-color:rgba(63,80,66,.18);}
.hs-card-grup .hs-num{color:rgba(63,80,66,.32);}
.hs-card-grup .hs-link{color:#3F5042;}
.hs-card-grup .hs-badge{background:#3F5042;}
.hs-card-grup .hs-name{color:#2A3A2D;}
.hs-card-grup:hover{border-color:rgba(63,80,66,.45);box-shadow:0 12px 28px rgba(63,80,66,.1);}

.hs-block-cta{text-align:center;margin-top:3rem;}
.btn-wine-outline{
  display:inline-block;padding:.95rem 2.2rem;
  border:1px solid var(--wine);color:var(--wine);
  text-decoration:none;
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:500;transition:background .3s, color .3s;
}
.btn-wine-outline:hover{background:var(--wine);color:var(--cream);}

/* ══════════════════════════════════
   HOME TRÍPTICO VISUAL
══════════════════════════════════ */
.home-trip{
  background:var(--dark);
  padding:7rem 0 8rem;
  position:relative;
}
.home-trip-head{
  max-width:1300px;margin:0 auto;
  padding:0 3rem 4rem;
}
.home-trip-kicker{
  font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  color:rgba(235,230,220,.55);margin-bottom:1.2rem;
}
.home-trip-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2.5rem,5vw,4.2rem);
  color:var(--cream);line-height:1.05;
}
.home-trip-title em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:rgba(235,230,220,.62);
}
.home-trip-grid{
  max-width:1300px;margin:0 auto;
  padding:0 3rem;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2rem;
}
.trip-card{
  display:flex;flex-direction:column;
  border:1px solid rgba(235,230,220,.08);
  background:rgba(235,230,220,.02);
  overflow:hidden;
  transition:transform .4s ease, border-color .4s ease;
}
.trip-card:hover{
  transform:translateY(-3px);
  border-color:rgba(235,230,220,.18);
}
.trip-img{
  aspect-ratio:4/3;width:100%;
  background-size:cover;background-position:center;
  filter:saturate(.85);
  transition:filter .5s ease;
}
.trip-card:hover .trip-img{filter:saturate(1);}
.trip-copy{padding:1.8rem 1.8rem 2.2rem;}
.trip-copy h3{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:1.6rem;color:var(--cream);margin-bottom:.7rem;
}
.trip-copy p{
  font-size:.92rem;color:rgba(235,230,220,.7);
  line-height:1.7;font-weight:300;
}

/* ══════════════════════════════════
   METODOLOGIA (photo section)
══════════════════════════════════ */
.met-section{
  position:relative;min-height:75vh;
  display:flex;align-items:center;overflow:hidden;
}
.met-bg{
  position:absolute;inset:0;
  background:url('https://res.cloudinary.com/dcokjh4g1/image/upload/f_auto,q_auto/bg-monarcas-flores') center/cover no-repeat;
  filter:saturate(.4) brightness(.22);
}
.met-bg-grain{
  position:absolute;inset:0;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}
.met-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(60,20,35,.94) 0%,rgba(10,4,6,.75) 100%);
}
.met-content{
  position:relative;z-index:2;
  max-width:1300px;margin:0 auto;padding:7rem 3rem;
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
}
.met-left-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(3rem,6vw,5.5rem);
  color:var(--cream);line-height:.95;
}
.met-left-title em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:rgba(235,230,220,.6);display:block;
}
.met-right{}
.met-right p{
  font-size:1rem;color:rgba(235,230,220,.55);
  line-height:1.85;font-weight:300;margin-bottom:1.5rem;
}
.met-right p em{font-family:'Fraunces',serif;font-style:italic;color:rgba(235,230,220,.85);}
.met-cta{
  display:inline-flex;align-items:center;gap:.8rem;
  margin-top:1rem;
  padding:1rem 2.5rem;border:1px solid rgba(235,230,220,.2);
  color:var(--cream);font-size:.75rem;letter-spacing:.14em;
  text-transform:uppercase;cursor:pointer;
  background:rgba(235,230,220,.05);
  transition:background .4s,border-color .4s,gap .3s;
}
.met-cta:hover{background:rgba(235,230,220,.12);border-color:rgba(235,230,220,.4);gap:1.3rem;}

/* ══════════════════════════════════
   TESTIMONIOS
══════════════════════════════════ */
/* ══════════════════════════════════
   TESTIMONIOS · estilo WhatsApp
══════════════════════════════════ */
.wa-section{
  background:linear-gradient(180deg,var(--cream-lt) 0%,var(--cream-dk) 100%);
  padding:6rem 2rem 7rem;
  position:relative;
}
.wa-head{max-width:900px;margin:0 auto 3.5rem;text-align:center;}
.wa-kicker{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem;}
.wa-title{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(2.4rem,5vw,4rem);color:var(--wine-dk);
  line-height:1.05;margin-bottom:1.4rem;
}
.wa-title em{font-style:italic;color:var(--wine);}
.wa-sub{
  font-size:.95rem;line-height:1.8;color:var(--muted);
  font-weight:300;max-width:460px;margin:0 auto;
}

/* Fondo tipo pantalla de WhatsApp: crema con iconos sutiles */
.wa-phone-bg{
  max-width:1400px;margin:0 auto;
  background:
    /* Patrón de iconitos WhatsApp-ish */
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300' opacity='.07'%3E%3Cg fill='none' stroke='%235A1E37' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M30 40 l7 7 l14 -14'/%3E%3Ccircle cx='90' cy='50' r='12'/%3E%3Cpath d='M85 50 l3 3 l7 -7'/%3E%3Cpath d='M160 30 l10 20 l-20 0 z'/%3E%3Cpath d='M230 45 q10 -10 20 0 q10 10 0 20 q-10 10 -20 0 q-10 -10 0 -20z'/%3E%3Ccircle cx='50' cy='110' r='10'/%3E%3Cpath d='M45 108 l5 5 l8 -8'/%3E%3Cpath d='M110 100 q8 -4 8 4 q0 8 -8 4 M110 110 l0 6'/%3E%3Cpath d='M170 100 l14 14 M184 100 l-14 14'/%3E%3Cpath d='M225 100 q5 -5 10 0 l0 15 l-10 0 z'/%3E%3Ccircle cx='280' cy='110' r='10' /%3E%3Ccircle cx='280' cy='110' r='4'/%3E%3Cpath d='M30 180 q10 -5 20 0 q0 10 -10 10 q-10 0 -10 -10z M40 195 l0 5'/%3E%3Cpath d='M95 170 l15 0 l0 15 l-7 0 l-8 8 l0 -23z'/%3E%3Cpath d='M165 175 l0 15 M157 182 l16 0'/%3E%3Cpath d='M230 170 q-5 10 0 20 q10 5 20 0 q5 -10 0 -20 q-10 -5 -20 0z'/%3E%3Cpath d='M40 240 l7 7 l14 -14'/%3E%3Cpath d='M105 235 q8 -8 16 0 q8 8 0 16 q-8 8 -16 0 q-8 -8 0 -16z M113 243 l0 6'/%3E%3Cpath d='M170 230 l10 20 l-20 0 z'/%3E%3Ccircle cx='235' cy='245' r='12'/%3E%3Cpath d='M280 235 l0 20 M270 245 l20 0'/%3E%3C/g%3E%3C/svg%3E"),
    #ebe4dc;
  background-repeat:repeat;
  padding:3rem 2rem;
  border-radius:4px;
  box-shadow:
    0 1px 2px rgba(60,20,35,.05),
    0 8px 40px rgba(60,20,35,.08);
  position:relative;
}

.wa-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
  align-items:start;
}

.wa-col{display:flex;flex-direction:column;gap:.5rem;}

.wa-who{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--wine);font-weight:500;margin-bottom:.4rem;
  padding-left:.4rem;
}
.wa-who span{color:var(--muted);font-weight:300;text-transform:none;letter-spacing:.05em;}

/* Burbuja WhatsApp */
.wa-msg{
  position:relative;
  background:#ffffff;
  color:#111b21;
  padding:.75rem 4.5rem .6rem .9rem;
  border-radius:7.5px;
  font-size:.92rem;
  line-height:1.4;
  font-weight:400;
  font-family:-apple-system,'Segoe UI','Helvetica Neue',system-ui,sans-serif;
  box-shadow:0 1px 1px rgba(11,20,26,.13);
  max-width:100%;
  word-wrap:break-word;
  animation:waIn .7s cubic-bezier(.2,.8,.2,1) both;
}
.wa-msg-sm{font-size:.88rem;}
/* Colita izquierda */
.wa-msg::before{
  content:'';
  position:absolute;top:0;left:-8px;
  width:12px;height:13px;
  background:#ffffff;
  clip-path:polygon(100% 0,100% 100%,0 0);
}
.wa-time{
  display:inline-block;
  position:absolute;bottom:.45rem;right:.8rem;
  font-size:.68rem;
  color:#667781;
  font-weight:400;
  letter-spacing:0;
  white-space:nowrap;
}
.wa-heart{color:#e0245e;font-size:1em;}

@keyframes waIn{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:none;}
}

.wa-foot{
  text-align:center;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(1.1rem,2vw,1.4rem);
  color:var(--wine-dk);opacity:.72;
  line-height:1.6;margin-top:3.5rem;
}

/* Responsive */
@media(max-width:900px){
  .wa-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;}
}
@media(max-width:600px){
  .wa-section{padding:4.5rem 1rem 5rem;}
  .wa-phone-bg{padding:2rem 1rem;}
  .wa-grid{grid-template-columns:1fr;gap:1.8rem;}
  .wa-msg{font-size:.9rem;}
}

/* ══════════════════════════════════
   HOME · sección Sobre mí (preview)
══════════════════════════════════ */
/* ══════════════════════════════════
   HOME · sección Colibrí (solo imagen)
══════════════════════════════════ */
.home-bird-img{
  position:relative;
  background:var(--dark);
  background-image:radial-gradient(ellipse at center, rgba(90,30,55,.18) 0%, transparent 65%);
  width:100%;
  overflow:hidden;
  padding:0;
}
.home-bird-img-wrap{
  position:relative;width:100%;
  height:auto;
  display:flex;align-items:center;justify-content:center;
  padding:0;
  overflow:hidden;
}
.home-bird-img-wrap picture{
  display:block;width:100%;line-height:0;
}
.home-bird-img-photo{
  display:block;
  width:100%;height:auto;
  max-width:none;
  filter:saturate(.96);
}
@media(max-width:900px){
  .home-bird-img{background:var(--dark);background-image:none;}
  .home-bird-img-wrap{min-height:0;max-height:none;padding:0;display:block;}
  .home-bird-img-wrap picture{width:100%;height:auto;display:block;line-height:0;}
  .home-bird-img-photo{
    width:100%;height:auto;
    max-width:none;max-height:none;
    object-fit:initial;
  }
}
@media(max-width:600px){
  .home-bird-img-wrap{min-height:0;max-height:none;padding:0;}
  .home-bird-img-photo{max-width:none;max-height:none;}
}

/* ══════════════════════════════════
   HOME · sección Sobre mí (preview)
══════════════════════════════════ */
.home-about{
  background:var(--cream);
  padding:7rem 3rem;
}
.home-about-grid{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.1fr;
  gap:5rem;align-items:center;
}
.home-about-photo{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--cream-dk);
}
.home-about-photo img{
  width:100%;height:100%;object-fit:cover;
  display:block;
  filter:saturate(0.92) contrast(1.02);
  transition:transform 1.2s ease;
}
.home-about-photo:hover img{transform:scale(1.03);}
.home-about-photo::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(90,30,55,0.06) 0%,transparent 50%,rgba(60,20,35,0.08) 100%);
  pointer-events:none;
}

.home-about-content{
  display:flex;flex-direction:column;
}
.home-about-kicker{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1rem;
}
.home-about-title{
  font-family:'Fraunces',serif;font-weight:300;
  font-size:clamp(2.4rem,4.5vw,3.8rem);
  line-height:1.05;color:var(--wine-dk);
  margin-bottom:2rem;letter-spacing:-0.01em;
}
.home-about-title em{font-style:italic;color:var(--wine);}
.home-about-body p{
  font-size:1.05rem;line-height:1.85;font-weight:300;
  color:var(--text);margin-bottom:1.4rem;
}
.home-about-body em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:var(--wine);font-size:1.08em;
}
.home-about-link{
  display:inline-block;align-self:flex-start;
  margin-top:1rem;
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--wine);text-decoration:none;
  border-bottom:1px solid rgba(90,30,55,.3);padding-bottom:4px;
  transition:border-color .3s, color .3s;
}
.home-about-link:hover{border-color:var(--wine);color:var(--wine-dk);}

@media(max-width:900px){
  .home-about{padding:5rem 2rem;}
  .home-about-grid{grid-template-columns:1fr;gap:3rem;}
  .home-about-photo{aspect-ratio:3/4;max-width:480px;margin:0 auto;}
}
@media(max-width:600px){
  .home-about{padding:4rem 1.4rem;}
  .home-about-grid{gap:2.5rem;}
}

/* ══════════════════════════════════
   PAGE: SERVICIOS (con color)
══════════════════════════════════ */
#page-servicios{background:var(--cream);}
.serv-hero{
  position:relative;overflow:hidden;
  padding:9rem 3rem 5rem;min-height:55vh;
  display:flex;align-items:flex-end;
}
.serv-hero-bg{
  position:absolute;inset:0;
  background:url('https://res.cloudinary.com/dcokjh4g1/image/upload/f_auto,q_auto/bg-monarca-cerca') center/cover no-repeat;
  filter:saturate(.45) brightness(.22);
  animation:heroZoom 25s ease-in-out infinite alternate;
}
.serv-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(10,4,6,.45) 0%,rgba(10,4,6,.88) 70%,var(--wine-dk) 100%);
}
.serv-hero-content{position:relative;z-index:2;max-width:1300px;margin:0 auto;width:100%;}
.serv-hero-kicker{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(235,230,220,.7);margin-bottom:1rem;}
.serv-hero-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(3.5rem,8vw,7rem);
  color:var(--cream);line-height:.92;
}
.serv-hero-title em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:rgba(235,230,220,.7);}
.serv-hero-sub{color:rgba(235,230,220,.78);font-size:1.05rem;font-weight:300;max-width:560px;line-height:1.75;margin-top:1.2rem;}

/* Sección sesiones individuales sobre cream */
.serv-individual{
  background:var(--cream);
  padding:6rem 3rem 4rem;
}
.serv-section-head{
  max-width:1100px;margin:0 auto 4rem;text-align:center;
}
.serv-section-kicker{
  font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  color:var(--wine);opacity:.65;margin-bottom:1.2rem;
}
.serv-section-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2.4rem,5vw,3.8rem);
  color:var(--wine-dk);line-height:1.05;margin-bottom:1.2rem;
}
.serv-section-title em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:var(--wine);
}
.serv-section-sub{
  color:rgba(60,20,35,.72);font-size:1rem;
  line-height:1.78;font-weight:300;
  max-width:560px;margin:0 auto;
}
.serv-cards-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.4rem;
}
.serv-card{
  position:relative;display:flex;flex-direction:column;
  padding:3rem 2.6rem 2.6rem;
  text-decoration:none;
  transition:transform .4s ease, box-shadow .4s ease;
  min-height:340px;
  overflow:hidden;
}
.serv-card:not(.serv-card-static):hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(60,20,35,.14);
}
.serv-card-num{
  position:absolute;top:1.6rem;right:1.8rem;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:3rem;line-height:1;opacity:.32;
}
.serv-card-icon{width:60px;height:60px;object-fit:contain;margin-bottom:1.4rem;}
.serv-card-name{
  font-size:1.4rem;font-weight:400;
  margin-bottom:1rem;letter-spacing:-.01em;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
}
.serv-card-desc{
  font-size:.95rem;line-height:1.7;font-weight:300;
  flex:1;margin-bottom:1.2rem;
}
.serv-card-meta{
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  opacity:.55;margin-bottom:1.6rem;font-weight:400;
}
.serv-card-link{
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:500;
  display:inline-flex;align-items:center;gap:.4rem;
  transition:gap .3s;text-decoration:none;
}
.serv-card:hover .serv-card-link{gap:.9rem;}

/* Variantes de color */
.serv-card-wine{background:var(--wine-dk);color:var(--cream);}
.serv-card-wine .serv-card-num{color:rgba(235,230,220,.4);}
.serv-card-wine .serv-card-name{color:var(--cream);}
.serv-card-wine .serv-card-desc{color:rgba(235,230,220,.78);}
.serv-card-wine .serv-card-meta{color:rgba(235,230,220,.65);}
.serv-card-wine .serv-card-link{color:var(--cream);}

.serv-card-cream{background:var(--cream-lt);color:var(--wine-dk);border:1px solid rgba(90,30,55,.12);}
.serv-card-cream .serv-card-num{color:var(--wine);}
.serv-card-cream .serv-card-name{color:var(--wine-dk);}
.serv-card-cream .serv-card-desc{color:rgba(60,20,35,.74);}
.serv-card-cream .serv-card-meta{color:rgba(60,20,35,.55);}
.serv-card-cream .serv-card-link{color:var(--wine);}

.serv-card-green{background:#3F5042;color:var(--cream);}
.serv-card-green .serv-card-num{color:rgba(235,230,220,.42);}
.serv-card-green .serv-card-name{color:var(--cream);}
.serv-card-green .serv-card-desc{color:rgba(235,230,220,.78);}
.serv-card-green .serv-card-meta{color:rgba(235,230,220,.65);}
.serv-card-green .serv-card-link{color:var(--cream);}

.serv-card-soft{background:var(--cream-dk);color:var(--wine-dk);border:1px solid rgba(90,30,55,.1);}
.serv-card-soft .serv-card-num{color:rgba(90,30,55,.32);}
.serv-card-soft .serv-card-name{color:var(--wine-dk);}
.serv-card-soft .serv-card-desc{color:rgba(60,20,35,.74);}
.serv-card-soft .serv-card-meta{color:rgba(60,20,35,.55);}
.serv-card-soft .serv-card-link{color:var(--wine);}

/* CTA grupales al pie de page-servicios */
.serv-grupales-cta{
  background:var(--wine-dk);
  background-image:radial-gradient(ellipse at 20% 30%, rgba(122,46,79,.55), transparent 55%);
  padding:6rem 3rem 7rem;
  text-align:center;
}
.serv-gcta-content{max-width:680px;margin:0 auto;}
.serv-gcta-kicker{
  font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;
  color:rgba(235,230,220,.6);margin-bottom:1.2rem;
}
.serv-gcta-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2.4rem,5vw,3.8rem);
  color:var(--cream);line-height:1.05;margin-bottom:1.4rem;
}
.serv-gcta-title em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:rgba(235,230,220,.7);
}
.serv-gcta-text{
  color:rgba(235,230,220,.78);font-size:1rem;
  line-height:1.78;font-weight:300;margin-bottom:2.4rem;
}
.btn-cream-outline{
  display:inline-block;padding:1rem 2.4rem;
  border:1px solid rgba(235,230,220,.45);
  color:var(--cream);text-decoration:none;
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:500;transition:background .3s, border-color .3s;
}
.btn-cream-outline:hover{
  background:rgba(235,230,220,.1);
  border-color:var(--cream);
}

/* ══════════════════════════════════
   PAGE: LANDING SERVICIO
══════════════════════════════════ */
#page-landing{background:var(--dark);}
.landing-hdr{
  position:relative;overflow:hidden;
  padding:8rem 3rem 5rem;min-height:58vh;
  display:flex;align-items:flex-end;
}
.landing-hdr-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:saturate(.3) brightness(.18);
}
.landing-hdr-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(10,4,6,.45),rgba(10,4,6,.92) 65%,var(--dark) 100%);
}
.landing-back{
  position:absolute;top:5.5rem;left:3rem;z-index:3;
  background:none;border:none;cursor:pointer;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(235,230,220,.3);display:flex;align-items:center;gap:.5rem;
  transition:color .3s;font-family:'DM Sans',sans-serif;
}
.landing-back:hover{color:var(--cream);}
.landing-hdr-content{position:relative;z-index:2;max-width:900px;margin:0 auto;width:100%;}
.landing-tag{
  display:inline-block;padding:.3rem .9rem;
  border:1px solid rgba(235,230,220,.12);
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(235,230,220,.35);margin-bottom:1.2rem;
}
.landing-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2.8rem,6vw,5.5rem);
  color:var(--cream);line-height:1.0;margin-bottom:1rem;
}
.landing-title em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;}
.landing-sub{font-size:1rem;color:rgba(235,230,220,.45);line-height:1.75;font-weight:300;max-width:600px;}

.landing-body{max-width:820px;margin:0 auto;padding:5rem 3rem;}
.landing-body p{
  font-size:1.05rem;line-height:1.92;
  color:rgba(235,230,220,.58);font-weight:300;margin-bottom:1.5rem;
}
.landing-body p em{font-family:'Fraunces',serif;font-style:italic;color:rgba(235,230,220,.88);}
.landing-body p strong{color:rgba(235,230,220,.85);font-weight:400;}

.precio-block{
  background:rgba(235,230,220,.025);
  border:1px solid rgba(235,230,220,.07);
  padding:3rem;margin:3.5rem 0;
}
.precio-block-title{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:2rem;color:var(--cream);margin-bottom:2rem;
}
.precio-cells{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:2rem;}
.precio-cell{
  padding:1.5rem;background:rgba(235,230,220,.03);
}
.pc-label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(235,230,220,.25);margin-bottom:.4rem;}
.pc-val{font-size:1.25rem;font-weight:300;color:var(--cream);}
.precio-detail{font-size:.85rem;color:rgba(235,230,220,.3);line-height:1.7;}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:3rem;}
.btn-wine{
  padding:1rem 2.5rem;background:var(--wine);color:var(--cream);
  text-decoration:none;font-size:.78rem;font-weight:400;
  letter-spacing:.12em;text-transform:uppercase;
  transition:background .3s;cursor:pointer;border:none;display:inline-block;
}
.btn-wine:hover{background:var(--wine-lt);}
.btn-outline{
  padding:1rem 2rem;border:1px solid rgba(235,230,220,.18);
  color:rgba(235,230,220,.5);text-decoration:none;font-size:.78rem;
  letter-spacing:.1em;text-transform:uppercase;
  transition:border-color .3s,color .3s;display:inline-block;
}
.btn-outline:hover{border-color:rgba(235,230,220,.45);color:var(--cream);}

/* ══════════════════════════════════
   PAGE: RETIROS
══════════════════════════════════ */
#page-retiros{background:var(--dark);}
.retiros-hero{
  position:relative;overflow:hidden;
  padding:9rem 3rem 5rem;min-height:55vh;display:flex;align-items:flex-end;
}
.ret-hero-bg{
  position:absolute;inset:0;
  background:url('https://res.cloudinary.com/dcokjh4g1/image/upload/f_auto,q_auto/bg-hongos-bosque') center/cover no-repeat;
  filter:saturate(.45) brightness(.22);
  animation:heroZoom 25s ease-in-out infinite alternate;
}
.ret-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(10,4,6,.35) 0%,rgba(10,4,6,.92) 65%,var(--dark) 100%);
}
.ret-hero-content{position:relative;z-index:2;max-width:1300px;margin:0 auto;width:100%;}
.ret-hero-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(3.5rem,8vw,7rem);
  color:var(--cream);line-height:.92;
}
.ret-hero-title em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:rgba(235,230,220,.55);}

/* Featured retiro */
.retiro-feature{
  max-width:1300px;margin:0 auto;padding:0 3rem 3rem;
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
}
.retiro-img{
  position:relative;overflow:hidden;min-height:440px;
}
.retiro-img img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.5) brightness(.55);
  transition:transform .8s ease,filter .5s;
}
.retiro-feature:hover .retiro-img img{transform:scale(1.04);filter:saturate(.7) brightness(.65);}
.retiro-content{
  padding:3.5rem;
  background:rgba(235,230,220,.02);
  border:1px solid rgba(235,230,220,.05);
  display:flex;flex-direction:column;
}
.retiro-tag{
  display:inline-block;padding:.3rem .9rem;
  background:var(--wine);color:var(--cream);
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:1.5rem;width:fit-content;
}
.retiro-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2rem,3.5vw,3rem);color:var(--cream);
  line-height:1.05;margin-bottom:.6rem;
}
.retiro-title em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;}
.retiro-date{font-size:.85rem;color:rgba(235,230,220,.3);margin-bottom:1.8rem;letter-spacing:.04em;}
.retiro-desc{
  font-size:.95rem;color:rgba(235,230,220,.45);
  line-height:1.8;font-weight:300;margin-bottom:2rem;flex:1;
}
.retiro-cta{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(235,230,220,.35);text-decoration:none;
  transition:color .3s,gap .3s;
}
.retiro-cta:hover{color:var(--cream);gap:1rem;}

/* Encuentros */
.enc-section{
  max-width:1300px;margin:0 auto;padding:3rem 3rem 5rem;
}
.enc-feature-img{
  width:100%;
  margin:0 0 2.5rem;
  overflow:hidden;
  border:1px solid rgba(235,230,220,.06);
}
.enc-feature-img img{
  display:block;width:100%;height:auto;
  filter:saturate(.92);
}
@media(max-width:680px){
  .enc-feature-img{margin:0 0 1.8rem;}
}
.enc-title{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(2rem,4vw,3rem);color:var(--cream);margin-bottom:.5rem;
}
.enc-sub{font-size:.88rem;color:rgba(235,230,220,.3);margin-bottom:2.5rem;letter-spacing:.04em;}
.enc-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1px;
}
.enc-card{
  padding:2.5rem;
  background:rgba(235,230,220,.02);
  border:1px solid rgba(235,230,220,.06);
  transition:background .4s,border-color .4s;
}
.enc-card:hover{background:rgba(235,230,220,.05);border-color:rgba(235,230,220,.1);}
.enc-fecha{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:2rem;color:var(--cream);margin-bottom:.4rem;
}
.enc-lugar{font-size:.88rem;color:rgba(235,230,220,.35);margin-bottom:1rem;}
.enc-badge{
  display:inline-block;padding:.25rem .75rem;
  border:1px solid rgba(235,230,220,.1);
  font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(235,230,220,.25);
}
.enc-cta-wrap{margin-top:2.5rem;}

/* ══════════════════════════════════
   PAGE: SOBRE MÍ
══════════════════════════════════ */
#page-sobre{background:var(--dark);}
.sobre-hero{
  position:relative;overflow:hidden;
  padding:9rem 3rem 5rem;min-height:55vh;display:flex;align-items:flex-end;
}
.sobre-hero-bg{
  position:absolute;inset:0;
  background:url('https://res.cloudinary.com/dcokjh4g1/image/upload/f_auto,q_auto/hero-colibri') 70% center/cover no-repeat;
  filter:saturate(.4) brightness(.2);
}
.sobre-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right,rgba(10,4,6,.95) 35%,rgba(10,4,6,.6) 70%,rgba(10,4,6,.85) 100%),
             linear-gradient(to bottom,rgba(10,4,6,.3) 0%,rgba(10,4,6,.0) 50%,rgba(10,4,6,.95) 90%,var(--dark) 100%);
}
.sobre-hero-content{position:relative;z-index:2;max-width:1300px;margin:0 auto;width:100%;}
.sobre-hero-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(3.5rem,8vw,7rem);
  color:var(--cream);line-height:.92;
}
.sobre-hero-title em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:rgba(235,230,220,.55);}

.sobre-body{
  max-width:1300px;margin:0 auto;padding:4rem 3rem 3rem;
  display:grid;grid-template-columns:0.85fr 1.15fr;gap:4rem;align-items:start;
}
.sobre-foto-box{
  position:sticky;top:7rem;
  background:var(--dark);
  border:1px solid rgba(235,230,220,.05);
  aspect-ratio:3/4;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  z-index:1;
}
@media(max-width:1000px){
  .sobre-foto-box{position:static;top:auto;}
}
.sobre-foto-box img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(0.95) contrast(1.02);
  transition:transform 1.2s ease;
}
.sobre-foto-box:hover img{transform:scale(1.03);}
.sobre-foto-box img.placeholder-logo{width:70px;height:auto;opacity:.1;filter:none;}
.sobre-foto-label{
  position:absolute;bottom:1.2rem;left:1.2rem;
  font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(235,230,220,.15);
}
.sobre-text p{
  font-size:1rem;line-height:1.92;
  color:rgba(235,230,220,.55);font-weight:300;margin-bottom:1.4rem;
}
.sobre-text p em{font-family:'Fraunces',serif;font-style:italic;color:rgba(235,230,220,.88);}
.formaciones-wrap{
  margin-top:2.5rem;padding-top:2.5rem;
  border-top:1px solid rgba(235,230,220,.07);
}
.form-kicker{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(235,230,220,.2);margin-bottom:1.2rem;}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;}
.pill{
  padding:.38rem .95rem;border:1px solid rgba(235,230,220,.1);
  font-size:.8rem;color:rgba(235,230,220,.35);
  background:rgba(235,230,220,.02);
  transition:border-color .3s,color .3s;
}
.pill:hover{border-color:rgba(235,230,220,.3);color:rgba(235,230,220,.7);}

.sobre-stats{
  max-width:1300px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;padding:0 3rem 5rem;
}
.stat-box{
  padding:3rem 2.5rem;text-align:center;
  background:rgba(235,230,220,.015);border:1px solid rgba(235,230,220,.04);
}
.stat-n{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:4rem;color:var(--cream);display:block;margin-bottom:.4rem;
}
.stat-l{font-size:.75rem;color:rgba(235,230,220,.22);letter-spacing:.1em;}

/* ══════════════════════════════════
   PAGE: CONTACTO
══════════════════════════════════ */
#page-contacto{background:var(--dark);}
.contacto-hero{
  position:relative;overflow:hidden;
  padding:9rem 3rem 5rem;min-height:48vh;display:flex;align-items:flex-end;
}
.contacto-hbg{
  position:absolute;inset:0;
  background:url('https://res.cloudinary.com/dcokjh4g1/image/upload/f_auto,q_auto/bg-monarcas-rosa') center/cover no-repeat;
  filter:saturate(.3) brightness(.15);
}
.contacto-hoverlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(10,4,6,.5),rgba(10,4,6,.94) 65%,var(--dark) 100%);
}
.contacto-hcontent{position:relative;z-index:2;max-width:1300px;margin:0 auto;width:100%;}
.contacto-title{
  font-family:'DM Sans',sans-serif;font-weight:200;
  font-size:clamp(2.8rem,6vw,5rem);
  color:var(--cream);line-height:1.0;
}
.contacto-title em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:rgba(235,230,220,.55);}
.contacto-sub{color:rgba(235,230,220,.6);font-size:.95rem;font-weight:300;margin-top:.8rem;}

.contacto-body{
  max-width:1300px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.2fr;
  gap:5rem;padding:4rem 3rem 6rem;
}
.contact-side{display:flex;flex-direction:column;gap:2rem;}
.contact-img-wrap{
  position:relative;border-radius:0;overflow:hidden;
  aspect-ratio:4/3;
  border:1px solid rgba(235,230,220,.08);
  background:rgba(235,230,220,.03);
}
.contact-img{width:100%;height:100%;object-fit:cover;display:block;}
.contact-side-copy{padding:.5rem 0;}
.contact-side-kicker{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--cream);opacity:.55;margin-bottom:.8rem;
  font-family:'Fraunces',serif;font-style:italic;letter-spacing:.05em;text-transform:none;
  font-size:.95rem;
}
.contact-side-text{
  color:rgba(235,230,220,.78);font-size:.98rem;line-height:1.78;font-weight:300;
}
.contact-links h3{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(235,230,220,.45);margin-bottom:1.5rem;}
.contact-link{
  display:flex;align-items:center;gap:1rem;
  text-decoration:none;color:rgba(235,230,220,.78);
  font-size:1rem;font-weight:300;padding:1.2rem 0;
  border-bottom:1px solid rgba(235,230,220,.1);
  transition:color .3s;
}
.contact-link:hover{color:var(--cream);}
.cl-arrow{font-size:.8rem;margin-left:auto;opacity:.4;transition:opacity .3s,transform .3s;}
.contact-link:hover .cl-arrow{opacity:.9;transform:translateX(4px);}
.form-box h3{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:1.8rem;color:var(--cream);margin-bottom:2rem;
}
.field{margin-bottom:1.2rem;}
.field label{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(235,230,220,.55);margin-bottom:.5rem;}
.field input,.field textarea,.field select{
  width:100%;padding:.9rem 1rem;
  background:rgba(235,230,220,.04);
  border:1px solid rgba(235,230,220,.14);
  color:var(--cream);font-family:'DM Sans',sans-serif;font-size:.95rem;
  outline:none;transition:border-color .3s,background .3s;
  -webkit-appearance:none;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(235,230,220,.4);}
.field input:focus,.field textarea:focus{border-color:rgba(235,230,220,.3);background:rgba(235,230,220,.05);}
.field textarea{resize:vertical;min-height:110px;}
.field select{color:rgba(235,230,220,.45);}
.field select option{background:#1a0910;}
.btn-submit{
  width:100%;padding:1.1rem;background:var(--wine);
  color:var(--cream);border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;
  transition:background .3s;
}
.btn-submit:hover{background:var(--wine-lt);}

/* ══════════════════════════════════
   FOOTER
══════════════════════════════════ */
footer{
  background:#060203;padding:3rem 3rem;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1.5rem;
  border-top:1px solid rgba(235,230,220,.06);
}
footer img{height:36px;opacity:.88;}
.footer-links{display:flex;gap:2.2rem;flex-wrap:wrap;}
.footer-links a{color:rgba(235,230,220,.65);text-decoration:none;font-size:.85rem;letter-spacing:.08em;transition:color .3s;}
.footer-links a:hover{color:var(--cream);}
.footer-cr{color:rgba(235,230,220,.4);font-size:.8rem;letter-spacing:.06em;}

/* ─── RESPONSIVE ─── */
@media(max-width:1000px){
  .dif-grid,.test-grid{grid-template-columns:1fr 1fr;}
  .hs-grid-3{grid-template-columns:1fr 1fr;}
  .hs-grid-2{grid-template-columns:1fr;}
  .met-content,.sobre-body,.contacto-body{grid-template-columns:1fr;gap:3rem;}
  .retiro-feature{grid-template-columns:1fr;}
  .serv-cards-grid{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .dif-grid,.test-grid,.sobre-stats,.enc-grid,.precio-cells,.serv-cards-grid,.hs-grid-3,.hs-grid-2{grid-template-columns:1fr;}
  .dif-head{grid-template-columns:1fr;}
  .animals-row{flex-wrap:nowrap;overflow-x:auto;}
  .ap{flex:0 0 55vw;}
  nav,.serv-hero,.ret-hero-content,.sobre-hero-content,.contacto-hcontent,.enc-section,.retiro-feature,.sobre-body,.sobre-stats,.contacto-body,.landing-body,.serv-hero-content,.serv-individual,.serv-grupales-cta{padding-left:1.5rem;padding-right:1.5rem;}
  .dif-grid{padding:0 1.5rem;}
  .dif-head{padding:0 1.5rem 3rem;}
  .home-serv,.home-trip{padding:5rem 0 6rem;}
  .home-serv-head{padding:0 1.5rem 3rem;}
  .home-serv-block,.hs-divider{padding-left:1.5rem;padding-right:1.5rem;}
  .home-serv-grid{gap:1rem;}
  .hs-card,.serv-card{min-height:auto;}
  .serv-card{padding:2.4rem 2rem 2.2rem;}
  .contact-img-wrap{aspect-ratio:16/10;}
  footer{padding:2.5rem 1.5rem;}
}

/* ---- next block ---- */

@keyframes particleDrift{0%{transform:translateY(0) translateX(0) scale(0);opacity:0;}8%{opacity:1;}92%{opacity:.2;}100%{transform:translateY(-105vh) translateX(var(--drift)) scale(1.3);opacity:0;}}
