/* Reset box-sizing — las páginas de detalle no heredaban el border-box
   global, lo que hacía que .sd-container (width:100% + padding) midiera
   más que el viewport y desbordara ~40px en mobile. */
.sd-page, .sd-page *, [class^="sd-"], [class*=" sd-"] { box-sizing: border-box; } /* sd-box-reset */

/* ============================================================
   PALETA DE MARCA · vino + perla + dorado (las páginas de detalle
   no cargan el :root del index, así que la definimos aquí también).
   ============================================================ */
:root {
  --wine-deep:   #4E0610;
  --wine-mid:    #6E0518;
  --wine:        #861F18;
  --cherry:      #7A0712;
  --wine-bright: #A6172A;
  --wine-soft:   #C98A86;
  --gold:        #C9A24E;
  --gold-light:  #ECD7A4;
  --gold-dark:   #9A7B36;
  --cream:       #FCFBF9;
  --cream-100:   #F7F2EF;
  --ink:         #45070C;
  --paper:       #FEFDFC;
}

/* ============================================================
   SERVICE DETAIL · estilo luxury que COMPLEMENTA el sistema real
   (usa los mismos tokens --wine/--gold/--cream del brand CSS).
   ============================================================ */
.sd-body {
  font-family: 'Manrope', system-ui, sans-serif;
  color: var(--ink, #45070C);
  background: var(--paper, #FEFDFC);
  margin: 0;
  overflow-x: clip;
}
.sd-container { box-sizing: border-box; width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 3rem); }
.sd-center { text-align: center; }
.sd-italic { font-family: 'Cormorant Garamond', serif; font-style: italic; }

/* NAV */
.sd-nav {
  /* [v113] fixed -> sticky: 'fixed' flotaba SOBRE el hero y se comía el
     contenido superior en todas las páginas. sticky ocupa su espacio en el
     flujo: el hero ya no nace debajo de la barra. */
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem clamp(1.25rem, 5vw, 3rem);
  background: rgba(250, 244, 234, 0.86); backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid rgba(92,7,16, 0.08);
}
.sd-logo { font-family: 'Italiana', serif; font-size: 1.3rem; letter-spacing: .04em; color: var(--wine, #861F18); text-decoration: none; }
.sd-logo span { color: var(--gold-dark, #9A7B36); }
.sd-nav-links { display: flex; align-items: center; gap: 1.8rem; }
.sd-nav-links a { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink, #45070C); text-decoration: none; opacity: .8; }
.sd-nav-links a:hover { opacity: 1; }
.sd-nav-cta { background: var(--wine-deep, #4E0610); color: var(--cream, #FCFBF9) !important; padding: .65rem 1.2rem; border-radius: 999px; opacity: 1 !important; }
@media (max-width: 760px) { .sd-nav-links a:not(.sd-nav-cta) { display: none; } }

/* HERO */
.sd-hero {
  position: relative; overflow: hidden;
  background: var(--grad-wine, linear-gradient(155deg, #8E0A14, #861F18 52%, #4E0610));
  color: var(--cream, #FCFBF9);
  padding-top: clamp(7rem, 13vw, 10rem); padding-bottom: clamp(4rem, 9vw, 8rem);
}
.sd-hero-glow { position: absolute; top: -20%; right: 0; width: 60vw; max-width: 600px; height: 60vw; max-height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(197,163,90,.18), transparent 70%); pointer-events: none; }
.sd-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; position: relative; }
.sd-back { color: var(--gold-light, #ECD7A4); font-size: .85rem; text-decoration: none; display: inline-block; margin-bottom: 1.5rem; }
.sd-eyebrow { font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-light, #ECD7A4); display: flex; align-items: center; gap: .5em; margin: 0 0 1rem; }
.sd-title { font-family: 'Italiana', serif; font-size: clamp(2.75rem, 7vw, 5.5rem); line-height: 1.04; margin: 0; color: var(--cream, #FCFBF9); }
.sd-subtitle { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(1.2rem, 2.4vw, 1.6rem); color: rgba(251,247,240,.78); margin: 1rem 0 0; }
.sd-meta { display: flex; gap: 2.5rem; margin-top: 2rem; }
.sd-meta-v { display: block; font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: var(--gold-light, #ECD7A4); line-height: 1; }
.sd-meta-l { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(251,247,240,.7); }
.sd-cta-row { display: flex; gap: 1rem; margin-top: 2rem; flex-wrap: wrap; }
.sd-hero-media { aspect-ratio: 4/5; border-radius: 40px; overflow: hidden; box-shadow: 0 28px 70px rgba(0,0,0,.35); }
.sd-hero-media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 980px) { .sd-hero-grid { grid-template-columns: minmax(0, 1fr); } .sd-hero-media { aspect-ratio: 16/12; margin-top: 2rem; } .sd-meta { gap: 1.5rem; } }

/* BOTONES */
.sd-btn { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: .5em; font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; padding: 1.05em 1.6em; border-radius: 999px; text-decoration: none; cursor: pointer; transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s; max-width: 100%; }
.sd-btn-gold { background: var(--gold, #C9A24E); color: var(--cherry, #7A0712); box-shadow: 0 12px 36px rgba(197,163,90,.32); }
.sd-btn-gold:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(197,163,90,.45); }
.sd-btn-wine { background: var(--wine-deep, #4E0610); color: var(--cream, #FCFBF9); }
.sd-btn-wine:hover { transform: translateY(-2px); }
.sd-btn-ghost { background: transparent; color: var(--cream, #FCFBF9); border: 1px solid rgba(230,211,160,.4); }
.sd-btn-ghost:hover { background: rgba(197,163,90,.12); }
.sd-btn-block { width: 100%; }

/* CUERPO */
.sd-body-section { background: var(--paper, #FEFDFC); padding: clamp(4rem, 9vw, 7rem) 0; }
.sd-body-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.sd-h2 { font-family: 'Italiana', serif; font-size: clamp(1.9rem, 4vw, 3rem); color: var(--cherry, #7A0712); margin: 0; line-height: 1.15; }
.sd-lede { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; line-height: 1.55; color: #5A4036; margin-top: 1rem; }
.sd-block { margin-top: 2rem; }
.sd-block-label { font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-dark, #9A7B36); margin: 0 0 .4rem; }
.sd-block-text { color: #4a3530; margin: 0; font-size: 1.05rem; }
.sd-block-text.sd-italic { font-size: 1.5rem; color: var(--wine, #861F18); }
.sd-card { background: var(--pearl, #FFFEFA); border: 1px solid rgba(92,7,16,.1); border-radius: 28px; padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: 0 14px 40px rgba(92,7,16,.08); }
.sd-benefits { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .8rem; }
.sd-benefits li { display: flex; gap: .7rem; align-items: flex-start; color: #45070C; font-size: 1rem; }
.sd-check { width: 22px; height: 22px; border-radius: 999px; background: var(--gold, #C9A24E); color: var(--cherry, #7A0712); display: grid; place-items: center; flex-shrink: 0; font-size: .7rem; font-weight: 700; }
.sd-hair { border: 0; height: 1px; background: rgba(92,7,16,.12); margin: 1.5rem 0; }
.sd-care { font-size: .9rem; color: #5A4036; margin: 0; }
.sd-card .sd-btn { margin-top: 0; }
.sd-card-cta { display: flex; flex-direction: column; gap: 0.7rem; margin-top: 1.5rem; width: 100%; }
.sd-card-cta .sd-btn { width: 100%; }
@media (max-width: 980px) { .sd-body-grid { grid-template-columns: minmax(0, 1fr); } }

/* RELACIONADOS */
.sd-related { background: var(--cream-100, #F7F2EF); padding: clamp(4rem, 9vw, 7rem) 0; }
.sd-related .sd-h2 { text-align: center; margin-bottom: 3rem; }
.sd-rel-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; max-width: 1120px; margin: 0 auto; }
.sd-rel-grid .sd-rel-card { width: 340px; max-width: 100%; flex: 0 1 340px; }
@media (max-width: 760px) { .sd-rel-grid .sd-rel-card { flex-basis: 100%; width: 100%; } }
.sd-rel-card { background: var(--pearl, #FFFEFA); border: 1px solid rgba(92,7,16,.1); border-radius: 24px; overflow: hidden; text-decoration: none; box-shadow: 0 8px 24px rgba(92,7,16,.07); transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s; }
.sd-rel-card:hover { transform: translateY(-6px); box-shadow: 0 28px 60px rgba(92,7,16,.16); }
.sd-rel-media { aspect-ratio: 4/3; overflow: hidden; }
.sd-rel-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.sd-rel-card:hover .sd-rel-media img { transform: scale(1.05); }
/* Placeholder de marca elegante para servicios sin foto */
.sd-rel-media--brand {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(201,169,97,0.18), transparent 60%),
    linear-gradient(155deg, var(--wine-mid,#6E0518), var(--wine-deep,#4E0610));
  position: relative;
}
.sd-rel-media--brand::before {
  content: ''; position: absolute; inset: 14px; border: 1px solid rgba(201,169,97,0.3); border-radius: 10px;
}
.sd-rel-mono {
  font-family: 'Italiana', serif; font-size: 3.2rem; line-height: 1;
  color: transparent; background: linear-gradient(135deg, #C9A24E, #ECD7A4 55%, #9A7B36);
  -webkit-background-clip: text; background-clip: text; position: relative; z-index: 1;
}
.sd-rel-brandtag {
  font-family: 'Manrope', sans-serif; font-size: .55rem; letter-spacing: .26em; text-transform: uppercase;
  color: rgba(236,215,164,0.85); position: relative; z-index: 1;
}
.sd-rel-body { padding: 1.2rem; display: flex; justify-content: space-between; align-items: baseline; }
.sd-rel-body h3 { font-family: 'Italiana', serif; font-size: 1.3rem; color: var(--cherry, #7A0712); margin: 0; }
.sd-rel-price { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; color: var(--wine, #861F18); }
@media (max-width: 760px) { .sd-rel-grid { grid-template-columns: minmax(0, 1fr); } }
@media (hover: none) { .sd-rel-card:hover { transform: none; } .sd-rel-card:hover .sd-rel-media img { transform: none; } }

/* FINAL */
.sd-final { background: var(--grad-wine, linear-gradient(155deg, #8E0A14, #861F18 52%, #4E0610)); color: var(--cream, #FCFBF9); padding: clamp(4rem, 9vw, 7rem) 0; }
.sd-final-title { font-family: 'Italiana', serif; font-size: clamp(2.2rem, 5.5vw, 4rem); line-height: 1.08; margin: 1rem 0 0; }
.sd-final-title em { font-family: 'Cormorant Garamond', serif; color: var(--gold-light, #ECD7A4); }

/* FLOAT */
.sd-float { position: fixed; bottom: 22px; right: 22px; z-index: 90; width: 56px; height: 56px; border-radius: 50%; background: #25D366; display: grid; place-items: center; box-shadow: 0 10px 30px rgba(37,211,102,.4); transition: transform .25s; }
.sd-float:hover { transform: scale(1.08); }

/* REVEAL (mismo patrón que la landing real) */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.in { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* ===== v2: outline buttons, diagnostic invite, richer related ===== */
.sd-btn-outline { background: transparent; color: var(--cream, #FCFBF9); border: 1px solid rgba(230,211,160,0.5); }
.sd-btn-outline:hover { background: rgba(197,163,90,0.14); border-color: var(--gold, #C9A24E); }
.sd-btn-outline-light { background: transparent; color: var(--cream, #FCFBF9); border: 1px solid rgba(230,211,160,0.5); }
.sd-btn-outline-light:hover { background: rgba(255,255,255,0.1); }
.sd-card-cta { display: flex; flex-direction: column; gap: 0.7rem; margin-top: 1.5rem; width: 100%; }
.sd-cta-center { justify-content: center; }

/* En el cuerpo (fondo claro) los outline necesitan color vino */
.sd-body-section .sd-btn-outline, .sd-card .sd-btn-outline { color: var(--wine, #861F18); border-color: rgba(134,31,24,0.35); }
.sd-body-section .sd-btn-outline:hover, .sd-card .sd-btn-outline:hover { background: rgba(134,31,24,0.06); }

/* Invitación al diagnóstico */
.sd-diag { background: var(--cream-100, #F7F2EF); padding: clamp(3rem, 7vw, 5rem) 0; }
.sd-diag-inner {
  position: relative; overflow: hidden;
  display: flex; align-items: center; gap: clamp(1.25rem, 3vw, 2.25rem); flex-wrap: wrap; justify-content: center; text-align: center;
  background:
    radial-gradient(120% 140% at 85% -10%, rgba(199,162,79,0.28), transparent 55%),
    linear-gradient(135deg, #6E0518 0%, #4E0610 60%, #6E0518 100%);
  border: 1px solid rgba(236,218,166,0.3); border-radius: 28px;
  padding: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 3rem);
  box-shadow: 0 30px 70px -28px rgba(92,7,16,0.5);
}
.sd-diag-inner::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(60% 80% at 10% 110%, rgba(199,162,79,0.16), transparent 60%);
}
.sd-diag-orb {
  position: relative; z-index: 2;
  width: clamp(54px, 8vw, 72px); height: clamp(54px, 8vw, 72px); border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center; font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--cherry, #7A0712);
  background: radial-gradient(circle at 35% 30%, #ECD7A4, #C9A24E 70%);
  box-shadow: 0 0 0 6px rgba(236,218,166,0.14), 0 0 30px rgba(199,162,79,0.5);
  animation: sdOrbPulse 4s ease-in-out infinite;
}
@keyframes sdOrbPulse {
  0%, 100% { box-shadow: 0 0 0 6px rgba(236,218,166,0.14), 0 0 26px rgba(199,162,79,0.45); transform: scale(1); }
  50%      { box-shadow: 0 0 0 9px rgba(236,218,166,0.2), 0 0 44px rgba(199,162,79,0.65); transform: scale(1.05); }
}
.sd-diag-text { flex: 1; min-width: 260px; position: relative; z-index: 2; }
.sd-diag-title { font-family: 'Italiana', serif; font-size: clamp(1.5rem, 3.2vw, 2.2rem); color: var(--cream, #FCFBF9); margin: 0 0 0.6rem; line-height: 1.1; }
.sd-diag-title em {
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  background: linear-gradient(115deg, #ECD7A4, #C9A24E 60%, #ECD7A4);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.sd-diag-copy { font-size: 0.98rem; line-height: 1.65; color: var(--cream, #FCFBF9); opacity: 0.86; margin: 0; }
.sd-diag .sd-btn-gold { position: relative; z-index: 2; }

/* Related cards enriquecidas */
.sd-rel-toprow { display: flex; justify-content: space-between; align-items: baseline; gap: 0.75rem; }
.sd-rel-tag { display: block; font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-dark, #9A7B36); margin: 0.3rem 0 0.5rem; }
.sd-rel-desc { font-size: 0.85rem; line-height: 1.5; color: var(--ink, #45070C); opacity: 0.68; margin: 0 0 0.75rem; }
.sd-rel-link { font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; color: var(--wine, #861F18); }
.sd-rel-body { padding: 1.2rem; display: flex; flex-direction: column; }
.sd-related-sub { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.1rem; color: var(--wine-mid, #6E0518); opacity: 0.8; margin-top: -1.5rem; margin-bottom: 2.5rem; }
.sd-back-bottom { display: inline-block; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; color: var(--wine, #861F18); text-decoration: none; padding: 0.8em 1.6em; border: 1px solid rgba(134,31,24,0.3); border-radius: 999px; transition: background 0.3s, border-color 0.3s; }
.sd-back-bottom:hover { background: rgba(134,31,24,0.06); border-color: var(--wine, #861F18); }

@media (max-width: 600px) {
  .sd-diag-inner { flex-direction: column; }
}

/* ════════════════════════════════════════════════════════════
   v4 · RELACIONADOS rediseñados (on-brand luxury) +
   Setmore EMBEBIDO in-page + tabla COMPARATIVA + diag embebido
   ════════════════════════════════════════════════════════════ */
/* Related: fondo papel, header editorial, cards más refinadas */
.sd-related {
  background:
    radial-gradient(60% 50% at 80% 0%, rgba(197,163,90,0.10), transparent 60%),
    var(--paper, #FEFDFC);
  padding: clamp(4rem, 9vw, 7rem) 0;
}
.sd-related-head { text-align: center; max-width: 640px; margin: 0 auto clamp(2.5rem,5vw,3.5rem); }
.sd-related .sd-h2 { font-family: 'Italiana', serif; }
.sd-related-kicker { display: inline-flex; align-items: center; gap: .6em; font-size: .68rem; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-dark, #9A7B36); margin-bottom: 1rem; }
.sd-related-kicker::before, .sd-related-kicker::after { content: ""; width: 26px; height: 1px; background: var(--gold, #C9A24E); }
.sd-rel-card { background: #fff; border: 1px solid rgba(197,163,90,.22); border-radius: 22px; overflow: hidden; text-decoration: none; box-shadow: 0 10px 30px rgba(92,7,16,.06); transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s, border-color .4s; }
.sd-rel-card:hover { transform: translateY(-7px); box-shadow: 0 30px 64px rgba(92,7,16,.16); border-color: rgba(197,163,90,.5); }
.sd-rel-media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.sd-rel-media:not(.sd-rel-media--brand)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(74,10,10,0.25), transparent 55%); }
.sd-rel-body { padding: 1.25rem 1.3rem 1.4rem; }
.sd-rel-toprow { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; }
.sd-rel-body h3 { font-family: 'Italiana', serif; font-size: 1.3rem; color: var(--cherry, #7A0712); margin: 0; line-height: 1.1; }
.sd-rel-price { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; color: var(--wine, #861F18); white-space: nowrap; }
.sd-rel-tag { display: block; font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-dark, #9A7B36); margin: .5rem 0 .55rem; }
.sd-rel-desc { font-size: .9rem; color: #5A4036; margin: 0 0 .9rem; line-height: 1.5; }
.sd-rel-link { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--wine, #861F18); }
.sd-back-bottom { display: inline-flex; align-items: center; gap: .5em; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--wine, #861F18); text-decoration: none; padding: .9em 1.8em; border: 1px solid rgba(134,31,24,.3); border-radius: 999px; transition: background .3s, transform .3s; }
.sd-back-bottom:hover { background: rgba(134,31,24,.06); transform: translateY(-2px); }

/* ── Reservar EMBEBIDO (Setmore in-page) ── */
.sd-embed { background: var(--cream-100, #F7F2EF); padding: clamp(3.5rem, 8vw, 6rem) 0; }
.sd-embed-head { text-align: center; max-width: 660px; margin: 0 auto clamp(2rem,4vw,3rem); }

/* === RITUAL DE RESERVA · timeline luxury (detalle) === */
.sd-ritual {
  max-width: 920px; margin: 0 auto clamp(2rem,4vw,3rem);
  padding: clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,2.5vw,2.25rem);
  border-radius: 26px; position: relative; overflow: hidden;
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(201,169,97,0.06), transparent 55%),
    linear-gradient(168deg, rgba(255,255,255,0.92), rgba(248,242,239,0.78));
  border: 1px solid rgba(197,163,90,.3);
  box-shadow: 0 26px 64px -38px rgba(92,7,16,.26);
}
.sd-ritual::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold,#C9A24E), var(--gold-light,#ECD7A4), var(--gold,#C9A24E), transparent);
  opacity: .7;
}
.sd-ritual-head { text-align: center; margin-bottom: clamp(1.75rem,3.5vw,2.5rem); }
.sd-ritual-kicker {
  display: inline-flex; align-items: center; gap: .8rem;
  font-family: 'Manrope', sans-serif; font-size: .58rem; letter-spacing: .3em;
  text-transform: uppercase; color: var(--gold-dark,#9A7B36); margin-bottom: .9rem;
}
.sd-ritual-deco { width: 30px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold,#C9A24E)); }
.sd-ritual-kicker .sd-ritual-deco:last-child { background: linear-gradient(90deg, var(--gold,#C9A24E), transparent); }
.sd-ritual-title {
  font-family: 'Italiana', serif; font-weight: 400; font-size: clamp(1.6rem,3.4vw,2.4rem);
  line-height: 1.1; color: var(--cherry,#7A0712); margin: 0;
}
.sd-ritual-title .italic {
  font-family: 'Fraunces','Cormorant Garamond',serif; font-style: italic; font-weight: 300;
  background: linear-gradient(120deg, #9A7B36, #C9A24E 40%, #ECD7A4 60%, #9A7B36);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.sd-ritual-steps {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: 1fr; gap: .85rem;
}
@media (min-width: 720px) { .sd-ritual-steps { grid-template-columns: 1fr 1fr; gap: 1rem 1.75rem; } }
.sd-ritual-step {
  display: flex; align-items: flex-start; gap: 1.1rem;
  padding: 1.2rem 1.25rem; background: rgba(255,255,255,.55);
  border: 1px solid rgba(197,163,90,.2); border-radius: 16px;
  transition: transform .5s cubic-bezier(0.16,1,0.3,1), box-shadow .5s ease, border-color .5s ease, background .5s ease;
}
.sd-ritual-step:hover { transform: translateY(-4px); background: rgba(255,255,255,.82); box-shadow: 0 20px 46px -30px rgba(92,7,16,.4); border-color: rgba(197,163,90,.55); }
.sd-ritual-step--accent { background: linear-gradient(160deg, var(--wine-deep,#4E0610), var(--wine-mid,#6E0518)); border-color: rgba(236,215,164,.5); }
.sd-ritual-num {
  flex-shrink: 0; width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Fraunces','Cormorant Garamond',serif; font-style: italic; font-weight: 400;
  font-size: 1.3rem; letter-spacing: 0; line-height: 1;
  color: var(--gold-dark,#9A7B36); border: 1px solid rgba(197,163,90,.45); border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, rgba(236,215,164,.4), rgba(255,255,255,.1));
}
.sd-ritual-step--accent .sd-ritual-num { color: var(--gold-light,#ECD7A4); border-color: rgba(236,215,164,.6); background: radial-gradient(circle at 35% 30%, rgba(201,169,97,.35), rgba(78,6,16,.2)); }
.sd-ritual-step h4 { font-family: 'Marcellus','Italiana',serif; font-weight: 400; font-size: 1rem; color: var(--cherry,#7A0712); margin: 0 0 .3rem; line-height: 1.2; }
.sd-ritual-step--accent h4 { color: var(--gold-light,#ECD7A4); }
.sd-ritual-step p { font-family: 'Manrope', sans-serif; font-size: .8rem; line-height: 1.5; color: var(--ink,#45070C); opacity: .8; margin: 0; }
.sd-ritual-step--accent p { color: rgba(255,255,255,.82); opacity: 1; }
.sd-ritual-step strong { color: var(--wine-bright,#A6172A); font-weight: 600; }
.sd-ritual-step--accent strong { color: var(--gold-light,#ECD7A4); }
.sd-ritual-foot {
  display: flex; align-items: center; justify-content: center; gap: .6rem;
  margin-top: clamp(1.5rem,3vw,2rem); padding-top: clamp(1.25rem,2.5vw,1.75rem);
  border-top: 1px solid rgba(197,163,90,.22);
  font-family: 'Manrope', sans-serif; font-size: .58rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold-dark,#9A7B36); text-align: center;
}
.sd-ritual-foot span { color: var(--gold,#C9A24E); }

/* Sin velo ni overlay: el botón "Reservar" queda 100% libre.
   El bloqueo de "Obtén tu página" se hace por sandbox (sin allow-popups). */
.sd-embed-frame { position: relative; }

.sd-embed-kicker { display: inline-flex; align-items: center; gap: .5em; font-size: .66rem; letter-spacing: .26em; text-transform: uppercase; color: var(--gold-dark, #9A7B36); margin-bottom: .9rem; }
.sd-embed-kicker .dot { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.15); }
.sd-embed-frame { max-width: 920px; margin: 0 auto; background: #fff; border-radius: 24px; overflow: hidden; border: 1px solid rgba(197,163,90,.3); box-shadow: 0 30px 70px -30px rgba(92,7,16,.28); }
.sd-embed-bar { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1rem; background: var(--wine-deep, #4E0610); color: var(--gold-light, #ECD7A4); font-family: 'Manrope','Inter',sans-serif; font-size: .6rem; letter-spacing: .25em; text-transform: uppercase; border-bottom: 1px solid var(--gold,#C9A24E); }
.sd-embed-bar .dot { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; animation: sdPulse 1.5s infinite; }
@keyframes sdPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,.5); } 50% { box-shadow: 0 0 0 5px rgba(34,197,94,0); } }
.sd-embed-iframe { width: 100%; border: 0; min-height: 620px; background: #fff; display: block; }
@media (max-width: 760px) { .sd-embed-iframe { min-height: 540px; } }

/* ── Tabla COMPARATIVA de extensiones ── */
.sd-compare { background: var(--paper, #FEFDFC); padding: clamp(3.5rem, 8vw, 6rem) 0; }
.sd-compare-head { text-align: center; max-width: 640px; margin: 0 auto clamp(2rem,4vw,3rem); }
.sd-compare-wrap { max-width: 980px; margin: 0 auto; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 20px; border: 1px solid rgba(197,163,90,.25); }
.sd-compare-table { width: 100%; border-collapse: collapse; min-width: 640px; background: #fff; }
.sd-compare-table th, .sd-compare-table td { padding: 1rem 1.1rem; text-align: left; border-bottom: 1px solid rgba(92,7,16,.08); font-size: .92rem; }
.sd-compare-table thead th { background: var(--wine-deep, #4E0610); color: var(--cream, #FCFBF9); font-family: 'Italiana', serif; font-size: 1.02rem; letter-spacing: .01em; }
.sd-compare-table thead th:first-child { font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; font-family: 'Manrope','Inter',sans-serif; color: var(--gold-light,#ECD7A4); }
.sd-compare-table tbody th { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dark,#9A7B36); font-weight: 600; }
.sd-compare-table td { color: #4a3530; }
.sd-compare-table .is-feat { background: rgba(197,163,90,.08); }
.sd-compare-table tbody tr:hover { background: rgba(197,163,90,.05); }
.sd-compare-price { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; color: var(--wine,#861F18); }
.sd-compare-note { text-align: center; font-size: .8rem; color: #5A4036; margin: 1.25rem auto 0; max-width: 560px; font-style: italic; }

/* ── v5: cortesías luxury en la card "Incluye" ── */
.sd-block-label--gold { color: var(--gold-dark, #9A7B36); margin-top: 0.25rem; }
.sd-benefits--lux { margin-bottom: 0; }
.sd-benefits--lux li { color: var(--ink, #45070C); opacity: 0.88; }
.sd-benefits--lux .sd-check { color: var(--gold, #C9A24E); }

/* Difuminado/máscara de Setmore eliminado por completo en las páginas
   de detalle: el widget se muestra entero. */
.sd-embed-frame { position: relative; }
.sd-embed-mask,
.sd-embed-mask-line,
.sd-embed-mask-text { display: none !important; }


/* ════════════════════════════════════════════════════════════
   FIX · DESBORDE HORIZONTAL EN MOBILE (páginas de detalle)
   Causa: grids con columnas fijas/1fr no permitían que el contenido
   se encogiera (grid items tienen min-width:auto por defecto), así que
   en pantallas estrechas el grid medía más que el viewport. Solución:
   minmax(0,1fr) ya aplicado arriba + blindaje de contención aquí.
   ════════════════════════════════════════════════════════════ */
html, body { overflow-x: clip; max-width: 100%; }
.sd-hero, .sd-body, .sd-benefits, .sd-compare, .sd-care, .sd-embed,
.sd-final, .sd-rel, .sd-diag, .sd-cta { overflow-x: clip; }
/* Ningún grid item debe forzar ancho mínimo por su contenido */
.sd-hero-grid > *, .sd-body-grid > *, .sd-rel-grid > * { min-width: 0; }
/* Imágenes y media nunca exceden su contenedor */
.sd-hero-media, .sd-hero-media img, .sd-body img, .sd-rel-card img { max-width: 100%; }

/* ════════════════════════════════════════════════════════════
   DIAGNÓSTICO IA EMBEBIDO (en páginas de detalle)
   ════════════════════════════════════════════════════════════ */
.sd-diag { background: var(--paper, #FEFDFC); padding: clamp(3.5rem,8vw,6rem) 0; }
.sd-diag-head { text-align: center; max-width: 680px; margin: 0 auto clamp(2rem,4vw,2.5rem); }
.sd-diag-kicker { display:inline-flex; align-items:center; gap:.5em; font-size:.66rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-dark,#9A7B36); margin-bottom:.9rem; }
.sd-diag-orb { color: var(--gold,#C9A24E); }
.sd-diag-title { font-family:'Italiana',serif; font-size:clamp(1.8rem,4vw,2.8rem); color:var(--cherry,#7A0712); line-height:1.1; margin:0 0 .8rem; }
.sd-diag-title em { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--wine-bright,#A6172A); }
.sd-diag-copy { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:var(--ink,#45070C); opacity:.82; margin:0; }

.sd-diag-machine { max-width:780px; margin:0 auto; background:#fff; border:1px solid rgba(201,169,97,.28); border-radius:24px; padding:clamp(1.5rem,4vw,2.5rem); box-shadow:0 30px 70px -34px rgba(92,7,16,.22); }
.sdq-step { display:none; }
.sdq-step.sdq-step-active { display:block; animation: sdqFade .5s ease; }
@keyframes sdqFade { from{opacity:0;transform:translateY(8px);} to{opacity:1;transform:none;} }

.sdq-head { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.sdq-num { font-family:'Italiana',serif; font-size:1.5rem; color:var(--gold-dark,#9A7B36); }
.sdq-num span { font-size:.9rem; opacity:.6; }
.sdq-progress { flex:1; height:3px; background:rgba(201,169,97,.2); border-radius:3px; overflow:hidden; }
.sdq-fill { display:block; height:100%; background:linear-gradient(90deg,var(--gold,#C9A24E),var(--wine-mid,#6E0518)); transition:width .5s ease; }
.sdq-q-title { font-family:'Italiana',serif; font-size:clamp(1.4rem,3vw,2rem); color:var(--cherry,#7A0712); line-height:1.12; margin:0 0 .5rem; }
.sdq-q-title em { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--wine-bright,#A6172A); }
.sdq-q-sub { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1rem; color:var(--gold-dark,#9A7B36); margin:0 0 1.25rem; }

.sdq-options { display:grid; grid-template-columns:1fr; gap:.8rem; }
@media (min-width:680px){ .sdq-options { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.9rem; } }
.sdq-option { display:flex; align-items:center; gap:.9rem; text-align:left; padding:1.05rem 1.15rem; min-height:80px; background:rgba(255,255,255,.7); border:1px solid rgba(201,169,97,.28); border-radius:15px; cursor:pointer; transition:all .35s cubic-bezier(.16,1,.3,1); position:relative; overflow:hidden; font-family:inherit; color:var(--cherry,#7A0712); }
.sdq-option::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--wine-deep,#4E0610),var(--wine-mid,#6E0518)); opacity:0; transition:opacity .35s ease; z-index:0; }
.sdq-option > * { position:relative; z-index:1; }
.sdq-option:hover { border-color:var(--gold,#C9A24E); background:#fff; transform:translateY(-3px); box-shadow:0 14px 30px -16px rgba(92,7,16,.22); }
.sdq-option.selected { border-color:var(--gold,#C9A24E); color:var(--cream,#FCFBF9); }
.sdq-option.selected::before { opacity:1; }
.sdq-option-dot { flex:0 0 38px; width:38px; height:38px; border:1px solid rgba(201,169,97,.4); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:var(--gold-dark,#9A7B36); background:var(--cream-100,#FCFBF9); }
.sdq-option.selected .sdq-option-dot { color:var(--gold-light,#ECD7A4); border-color:var(--gold-light,#ECD7A4); background:rgba(201,169,97,.18); }
.sdq-option-meta { display:flex; flex-direction:column; gap:.18rem; }
.sdq-option-label { font-family:'Italiana',serif; font-size:1.05rem; line-height:1.12; }
.sdq-option-sub { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:.9rem; color:var(--gold-dark,#9A7B36); }
.sdq-option.selected .sdq-option-sub { color:var(--gold-light,#ECD7A4); opacity:.92; }

.sdq-back { margin-top:1.1rem; background:none; border:0; cursor:pointer; font-family:'Manrope','Inter',sans-serif; font-size:.72rem; letter-spacing:.08em; color:var(--gold-dark,#9A7B36); }
.sdq-back:hover { color:var(--cherry,#7A0712); }
.sdq-continue { width:100%; margin-top:.4rem; justify-content:center; }

.sdq-form-row { display:grid; grid-template-columns:1fr; gap:1rem; margin-bottom:1.25rem; }
@media (min-width:560px){ .sdq-form-row { grid-template-columns:1fr 1fr; } }
.sdq-form-row label { display:flex; flex-direction:column; gap:.4rem; }
.sdq-form-row label span { font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dark,#9A7B36); }
.sdq-form-row input { padding:.8rem .9rem; border:1px solid rgba(201,169,97,.35); border-radius:12px; background:#fff; font-family:inherit; font-size:.95rem; color:var(--ink,#45070C); }
.sdq-form-row input:focus { outline:none; border-color:var(--gold,#C9A24E); }
.sdq-submit { width:100%; justify-content:center; }

.sdq-result-tag { display:inline-flex; align-items:center; gap:.5em; font-size:.64rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-dark,#9A7B36); margin-bottom:.8rem; }
.sdq-dot { width:7px; height:7px; border-radius:50%; background:#22c55e; }
.sdq-result-lead { font-family:'Manrope','Inter',sans-serif; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-dark,#9A7B36); margin:0 0 .3rem; }
.sdq-result-name { font-family:'Italiana',serif; font-size:clamp(1.6rem,4vw,2.4rem); color:var(--wine-bright,#A6172A); margin:0 0 .6rem; }
.sdq-result-desc { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.05rem; color:var(--ink,#45070C); opacity:.84; margin:0 0 1.1rem; max-width:52ch; }
.sdq-result-stats { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:1.25rem; }
.sdq-stat-l { font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dark,#9A7B36); }
.sdq-stat-v { font-family:'Italiana',serif; font-size:1.1rem; color:var(--cherry,#7A0712); }
.sdq-extra-item { margin-top:1.5rem; padding-top:1.3rem; border-top:1px solid rgba(201,169,97,.28); }
.sdq-extra-div { font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-dark,#9A7B36); margin-bottom:.6rem; }
.sdq-result-cta { display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.5rem; }
.sd-btn-ghost { background:transparent; border:1px solid rgba(201,169,97,.4); color:var(--cherry,#7A0712); }

/* ── Texto de cuerpo justificado (desktop y mobile) para acabado editorial ── */
.sd-lede, .sd-block-text, .sd-care, .sd-diag-copy {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}
/* Títulos y encabezados centrados se mantienen centrados; el justify
   solo aplica a párrafos largos. En pantallas muy chicas, justify con
   hyphens evita los "ríos" de espacio. */
@media (max-width: 560px) {
  .sd-lede, .sd-block-text { text-align: left; } /* en móvil muy estrecho, izq. es más legible */
}
.sd-embed-head, .sd-diag-head { text-align: center; }

/* ════════════════════════════════════════════════
   NEUROVENTAS · por qué reservar (sección persuasiva)
   ════════════════════════════════════════════════ */
.sd-neuro {
  position: relative; overflow: hidden;
  background:
    radial-gradient(80% 60% at 15% 0%, rgba(201,162,78,.08), transparent 60%),
    linear-gradient(180deg, var(--pearl, #FFFEFA), var(--cream-100, #F7F2EF));
  padding: clamp(4.5rem, 9vw, 7.5rem) 0;
}
.sd-neuro-glow { position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(50% 45% at 88% 100%, rgba(134,31,24,.05), transparent 60%); }
.sd-neuro-head { max-width: 760px; margin: 0 auto clamp(2.75rem, 5vw, 4rem); text-align: center; position: relative; z-index: 1; }
.sd-neuro-eyebrow {
  font-family: 'Manrope', sans-serif; font-size: .7rem; letter-spacing: .34em; text-transform: uppercase;
  color: var(--gold-dark, #9A7B36); font-weight: 600; display: inline-block; margin-bottom: 1.1rem;
}
.sd-neuro-title {
  font-family: 'Italiana', serif; font-weight: 400; line-height: 1.1;
  font-size: clamp(2rem, 5vw, 3.4rem); color: var(--cherry, #7A0712); margin: 0 0 1.2rem; letter-spacing: -.01em;
}
.sd-neuro-title em {
  font-family: 'Fraunces', 'Cormorant Garamond', serif; font-style: italic; font-weight: 300;
  background: linear-gradient(120deg, var(--wine-bright, #A6172A), var(--gold-dark, #9A7B36) 60%, var(--gold, #C9A24E));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.sd-neuro-lead {
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: clamp(1.1rem, 2.2vw, 1.45rem); line-height: 1.55; color: var(--wine-mid, #6E0518); margin: 0;
}
.sd-neuro-grid {
  display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(1.1rem, 2.4vw, 1.75rem);
  max-width: 1080px; margin: 0 auto; position: relative; z-index: 1;
}
.sd-neuro-card {
  flex: 0 1 320px; max-width: 100%;
  background: linear-gradient(158deg, rgba(255,255,255,.85), rgba(248,242,239,.65));
  border: 1px solid rgba(201,162,78,.24); border-radius: 22px;
  padding: clamp(1.6rem, 3vw, 2.2rem) clamp(1.5rem, 2.6vw, 1.95rem);
  transition: transform .55s cubic-bezier(.16,1,.3,1), box-shadow .55s ease, border-color .55s ease;
}
.sd-neuro-card:hover { transform: translateY(-6px); border-color: rgba(201,162,78,.5); box-shadow: 0 30px 64px -38px rgba(92,7,16,.42); }
.sd-neuro-num {
  font-family: 'Fraunces', 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: 1.9rem;
  line-height: 1; display: block; margin-bottom: .9rem;
  background: linear-gradient(135deg, var(--gold-dark, #9A7B36), var(--gold, #C9A24E) 55%, var(--gold-light, #ECD7A4));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.sd-neuro-card-title {
  font-family: 'Marcellus', 'Italiana', serif; font-weight: 400; font-size: 1.22rem;
  color: var(--cherry, #7A0712); margin: 0 0 .55rem; line-height: 1.22;
}
.sd-neuro-card-text {
  font-family: 'Manrope', sans-serif; font-size: .9rem; line-height: 1.65; color: var(--ink, #45070C); opacity: .82; margin: 0;
}
.sd-neuro-close {
  text-align: center; max-width: 640px; margin: clamp(2.5rem, 5vw, 3.5rem) auto 0; position: relative; z-index: 1;
  font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: clamp(1.25rem, 2.5vw, 1.65rem); line-height: 1.5; color: var(--wine, #861F18);
}
@media (max-width: 760px) { .sd-neuro-card { flex-basis: 100%; } }

/* — Trío de CTAs (Diagnóstico IA · Reservar · WhatsApp) tras el comparador — */
.sd-cta-row--triple{ justify-content:center; flex-wrap:wrap; gap:.7rem; }
@media (max-width:560px){
  .sd-cta-row--triple{ flex-direction:column; align-items:stretch; max-width:340px; margin-left:auto; margin-right:auto; }
}

/* ====== "El servicio en detalle" · proceso paso a paso (brow services) ====== */
.sd-detail{ padding:clamp(3.5rem,7vw,6rem) 0; position:relative; }
.sd-detail .sd-container{ max-width:1080px; margin:0 auto; }
.sd-detail-head{ max-width:760px; margin:0 auto clamp(2.4rem,5vw,3.4rem); text-align:center; }
.sd-detail-eyebrow{ font-size:.72rem; letter-spacing:.32em; text-transform:uppercase; color:var(--gold-dark,#9A7B36); }
.sd-detail-title{ font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4.4vw,3.1rem); line-height:1.08; color:var(--cherry,#7A0712); margin:.55rem 0 1rem; font-weight:600; }
.sd-detail-title em{ font-style:italic; color:var(--wine-bright,#A6172A); }
.sd-detail-lede{ font-family:'Cormorant Garamond',serif; font-size:clamp(1.05rem,1.6vw,1.3rem); line-height:1.6; color:var(--ink,#45070C); opacity:.86; margin:0; }
.sd-steps{ display:grid; gap:clamp(1rem,2vw,1.35rem); grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
.sd-step{ position:relative; padding:1.7rem 1.5rem 1.5rem; border-radius:18px; background:linear-gradient(165deg,rgba(255,255,255,.92),rgba(239,229,211,.45)); border:1px solid rgba(154,123,54,.18); box-shadow:0 18px 40px -34px rgba(78,6,16,.45); overflow:hidden; }
.sd-step::before{ content:""; position:absolute; top:0; bottom:0; left:0; width:3px; background:linear-gradient(var(--gold,#C9A24E),transparent); }
.sd-step-num{ font-family:'Italiana','Cormorant Garamond',serif; font-size:1.9rem; color:var(--gold-dark,#9A7B36); line-height:1; display:block; margin-bottom:.5rem; }
.sd-step-title{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.2rem; color:var(--cherry,#7A0712); margin:0 0 .35rem; }
.sd-step-text{ font-size:.93rem; line-height:1.55; color:var(--ink,#45070C); opacity:.82; margin:0; }
.sd-detail-result{ max-width:760px; margin:clamp(2rem,4vw,2.8rem) auto 0; text-align:center; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.1rem,1.9vw,1.45rem); color:var(--wine-mid,#6E0518); }
.sd-detail-note{ max-width:640px; margin:clamp(1.6rem,3vw,2.2rem) auto 0; padding:1.1rem 1.5rem; border-radius:14px; background:rgba(122,7,18,.05); border:1px solid rgba(122,7,18,.14); text-align:center; font-size:.96rem; line-height:1.55; color:var(--ink,#45070C); }
.sd-detail-note strong{ color:var(--cherry,#7A0712); }
@media (max-width:600px){ .sd-steps{ grid-template-columns:1fr; } }
