
*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --cream:#FAF7F2;--parchment:#F2EDE4;--blush:#E8D8CC;
  --rose:#C9A898;--copper:#B07A5F;--copper-dark:#8A5D46;
  --bark:#5C3D2E;--charcoal:#2C2018;--smoke:#9A8F87;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',sans-serif;
}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--cream);color:var(--charcoal);margin:0;padding:0;overflow-x:hidden;}

.ann{background:var(--bark);color:var(--parchment);text-align:center;
  padding:9px 16px;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;font-weight:300;}

header{position:sticky;top:0;z-index:100;background:rgba(250,247,242,.93);
  backdrop-filter:blur(12px);border-bottom:1px solid rgba(176,122,95,.18);transition:box-shadow .35s ease;}
header.scrolled{box-shadow:0 6px 20px rgba(92,61,46,.08);}
header.scrolled .hdr{height:56px;}
.hdr{max-width:1200px;margin:0 auto;padding:0 40px;height:64px;transition:height .35s ease;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;}
nav.hl{display:flex;gap:34px;align-items:center;}
nav.hl a,nav.hr a{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;
  color:var(--bark);text-decoration:none;font-weight:400;position:relative;transition:color .3s;}
nav.hl a::after,nav.hr a::after{content:'';position:absolute;bottom:-3px;left:0;
  width:0;height:1px;background:var(--copper);transition:width .4s cubic-bezier(.4,0,.2,1);}
nav.hl a:hover,nav.hr a:hover{color:var(--copper);}
nav.hl a:hover::after,nav.hr a:hover::after{width:100%;}
.logo-h{text-align:center;}
.logo-h span{font-family:var(--serif);font-size:19px;font-weight:300;white-space:nowrap;
  font-style:italic;letter-spacing:3px;color:var(--bark);text-transform:uppercase;}
.logo-h small{display:block;font-size:9px;letter-spacing:4px;
  text-transform:uppercase;color:var(--copper-dark);margin-top:3px;}
nav.hr{display:flex;justify-content:flex-end;align-items:center;gap:6px;}
.icon-btn{background:none;border:none;color:var(--bark);cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:8px;
  transition:color .3s,transform .3s;}
.icon-btn:hover{color:var(--copper);transform:scale(1.12);}
.burger{display:none;margin-left:-8px;}

/* HERO CLARO CON IMAGEN ENMARCADA */
.hero{position:relative;overflow:hidden;background:var(--cream);}
.hero-bg{position:absolute;inset:0;z-index:0;
  background-color:var(--cream);background-image:url('imagenes/fondo-hero.jpg');
  background-repeat:no-repeat;background-size:auto 150%;background-position:calc(50% - 45px) 66%;
  background-blend-mode:multiply;}
.hero-bg::after{content:'';position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(250,247,242,.72) 0%,rgba(250,247,242,.38) 45%,rgba(250,247,242,0) 100%),
    linear-gradient(180deg,rgba(250,247,242,0) 78%,var(--cream) 100%);}


a:focus-visible,button:focus-visible{outline:1.5px solid var(--copper);outline-offset:4px;}
.btn-primary:focus-visible{outline-offset:3px;}

/* ===== PUNTERO PERSONALIZADO (solo ratón; se crea desde el script) ===== */
.cur-dot,.cur-ring{position:fixed;left:0;top:0;pointer-events:none;}
.cur-dot,.cur-ring{z-index:10000;opacity:0;transition:opacity .3s ease,scale .35s cubic-bezier(.4,0,.2,1),background .35s ease;}
.cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--copper);}
.cur-ring{width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;
  border:1px solid rgba(176,122,95,.6);}
.cur-on .cur-dot,.cur-on .cur-ring{opacity:1;}
.cur-hover .cur-ring{scale:1.65;background:rgba(176,122,95,.12);}
.cur-hover .cur-dot{scale:.5;}
.cur-down .cur-ring{scale:.85;}
.cur-text .cur-dot,.cur-text .cur-ring{opacity:0;}

/* ===== EFECTOS DEL HERO ===== */
/* 2) Deriva lenta del dibujo + parallax suave (la variable --py la pone el script) */
.hero-bg{animation:heroDrift 18s ease-in-out infinite alternate;translate:0 var(--py,0px);will-change:transform;}
@keyframes heroDrift{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1.03);}
  100%{transform:translate3d(-10px,7px,0) rotate(.5deg) scale(1.04);}
}
/* 1) Luz de vela: en móvil respira despacio sobre la miel */
.hero-glow{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;
  transition:opacity .7s ease;mix-blend-mode:multiply;
  background:radial-gradient(circle 340px at var(--mx,50%) var(--my,50%),
    rgba(255,204,140,.34) 0%,rgba(255,218,168,.17) 40%,rgba(255,230,190,0) 72%);}
.hero-glow.on{opacity:1;}
@keyframes glowBreathe{0%,100%{opacity:.45;}50%{opacity:1;}}

.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;
  min-height:620px;padding:72px 40px;display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:110px;align-items:center;}

.hero-text{display:flex;flex-direction:column;align-items:flex-start;}

.hero-eye{font-size:11px;letter-spacing:3.5px;text-transform:uppercase;
  color:var(--copper-dark);margin-bottom:22px;font-weight:400;
  opacity:0;animation:fadeUp 1s ease .3s forwards;}

.hero-title{font-family:var(--serif);font-size:clamp(42px,4.8vw,72px);font-weight:300;
  color:var(--bark);line-height:1.04;margin-bottom:26px;
  opacity:0;animation:fadeUp 1s ease .55s forwards;}

.hero-title em{font-style:italic;color:var(--copper-dark);padding-bottom:.05em;
  background:linear-gradient(rgba(176,122,95,.75),rgba(176,122,95,.75)) no-repeat 0 100%/0 1.5px;
  animation:drawLine 1.3s cubic-bezier(.4,0,.2,1) 1.7s forwards;}
@keyframes drawLine{to{background-size:100% 1.5px;}}

.hero-desc{font-size:15px;color:rgba(44,32,24,.78);font-weight:300;line-height:1.8;
  margin-bottom:36px;max-width:420px;
  opacity:0;animation:fadeUp 1s ease .8s forwards;}

.hero-cta{display:flex;gap:26px;align-items:center;flex-wrap:wrap;
  opacity:0;animation:fadeUp 1s ease 1.05s forwards;}

.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;
  padding:16px 38px;background:var(--bark);color:var(--cream);
  font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  border:1px solid var(--bark);text-decoration:none;font-weight:400;
  transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;}
.btn-primary:hover{background:transparent;color:var(--bark);}
/* Línea corta junto al texto, con destello que la recorre */
.btn-line-in{position:relative;display:block;width:26px;height:1px;overflow:hidden;
  transition:width .3s ease;}
.btn-line-in::before{content:'';position:absolute;inset:0;background:currentColor;opacity:.3;}
.btn-line-in::after{content:'';position:absolute;top:0;left:-45%;width:45%;height:100%;
  background:linear-gradient(90deg,transparent,currentColor,transparent);
  animation:btnLineSlide 2.6s ease-in-out infinite;}
.btn-primary:hover .btn-line-in{width:36px;}
@keyframes btnLineSlide{0%{left:-45%;}65%,100%{left:100%;}}

.btn-secondary{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;
  color:var(--bark);text-decoration:none;display:flex;align-items:center;
  gap:10px;transition:gap .3s,color .3s;}
.btn-secondary:hover{gap:16px;color:var(--copper-dark);}
.btn-line{width:26px;height:1px;background:currentColor;transition:width .3s;}

.btn-secondary:hover .btn-line{width:36px;}

@keyframes frameReveal{from{clip-path:inset(0 0 100% 0);}to{clip-path:inset(-160px);}}
@keyframes imgSettle{from{transform:scale(1.12);}to{transform:scale(1);}}
@keyframes blockSlide{from{opacity:0;transform:translate(-36px,36px);}to{opacity:1;transform:none;}}

/* Franja decorativa (solo móvil y tablet) */
.hero-deco{display:none;}

/* Imagen enmarcada */
.hero-visual{position:relative;width:100%;max-width:370px;justify-self:end;margin-right:30px;}
.hero-block{position:absolute;top:-28px;right:-30px;width:80%;height:82%;
  background:#C6CFBB;z-index:0;animation:blockSlide 1s cubic-bezier(.4,0,.2,1) 1.25s both;}
.hero-frame{position:relative;z-index:1;margin:0;padding:14px;background:var(--cream);
  border:1px solid rgba(176,122,95,.32);
  box-shadow:0 26px 50px rgba(92,61,46,.18),0 4px 10px rgba(92,61,46,.08);
  animation:frameReveal 1.2s cubic-bezier(.4,0,.2,1) .7s backwards;}
.hero-photo{overflow:hidden;}
.hero-frame img{animation:imgSettle 1.8s ease .7s both;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;
  object-position:62% 50%;}
.hero-badge{position:absolute;left:-34px;bottom:42px;z-index:2;background:var(--bark);
  color:var(--parchment);padding:16px 22px;border-radius:2px;
  box-shadow:0 12px 26px rgba(44,32,24,.22);animation:fadeUp .9s ease 1.7s both;}
.badge-title{font-family:var(--serif);font-size:17px;font-style:italic;
  margin-bottom:4px;color:var(--parchment);}
.badge-text{font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:#E3B896;}

/* SECCIONES */
.s-eye{font-size:9px;letter-spacing:3.5px;text-transform:uppercase;
  color:var(--copper);display:block;margin-bottom:14px;text-align:center;}
.s-title{font-family:var(--serif);font-size:38px;font-weight:300;
  color:var(--bark);line-height:1.1;text-align:center;}
.s-title em{font-style:italic;}
.s-line{width:40px;height:1px;background:var(--copper);margin:16px auto 0;}

.reveal{opacity:0;transform:translateY(28px);
  transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* COLECCIONES */
.collections{padding:80px 40px;max-width:1200px;margin:0 auto;}
.coll-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:minmax(290px,auto);
  gap:12px;margin-top:52px;}

.c-card{position:relative;display:block;overflow:hidden;isolation:isolate;
  background:var(--parchment);color:var(--bark);text-decoration:none;
  border:1px solid rgba(176,122,95,.14);cursor:pointer;
  transition:opacity .8s ease,transform .8s ease,box-shadow .4s ease;}
.c-card:hover{box-shadow:0 18px 44px rgba(92,61,46,.16);}
.c-card:focus-visible{outline:1.5px solid var(--copper);outline-offset:4px;}
/* Aparición en cascada: primero la columna de Velas, luego la columna central (arriba→abajo) y después la derecha.
   Los retrasos solo existen mientras dura la aparición (.is-revealing) para no frenar el hover. */
.coll-grid.is-revealing .c-card:nth-child(1){transition-delay:0s,0s,0s;}
.coll-grid.is-revealing .c-card:nth-child(2){transition-delay:.2s,.2s,0s;}
.coll-grid.is-revealing .c-card:nth-child(4){transition-delay:.34s,.34s,0s;}
.coll-grid.is-revealing .c-card:nth-child(3){transition-delay:.48s,.48s,0s;}
.coll-grid.is-revealing .c-card:nth-child(5){transition-delay:.62s,.62s,0s;}
.c-velas{grid-row:span 2;}

/* Foto a tarjeta completa, con zoom lento al pasar el ratón */
.c-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  transition:transform 1.4s cubic-bezier(.2,.6,.2,1);}
.c-card:hover .c-img{transform:scale(1.06);}

/* Textos comunes */
.c-cat{display:block;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--copper-dark);margin-bottom:6px;font-weight:400;}
.c-name{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.1;color:var(--bark);}
.c-name em{font-style:italic;}
.c-desc{font-size:13px;font-weight:400;line-height:1.55;color:rgba(44,32,24,.8);margin-top:6px;}
.c-line{display:block;flex:none;width:22px;height:1px;background:currentColor;transition:width .35s ease;}
.c-card:hover .c-line{width:36px;}
.c-more{display:inline-flex;align-items:center;gap:10px;margin-top:18px;
  font-size:11px;letter-spacing:2.2px;text-transform:uppercase;font-weight:400;}

/* 1 · Velas (tarjeta alta): texto arriba, sobre la zona tranquila de la foto */
.c-velas::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(250,247,242,.78) 0%,rgba(250,247,242,.55) 26%,
    rgba(250,247,242,.18) 44%,rgba(250,247,242,0) 58%);}
.c-velas .c-body{position:absolute;left:0;right:0;top:0;padding:34px 34px 0;color:var(--bark);}
.c-velas .c-name{font-size:44px;font-weight:300;}
.c-velas .c-desc{font-size:14px;max-width:290px;margin-top:10px;color:rgba(44,32,24,.88);}
.c-velas .c-more{color:var(--bark);}

/* Tarjetas pequeñas: panel de cristal esmerilado crema */
.c-panel{position:absolute;left:12px;right:12px;bottom:12px;padding:12px 16px 13px;
  background:rgba(250,247,242,.8);color:var(--bark);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);
  border:1px solid rgba(255,255,255,.55);
  transition:transform .5s cubic-bezier(.2,.6,.2,1),background .4s ease;}
.c-card:hover .c-panel{transform:translateY(-4px);background:rgba(250,247,242,.9);}
.c-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.c-panel .c-line{color:var(--copper-dark);}
.c-panel .c-desc{margin-top:3px;font-size:12.5px;line-height:1.45;}

.c-badge{position:absolute;top:12px;left:12px;z-index:1;padding:6px 11px;
  background:rgba(250,247,242,.92);color:var(--season,var(--copper-dark));
  font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:400;}

/* Temporada: cada época cambia solo el atributo data-season, la foto y los textos */
.c-season .c-line{color:var(--season,var(--copper-dark));}
.c-season[data-season="navidad"]{--season:#8E3B34;}
.c-season[data-season="halloween"]{--season:#A3541F;}
.c-season[data-season="sanvalentin"]{--season:#A8475A;}
.c-season[data-season="diamadre"]{--season:#9A5E74;}
/* Estado genérico (fuera de temporada) */
.c-generic{background:linear-gradient(135deg,#F2EDE4,#E8D8CC);display:flex;flex-direction:column;
  justify-content:flex-end;padding:22px 24px;}
.c-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.c-chips span{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--copper-dark);
  border:1px solid rgba(176,122,95,.45);padding:5px 9px;}

/* Aún sin enlace (p. ej. talleres «próximamente») */
.is-soon{cursor:default;}
.is-soon:hover{box-shadow:none;}
.is-soon:hover .c-img{transform:scale(1.02);}
.is-soon:hover .c-panel{transform:none;background:rgba(250,247,242,.8);}

/* Blog: tarjeta editorial, foto arriba y texto en fondo crema */
.c-blog{display:flex;flex-direction:column;background:#FFFDF9;}
.c-blog-img{position:relative;flex:0 0 48%;overflow:hidden;border-bottom:1px solid rgba(176,122,95,.14);}
.c-blog .c-img{z-index:0;}
.c-blog-body{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:15px 18px 16px;}
.c-blog .c-name{font-size:20px;line-height:1.2;}
.c-blog .c-more{margin-top:10px;color:var(--copper-dark);font-size:10px;}

/* BEST SELLERS */
.bestsellers{background:var(--parchment);padding:80px 40px;}
.bestsellers-inner{max-width:1200px;margin:0 auto;}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px;margin-top:52px;}
.prod-card{position:relative;cursor:pointer;}
.prod-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--tone,#E8D8CC);isolation:isolate;}
.prod-media::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse 70% 55% at 50% 38%,rgba(255,255,255,.55),rgba(255,255,255,0) 70%),
             linear-gradient(180deg,rgba(255,255,255,.18),rgba(92,61,46,.10));}
.prod-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-style:italic;font-size:13px;color:rgba(92,61,46,.45);letter-spacing:.5px;
  transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.prod-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.prod-card:hover .prod-ph,.prod-card:hover .prod-media img{transform:scale(1.05);}
.prod-tag{position:absolute;top:12px;left:12px;font-size:9px;letter-spacing:2px;text-transform:uppercase;
  padding:6px 10px;background:rgba(250,247,242,.92);color:var(--copper-dark);}
.prod-fav{position:absolute;top:8px;right:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:rgba(250,247,242,.85);border:0;border-radius:50%;color:var(--bark);cursor:pointer;
  transition:background .3s,color .3s,transform .3s;}
.prod-fav:hover{background:var(--cream);color:var(--copper-dark);transform:scale(1.08);}
.prod-fav svg{fill:none;stroke:currentColor;stroke-width:1.5;transition:fill .3s;}
.prod-fav.is-on{color:#A8475A;}
.prod-fav.is-on svg{fill:currentColor;}
.prod-add{position:absolute;left:10px;right:10px;bottom:10px;padding:12px 10px;text-align:center;
  font-family:var(--sans);font-size:10px;letter-spacing:2.2px;text-transform:uppercase;
  background:rgba(250,247,242,.94);color:var(--bark);border:0;cursor:pointer;
  transform:translateY(calc(100% + 14px));transition:transform .45s cubic-bezier(.4,0,.2,1),background .3s,color .3s;}
.prod-card:hover .prod-add,.prod-add:focus-visible,.prod-card:focus-within .prod-add{transform:none;}
.prod-add:hover{background:var(--bark);color:var(--cream);}
@media(hover:none){.prod-add{transform:none;}}
.prod-info{padding:16px 2px 0;text-align:left;}
.prod-name{font-family:var(--serif);font-size:21px;font-weight:300;line-height:1.2;color:var(--bark);margin-bottom:5px;}
.prod-frag{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--smoke);margin-bottom:10px;}
.prod-price{font-family:var(--serif);font-size:18px;color:var(--copper-dark);font-weight:400;}

@media(max-width:600px){
  .bestsellers{padding:64px 20px;}
  .prod-grid{gap:24px 12px;margin-top:40px;}
  .prod-tag{top:8px;left:8px;font-size:8px;letter-spacing:1.2px;padding:5px 7px;}
  .prod-fav{top:6px;right:6px;width:30px;height:30px;}
  .prod-fav svg{width:15px;height:15px;}
  .prod-add{transform:none;left:8px;right:8px;bottom:8px;padding:10px 6px;font-size:9px;letter-spacing:1.4px;}
  .prod-name{font-size:19px;}
}
@media(prefers-reduced-motion:reduce){.prod-ph,.prod-media img,.prod-add{transition:none!important;}.prod-card:hover .prod-ph{transform:none!important;}}

/* SOBRE NOSOTROS */
.about{padding:80px 40px 56px;max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.about-media{position:relative;padding:0 0 64px 0;}
.about-photo{position:relative;overflow:hidden;background:linear-gradient(160deg,#EADBC6,#D9BFA8);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-style:italic;font-size:13px;color:rgba(92,61,46,.45);}
.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.about-photo.is-main{width:82%;aspect-ratio:4/5;}
.about-photo.is-small{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1/1;
  background:linear-gradient(160deg,#EBD3CC,#DDB9AD);border:8px solid var(--cream);}
.about-frame{position:absolute;top:-14px;left:-14px;width:82%;aspect-ratio:4/5;
  border:1px solid rgba(176,122,95,.35);pointer-events:none;z-index:-1;}
.about-seal{position:absolute;top:28px;right:6%;width:108px;height:108px;border-radius:50%;
  background:var(--cream);border:1px solid rgba(176,122,95,.3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  font-size:8px;letter-spacing:1.6px;text-transform:uppercase;color:var(--copper-dark);line-height:1.5;padding:0 12px;}
.about-seal b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:17px;letter-spacing:0;text-transform:none;color:var(--bark);}
.about-eye{font-size:9px;letter-spacing:3.5px;text-transform:uppercase;
  color:var(--copper);display:block;margin-bottom:20px;}
.about-t{font-family:var(--serif);font-size:40px;font-weight:300;
  color:var(--bark);line-height:1.15;margin-bottom:24px;}
.about-t em{font-style:italic;}
.about-d{font-size:13px;color:var(--smoke);font-weight:300;line-height:1.9;margin-bottom:28px;}
.about-link{display:inline-flex;align-items:center;gap:10px;
  font-size:9px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--copper-dark);text-decoration:none;transition:gap .3s;}
.about-link:hover{gap:16px;}
.about-link-ln{width:28px;height:1px;background:var(--copper-dark);transition:width .3s;}
.about-link:hover .about-link-ln{width:38px;}
.about-stat{display:flex;gap:36px;margin-top:32px;padding-top:32px;
  border-top:1px solid rgba(176,122,95,.2);}
.stat-num{font-family:var(--serif);font-size:34px;font-weight:300;
  color:var(--copper-dark);display:block;line-height:1;}
.stat-lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;
  color:var(--smoke);margin-top:4px;display:block;}

@media(max-width:600px){
  .about{padding:64px 20px;}
  .about-t{font-size:34px;}
  .about-stat{gap:20px;}
  .stat-num{font-size:28px;}
  .about-seal{width:88px;height:88px;font-size:7px;letter-spacing:1.2px;top:20px;padding:0 8px;}
  .about-seal b{font-size:15px;}
  .about-photo.is-small{border-width:6px;}
}

/* TARJETAS DENTRO DE NOSOTROS */
.about-cards{max-width:1200px;margin:0 auto;padding:0 40px 88px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.ab-card{position:relative;isolation:isolate;overflow:hidden;min-height:260px;padding:64px 32px 40px;text-align:center;
  display:flex;flex-direction:column;justify-content:flex-start;align-items:center;
  background:var(--tone,#EADBC6);border:1px solid rgba(176,122,95,.16);
  transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s ease;}
.ab-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.ab-card::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(250,247,242,.72),rgba(250,247,242,.86));opacity:.9;transition:opacity .5s;}
.ab-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;
  background:linear-gradient(to right,var(--rose),var(--copper));
  transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.ab-card:hover{transform:translateY(-6px);box-shadow:0 18px 48px rgba(92,61,46,.14);}
.ab-card:hover::after{transform:scaleX(1);}
.ab-card:hover .ab-card-img{transform:scale(1.05);}
.ab-card:hover::before{opacity:.68;}
.ab-title{font-family:var(--sans);font-size:9px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;line-height:1.5;color:var(--bark);}
.ab-title::after{content:'';display:block;width:28px;height:1px;background:var(--copper);margin:14px auto 14px;transition:width .4s;}
.ab-card:hover .ab-title::after{width:44px;}
.ab-desc{font-size:13px;color:var(--bark);font-weight:300;line-height:1.75;max-width:30ch;text-shadow:0 0 12px rgba(250,247,242,.8);}
@media(max-width:1024px){.about-cards{grid-template-columns:1fr;max-width:560px;padding:0 40px 72px;}.ab-card{min-height:0;padding:40px 32px 36px;}}
@media(max-width:600px){.about-cards{padding:0 20px 64px;gap:10px;}.ab-card{padding:36px 24px 32px;}}
@media(prefers-reduced-motion:reduce){.ab-card,.ab-card-img,.ab-card::after,.ab-title::after{transition:none!important;}.ab-card:hover{transform:none!important;}.ab-card:hover .ab-card-img{transform:none!important;}}

/* BANNER */
.banner{height:360px;position:relative;overflow:hidden;isolation:isolate;}
.banner-bg{position:absolute;inset:0;z-index:-3;background:linear-gradient(135deg,#2C1B12 0%,#3A2518 50%,#4A2F20 100%);}
/* Resplandor de vela: halo cálido que respira como una llama */
.banner-glow{position:absolute;left:50%;top:52%;width:640px;height:640px;z-index:-2;translate:-50% -50%;pointer-events:none;
  background:radial-gradient(circle,rgba(236,168,98,.36) 0%,rgba(196,128,84,.16) 38%,rgba(176,122,95,0) 70%);
  animation:flame 6s ease-in-out infinite;}
.banner-glow.is-core{width:300px;height:300px;top:50%;
  background:radial-gradient(circle,rgba(255,206,140,.30) 0%,rgba(236,168,98,.10) 45%,rgba(236,168,98,0) 72%);
  animation:flame 3.7s ease-in-out infinite reverse;}
@keyframes flame{
  0%{opacity:.78;transform:scale(.97);}
  18%{opacity:1;transform:scale(1.03);}
  37%{opacity:.84;transform:scale(.99);}
  61%{opacity:.98;transform:scale(1.05);}
  82%{opacity:.8;transform:scale(1);}
  100%{opacity:.92;transform:scale(1.02);}
}
/* Chispas que suben y se apagan */
.banner-motes{position:absolute;inset:0;z-index:-1;pointer-events:none;}
.banner-motes i{position:absolute;bottom:-8px;width:3px;height:3px;border-radius:50%;background:#F2C48A;opacity:0;
  box-shadow:0 0 6px 1px rgba(242,196,138,.55);animation:mote 9s linear infinite;}
.banner-motes i:nth-child(1){left:14%;animation-delay:0s;animation-duration:10s;}
.banner-motes i:nth-child(2){left:27%;animation-delay:3.2s;animation-duration:8s;width:2px;height:2px;}
.banner-motes i:nth-child(3){left:39%;animation-delay:6.1s;animation-duration:11s;}
.banner-motes i:nth-child(4){left:52%;animation-delay:1.4s;animation-duration:9s;width:2px;height:2px;}
.banner-motes i:nth-child(5){left:63%;animation-delay:4.6s;animation-duration:10.5s;}
.banner-motes i:nth-child(6){left:74%;animation-delay:7.3s;animation-duration:8.5s;width:2px;height:2px;}
.banner-motes i:nth-child(7){left:86%;animation-delay:2.4s;animation-duration:11s;}
.banner-motes i:nth-child(8){left:46%;animation-delay:8.4s;animation-duration:9.5s;width:2px;height:2px;}
@keyframes mote{
  0%{transform:translate(0,0);opacity:0;}
  12%{opacity:.85;}
  60%{opacity:.5;}
  100%{transform:translate(18px,-380px);opacity:0;}
}
.banner-content{position:absolute;inset:0;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:0 24px;}
.banner-ln{width:36px;height:1px;background:rgba(236,190,140,.5);}
.banner-q{font-family:var(--serif);font-size:36px;font-weight:300;
  font-style:italic;color:var(--parchment);text-align:center;
  max-width:560px;line-height:1.3;text-shadow:0 2px 24px rgba(44,27,18,.6);}
.banner-auth{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#E3BFA6;}
@media(max-width:600px){
  .banner{height:320px;}
  .banner-glow{width:460px;height:460px;}
  .banner-q{font-size:28px;}
}
@media(prefers-reduced-motion:reduce){
  .banner-glow,.banner-glow.is-core{animation:none!important;opacity:.9;}
  .banner-motes{display:none;}
}

/* TESTIMONIOS: carrusel de una reseña */
.testi{max-width:1200px;margin:0 auto;padding:80px 40px 72px;}
.t-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
.t-track::-webkit-scrollbar{display:none;}
.t-track:focus-visible{outline:2px solid var(--copper);outline-offset:6px;}
.t-slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;min-height:420px;}
.test-visual{position:relative;height:380px;}
.test-bg{position:absolute;width:78%;height:310px;bottom:0;left:0;background:var(--blush);}
.test-img{position:absolute;width:72%;height:310px;top:0;right:0;overflow:hidden;
  background:linear-gradient(135deg,#E8D8CC,#D4B5A0);
  display:flex;align-items:center;justify-content:center;color:var(--rose);
  font-family:var(--serif);font-style:italic;font-size:13px;}
.test-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.stars{display:flex;gap:3px;margin-bottom:24px;}
.star{width:13px;height:13px;background:var(--copper);
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);}
.test-q{font-family:var(--serif);font-size:30px;font-weight:300;
  font-style:italic;color:var(--bark);line-height:1.4;margin-bottom:24px;}
.test-q::before{content:'\201C';font-size:64px;color:var(--rose);line-height:.5;
  display:block;margin-bottom:10px;opacity:.7;}
.test-author{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--copper-dark);}
.test-role{display:block;font-size:10px;letter-spacing:1.5px;color:var(--smoke);margin-top:6px;}
.t-ctrl{display:flex;align-items:center;justify-content:flex-end;gap:22px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(176,122,95,.2);}
.t-ctrl[hidden]{display:none;}
.t-count{margin-right:auto;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--smoke);}
.t-count b{font-weight:400;color:var(--bark);}
.t-dots{display:flex;gap:8px;align-items:center;}
.t-dot{width:18px;height:2px;padding:12px 0;background:var(--rose);background-clip:content-box;border:0;cursor:pointer;opacity:.55;transition:width .4s,opacity .3s,background-color .3s;}
.t-dot.is-on{width:36px;opacity:1;background-color:var(--copper);}
.t-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(176,122,95,.45);background:none;color:var(--bark);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s,color .3s,border-color .3s;}
.t-btn:hover:not(:disabled){background:var(--bark);color:var(--cream);border-color:var(--bark);}
.t-btn:disabled{opacity:.35;cursor:default;}
.t-btn svg{fill:none;stroke:currentColor;stroke-width:1.5;}
@media(max-width:1024px){
  .t-slide{grid-template-columns:1fr;gap:36px;min-height:0;}
  .test-visual{height:300px;max-width:520px;width:100%;margin:0 auto;}
  .test-bg,.test-img{height:240px;}
}
@media(max-width:600px){
  .testi{padding:64px 20px 56px;}
  .t-slide{gap:28px;}
  .test-visual{height:260px;}
  .test-bg,.test-img{height:210px;}
  .test-q{font-size:24px;}
  .t-ctrl{gap:14px;}
  .t-dot{width:12px;}.t-dot.is-on{width:26px;}
}
@media(prefers-reduced-motion:reduce){.t-track{scroll-behavior:auto;}.t-dot,.t-btn{transition:none!important;}}

/* NEWSLETTER */
.newsletter{background:var(--bark);padding:72px 40px;text-align:center;}
.nl-eye{font-size:9px;letter-spacing:3.5px;text-transform:uppercase;
  color:var(--rose);display:block;margin-bottom:16px;}
.nl-t{font-family:var(--serif);font-size:38px;font-weight:300;
  font-style:italic;color:var(--parchment);line-height:1.2;margin-bottom:12px;}
.nl-d{font-size:13px;color:rgba(230,210,195,.6);font-weight:300;
  line-height:1.8;margin-bottom:32px;max-width:400px;margin-left:auto;margin-right:auto;}
.nl-form{display:flex;max-width:380px;margin:0 auto;}
.nl-input{flex:1;padding:14px 20px;background:rgba(250,247,242,.08);
  border:1px solid rgba(230,210,195,.2);border-right:none;color:var(--parchment);
  font-family:var(--sans);font-size:13px;font-weight:300;outline:none;}
.nl-input::placeholder{color:rgba(230,210,195,.35);}
.nl-btn{padding:14px 22px;background:var(--copper);border:1px solid var(--copper);
  color:var(--parchment);font-size:9px;letter-spacing:2px;
  text-transform:uppercase;cursor:pointer;transition:background .3s;}
.nl-btn:hover{background:var(--copper-dark);}
.nl-d strong{font-weight:400;color:#E9C9AE;}
.nl-input:focus{border-color:rgba(230,210,195,.55);background:rgba(250,247,242,.12);}
.nl-note{margin-top:14px;font-size:11px;letter-spacing:.4px;color:rgba(230,210,195,.42);}
@media(max-width:600px){
  .newsletter{padding:60px 20px;}
  .nl-t{font-size:32px;}
  .nl-form{flex-direction:column;max-width:none;gap:10px;}
  .nl-input{border-right:1px solid rgba(230,210,195,.2);min-width:0;width:100%;}
  .nl-btn{width:100%;padding:15px 22px;}
  .nl-eye{letter-spacing:2.5px;}
}

/* FOOTER */
footer{background:var(--charcoal);color:var(--parchment);padding:68px 40px 32px;}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;
  padding-bottom:48px;border-bottom:1px solid rgba(230,210,195,.1);}
.f-logo{font-family:var(--serif);font-size:19px;font-style:italic;font-weight:300;
  letter-spacing:3px;line-height:1.3;text-transform:uppercase;color:var(--parchment);display:block;margin-bottom:4px;}
.f-sub{font-size:7px;letter-spacing:3px;text-transform:uppercase;
  color:var(--copper);display:block;margin-bottom:18px;}
.f-tag{font-family:var(--serif);font-size:14px;font-style:italic;
  color:rgba(230,210,195,.66);font-weight:300;line-height:1.7;
  max-width:300px;margin-bottom:22px;}
.f-socials{display:flex;gap:10px;}
.f-soc{width:32px;height:32px;border:1px solid rgba(230,210,195,.18);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:rgba(230,210,195,.68);text-decoration:none;
  cursor:pointer;transition:border-color .3s,background .3s,color .3s,transform .3s;}
.f-soc:hover{border-color:var(--copper);background:rgba(176,122,95,.15);
  color:var(--copper);transform:translateY(-3px);}
.f-col-t{font-size:8px;letter-spacing:3px;text-transform:uppercase;
  color:var(--copper);font-weight:500;display:block;margin-bottom:18px;}
.f-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.f-links a{overflow-wrap:anywhere;font-size:13px;color:rgba(230,210,195,.7);text-decoration:none;font-weight:300;
  transition:color .3s,padding-left .3s;display:inline-block;cursor:pointer;}
.f-loc{font-size:13px;color:rgba(230,210,195,.7);font-weight:300;}
.f-links a:hover{color:var(--parchment);padding-left:5px;}
.f-bottom{max-width:1200px;margin:26px auto 0;display:flex;
  justify-content:space-between;align-items:center;
  font-size:11px;color:rgba(230,210,195,.62);flex-wrap:wrap;gap:8px 18px;}
.f-bottom a{color:rgba(230,210,195,.62);text-decoration:none;
  margin-left:18px;transition:color .3s;cursor:pointer;}
.f-bottom a:hover{color:var(--parchment);}
.f-bottom div a:first-child{margin-left:0;}
.f-bottom div{display:flex;flex-wrap:wrap;gap:6px 0;}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes float{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-12px) rotate(2deg);}}

@media(max-width:1024px){
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .about{grid-template-columns:1fr;gap:48px;}
  .about-media{max-width:520px;margin:0 auto;width:100%;}
  .ben-grid{grid-template-columns:1fr;}
  .testimonial{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px 32px;}
  .footer-grid>div:first-child,.f-col-contact{grid-column:1 / -1;}
}
@media(max-width:1100px){
  .hdr{padding:0 24px;}
  nav.hl a{display:none;}
  .burger{display:flex;}
}
@media(max-width:600px){
  .hdr{padding:0 12px;}
  .logo-h span{font-size:14px;letter-spacing:1.2px;}
  .logo-h small{font-size:8px;letter-spacing:3px;}
  nav.hr{gap:0;}
  nav.hr .icon-btn:first-child{display:none;}
  .ann{font-size:10px;letter-spacing:1.6px;}
  .ann-extra{display:none;}
}
/* Hero: tablet vertical y móvil (una columna). La ilustración va anclada al hueco entre texto y foto */
@media(max-width:860px){
  .hero-inner{grid-template-columns:1fr;gap:0;min-height:0;padding:56px 32px 64px;justify-items:center;}
  .hero-text{display:contents;text-align:center;}
  .hero-inner>*,.hero-text>*{max-width:100%;}
  .hero-bg{background-image:none;}
  .hero-bg::after{display:none;}
  .hero-glow{display:none;}
  .hero-eye{order:1;margin-bottom:18px;}
  .hero-title{order:2;margin-bottom:14px;}
  .hero-desc{order:3;font-weight:400;margin:0 auto 4px;}
  .hero-deco{display:block;order:4;position:relative;width:100%;height:200px;margin-bottom:10px;
    --Wb:min(150vw,860px);--Hb:calc(var(--Wb) / 1.498);}
  .hero-deco::before{content:'';position:absolute;z-index:-1;pointer-events:none;
    width:var(--Wb);height:var(--Hb);left:50%;margin-left:calc(var(--Wb) * -.46);
    top:calc(100% + 14px - var(--Hb) * .70);
    background-color:var(--cream);background-repeat:no-repeat;background-size:100% 100%;
    background-image:linear-gradient(180deg,rgba(250,247,242,.5) 0%,rgba(250,247,242,.28) 38%,rgba(250,247,242,0) 62%),url('imagenes/fondo-hero.jpg');
    background-blend-mode:normal,multiply;}
  .hero-deco::after{content:'';position:absolute;z-index:-1;pointer-events:none;width:240px;height:240px;
    left:calc(50% + var(--Wb) * .055 - 120px);top:calc(100% + 14px - var(--Hb) * .08 - 120px);
    background:radial-gradient(circle,rgba(255,204,140,.34) 0%,rgba(255,218,168,.14) 45%,rgba(255,230,190,0) 72%);
    animation:glowBreathe 5s ease-in-out infinite;}
  .hero-visual{order:5;max-width:360px;justify-self:center;margin:34px 0 0;}
  .hero-cta{order:6;flex-direction:column;gap:16px;width:100%;max-width:420px;margin-top:38px;}
  .btn-primary{width:100%;}
}
@media(max-width:600px){
  .hero-inner{padding:20px 22px 52px;}
  .hero-eye{font-size:10px;letter-spacing:3px;margin-bottom:12px;}
  .hero-title{font-size:34px;line-height:1.08;margin-bottom:12px;}
  .hero-desc{font-size:14px;line-height:1.65;}
  .btn-primary{padding:15px 24px;}
  .hero-deco{height:86px;}
  .hero-visual{max-width:270px;margin-top:38px;}
  .hero-block{top:-22px;right:-18px;}
  .hero-frame{padding:12px;}
  .hero-badge{left:-14px;bottom:20px;padding:11px 15px;}
  .badge-title{font-size:15px;}
}
@media(max-width:380px){
  .ann{padding:9px 8px;letter-spacing:1px;font-size:9.5px;}
}
/* Colecciones: tablet (2 columnas) y móvil (carrusel horizontal) */
@media(max-width:1024px){
  .collections{padding:64px 24px;}
  .coll-grid{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(280px,auto);}
  .c-velas{grid-column:1/-1;grid-row:auto;min-height:420px;}
  .c-velas .c-name{font-size:38px;}
}
@media(max-width:600px){
  .collections{padding:56px 0 48px;}
  .collections>.s-eye,.collections>.s-title{padding:0 22px;}
  .coll-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:4px 22px 14px;margin-top:34px;scroll-padding-left:22px;scrollbar-width:none;
    -webkit-overflow-scrolling:touch;}
  .coll-grid::-webkit-scrollbar{display:none;}
  .c-card{flex:0 0 80%;min-height:400px;scroll-snap-align:start;}
  .c-velas .c-name{font-size:36px;}
  .c-velas .c-body{padding:0 24px 26px;}
}
@media(max-width:600px){
  footer{padding:56px 20px 28px;}
  .f-bottom{flex-direction:column;align-items:flex-start;}
}
@media(max-width:1024px){
  .coll-grid.is-revealing .c-card:nth-child(1){transition-delay:0s,0s,0s;}
  .coll-grid.is-revealing .c-card:nth-child(2){transition-delay:.14s,.14s,0s;}
  .coll-grid.is-revealing .c-card:nth-child(3){transition-delay:.26s,.26s,0s;}
  .coll-grid.is-revealing .c-card:nth-child(4){transition-delay:.38s,.38s,0s;}
  .coll-grid.is-revealing .c-card:nth-child(5){transition-delay:.5s,.5s,0s;}
}
@media(prefers-reduced-motion:reduce){
  .c-img,.c-panel{transition:none!important;}
  .c-card:hover .c-img,.c-card:hover .c-panel{transform:none!important;}
  .hero-bg{animation:none!important;translate:none!important;}
  .hero-glow,.hero-deco::after{animation:none!important;}
  .hero-eye,.hero-title,.hero-desc,.hero-cta,.hero-badge{opacity:1!important;animation:none!important;}
  .btn-line-in::after{animation:none!important;left:0;opacity:0;}
  .hero-frame,.hero-frame img,.hero-block{animation:none!important;clip-path:none!important;transform:none!important;opacity:1!important;}
  .hero-title em{animation:none!important;background-size:100% 1.5px!important;}
}
