/* Will Does It — bundle.css (prefijo wdi-). Requiere tokens.css antes. */
.wdi-body { margin:0; background:var(--hueso); color:var(--tinta); font-family:var(--font-sans); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
.wdi-serif { font-family:var(--font-serif); }
.wdi-kicker { font-family:var(--font-sans); font-size:11px; line-height:1.4; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--tinta); margin:0 0 var(--space-2); }
.wdi-kicker--coral { color:var(--coral-tinta); }
.wdi-dato { font-family:var(--font-sans); font-size:13px; font-weight:500; letter-spacing:.15em; text-transform:uppercase; }
.wdi-h2 { font-family:var(--font-serif); font-weight:400; font-size:28px; line-height:1.1; margin:0 0 var(--space-4); letter-spacing:-.005em; }
.wdi-h2 em, .wdi-h1 em, .wdi-emocional { font-style:italic; }
.wdi-h3 { font-family:var(--font-serif); font-weight:500; font-size:24px; line-height:1.2; margin:0 0 var(--space-2); }
.wdi-emocional { font-family:var(--font-serif); font-weight:500; font-size:24px; line-height:1.25; }
.wdi-body-copy { max-width:var(--medida-texto); margin:0; font-size:14px; line-height:1.65; }
.wdi-muted { color:var(--tinta-suave); }
@media (min-width:1024px){
  .wdi-h2 { font-size:52px; line-height:1.05; }
  .wdi-emocional { font-size:36px; line-height:1.2; }
  .wdi-body-copy { font-size:16px; }
}

/* Botón */
.wdi-btn { display:inline-flex; align-items:center; justify-content:center; min-height:var(--zona-tactil); min-width:var(--zona-tactil); padding:14px 22px; border:var(--hairline) solid var(--coral-tinta); border-radius:var(--radio-editorial); background:transparent; color:var(--coral-tinta); font-family:var(--font-sans); font-size:13px; font-style:italic; font-weight:500; letter-spacing:.04em; line-height:1; text-decoration:none; cursor:pointer; transition:background .15s, color .15s; }
.wdi-btn:hover { background:var(--coral-tinta); color:var(--blanco); }
.wdi-btn:focus-visible { outline:2px solid var(--foco); outline-offset:2px; }
.wdi-btn--solido { background:var(--coral); border-color:var(--coral); color:var(--tinta); }
.wdi-btn--solido:hover { background:var(--coral-tinta); border-color:var(--coral-tinta); color:var(--blanco); }
.wdi-btn--tinta { border-color:var(--tinta); color:var(--tinta); }
.wdi-btn--tinta:hover { background:var(--tinta); color:var(--hueso); }
.wdi-link { color:var(--enlace); text-decoration:underline; text-underline-offset:3px; font-style:italic; }
.wdi-link:focus-visible { outline:2px solid var(--foco); outline-offset:2px; }

/* Wordmark */
.wdi-wordmark { display:inline-flex; align-items:baseline; gap:6px; font-family:var(--font-serif); color:var(--tinta); text-decoration:none; line-height:1; }
.wdi-wordmark .w { font-size:22px; font-weight:300; letter-spacing:.02em; }
.wdi-wordmark .d { font-size:30px; font-weight:700; letter-spacing:-.01em; }
.wdi-wordmark .i { position:relative; font-size:22px; font-weight:700; font-style:italic; padding-bottom:6px; }
.wdi-wordmark .i::after { content:""; position:absolute; left:2px; bottom:-8px; width:8px; height:12px; background:var(--coral); clip-path:polygon(0 0,100% 0,100% 100%,50% 70%,0 100%); }
.wdi-wordmark--lg .w { font-size:34px; } .wdi-wordmark--lg .d { font-size:46px; } .wdi-wordmark--lg .i { font-size:34px; }
.wdi-wordmark--lg .i::after { width:12px; height:18px; bottom:-12px; }

/* Encabezado */
.wdi-header { position:sticky; top:0; z-index:50; height:var(--header-alto); display:flex; align-items:center; justify-content:space-between; padding:0 var(--space-5); background:var(--hueso); border-bottom:var(--hairline) solid var(--linea); }
.wdi-menu-btn { width:var(--zona-tactil); height:var(--zona-tactil); display:grid; place-items:center; border:0; background:transparent; border-radius:var(--radio-circulo); cursor:pointer; color:var(--tinta); }
.wdi-menu-btn:focus-visible { outline:2px solid var(--foco); outline-offset:2px; }
.wdi-plus { position:relative; width:18px; height:18px; transition:transform .2s; }
.wdi-plus::before, .wdi-plus::after { content:""; position:absolute; background:currentColor; left:50%; top:50%; transform:translate(-50%,-50%); }
.wdi-plus::before { width:18px; height:1.5px; } .wdi-plus::after { width:1.5px; height:18px; }
.wdi-menu-btn[aria-expanded="true"] .wdi-plus { transform:rotate(45deg); }
.wdi-nav { display:none; position:absolute; left:0; right:0; top:var(--header-alto); background:var(--hueso); border-bottom:var(--hairline) solid var(--linea); padding:var(--space-4) var(--space-5) var(--space-6); }
.wdi-nav[data-open="true"] { display:block; }
.wdi-nav a { display:block; min-height:var(--zona-tactil); padding:10px 0; font-family:var(--font-serif); font-size:24px; color:var(--tinta); text-decoration:none; border-bottom:var(--hairline) solid var(--linea); }
.wdi-nav a[aria-current="page"] { font-style:italic; box-shadow:inset 0 -2px 0 var(--coral); }
@media (min-width:1024px){
  .wdi-header { padding:0 max(var(--space-7), calc((100% - var(--contenedor-max)) / 2)); }
}

/* Sello */
.wdi-sello { display:grid; place-items:center; width:132px; height:132px; border-radius:var(--radio-circulo); background:var(--rosa-polvo); color:var(--tinta); text-align:center; padding:var(--space-4); box-sizing:border-box; font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:.15em; text-transform:uppercase; line-height:1.45; }
.wdi-sello--anillo { background:transparent; border:var(--hairline) solid var(--tinta); }

/* Hero */
.wdi-hero { position:relative; padding:var(--space-8) 0; overflow:hidden; }
.wdi-hero__atmos { position:absolute; inset:0; z-index:0; background:var(--rosa-polvo); background-size:cover; background-position:center; }
.wdi-hero__card { position:relative; z-index:1; margin:0 var(--space-5); background:var(--blanco); padding:var(--space-6) var(--space-5); border-radius:var(--radio-recto); }
.wdi-h1 { font-family:var(--font-serif); font-weight:400; font-size:44px; line-height:.98; letter-spacing:-.01em; margin:0 0 var(--space-4); }
.wdi-h1 em { font-weight:600; }
.wdi-h1 .wdi-embed { display:inline-block; vertical-align:-.12em; height:.82em; aspect-ratio:1.55; background:var(--rosa-polvo); border-radius:var(--radio-editorial); background-size:cover; background-position:center 20%; margin:0 .06em; }
.wdi-h1 .wdi-embed-mark { font-weight:300; font-style:normal; color:var(--coral); }
@media (min-width:1024px){
  .wdi-hero { padding:var(--space-9) 0; }
  .wdi-hero__card { max-width:var(--contenedor-max); margin:0 auto; padding:var(--space-8) var(--space-7); }
  .wdi-h1 { font-size:92px; }
}

/* Lista de síntomas */
.wdi-sintomas { list-style:none; margin:0; padding:0; border-top:var(--hairline) solid var(--linea); }
.wdi-sintomas li { padding:var(--space-3) 0; border-bottom:var(--hairline) solid var(--linea); font-family:var(--font-serif); font-size:22px; line-height:1.2; }
.wdi-sintomas li.mas { font-style:italic; color:var(--tinta-suave); font-size:18px; }

/* Collage de retratos */
.wdi-collage { position:relative; width:100%; aspect-ratio:1; }
.wdi-collage > * { position:absolute; border-radius:var(--radio-recto); }
.wdi-collage .bloque { }
.wdi-collage .bloque--durazno { background:var(--durazno); } .wdi-collage .bloque--rosa { background:var(--rosa-polvo); } .wdi-collage .bloque--bruma { background:var(--bruma); }
.wdi-collage img { object-fit:cover; aspect-ratio:4/5; display:block; }

/* Pasos */
.wdi-pasos { list-style:none; margin:0; padding:0; counter-reset:paso; display:grid; gap:var(--space-6); }
.wdi-pasos li { counter-increment:paso; border-top:var(--hairline) solid var(--tinta); padding-top:var(--space-4); }
.wdi-pasos li::before { content:"0" counter(paso); display:block; font-family:var(--font-sans); font-size:11px; letter-spacing:.18em; color:var(--coral-tinta); margin-bottom:var(--space-3); }
.wdi-pasos h3 { font-family:var(--font-serif); font-style:italic; font-weight:500; font-size:24px; line-height:1.2; margin:0 0 var(--space-2); }
.wdi-pasos p { margin:0; font-size:14px; line-height:1.65; }
@media (min-width:768px){ .wdi-pasos { grid-template-columns:1fr 1fr; } }
@media (min-width:1024px){ .wdi-pasos { grid-template-columns:repeat(4,1fr); } .wdi-pasos p { font-size:16px; } }

/* Diagnóstico (reveal) */
.wdi-diag { background:var(--durazno); padding:var(--space-6) var(--space-5); }
.wdi-diag__precio { display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-4); align-items:baseline; margin-top:var(--space-5); padding-top:var(--space-4); border-top:var(--hairline) solid var(--tinta); }
.wdi-diag__precio strong { font-family:var(--font-serif); font-size:32px; font-weight:500; line-height:1; }
.wdi-diag__nota { font-size:14px; margin:var(--space-4) 0 0; }
.wdi-diag__nota strong { font-style:italic; font-family:var(--font-serif); font-size:18px; font-weight:500; }

/* Acordeón */
.wdi-acordeon { border-top:var(--hairline) solid var(--linea); }
.wdi-acordeon details { border-bottom:var(--hairline) solid var(--linea); }
.wdi-acordeon summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:var(--space-4); min-height:var(--zona-tactil); padding:var(--space-4) 0; cursor:pointer; font-family:var(--font-serif); font-size:20px; line-height:1.25; font-weight:500; }
.wdi-acordeon summary::-webkit-details-marker { display:none; }
.wdi-acordeon summary:focus-visible { outline:2px solid var(--foco); outline-offset:2px; }
.wdi-acordeon summary .wdi-plus { flex:none; color:var(--coral-tinta); }
.wdi-acordeon details[open] summary .wdi-plus { transform:rotate(45deg); }
.wdi-acordeon details p { margin:0 0 var(--space-5); max-width:var(--medida-texto); font-size:14px; line-height:1.65; color:var(--tinta); }
@media (min-width:1024px){ .wdi-acordeon summary { font-size:24px; } .wdi-acordeon details p { font-size:16px; } }

/* Formulario */
.wdi-form { display:grid; gap:var(--space-4); }
.wdi-field { display:grid; gap:var(--space-2); }
.wdi-field label, .wdi-field legend { font-family:var(--font-sans); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; padding:0; }
.wdi-field input, .wdi-field textarea, .wdi-field select { width:100%; box-sizing:border-box; min-height:var(--zona-tactil); padding:12px 14px; background:var(--blanco); border:var(--hairline) solid var(--linea); border-radius:var(--radio-editorial); font-family:var(--font-sans); font-size:16px; color:var(--tinta); }
.wdi-field input::placeholder, .wdi-field textarea::placeholder { color:var(--tinta-suave); }
.wdi-field input:focus-visible, .wdi-field textarea:focus-visible, .wdi-field select:focus-visible { outline:2px solid var(--foco); outline-offset:2px; border-color:var(--tinta); }
.wdi-field fieldset { border:0; padding:0; margin:0; display:grid; gap:var(--space-2); }
.wdi-field .wdi-radio { display:flex; align-items:center; gap:var(--space-3); min-height:var(--zona-tactil); font-size:15px; font-weight:400; letter-spacing:0; text-transform:none; }
.wdi-radio input { width:18px; height:18px; min-height:0; accent-color:var(--coral-tinta); margin:0; }
.wdi-form__acciones { display:flex; flex-wrap:wrap; gap:var(--space-4); align-items:center; margin-top:var(--space-2); }
@media (min-width:768px){ .wdi-form { grid-template-columns:1fr 1fr; } .wdi-field--full, .wdi-form__acciones { grid-column:1 / -1; } }

/* Tarjeta de blog */
.wdi-post { display:grid; gap:var(--space-4); background:var(--blanco); border:var(--hairline) solid var(--linea); border-radius:var(--radio-editorial); overflow:hidden; text-decoration:none; color:inherit; }
.wdi-post__img { aspect-ratio:3/2; background:var(--bruma); background-size:cover; background-position:center; }
.wdi-post__cuerpo { padding:0 var(--space-5) var(--space-5); display:grid; gap:var(--space-2); }
.wdi-post__meta { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--tinta-suave); }
.wdi-post__titulo { font-family:var(--font-serif); font-size:24px; font-weight:500; line-height:1.2; margin:0; }
.wdi-post__resumen { font-family:var(--font-serif); font-style:italic; font-size:18px; line-height:1.35; margin:0; color:var(--tinta-suave); }
@media (min-width:768px){ .wdi-post { grid-template-columns:5fr 7fr; } .wdi-post__img { aspect-ratio:auto; min-height:260px; } .wdi-post__cuerpo { padding:var(--space-6); align-content:center; } }

/* Pie */
.wdi-footer { background:var(--tinta); color:var(--hueso); padding:var(--space-8) var(--space-5) var(--space-6); display:grid; gap:var(--space-6); }
.wdi-footer .wdi-wordmark { color:var(--hueso); }
.wdi-footer__nav { display:flex; flex-wrap:wrap; gap:var(--space-4) var(--space-5); }
.wdi-footer__nav a, .wdi-footer__legal a { color:var(--hueso); text-decoration:none; font-size:12px; letter-spacing:.08em; text-transform:uppercase; min-height:var(--zona-tactil); display:inline-flex; align-items:center; }
.wdi-footer__nav a:hover, .wdi-footer__legal a:hover { text-decoration:underline; text-underline-offset:3px; }
.wdi-footer__nav a:focus-visible, .wdi-footer__legal a:focus-visible { outline:2px solid var(--coral); outline-offset:2px; }
.wdi-footer__desc { max-width:var(--medida-texto); font-size:14px; line-height:1.6; margin:0; color:var(--hueso); opacity:.85; }
.wdi-footer__legal { display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-5); padding-top:var(--space-4); border-top:var(--hairline) solid rgba(251,247,242,.25); }
.wdi-footer__legal a { text-transform:none; letter-spacing:0; font-size:12px; opacity:.85; }
@media (min-width:1024px){ .wdi-footer { grid-template-columns:1fr 1fr; padding-left:max(var(--space-7), calc((100% - var(--contenedor-max)) / 2)); padding-right:max(var(--space-7), calc((100% - var(--contenedor-max)) / 2)); } .wdi-footer__legal { grid-column:1 / -1; } }
