/* Continuation architecture components - first-instance drop. */
.comp-block { margin: 2.5rem 0; }
.comp-card { background: #ffffff; border: 1px solid #e3e3de; border-radius: 14px; padding: 1.75rem; }
.comp-card h2, .comp-card h3 { margin-top: 0; }
.comp-capture { margin-top: 1.25rem; border-top: 1px dashed #d8d8d2; padding-top: 1.25rem; }
.comp-capture-purpose { font-size: 0.95rem; color: #44443f; }
.comp-capture-email { display: block; margin: 0.75rem 0; }
.comp-capture-email input { display: block; width: 100%; max-width: 26rem; margin-top: 0.25rem; padding: 0.6rem 0.75rem; border: 1px solid #c9c9c2; border-radius: 8px; font: inherit; }
.comp-capture-consent { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0.75rem 0 1rem; font-size: 0.92rem; color: #33332f; }
.comp-capture-consent input { margin-top: 0.2rem; }
.comp-selfcheck-question { margin: 1rem 0; padding: 0.9rem 1rem; background: #f6f6f3; border-radius: 10px; }
.comp-selfcheck-question p { margin: 0 0 0.5rem; font-weight: 600; }
.comp-selfcheck-question label { margin-right: 1.25rem; font-weight: 400; }
.comp-selfcheck-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #eef3ee; border-left: 4px solid #2f6f4f; border-radius: 8px; }
.comp-selfcheck-score { font-size: 1.1rem; }
.comp-linkblock { display: grid; gap: 0.75rem; }
.comp-linkblock a { display: block; padding: 0.9rem 1.1rem; background: #f6f6f3; border-radius: 10px; text-decoration: none; color: inherit; border: 1px solid transparent; }
.comp-linkblock a:hover, .comp-linkblock a:focus-visible { border-color: #2f6f4f; }
.comp-asset-list { list-style: none; padding: 0; display: grid; gap: 0.6rem; }
.comp-asset-list a { font-weight: 600; }
@media (max-width: 540px) { .comp-card { padding: 1.1rem; } }
