/* =============================================
   Riesgos · Datos de salud y de menores (anillos de cuidado)
   ============================================= */
.rk-sm { --sm-bg:#f5f2fc; --sm-ink:#2a1648; --sm-muted:#62557d; --sm-line:#ddd5f0; --sm-plum:#3a1f5c; --sm-plum2:#5a3590; --sm-rose:#ff7fa1; --sm-rose-d:#d9446f; --sm-mint:#6fd6b8; --sm-mint-d:#168a6c; --sm-lav:#cdbff0; background:var(--sm-bg); }
/* ---- comunes ---- */
.rk .sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.sm-wrap { width:100%; max-width:1140px; margin:0 auto; padding:0 28px; }
.sm-sec { padding:clamp(52px,7vw,92px) 0; }
.sm-head { max-width:720px; margin:0 0 clamp(26px,4vw,44px); }
.sm-eyebrow { font:700 .72rem/1.2 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:#5a3590; }
.sm-head h2 { margin:12px 0 12px; font-size:clamp(1.9rem,3.6vw,3rem); line-height:1.04; letter-spacing:-.05em; color:#2a1648; }
.sm-head p { margin:0; color:#62557d; font-size:clamp(1rem,1.4vw,1.12rem); line-height:1.66; }
.sm-faq details { border-bottom:1px solid #ddd5f0; }
.sm-faq details:first-child { border-top:1px solid #ddd5f0; }
.sm-faq summary { display:flex; justify-content:space-between; gap:18px; padding:20px 2px; color:#2a1648; font-size:1.06rem; font-weight:750; cursor:pointer; list-style:none; }
.sm-faq summary::-webkit-details-marker { display:none; }
.sm-faq summary::after { content:"+"; color:#5a3590; font-size:1.5rem; font-weight:400; transition:transform .2s ease; }
.sm-faq details[open] summary::after { transform:rotate(45deg); }
.sm-faq summary:focus-visible { outline:3px solid #5a3590; outline-offset:2px; }
.sm-faq p { max-width:66ch; margin:-4px 36px 22px 0; color:#62557d; font-size:.97rem; line-height:1.68; }
.sm-links { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:24px; }
.sm-links a { color:#5a3590; font-weight:700; font-size:.92rem; }
.sm-cta { padding:clamp(56px,8vw,100px) 0; text-align:center; color:#fff; background:radial-gradient(640px 300px at 50% 0%,rgba(255,127,161,.35),transparent 65%),linear-gradient(135deg,#3a1f5c,#26123f); }
.sm-cta .sm-wrap { max-width:760px; }
.sm-cta h2 { margin:0; color:#fff; font-size:clamp(2rem,4.2vw,3.4rem); line-height:1.04; letter-spacing:-.055em; }
.sm-cta p { max-width:540px; margin:16px auto 26px; color:#d7c9f0; font-size:1.05rem; line-height:1.62; }
.sm-cta .btn { background:#fff; color:#3a1f5c; }
.sm-cta .btn:hover { background:#f1eafd; }
.sm-disc { padding:22px 0; background:#e9e3f7; color:#6a5d86; font-size:.76rem; line-height:1.55; text-align:center; }
.sm-disc p { max-width:880px; margin:0 auto; }
/* ---- fin comunes ---- */
.rk-sm main { color:var(--sm-ink); }
.sm-mono { font-family:'JetBrains Mono',monospace; }

/* ---------- Hero ---------- */
.sm-hero { position:relative; overflow:hidden; padding:clamp(50px,7vw,96px) 0 clamp(44px,6vw,80px);
  background:radial-gradient(620px 400px at 90% 0%, rgba(255,127,161,.22), transparent 65%), radial-gradient(560px 380px at 0% 100%, rgba(111,214,184,.28), transparent 65%), var(--sm-bg); }
.sm-hero__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(26px,5vw,70px); align-items:center; }
.sm-kicker { display:inline-block; font:700 .72rem/1.2 'JetBrains Mono',monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--sm-plum2); background:#fff; border:1px solid var(--sm-line); border-radius:999px; padding:7px 13px; }
.sm-hero h1 { margin:18px 0 18px; font-size:clamp(2.4rem,5.4vw,4.5rem); line-height:.98; letter-spacing:-.06em; color:var(--sm-plum); }
.sm-hero h1 span { color:var(--sm-rose-d); }
.sm-lead { max-width:560px; margin:0; font-size:clamp(1.05rem,1.6vw,1.2rem); line-height:1.62; color:#4d4068; }
.sm-lead b { color:var(--sm-ink); }
.sm-orb { position:relative; width:min(100%,400px); aspect-ratio:1/1; margin:0 auto; }
.sm-orb i { position:absolute; border-radius:50%; inset:0; display:block; animation:sm-breathe 6s ease-in-out infinite; }
.sm-orb i:nth-child(1) { background:radial-gradient(circle,#e7defa,#d3c6f2); }
.sm-orb i:nth-child(2) { inset:17%; background:radial-gradient(circle,#ffc1d1,#ff9fb8); animation-delay:.6s; }
.sm-orb i:nth-child(3) { inset:34%; background:radial-gradient(circle,#5a3590,#3a1f5c); animation-delay:1.2s; }
.sm-orb b { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#fff; font:700 .72rem 'JetBrains Mono',monospace; letter-spacing:.12em; text-align:center; line-height:1.4; z-index:1; }
.sm-orb em { position:absolute; font:700 .64rem 'JetBrains Mono',monospace; letter-spacing:.08em; color:var(--sm-plum); font-style:normal; text-transform:uppercase; }
.sm-orb em:nth-of-type(1) { top:5%; left:50%; transform:translateX(-50%); }
.sm-orb em:nth-of-type(2) { top:22%; left:50%; transform:translateX(-50%); }
@keyframes sm-breathe { 0%,100% { transform:scale(1); } 50% { transform:scale(1.025); } }

/* ---------- Secciones ---------- */
.sm-sec { padding:clamp(52px,7vw,92px) 0; }
.sm-sec--white { background:#fff; }
.sm-sec--plum { background:linear-gradient(160deg,#3a1f5c,#26123f); color:#efe8fb; }
.sm-sec--plum .sm-head h2 { color:#fff; }
.sm-sec--plum .sm-head p { color:#cbbde6; }
.sm-sec--plum .sm-eyebrow { color:#ffb2c6; }

/* ---------- Anillos interactivos ---------- */
.sm-rings { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(22px,4vw,56px); align-items:center; }
.sm-svg { width:min(100%,460px); margin:0 auto; display:block; }
.sm-ring { cursor:pointer; transition:filter .2s, transform .3s; transform-origin:230px 230px; }
.sm-ring:hover { filter:brightness(1.05); }
.sm-ring:focus-visible { outline:none; }
.sm-ring:focus-visible circle { stroke:var(--sm-ink); stroke-width:4; }
.sm-ring.is-on { filter:drop-shadow(0 0 14px rgba(58,31,92,.4)); }
.sm-ring text { pointer-events:none; font:700 11px 'JetBrains Mono',monospace; letter-spacing:.1em; }
.sm-panel { background:#fff; border:1px solid var(--sm-line); border-radius:16px; padding:clamp(22px,3vw,34px); box-shadow:0 18px 44px rgba(58,31,92,.1); }
.sm-tabs { display:flex; gap:8px; margin-bottom:18px; flex-wrap:wrap; }
.sm-tabs button { border:1.5px solid var(--sm-line); background:#faf8ff; padding:8px 14px; border-radius:99px; font:700 .8rem Inter,sans-serif; color:var(--sm-muted); cursor:pointer; transition:all .15s; }
.sm-tabs button[aria-pressed="true"] { background:var(--sm-plum); border-color:var(--sm-plum); color:#fff; }
.sm-tabs button:focus-visible { outline:3px solid var(--sm-plum2); outline-offset:2px; }
.sm-panel h3 { margin:0 0 10px; font-size:clamp(1.3rem,2.4vw,1.8rem); letter-spacing:-.04em; color:var(--sm-plum); }
.sm-panel > p { margin:0 0 16px; color:var(--sm-muted); font-size:.98rem; line-height:1.65; }
.sm-big { display:flex; gap:16px; align-items:center; margin:0 0 16px; padding:14px 16px; border-radius:12px; background:var(--sm-bg); }
.sm-big b { font-size:clamp(2rem,4vw,2.8rem); line-height:1; letter-spacing:-.06em; color:var(--sm-rose-d); }
.sm-big span { color:var(--sm-muted); font-size:.9rem; line-height:1.5; }
.sm-do { padding-top:14px; border-top:1px dashed var(--sm-line); }
.sm-do b { display:block; font:700 .7rem 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--sm-mint-d); margin-bottom:6px; }
.sm-do span { color:var(--sm-ink); font-size:.95rem; line-height:1.62; }

/* ---------- Herramienta ---------- */
.sm-tool { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(22px,4vw,48px); align-items:start; }
.sm-fieldset { margin:0; padding:0; border:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.sm-fieldset legend { padding:0; margin-bottom:14px; font-weight:750; color:#fff; }
.sm-chip { position:relative; }
.sm-chip input { position:absolute; opacity:0; pointer-events:none; }
.sm-chip label { display:flex; align-items:center; gap:10px; padding:13px 14px; border-radius:10px; border:1.5px solid rgba(255,255,255,.18); background:rgba(255,255,255,.05); color:#efe8fb; font-size:.9rem; font-weight:600; cursor:pointer; transition:background .15s,border-color .15s; line-height:1.3; }
.sm-chip label:hover { border-color:rgba(255,255,255,.4); }
.sm-chip label::before { content:""; flex:none; width:18px; height:18px; border-radius:5px; border:2px solid #9d8cc4; transition:all .15s; }
.sm-chip input:checked + label { background:rgba(255,127,161,.18); border-color:var(--sm-rose); }
.sm-chip input:checked + label::before { background:var(--sm-rose); border-color:var(--sm-rose); box-shadow:inset 0 0 0 3px #3a1f5c; }
.sm-chip input:focus-visible + label { outline:3px solid #fff; outline-offset:2px; }
.sm-result { position:sticky; top:96px; border-radius:16px; background:#fff; color:var(--sm-ink); padding:clamp(20px,2.6vw,30px); }
.sm-level { display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:99px; font:700 .72rem 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; background:var(--sm-lav); color:var(--sm-plum); }
.sm-level[data-l="0"] { background:#e8e4f2; color:var(--sm-muted); }
.sm-level[data-l="1"] { background:#d5f3e9; color:var(--sm-mint-d); }
.sm-level[data-l="2"] { background:#ffd9e3; color:var(--sm-rose-d); }
.sm-level[data-l="3"] { background:var(--sm-plum); color:#fff; }
.sm-result h3 { margin:14px 0 8px; font-size:1.35rem; letter-spacing:-.04em; color:var(--sm-plum); }
.sm-result p { margin:0 0 12px; color:var(--sm-muted); font-size:.92rem; line-height:1.6; }
.sm-todo { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.sm-todo li { position:relative; padding:10px 12px 10px 38px; border-radius:8px; background:var(--sm-bg); font-size:.9rem; line-height:1.5; color:var(--sm-ink); }
.sm-todo li::before { content:""; position:absolute; left:12px; top:13px; width:14px; height:14px; border-radius:50%; background:var(--sm-mint); box-shadow:inset 0 0 0 4px #fff; border:2px solid var(--sm-mint-d); }
.sm-todo li.is-minor::before { border-color:var(--sm-rose-d); background:var(--sm-rose); }
.sm-todo li.is-sens::before { border-color:var(--sm-plum); background:var(--sm-plum2); }

/* ---------- Cuando se juntan ---------- */
.sm-trio { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sm-stat { padding:clamp(20px,2.6vw,30px); border-radius:16px; background:#fff; border:1px solid var(--sm-line); position:relative; overflow:hidden; }
.sm-stat::after { content:""; position:absolute; right:-40px; top:-40px; width:120px; height:120px; border-radius:50%; background:var(--sm-bg); }
.sm-stat b { position:relative; z-index:1; display:block; font-size:clamp(2.8rem,5.6vw,4.2rem); line-height:.95; letter-spacing:-.07em; color:var(--sm-rose-d); }
.sm-stat span { position:relative; z-index:1; display:block; margin-top:10px; color:var(--sm-muted); font-size:.95rem; line-height:1.55; }
.sm-stat--ok b { color:var(--sm-mint-d); }
.sm-callout { margin-top:22px; max-width:860px; padding:16px 20px; border-left:4px solid var(--sm-plum2); background:rgba(90,53,144,.07); border-radius:0 8px 8px 0; font-size:.95rem; line-height:1.62; color:var(--sm-muted); }
.sm-callout b { color:var(--sm-ink); }

@media (max-width: 960px) {
  .sm-hero__grid, .sm-rings, .sm-tool { grid-template-columns:1fr; }
  .sm-orb { width:min(70%,320px); }
  .sm-result { position:static; }
  .sm-trio { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .sm-wrap { padding:0 16px; }
  .sm-fieldset { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) { .sm-orb i { animation:none; } }
