/* ════════════════════════════════════════════════════════════════════
   SD-LUX · capa ULTRA-LUXURY compartida para las landings secundarias
   de servicios (16 páginas). Se carga DESPUÉS de service-detail.css.
   Vanilla. Usa variables de marca (--wine --gold --cream --cherry …)
   con fallbacks. Animaciones performantes (transform/opacity), reveal,
   tilt 3D, shimmer, marquee, acordeón FAQ accesible.
   Inspirado en: marker-highlight / tracking-in (shimmer de título),
   feature-card (grid experiencia), hero-stats-marquee (ticker),
   container-text-scroll (tilt), glass-card (glass), preloader.
   ════════════════════════════════════════════════════════════════════ */

/* ---------- tokens ---------- */
.sd-body{ --sdlx-gold:#C9A24E; --sdlx-gold-l:#ECD7A4; --sdlx-gold-d:#9A7B36;
  --sdlx-wine:#6E0518; --sdlx-wine-d:#4E0610; --sdlx-cherry:#7A0712; --sdlx-ink:#45070C; }

/* ════════ JUSTIFICADO de prosa (no toca textos centrados) ════════ */
.sd-lede, .sd-block-text, .sd-care, .sdlx-faq-a, .sd-neuro-card-text{
  text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;
}
@media (max-width:600px){
  .sd-lede, .sd-block-text, .sd-care, .sdlx-faq-a, .sd-neuro-card-text{ text-align:left; hyphens:none; }
}

/* ════════ PRELOADER de marca ════════ */
.sdlx-pre{ position:fixed; inset:0; z-index:9999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.3rem;
  background:radial-gradient(120% 120% at 50% 30%, #6E0518 0%, #4E0610 55%, #2C0309 100%);
  animation:sdlx-pre-out .85s cubic-bezier(.7,0,.3,1) 1.9s forwards; }
.sdlx-pre.is-done{ animation:sdlx-pre-out .75s cubic-bezier(.7,0,.3,1) forwards; }
@keyframes sdlx-pre-out{ to{ transform:translateY(-102%); border-radius:0 0 50% 50%/0 0 16% 16%; } }
.sdlx-pre-mark{ font-family:'Italiana',serif; font-size:clamp(2.8rem,9vw,5rem); line-height:1; letter-spacing:.06em;
  background:linear-gradient(120deg,#ECD7A4,#C9A24E 45%,#9A7B36 75%,#ECD7A4); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  opacity:0; animation:sdlx-pre-mark 1.3s cubic-bezier(.16,1,.3,1) .12s forwards; }
.sdlx-pre-bar{ width:120px; height:1px; background:rgba(236,215,164,.22); overflow:hidden; position:relative; }
.sdlx-pre-bar::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,#ECD7A4,transparent); animation:sdlx-pre-sweep 1.25s ease-in-out .25s infinite; }
.sdlx-pre-line{ font-family:'Manrope',sans-serif; font-size:.6rem; letter-spacing:.46em; text-transform:uppercase; color:rgba(236,215,164,.7); opacity:0; animation:sdlx-pre-fade .9s ease .5s forwards; }
@keyframes sdlx-pre-mark{ from{opacity:0; transform:translateY(12px) scale(.96); letter-spacing:.2em;} to{opacity:1; transform:none; letter-spacing:.06em;} }
@keyframes sdlx-pre-fade{ to{opacity:1;} }
@keyframes sdlx-pre-sweep{ 0%{transform:translateX(-100%);} 100%{transform:translateX(100%);} }
@media (prefers-reduced-motion:reduce){ .sdlx-pre{ display:none !important; } }

/* ════════ HERO · shimmer de título + media 3D ════════ */
.sd-title{ position:relative; background:linear-gradient(100deg, currentColor 0%, currentColor 38%, var(--sdlx-gold-l) 50%, currentColor 62%, currentColor 100%);
  background-size:220% 100%; -webkit-background-clip:text; background-clip:text;
  animation:sdlx-title-sheen 6s ease-in-out 1.2s infinite; }
@keyframes sdlx-title-sheen{ 0%,72%{ background-position:140% 0; } 86%,100%{ background-position:-40% 0; } }
.sd-hero-media{ transform-style:preserve-3d; transition:transform .5s cubic-bezier(.16,1,.3,1); will-change:transform; }
.sd-hero-media img{ transition:transform .8s cubic-bezier(.16,1,.3,1); }
.sd-hero-media::after{ /* marco dorado fino */ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(201,162,78,.35), inset 0 0 60px rgba(201,162,78,.06); }
.sd-hero-media:hover img{ transform:scale(1.05); }
@media (prefers-reduced-motion:reduce){ .sd-title{ animation:none; } }

/* ════════ CTA premium · sheen + glow ════════ */
.sd-btn{ position:relative; overflow:hidden; }
.sd-btn-gold{ box-shadow:0 16px 40px -18px rgba(201,162,78,.65); }
.sd-btn-gold::after{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent); transform:skewX(-18deg); transition:left .7s ease; }
.sd-btn-gold:hover::after{ left:140%; }
.sd-btn-gold:hover{ box-shadow:0 22px 52px -16px rgba(201,162,78,.85); transform:translateY(-2px); }
.sd-btn-wine:hover, .sd-btn-outline:hover, .sd-btn-ghost:hover{ transform:translateY(-2px); }

/* ════════ TILT 3D genérico (JS pone --rx/--ry) ════════ */
.sdlx-tilt{ transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) translateY(var(--lift,0)); transition:transform .25s ease; transform-style:preserve-3d; will-change:transform; }
.sdlx-exp-card.sdlx-tilt:hover{ --lift:-8px; }

/* ════════ STATS · ticker marquee ════════ */
.sdlx-stats{ position:relative; overflow:hidden; padding:clamp(1.1rem,2.2vw,1.6rem) 0;
  background:linear-gradient(90deg, var(--sdlx-wine-d), var(--sdlx-wine) 50%, var(--sdlx-wine-d)); border-block:1px solid rgba(201,162,78,.22); }
.sdlx-stats-track{ display:inline-flex; align-items:center; gap:2.6rem; white-space:nowrap; will-change:transform; animation:sdlx-marquee 34s linear infinite; }
.sdlx-stats:hover .sdlx-stats-track{ animation-play-state:paused; }
.sdlx-stat{ display:inline-flex; align-items:center; gap:2.6rem; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.05rem,2vw,1.4rem); color:var(--sdlx-gold-l); }
.sdlx-stat b{ font-family:'Italiana',serif; font-style:normal; font-weight:400; color:#fff; }
.sdlx-stat-sep{ color:var(--sdlx-gold); font-style:normal; }
@keyframes sdlx-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .sdlx-stats-track{ animation:none; } }

/* ════════ section frame ════════ */
.sdlx-sec{ padding:clamp(3.6rem,7vw,6rem) 0; position:relative; }
.sdlx-sec--paper{ background:linear-gradient(180deg,#FBF6ED,#F4EAD9); }
.sdlx-sec--wine{ background:radial-gradient(120% 90% at 80% 0%, #6E0518, #4E0610 60%, #3A040D 100%); color:var(--cream,#FCFBF9); }
.sdlx-head{ text-align:center; max-width:680px; margin:0 auto clamp(2.4rem,5vw,3.4rem); }
.sdlx-eyebrow{ display:inline-flex; align-items:center; gap:.6rem; font-family:'Manrope',sans-serif; font-weight:600; font-size:.68rem; letter-spacing:.3em; text-transform:uppercase; color:var(--sdlx-gold-d); margin-bottom:1rem; }
.sdlx-sec--wine .sdlx-eyebrow{ color:var(--sdlx-gold-l); }
.sdlx-eyebrow::before,.sdlx-eyebrow::after{ content:""; width:26px; height:1px; background:currentColor; opacity:.5; }
.sdlx-h{ font-family:'Italiana',serif; font-weight:400; line-height:1.08; font-size:clamp(1.9rem,4.4vw,3rem); color:var(--sdlx-cherry); margin:0 0 .9rem; text-wrap:balance; }
.sdlx-sec--wine .sdlx-h{ color:#fff; }
.sdlx-h em{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:300;
  background:linear-gradient(115deg,var(--sdlx-wine),var(--sdlx-gold-d) 60%,var(--sdlx-gold)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.sdlx-sec--wine .sdlx-h em{ background:linear-gradient(115deg,var(--sdlx-gold-l),var(--sdlx-gold)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.sdlx-sub{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.55; color:var(--sdlx-wine); }
.sdlx-sec--wine .sdlx-sub{ color:rgba(252,251,249,.82); }

/* ════════ BEAUTY EXPERIENCE · feature cards ════════ */
.sdlx-exp-grid{ max-width:1120px; margin-inline:auto; padding-inline:clamp(1.2rem,4vw,2rem);
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,1.8vw,1.4rem); }
.sdlx-exp-card{ position:relative; overflow:hidden; border-radius:20px; padding:1.8rem 1.6rem; min-height:200px;
  display:flex; flex-direction:column; gap:.6rem;
  background:linear-gradient(165deg, rgba(255,255,255,.94), rgba(247,242,239,.6));
  border:1px solid rgba(201,162,78,.2); box-shadow:0 20px 46px -34px rgba(78,6,16,.5);
  transition:transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s, border-color .4s; }
.sdlx-exp-card::before{ content:""; position:absolute; inset:0 auto auto 0; width:0; height:3px; background:linear-gradient(90deg,var(--sdlx-gold),transparent); transition:width .5s ease; }
.sdlx-exp-card:hover{ box-shadow:0 32px 60px -34px rgba(78,6,16,.55); border-color:rgba(201,162,78,.5); }
.sdlx-exp-card:hover::before{ width:60%; }
.sdlx-exp-ico{ width:50px; height:50px; display:grid; place-items:center; border-radius:14px;
  background:radial-gradient(circle at 35% 30%, var(--sdlx-gold-l), var(--sdlx-gold) 60%, var(--sdlx-gold-d)); color:var(--sdlx-wine-d);
  box-shadow:0 10px 22px -10px rgba(201,162,78,.7); }
.sdlx-exp-ico svg{ width:24px; height:24px; }
.sdlx-exp-t{ font-family:'Italiana',serif; font-size:1.25rem; color:var(--sdlx-cherry); margin:.4rem 0 0; }
.sdlx-exp-d{ font-family:'Manrope',sans-serif; font-size:.9rem; line-height:1.6; color:var(--sdlx-ink); opacity:.82; }
@media (max-width:900px){ .sdlx-exp-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sdlx-exp-grid{ grid-template-columns:1fr; } .sdlx-exp-card{ min-height:0; } }

/* ════════ GARANTÍA · band ════════ */
.sdlx-trust-grid{ max-width:1080px; margin-inline:auto; padding-inline:clamp(1.2rem,4vw,2rem);
  display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1rem,2vw,1.6rem); }
.sdlx-trust-card{ text-align:center; padding:1.4rem 1rem; border-radius:16px;
  background:linear-gradient(165deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid rgba(236,215,164,.16); }
.sdlx-trust-ico{ width:46px; height:46px; margin:0 auto .8rem; display:grid; place-items:center; border-radius:50%;
  border:1px solid rgba(236,215,164,.4); color:var(--sdlx-gold-l); }
.sdlx-trust-ico svg{ width:22px; height:22px; }
.sdlx-trust-t{ font-family:'Italiana',serif; font-size:1.05rem; color:#fff; margin:0 0 .35rem; }
.sdlx-trust-d{ font-family:'Manrope',sans-serif; font-size:.82rem; line-height:1.5; color:rgba(252,251,249,.72); }
@media (max-width:780px){ .sdlx-trust-grid{ grid-template-columns:repeat(2,1fr); } }

/* ════════ FAQ · acordeón accesible (<details>) ════════ */
.sdlx-faq-list{ max-width:780px; margin-inline:auto; padding-inline:clamp(1.2rem,4vw,1.5rem); display:grid; gap:.85rem; }
.sdlx-faq{ border:1px solid rgba(201,162,78,.26); border-radius:16px; overflow:hidden;
  background:linear-gradient(165deg, rgba(255,255,255,.92), rgba(247,242,239,.55)); transition:border-color .4s, box-shadow .4s; }
.sdlx-faq[open]{ border-color:rgba(201,162,78,.55); box-shadow:0 20px 44px -34px rgba(78,6,16,.45); }
.sdlx-faq-q{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.15rem 1.4rem; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.05rem,2vw,1.25rem); color:var(--sdlx-cherry); }
.sdlx-faq-q::-webkit-details-marker{ display:none; }
.sdlx-faq-q::after{ content:"+"; font-family:'Manrope',sans-serif; font-weight:400; font-size:1.5rem; color:var(--sdlx-gold-d); transition:transform .35s ease; line-height:1; }
.sdlx-faq[open] .sdlx-faq-q::after{ transform:rotate(45deg); }
.sdlx-faq-a{ padding:0 1.4rem 1.25rem; font-family:'Manrope',sans-serif; font-size:.93rem; line-height:1.7; color:var(--sdlx-ink); opacity:.85; }

/* ════════ reveal: leve realce ════════ */
.sd-body .reveal{ will-change:opacity,transform; }

/* ════════════════════════════════════════════════════════════════
   PASADA 2 · personalización por servicio
   ════════════════════════════════════════════════════════════════ */

/* ✦ Sección "¿Es para ti?" (emocional + prueba de valor) */
.sdlx-fit{ --sdlx-accent:#C9A24E; --sdlx-accent-soft:rgba(201,162,78,.14); --sdlx-accent-l:#ECD7A4;
  background:linear-gradient(180deg,#FFFDF8,#F6ECDB); position:relative; }
.sdlx-fit::before{ content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--sdlx-accent),transparent); opacity:.55; }
.sdlx-fit-wrap{ max-width:1100px; margin-inline:auto; padding-inline:clamp(1.2rem,4vw,2rem);
  display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(1.8rem,4vw,3.2rem); align-items:center; }
.sdlx-fit-copy .sdlx-eyebrow{ color:var(--sdlx-accent); }
.sdlx-fit-copy .sdlx-h{ text-align:left; }
.sdlx-fit-copy .sdlx-sub{ color:var(--sdlx-wine); }
.sdlx-fit-list{ list-style:none; margin:1.5rem 0 2rem; padding:0; display:grid; gap:.8rem; }
.sdlx-fit-list li{ position:relative; padding-left:2rem; font-family:'Manrope',sans-serif; font-size:.97rem; line-height:1.5; color:var(--sdlx-ink); }
.sdlx-fit-list li::before{ content:""; position:absolute; left:0; top:.05em; width:1.25rem; height:1.25rem; border-radius:50%; background:var(--sdlx-accent-soft); border:1px solid var(--sdlx-accent); }
.sdlx-fit-list li::after{ content:"✓"; position:absolute; left:.32rem; top:0; color:var(--sdlx-accent); font-size:.78rem; font-weight:700; }
.sdlx-fit-copy .sd-btn{ margin-top:.4rem; }
.sdlx-fit-card{ position:relative; border-radius:24px; padding:clamp(1.8rem,3.5vw,2.6rem); overflow:hidden;
  background:radial-gradient(135% 130% at 82% 0%, #6E0518, #4E0610 70%, #36040C);
  color:#fff; box-shadow:0 32px 72px -36px rgba(78,6,16,.7); border:1px solid var(--sdlx-accent-soft); }
.sdlx-fit-card::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(60% 50% at 80% 8%, rgba(201,162,78,.16), transparent 70%); }
.sdlx-fit-card-label{ position:relative; font-family:'Manrope',sans-serif; font-size:.64rem; letter-spacing:.32em; text-transform:uppercase; color:var(--sdlx-accent-l); display:inline-block; padding-bottom:.55rem; border-bottom:1px solid var(--sdlx-accent-soft); }
.sdlx-fit-signature{ position:relative; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.3rem,2.7vw,1.75rem); line-height:1.4; color:#fff; margin:1.2rem 0 1.6rem; }
.sdlx-fit-facts{ position:relative; display:flex; gap:1.8rem; border-top:1px solid rgba(236,215,164,.18); padding-top:1.3rem; }
.sdlx-fit-facts > div{ display:flex; flex-direction:column; }
.sdlx-fit-facts b{ font-family:'Italiana',serif; font-weight:400; font-size:1.35rem; color:var(--sdlx-accent-l); }
.sdlx-fit-facts span{ font-family:'Manrope',sans-serif; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(252,251,249,.6); margin-top:.25rem; }
@media (max-width:820px){ .sdlx-fit-wrap{ grid-template-columns:1fr; } .sdlx-fit-card{ order:-1; } }

/* ✦ Theming por familia (acento sutil, dentro de la paleta de marca) */
.sd-fam-refresh .sdlx-fit{ --sdlx-accent:#C58E76; --sdlx-accent-soft:rgba(197,142,118,.18); --sdlx-accent-l:#E7C3B4; background:linear-gradient(180deg,#FFFDFB,#F6EAE4); }
.sd-fam-brow .sdlx-fit{ --sdlx-accent:#A87C4F; --sdlx-accent-soft:rgba(168,124,79,.18); --sdlx-accent-l:#E0C39A; background:linear-gradient(180deg,#FFFDF7,#F3EAD8); }
.sd-fam-lami .sdlx-fit{ --sdlx-accent:#BE9E5E; --sdlx-accent-soft:rgba(190,158,94,.18); --sdlx-accent-l:#EBD6A2; }
.sd-fam-thread .sdlx-fit{ --sdlx-accent:#C9A24E; background:linear-gradient(180deg,#FFFEFB,#F4EEE2); }
/* matiz del glow del hero por familia */
.sd-fam-refresh .sd-hero-glow{ filter:hue-rotate(-8deg) saturate(.92); }
.sd-fam-brow .sd-hero-glow{ filter:hue-rotate(6deg) saturate(.9); }

/* ════════════════════════════════════════════════════════════════
   PASADA 3 · loader geométrico (loader-2) + fondo grid/glow
   ════════════════════════════════════════════════════════════════ */

/* ✦ Loader de 3 figuras (círculo · triángulo · cuadrado) en oro */
.sdlx-pre-loaders{ display:flex; gap:1.5rem; align-items:center; justify-content:center; }
.sdlx-ld{ --p:#C9A24E; --d:#ECD7A4; --dur:3s; display:inline-block; position:relative; width:42px; height:42px; }
.sdlx-ld::before{ content:""; position:absolute; display:block; width:6px; height:6px; border-radius:50%; background:var(--d);
  top:35px; left:18px; transform:translate(-17px,-17px);
  animation:sdlx-dotRect var(--dur) cubic-bezier(.785,.135,.15,.86) infinite; }
.sdlx-ld svg{ display:block; width:100%; height:100%; }
.sdlx-ld svg circle,.sdlx-ld svg polygon,.sdlx-ld svg rect{ fill:none; stroke:var(--p); stroke-width:10px; stroke-linejoin:round; stroke-linecap:round; }
.sdlx-ld svg circle{ stroke-dasharray:150 50 150 50; stroke-dashoffset:75; animation:sdlx-pathCircle var(--dur) cubic-bezier(.785,.135,.15,.86) infinite; }
.sdlx-ld svg polygon{ stroke-dasharray:145 76 145 76; stroke-dashoffset:0; animation:sdlx-pathTriangle var(--dur) cubic-bezier(.785,.135,.15,.86) infinite; }
.sdlx-ld svg rect{ stroke-dasharray:192 64 192 64; stroke-dashoffset:0; animation:sdlx-pathRect var(--dur) cubic-bezier(.785,.135,.15,.86) infinite; }
.sdlx-ld--tri{ width:46px; }
.sdlx-ld--tri::before{ left:20px; transform:translate(-10px,-18px); animation:sdlx-dotTriangle var(--dur) cubic-bezier(.785,.135,.15,.86) infinite; }
@keyframes sdlx-pathTriangle{ 33%{stroke-dashoffset:74;} 66%{stroke-dashoffset:147;} 100%{stroke-dashoffset:221;} }
@keyframes sdlx-dotTriangle{ 33%{transform:translate(0,0);} 66%{transform:translate(10px,-18px);} 100%{transform:translate(-10px,-18px);} }
@keyframes sdlx-pathRect{ 25%{stroke-dashoffset:64;} 50%{stroke-dashoffset:128;} 75%{stroke-dashoffset:192;} 100%{stroke-dashoffset:256;} }
@keyframes sdlx-dotRect{ 25%{transform:translate(0,0);} 50%{transform:translate(18px,-18px);} 75%{transform:translate(0,-36px);} 100%{transform:translate(-18px,-18px);} }
@keyframes sdlx-pathCircle{ 25%{stroke-dashoffset:125;} 50%{stroke-dashoffset:175;} 75%{stroke-dashoffset:225;} 100%{stroke-dashoffset:275;} }

/* ✦ Fondo radial + grid dorado (inspiración background-gradient) */
/* Preloader: grid tenue desvanecido + halo */
.sdlx-pre{ background:
  radial-gradient(620px circle at 50% 38%, rgba(201,162,78,.10), transparent 60%),
  radial-gradient(120% 120% at 50% 30%, #6E0518 0%, #4E0610 55%, #2C0309 100%); }
.sdlx-pre::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(to right, rgba(201,162,78,.08) 1px, transparent 1px),
                   linear-gradient(to bottom, rgba(201,162,78,.08) 1px, transparent 1px);
  background-size:36px 36px;
  -webkit-mask:radial-gradient(circle at 50% 40%, #000, transparent 68%); mask:radial-gradient(circle at 50% 40%, #000, transparent 68%); }

/* Secciones vino: glow dorado + grid fino sobre el degradado */
.sdlx-sec--wine{ background:
  linear-gradient(to right, rgba(201,162,78,.05) 1px, transparent 1px) 0 0/42px 42px,
  linear-gradient(to bottom, rgba(201,162,78,.05) 1px, transparent 1px) 0 0/42px 42px,
  radial-gradient(640px circle at 78% 6%, rgba(201,162,78,.12), transparent 58%),
  radial-gradient(120% 90% at 80% 0%, #6E0518, #4E0610 60%, #3A040D 100%); }
.sdlx-sec--wine > *{ position:relative; z-index:1; }

/* Ticker: grid tenue para textura */
.sdlx-stats{ background:
  linear-gradient(to right, rgba(201,162,78,.06) 1px, transparent 1px) 0 0/30px 30px,
  linear-gradient(90deg, var(--sdlx-wine-d), var(--sdlx-wine) 50%, var(--sdlx-wine-d)); }

/* Tarjeta de resultado: grid muy sutil sobre el glow */
.sdlx-fit-card{ background:
  linear-gradient(to right, rgba(201,162,78,.045) 1px, transparent 1px) 0 0/34px 34px,
  linear-gradient(to bottom, rgba(201,162,78,.045) 1px, transparent 1px) 0 0/34px 34px,
  radial-gradient(135% 130% at 82% 0%, #6E0518, #4E0610 70%, #36040C); }

@media (prefers-reduced-motion:reduce){
  .sdlx-ld svg circle,.sdlx-ld svg polygon,.sdlx-ld svg rect,.sdlx-ld::before{ animation:none !important; }
}

/* ════════════════════════════════════════════════════════════════
   PASADA 4 · MÁXIMO NIVEL (award / luxury)
   ════════════════════════════════════════════════════════════════ */

/* ✦ Grano de película en secciones vino (textura print-luxe) */
.sdlx-sec--wine::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.45;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  mix-blend-mode:overlay; }

/* ✦ Spotlight que sigue el cursor en las feature cards */
.sdlx-exp-card::after{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .5s ease;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(201,162,78,.22), transparent 55%); }
.sdlx-exp-card:hover::after{ opacity:1; }

/* ✦ Anillo dorado giratorio en la tarjeta "Tu resultado" */
@property --sdlx-ang{ syntax:"<angle>"; inherits:false; initial-value:0deg; }
.sdlx-fit-card::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; padding:1.4px;
  background:conic-gradient(from var(--sdlx-ang), transparent 0deg, var(--sdlx-accent-l,#ECD7A4) 42deg, transparent 120deg, transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude;
  animation:sdlx-angle 7s linear infinite; }
@keyframes sdlx-angle{ to{ --sdlx-ang:360deg; } }
@supports not (background:conic-gradient(from 1deg,#000,#000)){
  .sdlx-fit-card::before{ background:linear-gradient(135deg, var(--sdlx-accent-l,#ECD7A4), transparent 55%); animation:none; }
}

/* ✦ Motas doradas flotantes (inyectadas por JS) */
.sdlx-motes{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.sdlx-fit-card .sdlx-motes{ z-index:-1; }
.sdlx-mote{ position:absolute; bottom:-12px; border-radius:50%;
  background:radial-gradient(circle, rgba(236,215,164,.95), rgba(201,162,78,0) 70%);
  opacity:0; animation:sdlx-float var(--d,9s) ease-in-out var(--delay,0s) infinite; }
@keyframes sdlx-float{ 0%{ transform:translateY(0) translateX(0); opacity:0; } 12%{ opacity:.85; } 85%{ opacity:.45; } 100%{ transform:translateY(-130px) translateX(var(--dx,12px)); opacity:0; } }

/* ✦ CTA dorado · glow + halo (la atracción magnética la da el JS) */
.sd-btn-gold{ transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .45s, filter .4s; }
.sd-btn-gold:hover{ filter:saturate(1.06) brightness(1.02); box-shadow:0 26px 58px -16px rgba(201,162,78,.92), 0 0 0 1px rgba(236,215,164,.55); }

/* ✦ HERO · grid + glow + parallax-ready */
.sd-hero{ position:relative; overflow:hidden; }
.sd-hero::after{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(to right, rgba(201,162,78,.05) 1px, transparent 1px),
                   linear-gradient(to bottom, rgba(201,162,78,.05) 1px, transparent 1px);
  background-size:46px 46px;
  -webkit-mask:radial-gradient(130% 110% at 72% 18%, #000, transparent 76%); mask:radial-gradient(130% 110% at 72% 18%, #000, transparent 76%); }
.sd-hero-glow{ will-change:transform; }

/* ✦ Ticker · bordes desvanecidos */
.sdlx-stats{ -webkit-mask:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }

/* ✦ FAQ · barra de acento dorada + apertura animada + hover */
.sdlx-faq{ position:relative; padding-left:4px; transition:border-color .4s, box-shadow .4s, transform .4s ease; }
.sdlx-faq::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; border-radius:4px 0 0 4px;
  background:linear-gradient(180deg, var(--sdlx-gold,#C9A24E), var(--sdlx-gold-d,#9A7B36)); transform:scaleY(0); transform-origin:top;
  transition:transform .5s cubic-bezier(.16,1,.3,1); }
.sdlx-faq[open]::before{ transform:scaleY(1); }
.sdlx-faq:hover{ transform:translateX(3px); }
.sdlx-faq[open]{ background:linear-gradient(165deg,#ffffff,#F7F0E2); }
.sdlx-faq[open] .sdlx-faq-a{ animation:sdlx-faq-in .5s cubic-bezier(.16,1,.3,1); }
@keyframes sdlx-faq-in{ from{ opacity:0; transform:translateY(-7px); } to{ opacity:1; transform:none; } }
.sdlx-faq-q{ transition:color .3s ease; }
.sdlx-faq:hover .sdlx-faq-q{ color:var(--sdlx-wine,#6E0518); }

/* ✦ Detalle: hairline dorada sutil al pie de cada head de sección */
.sdlx-head .sdlx-sub{ position:relative; }

@media (prefers-reduced-motion:reduce){
  .sdlx-fit-card::before, .sdlx-mote{ animation:none !important; }
  .sdlx-sec--wine::after{ opacity:.3; }
}
