.snap-cohort-diagnostic { --diagnostic-burgundy: #86152e; --diagnostic-navy: #14233b; background: #fff; border: 1px solid #e8e2dc; border-radius: 18px; box-shadow: 0 18px 50px rgba(20,35,59,.06); color: var(--diagnostic-navy); overflow: hidden; }
.snap-cohort-diagnostic__intro { padding: clamp(1.2rem,3vw,2rem) clamp(1rem,3vw,2rem) 0; }
.snap-cohort-diagnostic__eyebrow { color: var(--diagnostic-burgundy); font-size: .72rem; font-weight: 760; letter-spacing: .12em; margin: 0 0 .45rem; text-transform: uppercase; }
.snap-cohort-diagnostic__intro h2 { font-family: var(--wp--preset--font-family--heading,Georgia,serif); font-size: clamp(1.65rem,3vw,2.4rem); letter-spacing: -.035em; margin: 0 0 .5rem; }
.snap-cohort-diagnostic__intro > p:last-child { color: #667085; margin: 0; max-width: 62ch; }
.snap-cohort-diagnostic__form { padding: clamp(1.2rem,3vw,2rem); }
.snap-cohort-diagnostic__progress { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 2rem; position: relative; }
.snap-cohort-diagnostic__progress::before { background: #e8e2dc; content: ""; height: 2px; left: 12.5%; position: absolute; right: 12.5%; top: 17px; }
.snap-cohort-diagnostic__progress span { align-items: center; color: #7a8190; display: flex; flex-direction: column; font-size: .75rem; gap: .4rem; position: relative; text-align: center; }
.snap-cohort-diagnostic__progress b { align-items: center; background: #fff; border: 2px solid #d7d3d0; border-radius: 50%; display: flex; height: 36px; justify-content: center; width: 36px; z-index: 1; }
.snap-cohort-diagnostic__progress [aria-current="step"] { color: var(--diagnostic-navy); font-weight: 720; }
.snap-cohort-diagnostic__progress [aria-current="step"] b, .snap-cohort-diagnostic__progress .is-complete b { background: var(--diagnostic-burgundy); border-color: var(--diagnostic-burgundy); color: #fff; }
.snap-cohort-diagnostic__steps fieldset { border: 0; margin: 0; min-inline-size: 0; padding: 0; }
.snap-cohort-diagnostic__steps legend { font-family: var(--wp--preset--font-family--heading,Georgia,serif); font-size: clamp(1.25rem,2vw,1.7rem); font-weight: 600; margin-bottom: .4rem; }
.snap-cohort-diagnostic__steps fieldset > p { color: #667085; margin: 0 0 1.2rem; }
.snap-cohort-diagnostic__choices { display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.snap-cohort-diagnostic__choices label { align-items: center; border: 1px solid #e8e2dc; border-radius: 10px; cursor: pointer; display: flex; gap: .65rem; min-height: 58px; padding: .8rem; }
.snap-cohort-diagnostic__choices label:has(input:checked) { background: #fbf3f5; border-color: var(--diagnostic-burgundy); box-shadow: 0 0 0 1px var(--diagnostic-burgundy); }
.snap-cohort-diagnostic input[type="radio"], .snap-cohort-diagnostic input[type="checkbox"] { accent-color: var(--diagnostic-burgundy); flex: 0 0 auto; }
.snap-cohort-diagnostic__select, .snap-cohort-diagnostic__contact-grid > label { display: grid; font-weight: 700; gap: .4rem; margin-top: 1rem; }
.snap-cohort-diagnostic select, .snap-cohort-diagnostic__contact-grid input { background: #fff; border: 1px solid #d8dce3; border-radius: 8px; color: inherit; font: inherit; min-height: 48px; padding: .7rem .8rem; width: 100%; }
.snap-cohort-diagnostic__contact-grid { display: grid; gap: .8rem; grid-template-columns: repeat(3,1fr); }
.snap-cohort-diagnostic__contact-grid i { color: var(--diagnostic-burgundy); font-style: normal; }
.snap-cohort-diagnostic__consent { align-items: flex-start; display: flex; font-size: .88rem; gap: .65rem; margin-top: 1.2rem; }
.snap-cohort-diagnostic__consent a { color: var(--diagnostic-burgundy); }
.snap-cohort-diagnostic__field-error { color: #a1122f; display: block; font-size: .8rem; min-height: 1.2em; }
.snap-cohort-diagnostic [aria-invalid="true"] { border-color: #a1122f; outline: 2px solid rgba(161,18,47,.14); }
.snap-cohort-diagnostic__nav { align-items: center; border-top: 1px solid #eee9e5; display: flex; flex-wrap: wrap; gap: .7rem; justify-content: flex-end; margin-top: 1.5rem; padding-top: 1.2rem; }
.snap-cohort-diagnostic__nav p { flex: 1 0 100%; margin: 0; text-align: right; }
.snap-cohort-diagnostic__nav .is-error { color: #a1122f; }
.snap-cohort-diagnostic__trap { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
.snap-cohort-diagnostic__disclaimer { background: #faf7f4; border-top: 1px solid #e8e2dc; color: #737987; font-size: .8rem; margin: 0; padding: .8rem 1.2rem; text-align: center; }
.snap-cohort-diagnostic__result { background: linear-gradient(145deg,#fbf7f1,#fff); border: 1px solid #eaded6; border-radius: 14px; margin: clamp(1rem,3vw,2rem); padding: clamp(1.2rem,3vw,2rem); }
.snap-cohort-diagnostic__result h3 { font-family: var(--wp--preset--font-family--heading,Georgia,serif); font-size: clamp(1.5rem,3vw,2.2rem); margin: 0 0 .6rem; }
.snap-cohort-diagnostic__result ol { counter-reset: diagnostic; display: grid; gap: .65rem; list-style: none; padding: 0; }
.snap-cohort-diagnostic__result li { border-left: 3px solid var(--diagnostic-burgundy); padding-left: .8rem; }
.snap-cohort-diagnostic__result-disclaimer { color: #667085; font-size: .85rem; margin-top: 1.2rem; }
.snap-cohort-diagnostic :focus-visible { outline: 3px solid rgba(134,21,46,.3); outline-offset: 2px; }
@media (max-width: 720px) { .snap-cohort-diagnostic__contact-grid { grid-template-columns: 1fr; } .snap-cohort-diagnostic__choices { grid-template-columns: 1fr; } .snap-cohort-diagnostic__progress span { font-size: 0; } .snap-cohort-diagnostic__progress b { font-size: .78rem; } }
@media (max-width: 460px) { .snap-cohort-diagnostic__nav { align-items: stretch; flex-direction: column-reverse; } .snap-cohort-diagnostic__nav .snap-cohort-button { width: 100%; } }
