.diagnostic { color:var(--ink); }
.diagnostic [hidden] { display:none !important; }
.diagnostic-hero { padding:clamp(3.5rem,8vw,7rem) 0; background:linear-gradient(135deg,var(--cream) 0%,var(--cream-hi) 58%,var(--cream-deep) 100%); }
.diagnostic-hero__grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr); align-items:center; gap:clamp(2rem,7vw,6rem); }
.diagnostic-hero h1 { max-width:760px; margin:.3rem 0 1.1rem; font-size:clamp(2.8rem,7vw,5.5rem); line-height:.98; }
.diagnostic-hero .lede { max-width:670px; }
.diagnostic-points { display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; padding:0; margin:1.5rem 0 2rem; list-style:none; }
.diagnostic-points li:before { content:'✓'; color:#9a7128; font-weight:800; margin-right:.5rem; }
.diagnostic-hero__note { padding:2rem; border:1px solid color-mix(in srgb,var(--ink-soft) 24%,transparent); border-radius:var(--r-md); background:var(--glass); box-shadow:var(--shadow-soft); }
.diagnostic-hero__mark { display:grid; place-items:center; width:76px; height:76px; border-radius:50%; background:var(--ink-2); color:var(--gold-hi); font:2.5rem/1 var(--font-display); }
.diagnostic-hero__note p { font-size:1.25rem; font-weight:700; }
.diagnostic-hero__note small { color:var(--muted); }
.diagnostic-panel { max-width:850px; padding-top:clamp(2.5rem,7vw,5rem); padding-bottom:clamp(3rem,8vw,6rem); }
.diagnostic-panel__heading { max-width:650px; margin:0 auto 2rem; text-align:center; }
.diagnostic-panel__heading h2,.diagnostic-result>h2 { margin:.3rem 0 .65rem; font-size:clamp(2rem,5vw,3.4rem); }
.diagnostic-fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.diagnostic-fields label { display:grid; gap:.45rem; font-weight:700; }
.diagnostic-fields__wide { grid-column:1/-1; }
.diagnostic-fields input,.diagnostic-fields select { width:100%; min-height:50px; border:1px solid color-mix(in srgb,var(--ink-soft) 30%,transparent); border-radius:var(--r-sm); padding:.75rem .85rem; background:var(--glass-strong); color:inherit; font:inherit; }
.diagnostic input:focus-visible,.diagnostic select:focus-visible,.diagnostic button:focus-visible,.diagnostic a:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.diagnostic-check { display:flex; gap:.7rem; align-items:flex-start; margin:1.2rem 0; line-height:1.5; }
.diagnostic-check input { width:1.2rem; height:1.2rem; flex:none; accent-color:#84601f; }
.diagnostic-privacy,.diagnostic-disclaimer { color:var(--ink-soft); font-size:.92rem; }
.diagnostic-privacy a { color:var(--gold-deep); text-decoration:underline; }
.diagnostic-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.diagnostic-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:2rem; }
.diagnostic-actions button:disabled { opacity:.48; cursor:not-allowed; }
.diagnostic-progress { max-width:680px; margin:0 auto 3rem; }
.diagnostic-progress__meta { display:flex; justify-content:space-between; margin-bottom:.6rem; font-size:.92rem; font-weight:700; }
.diagnostic-progress__track,.diagnostic-score__track { height:9px; overflow:hidden; border-radius:var(--r-pill); background:var(--cream-deep); }
.diagnostic-progress__track span,.diagnostic-score__track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi)); transition:width .25s ease; }
.diagnostic-question { max-width:680px; margin:0 auto; }
.diagnostic-question h2 { min-height:3.1em; margin:.4rem 0 .5rem; font-size:clamp(1.7rem,4vw,2.5rem); line-height:1.12; }
.diagnostic-question__hint { color:var(--muted); }
.diagnostic-options { display:grid; gap:.65rem; margin-top:1.5rem; }
.diagnostic-option { display:flex; gap:1rem; align-items:center; min-height:58px; width:100%; padding:.65rem 1rem; border:1px solid color-mix(in srgb,var(--ink-soft) 20%,transparent); border-radius:var(--r-sm); background:var(--glass-strong); color:inherit; text-align:left; font:inherit; cursor:pointer; transition:border-color .15s,background .15s,transform .15s; }
.diagnostic-option:hover { border-color:var(--gold); transform:translateY(-1px); }
.diagnostic-option.is-selected { border-color:var(--gold-deep); background:color-mix(in srgb,var(--gold) 12%,var(--cream-hi)); box-shadow:inset 0 0 0 1px var(--gold-deep); }
.diagnostic-actions__note { max-width:230px; color:var(--muted); text-align:center; font-size:.85rem; }
.diagnostic-error { color:#9a2c24; font-weight:700; }
.diagnostic-result { max-width:1000px; }
.diagnostic-result__intro { max-width:760px; color:#625a50; font-size:1.1rem; }
.diagnostic-scores { display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; margin:2rem 0; }
.diagnostic-score { display:grid; grid-template-columns:1fr auto; gap:.65rem; padding:1rem; border:1px solid color-mix(in srgb,var(--ink-soft) 20%,transparent); border-radius:var(--r-sm); background:var(--glass-strong); }
.diagnostic-score span { font-size:.92rem; }
.diagnostic-score strong { font-size:1.1rem; }
.diagnostic-score__track { grid-column:1/-1; height:6px; }
.diagnostic-score__track i { background:var(--gold); }
.diagnostic-priorities { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.diagnostic-priorities article { padding:1.15rem; border-radius:var(--r-sm); background:var(--cream); }
.diagnostic-priorities article:first-child { background:color-mix(in srgb,var(--gold) 16%,var(--cream-hi)); }
.diagnostic-priorities span { font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
.diagnostic-priorities h3 { margin:.45rem 0; }
.diagnostic-result__details { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin:2.5rem 0; }
.diagnostic-result__details li { margin:.55rem 0; }
.diagnostic-guide { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.5rem; border-radius:var(--r-md); background:var(--ink-3); color:var(--cream-hi); }
.diagnostic-guide h3 { margin:.3rem 0; }
.diagnostic-guide p { margin:.3rem 0; color:var(--cream); }
.diagnostic-result__lead { color:var(--ink-soft); }
.diagnostic-email-notice { padding:.8rem 1rem; border-inline-start:4px solid var(--gold); background:color-mix(in srgb,var(--gold) 12%,var(--cream-hi)); }
.diagnostic-not-needed { margin:0 0 2rem; padding:1.2rem; border-inline-start:4px solid var(--gold-deep); background:var(--cream); }
.diagnostic-explanation { margin-top:2rem; }
.diagnostic-advisory { margin-top:2rem; padding:clamp(1.4rem,4vw,2.4rem); border:1px solid var(--glass-edge); border-radius:var(--r-md); background:var(--glass-strong); box-shadow:var(--shadow-soft); }
.diagnostic-advisory h3 { margin:0 0 .5rem; }
.diagnostic-advisory p { max-width:64ch; }
.diagnostic-disclaimer { margin-top:1.5rem; }
@media (max-width:720px) { .diagnostic-hero { padding:40px 0; } .diagnostic-hero__grid { grid-template-columns:minmax(0,1fr); gap:20px; } .diagnostic-hero__copy { min-width:0; } .diagnostic-hero h1 { font-size:clamp(2.3rem,12vw,2.8rem); } .diagnostic-hero__note { max-width:480px; padding:20px; } .diagnostic-points { margin:16px 0 20px; } .diagnostic-scores { grid-template-columns:1fr 1fr; } .diagnostic-priorities { grid-template-columns:1fr; } .diagnostic-result__details { grid-template-columns:1fr; gap:.5rem; } .diagnostic-guide { align-items:flex-start; flex-direction:column; } }
@media (max-width:480px) { .diagnostic-fields { grid-template-columns:1fr; } .diagnostic-fields__wide { grid-column:auto; } .diagnostic-actions { flex-wrap:wrap; } .diagnostic-actions__note { order:3; flex-basis:100%; max-width:none; } .diagnostic-score { padding:.75rem; } .diagnostic-score span { font-size:.8rem; } }
@media (prefers-reduced-motion:reduce) { .diagnostic *, .diagnostic *:before,.diagnostic *:after { scroll-behavior:auto!important; transition:none!important; } }

/* Refinamiento visual del recorrido público. */
.diagnostic-hero { position:relative; overflow:hidden; padding:clamp(4rem,7vw,6.5rem) 0; background:radial-gradient(circle at 88% 16%,rgba(234,153,18,.13),transparent 32%),linear-gradient(125deg,var(--cream-hi),var(--cream) 74%,var(--cream-deep)); }
.diagnostic-hero:after { position:absolute; right:-7rem; bottom:-11rem; width:35rem; height:35rem; border:1px solid rgba(154,113,40,.12); border-radius:50%; content:''; pointer-events:none; }
.diagnostic-hero__grid { position:relative; z-index:1; grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr); gap:clamp(2rem,6vw,5rem); }
.diagnostic-hero__copy { min-width:0; }
.diagnostic-hero h1 { max-width:13ch; margin:.5rem 0 1.25rem; font-size:clamp(3.15rem,5vw,4.6rem); line-height:1.04; letter-spacing:-.012em; text-wrap:balance; }
.diagnostic-hero .lede { max-width:58ch; margin:0; font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.6; }
.diagnostic-points { gap:.5rem 1.25rem; padding:1.15rem 0 0; margin:1.6rem 0 1.75rem; border-top:1px solid rgba(82,63,36,.17); }
.diagnostic-points li { color:var(--ink-2); font-size:.87rem; font-weight:600; }
.diagnostic-points li:before { display:inline-grid; width:1.25rem; height:1.25rem; margin-right:.45rem; place-items:center; border-radius:50%; background:rgba(154,113,40,.13); color:#795319; font-size:.75rem; }
.diagnostic-hero__note { position:relative; overflow:hidden; padding:clamp(1.7rem,3vw,2.4rem); border-color:rgba(255,220,154,.24); background:linear-gradient(145deg,#30271c,#171510 78%); color:var(--cream-hi); box-shadow:0 26px 60px rgba(48,34,14,.2); }
.diagnostic-hero__note:after { position:absolute; top:-4rem; right:-5rem; width:14rem; height:14rem; border:1px solid rgba(255,216,143,.19); border-radius:50%; box-shadow:0 0 0 2.7rem rgba(255,216,143,.035),0 0 0 5.4rem rgba(255,216,143,.025); content:''; pointer-events:none; }
.diagnostic-hero__mark { width:82px; height:82px; border:1px solid rgba(255,217,143,.4); background:rgba(255,210,120,.1); }
.diagnostic-hero__note p { position:relative; max-width:23ch; margin:1.7rem 0 .9rem; font-size:clamp(1.2rem,2vw,1.5rem); line-height:1.35; }
.diagnostic-hero__note small { display:block; max-width:30ch; color:rgba(244,237,224,.72); font-size:.88rem; line-height:1.55; }
.diagnostic-panel__heading h2,.diagnostic-result>h2 { line-height:1.08; text-wrap:balance; }
.diagnostic-panel__heading>p:last-child { color:var(--ink-soft); }
.diagnostic-fields { gap:1.1rem; padding:clamp(1.2rem,3vw,2rem); border:1px solid rgba(82,63,36,.13); border-radius:var(--r-md); background:rgba(255,253,248,.75); box-shadow:var(--shadow-soft); }
.diagnostic-fields label { color:var(--ink-2); font-size:.91rem; }
.diagnostic-fields label span { color:var(--muted); font-weight:400; }
.diagnostic-fields input,.diagnostic-fields select { min-height:52px; border-color:rgba(82,63,36,.23); background:#fffdfa; font-weight:400; }
.diagnostic-fields input:focus,.diagnostic-fields select:focus { border-color:var(--gold-deep); box-shadow:0 0 0 3px rgba(234,153,18,.13); }
.diagnostic-privacy a { text-underline-offset:3px; }
.diagnostic-progress__meta { margin-bottom:.75rem; color:var(--ink-2); font-family:var(--font-label); letter-spacing:.06em; text-transform:uppercase; }
.diagnostic-question h2 { min-height:2.4em; font-size:clamp(2rem,4vw,2.8rem); line-height:1.1; text-wrap:balance; }
.diagnostic-question__hint { color:var(--ink-soft); font-size:.95rem; }
.diagnostic-options { gap:.7rem; margin-top:1.7rem; }
.diagnostic-option { min-height:62px; padding:.75rem 1.1rem; border-color:rgba(82,63,36,.2); background:#fffdfa; color:var(--ink-2); font-weight:600; box-shadow:0 4px 18px rgba(48,34,14,.04); }
.diagnostic-option:before { width:19px; height:19px; flex:none; border:2px solid #ac9e89; border-radius:50%; content:''; }
.diagnostic-option:hover { border-color:var(--gold-deep); box-shadow:0 8px 22px rgba(48,34,14,.1); }
.diagnostic-option.is-selected { background:#fff4dc; box-shadow:inset 0 0 0 1px var(--gold-deep),0 7px 20px rgba(104,69,14,.08); }
.diagnostic-option.is-selected:before { border-color:var(--gold-deep); background:var(--gold-deep); box-shadow:inset 0 0 0 4px #fff4dc; }
.diagnostic-result>h2 { max-width:15ch; }
.diagnostic-result__intro { color:var(--ink-2); line-height:1.65; }
.diagnostic-result__lead { padding-bottom:1.5rem; border-bottom:1px solid rgba(82,63,36,.16); font-size:.9rem; }
.diagnostic-score { min-width:0; padding:1.2rem; border-color:rgba(82,63,36,.14); background:#fffdfa; box-shadow:0 8px 22px rgba(48,34,14,.05); }
.diagnostic-score span { align-self:center; line-height:1.3; }
.diagnostic-score strong { font-family:var(--font-label); font-size:1.4rem; line-height:1; }
.diagnostic-score__track i { background:var(--gold-deep); }
.diagnostic-priorities article { padding:1.3rem; border:1px solid rgba(82,63,36,.12); background:#fffdfa; }
.diagnostic-priorities article:first-child { border-color:rgba(154,113,40,.34); background:#fff1d1; }
.diagnostic-priorities span { color:var(--gold-deep); font-family:var(--font-label); font-weight:700; letter-spacing:.1em; }
.diagnostic-priorities h3 { margin:.65rem 0 0; font-size:clamp(1.3rem,2vw,1.75rem); line-height:1.15; }
.diagnostic-result__details { gap:1rem; margin:2rem 0; }
.diagnostic-result__details>section { padding:1.5rem; border:1px solid rgba(82,63,36,.12); border-radius:var(--r-sm); background:rgba(255,253,248,.7); }
.diagnostic-result__details h3,.diagnostic-not-needed h3,.diagnostic-explanation h3 { font-size:clamp(1.4rem,2.2vw,1.8rem); }
.diagnostic-guide { border:1px solid rgba(255,220,154,.2); background:linear-gradient(135deg,#30271c,#171510); }
.diagnostic-guide .eyebrow { color:var(--gold-hi); }
.diagnostic-guide .btn { flex:none; border-color:var(--gold-hi); color:var(--gold-hi); }
.diagnostic-not-needed { border-radius:0 var(--r-sm) var(--r-sm) 0; background:#f4ead7; }
.diagnostic-advisory { border-color:rgba(154,113,40,.23); background:linear-gradient(135deg,#fffaf0,#f5e8cc); }
@media (max-width:800px) { .diagnostic-hero__grid { grid-template-columns:minmax(0,1fr); } .diagnostic-hero__note { max-width:560px; } .diagnostic-scores { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .diagnostic-hero { padding:3rem 0; } .diagnostic-hero__grid { gap:1.8rem; } .diagnostic-hero h1 { font-size:clamp(2.8rem,11vw,4rem); } .diagnostic-hero__note { padding:1.5rem; } }
@media (max-width:480px) { .diagnostic-question h2 { min-height:0; } .diagnostic-score { padding:.9rem; } }

/* Captura y preguntas: composición compacta y foco visible bajo la cabecera. */
.diagnostic-panel--lead { max-width:920px; }
.diagnostic-panel--lead .diagnostic-panel__heading { max-width:760px; margin:0 0 1.7rem; text-align:left; }
.diagnostic-panel--lead .diagnostic-panel__heading h2 { max-width:16ch; margin:.45rem 0 .7rem; font-size:clamp(2.3rem,4vw,3.35rem); }
.diagnostic-panel--lead .diagnostic-panel__heading>p:last-child { max-width:62ch; margin:0; font-size:.98rem; line-height:1.6; }
.diagnostic-panel--lead .diagnostic-fields { padding:clamp(1.3rem,2.8vw,2.2rem); border-color:rgba(154,113,40,.2); background:linear-gradient(145deg,#fffdfa,#fff9ed); box-shadow:0 20px 44px rgba(53,37,12,.09); }
.diagnostic-panel--lead .diagnostic-fields label { gap:.55rem; font-size:.82rem; letter-spacing:.025em; }
.diagnostic-panel--lead .diagnostic-fields input,.diagnostic-panel--lead .diagnostic-fields select { min-height:54px; font-size:1rem; letter-spacing:0; }
.diagnostic-panel--lead .diagnostic-field-label { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; color:var(--ink-2); font-weight:700; }
.diagnostic-panel--lead .diagnostic-field-label small { color:var(--muted); font-size:.8rem; font-weight:500; }
.diagnostic-panel--lead .diagnostic-fields input:focus-visible,.diagnostic-panel--lead .diagnostic-fields select:focus-visible { outline:0; border-color:var(--gold-deep); box-shadow:0 0 0 3px rgba(234,153,18,.24); }
.diagnostic-panel--lead .diagnostic-check { align-items:center; margin:1rem 0 .65rem; padding:1rem 1.15rem; border:1px solid rgba(82,63,36,.14); border-radius:var(--r-sm); background:rgba(255,253,248,.58); font-size:.92rem; }
.diagnostic-panel--lead .diagnostic-check input { width:1.1rem; height:1.1rem; }
.diagnostic-panel--lead .diagnostic-privacy { margin:0 0 0 .1rem; font-size:.82rem; line-height:1.55; }
.diagnostic-panel--lead .diagnostic-actions { margin-top:1.45rem; }
.diagnostic-panel--lead .diagnostic-actions .btn--gold { min-width:230px; justify-content:center; }
.diagnostic-panel[data-view="questions"] { max-width:930px; }
.diagnostic-panel[data-view="questions"] .diagnostic-progress { max-width:none; margin-bottom:1.25rem; }
.diagnostic-panel[data-view="questions"] .diagnostic-question { max-width:none; padding:clamp(1.25rem,3vw,2rem); border:1px solid rgba(154,113,40,.18); border-radius:var(--r-md); background:linear-gradient(145deg,#fffdfa,#fff8ec); box-shadow:0 18px 42px rgba(53,37,12,.08); }
.diagnostic-panel[data-view="questions"] .diagnostic-question h2 { min-height:0; max-width:22ch; margin:.5rem 0 .7rem; font-size:clamp(1.9rem,3.4vw,2.55rem); }
.diagnostic-panel[data-view="questions"] .diagnostic-options { gap:.55rem; margin-top:1.35rem; }
.diagnostic-panel[data-view="questions"] .diagnostic-option { min-height:55px; padding:.6rem .9rem; }
.diagnostic-panel[data-view="questions"] .diagnostic-actions { margin-top:1.2rem; }
@media (max-width:720px) { .diagnostic-panel--lead .diagnostic-panel__heading h2 { font-size:clamp(2.1rem,9vw,3rem); } .diagnostic-panel[data-view="questions"] .diagnostic-question { padding:1.25rem; } .diagnostic-panel[data-view="questions"] .diagnostic-question h2 { font-size:clamp(1.7rem,7vw,2.25rem); } }
@media (max-width:480px) { .diagnostic-panel--lead .diagnostic-actions .btn { flex:1 1 100%; } .diagnostic-panel--lead .diagnostic-actions .btn--gold { min-width:0; } .diagnostic-panel--lead .diagnostic-check { align-items:flex-start; } }
