/* Coffee Lovers Landing — estilos encapsulados dentro de .cll-scope
   para no interferir con el tema activo de WordPress. */

.cll-scope, .cll-scope *{ box-sizing:border-box; }
.cll-scope{
  background:var(--espresso);
  color:var(--cream);
  font-family:'Work Sans', sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
.cll-scope.menu-open{ overflow:hidden; }

.cll-scope .progress-bar{
  position:fixed; top:0; left:0; height:2px; width:0%;
  background:linear-gradient(90deg, var(--aguayo-red), var(--gold), var(--andes-green));
  z-index:100; transition:width .08s linear;
}

.cll-scope a{ color:inherit; }

.cll-scope .wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }

.cll-scope .eyebrow{
  font-family:'Space Mono', monospace; font-size:12px; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--gold-light); display:flex; align-items:center; gap:12px;
}
.cll-scope .eyebrow::before{ content:""; width:24px; height:1px; background:var(--gold-light); display:inline-block; }

/* Títulos — clases personalizadas por sección (editables de forma independiente) */
.cll-title-hero{
  font-family:'Fraunces', serif; margin:0; letter-spacing:-0.01em;
  font-size:clamp(42px, 8vw, 96px); line-height:0.98; font-weight:600; max-width:920px; margin-left:auto; margin-right:auto;
}
.cll-title-hero em{ font-style:italic; font-weight:500; color:var(--gold-light); }

.cll-title-historia{
  font-family:'Fraunces', serif; margin:0; letter-spacing:-0.01em;
  font-size:clamp(32px, 4.4vw, 52px); font-weight:600; margin-top:18px; line-height:1.08; color:var(--cream);
}

.cll-title-story{
  font-family:'Fraunces', serif; margin:0; letter-spacing:-0.01em;
  font-size:clamp(26px,3vw,34px); font-weight:600; line-height:1.16; margin-bottom:20px; color:var(--cream);
}

.cll-title-nosotros{
  font-family:'Fraunces', serif; margin:0; letter-spacing:-0.01em;
  font-size:clamp(32px,4.2vw,50px); font-weight:600; line-height:1.08; margin-top:16px; color:var(--cream);
}

.cll-title-valor{
  font-family:'Fraunces', serif; margin:0 0 10px; letter-spacing:-0.01em;
  font-size:18px; font-weight:600; line-height:1.25; color:var(--cream);
}

.cll-title-testimonios{
  font-family:'Fraunces', serif; margin:0; letter-spacing:-0.01em;
  font-size:clamp(30px,4vw,46px); font-weight:600; margin-top:16px; color:var(--cream);
}

.cll-scope .thread{
  height:14px; width:100%;
  background-image: repeating-linear-gradient(90deg,
    var(--aguayo-red) 0 26px, var(--gold) 26px 52px, var(--andes-green) 52px 78px,
    var(--aguayo-pink) 78px 104px, var(--aguayo-teal) 104px 130px);
  background-size:130px 100%; position:relative; opacity:0.92;
  animation: cllThreadMove 14s linear infinite;
}
@keyframes cllThreadMove{ from{ background-position:0 0; } to{ background-position:520px 0; } }
.cll-scope .thread::before, .cll-scope .thread::after{
  content:""; position:absolute; left:0; right:0; height:2px; background:var(--espresso);
}
.cll-scope .thread::before{ top:0; }
.cll-scope .thread::after{ bottom:0; }

.cll-scope .hero{
  position:relative; min-height:100vh; display:flex; align-items:center; padding-top:48px; overflow:hidden;
  background: radial-gradient(ellipse 900px 500px at 82% 8%, rgba(196,146,46,0.16), transparent 60%), var(--espresso);
}
.cll-scope .hero-glow{
  position:absolute; inset:0;
  background: radial-gradient(circle 380px at var(--gx,50%) var(--gy,30%), rgba(224,181,99,0.10), transparent 70%);
  pointer-events:none; z-index:1; transition:background .3s ease;
}
.cll-scope .andes-silhouette{ position:absolute; left:0; right:0; bottom:-2px; width:100%; height:auto; opacity:0.5; pointer-events:none; will-change:transform; }
.cll-scope .bean{ position:absolute; opacity:0.35; pointer-events:none; animation: cllBeanFloat 9s ease-in-out infinite; }
.cll-scope .bean svg{ width:100%; height:100%; }
@keyframes cllBeanFloat{ 0%, 100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-22px) rotate(12deg); } }
.cll-scope .hero-inner{ position:relative; z-index:2; width:100%; text-align:center; padding-bottom:120px; }
.cll-scope .hero-badge{
  display:inline-flex; align-items:center; gap:10px; margin:0 auto 34px; padding:8px 18px 8px 8px;
  border:1px solid rgba(243,234,217,0.18); border-radius:999px; font-family:'Space Mono', monospace;
  font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--cream-2);
}
.cll-scope .hero-badge img{ height:30px; width:30px; border-radius:50%; }
.cll-scope .hero p.sub{ max-width:560px; margin:30px auto 0; font-size:18px; line-height:1.6; color:var(--cream-2); font-weight:300; }
.cll-scope .scroll-cue{
  margin-top:56px; display:flex; flex-direction:column; align-items:center; gap:8px;
  font-family:'Space Mono', monospace; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--cream-2); opacity:0.6;
}
.cll-scope .scroll-cue .line{ width:1px; height:36px; background:linear-gradient(var(--gold-light), transparent); animation:cllDropline 1.8s ease-in-out infinite; }
@keyframes cllDropline{
  0%{ transform:scaleY(0); transform-origin:top; }
  50%{ transform:scaleY(1); transform-origin:top; }
  50.01%{ transform-origin:bottom; }
  100%{ transform:scaleY(0); transform-origin:bottom; }
}

.cll-scope section.historia{ background:var(--espresso); padding:130px 0 120px; }
.cll-scope .historia-head{ max-width:640px; margin-bottom:70px; }
.cll-scope .story-row{ display:grid; grid-template-columns: 1fr 1fr; gap:70px; align-items:center; margin-bottom:110px; }
.cll-scope .story-row:last-child{ margin-bottom:0; }
.cll-scope .story-row.reverse .story-media{ order:2; }
.cll-scope .story-row.reverse .story-text{ order:1; }
.cll-scope .story-media{ position:relative; }
.cll-scope .story-media .frame{ position:relative; border-radius:4px; overflow:hidden; aspect-ratio:4/3.2; background:var(--espresso-2); }
.cll-scope .story-media img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.02) contrast(1.02); }
.cll-scope .story-media .frame::after{ content:""; position:absolute; inset:0; box-shadow: inset 0 0 0 1px rgba(243,234,217,0.25); border-radius:4px; }
.cll-scope .stamp{ position:absolute; width:118px; height:118px; z-index:3; filter:drop-shadow(0 8px 18px rgba(0,0,0,0.35)); }
.cll-scope .stamp svg{ width:100%; height:100%; animation: cllStampSpin 22s linear infinite; }
.cll-scope .stamp:hover svg{ animation-play-state:paused; }
@keyframes cllStampSpin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
.cll-scope .story-row .stamp{ bottom:-28px; right:-28px; }
.cll-scope .story-row.reverse .stamp{ bottom:-28px; left:-28px; right:auto; }
.cll-scope .story-text .num{ font-family:'Space Mono', monospace; font-size:12px; letter-spacing:0.22em; color:var(--gold-light); text-transform:uppercase; margin-bottom:16px; display:block; }
.cll-scope .story-text p{ color:var(--cream-2); font-size:16.5px; line-height:1.75; font-weight:300; max-width:460px; }
.cll-scope .story-text p + p{ margin-top:14px; }

.cll-scope section.nosotros{ background:var(--espresso); color:var(--cream); padding:120px 0 130px; position:relative; }
.cll-scope section.nosotros .eyebrow{ color:var(--gold-light); }
.cll-scope section.nosotros .eyebrow::before{ background:var(--gold-light); }
.cll-scope .nosotros-head{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap:60px; align-items:end; margin-bottom:76px; }
.cll-scope .nosotros-head .lead{ font-size:16.5px; line-height:1.75; color:var(--cream-2); font-weight:400; }
.cll-scope .valores-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1px; background:rgba(243,234,217,0.14);
  border-top:1px solid rgba(243,234,217,0.14); border-bottom:1px solid rgba(243,234,217,0.14);
}
.cll-scope .valor{ background:var(--espresso-2); padding:44px 28px; text-align:left; transition:background .4s ease, transform .4s cubic-bezier(.22,.8,.28,1); }
.cll-scope .valor:hover{ background:#2c2219; transform:translateY(-4px); }
.cll-scope .valor .icon-badge{ width:56px; height:56px; margin-bottom:26px; transition:transform .5s cubic-bezier(.22,.8,.28,1); }
.cll-scope .valor:hover .icon-badge{ transform:scale(1.12) rotate(-6deg); }
.cll-scope .valor p{ font-size:14px; color:var(--cream-2); line-height:1.6; margin:0; }

.cll-scope section.testimonios{ background:var(--espresso-2); padding:120px 0; position:relative; overflow:hidden; }
.cll-scope .testi-head{ text-align:center; max-width:600px; margin:0 auto 66px; }
.cll-scope .testi-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; }
.cll-scope .testi-card{
  background:rgba(243,234,217,0.045); border:1px solid rgba(243,234,217,0.18); border-radius:6px; padding:32px 28px;
  position:relative; transition:transform .4s cubic-bezier(.22,.8,.28,1), border-color .4s ease, background .4s ease;
}
.cll-scope .testi-card:hover{ transform:translateY(-6px); border-color:rgba(224,181,99,0.4); background:rgba(243,234,217,0.07); }
.cll-scope .stars{ color:var(--gold-light); letter-spacing:3px; font-size:14px; margin-bottom:18px; }
.cll-scope .testi-card p.quote{ font-family:'Fraunces', serif; font-style:italic; font-size:17px; line-height:1.6; color:var(--cream); margin:0 0 24px; }
.cll-scope .testi-who{ display:flex; align-items:center; gap:12px; }
.cll-scope .testi-avatar{
  width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg, var(--gold), var(--aguayo-red));
  display:flex; align-items:center; justify-content:center; font-family:'Space Mono', monospace; font-size:13px; font-weight:700; color:var(--espresso);
}
.cll-scope .testi-name{ font-size:14px; font-weight:600; }
.cll-scope .testi-loc{ font-size:12.5px; color:var(--cream-2); opacity:0.7; }

.cll-scope footer.site{ background:var(--espresso); padding:70px 0 40px; text-align:center; }
.cll-scope footer.site img{ height:64px; width:64px; border-radius:50%; margin-bottom:22px; }
.cll-scope footer.site p.tag{ font-family:'Fraunces', serif; font-style:italic; font-size:19px; color:var(--gold-light); margin-bottom:28px; }
.cll-scope footer.site .fine{ font-family:'Space Mono', monospace; font-size:11px; letter-spacing:0.1em; color:var(--cream-2); opacity:0.5; }

.cll-scope .reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.22,.8,.28,1), transform .8s cubic-bezier(.22,.8,.28,1); }
.cll-scope .reveal.in{ opacity:1; transform:translateY(0); }

.cll-scope .story-media .frame img{ transition: transform 1.1s cubic-bezier(.16,.9,.2,1), filter 1.1s ease; transform:scale(1.14); filter:saturate(1.02) contrast(1.02) brightness(0.92); }
.cll-scope .story-row.reveal.in .frame img{ transform:scale(1); filter:saturate(1.05) contrast(1.03) brightness(1); }
.cll-scope .story-media:hover .frame img{ transform:scale(1.045); }

.cll-scope .load-in{ opacity:0; transform:translateY(22px); animation:cllHeroLoadIn .9s cubic-bezier(.22,.8,.28,1) forwards; animation-delay:var(--d, 0s); }
@keyframes cllHeroLoadIn{ to{ opacity:1; transform:translateY(0); } }

@media (max-width: 1024px){
  .cll-scope .wrap{ padding:0 26px; }
  .cll-scope .story-row{ gap:44px; }
}

@media (max-width: 860px){
  .cll-scope .story-row{ grid-template-columns:1fr; gap:36px; }
  .cll-scope .story-row.reverse .story-media{ order:1; }
  .cll-scope .story-row.reverse .story-text{ order:2; }
  .cll-scope .story-text p{ max-width:none; }
  .cll-scope .nosotros-head{ grid-template-columns:1fr; gap:20px; }
  .cll-scope .valores-grid{ grid-template-columns:repeat(2, 1fr); }
  .cll-scope .testi-grid{ grid-template-columns:1fr; }
  .cll-scope .stamp{ width:88px; height:88px; }
  .cll-scope .wrap{ padding:0 22px; }
  .cll-scope .historia{ padding:100px 0 90px; }
  .cll-scope .nosotros{ padding:90px 0 100px; }
  .cll-scope .testimonios{ padding:90px 0; }
}

@media (max-width: 560px){
  .cll-scope .hero-badge{ font-size:10px; padding:7px 14px 7px 7px; gap:8px; }
  .cll-scope .hero-badge img{ height:26px; width:26px; }
  .cll-scope .hero p.sub{ font-size:16px; padding:0 6px; }
  .cll-scope .valores-grid{ grid-template-columns:1fr; }
  .cll-scope .story-row .stamp, .cll-scope .story-row.reverse .stamp{ width:74px; height:74px; bottom:-18px; right:-10px; left:auto; }
  .cll-scope .story-row.reverse .stamp{ left:-10px; right:auto; }
  .cll-scope .testi-card{ padding:26px 22px; }
  .cll-scope footer.site img{ height:52px; width:52px; }
}

@media (prefers-reduced-motion: reduce){
  .cll-scope .scroll-cue .line{ animation:none; }
  .cll-scope .reveal{ transition:none; opacity:1; transform:none; }
  .cll-scope .load-in{ animation:none; opacity:1; transform:none; }
  .cll-scope .thread{ animation:none; }
  .cll-scope .stamp svg{ animation:none; }
  .cll-scope .bean{ animation:none; }
  .cll-scope .story-media .frame img{ transition:none; transform:none; }
}
