.form-section{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:var(--border)}.form-section:last-of-type{border-bottom:none}.form-section h3{font-size:var(--text-lg);margin-bottom:var(--space-md);color:var(--text-primary);font-weight:600}.form-group{margin-bottom:var(--space-lg)}.form-group label{margin-bottom:var(--space-sm);color:var(--text-primary);font-weight:500;display:block}.form-group input,.form-group select{width:100%;padding:var(--space-sm) var(--space-md);border:var(--border);border-radius:var(--border-radius);font-size:var(--text-base);background:var(--bg-primary);color:var(--text-primary);transition:var(--transition)}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-group small{margin-top:var(--space-xs);color:var(--text-muted);font-size:var(--text-sm);display:block}.required-help{margin:0 0 var(--space-md) 0;color:var(--text-secondary);font-size:var(--text-sm)}.required-marker{color:var(--color-error-600);font-weight:700}.field-help{color:var(--text-secondary)}.validation-error{background:var(--color-error-50);border:1px solid var(--color-error-300);border-radius:var(--border-radius);color:var(--color-error-700);padding:var(--space-md);margin:0 0 var(--space-lg) 0}.validation-error ul{margin:var(--space-sm) 0 0 var(--space-lg);padding:0}.form-group input[aria-invalid=true],.form-group select[aria-invalid=true]{border-color:var(--color-error-500);box-shadow:0 0 0 3px #ef444426}.language-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.calculate-btn{width:100%;padding:var(--space-md) var(--space-xl);background:var(--color-primary);color:var(--text-inverse);border-radius:var(--border-radius);font-size:var(--text-lg);cursor:pointer;margin-top:var(--space-lg);transition:var(--transition);box-shadow:var(--shadow);border:none;font-weight:600}.calculate-btn:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.calculate-btn:active{transform:translateY(0)}.result{margin-top:var(--space-xl);padding:var(--space-xl);background:var(--bg-secondary);text-align:center;border:var(--border);border-radius:var(--border-radius-lg);animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result h3{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-md)}.score-display{margin:var(--space-lg) 0;color:var(--color-primary);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);-webkit-text-fill-color:transparent;background-clip:text;font-size:3.5rem;font-weight:800}.result .note{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-md)}.score-insight{margin:var(--space-lg) auto 0;padding:var(--space-lg);text-align:left;background:linear-gradient(135deg, var(--color-primary-50), #fff);border:1px solid var(--color-primary-100);border-radius:var(--border-radius-lg);max-width:760px}.score-insight h4{margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-size:var(--text-lg)}.score-insight p{margin:0 0 var(--space-md) 0;color:var(--text-secondary);line-height:1.7}.score-insight ul{padding-left:var(--space-lg);color:var(--text-secondary);margin:0}.score-insight li{padding:var(--space-xs) 0}.score-insight-grid{gap:var(--space-lg);margin-top:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.score-insight-grid strong{margin-bottom:var(--space-sm);color:var(--text-primary);display:block}.score-insight-links{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.score-insight-link{padding:var(--space-xs) var(--space-md);color:var(--color-primary-700);background:var(--bg-primary);border:1px solid var(--color-primary-200);border-radius:var(--border-radius-full);font-size:var(--text-sm);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.score-insight-link:hover{color:var(--color-primary);border-color:var(--color-primary)}.crs-lead-card{gap:var(--space-xl);margin-top:var(--space-xl);padding:var(--space-xl);background:var(--text-primary);color:var(--text-inverse);border-radius:var(--border-radius-lg);text-align:left;box-shadow:var(--shadow-lg);grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:start;display:grid}.crs-lead-copy h4{margin:0 0 var(--space-sm) 0;font-size:var(--text-xl);color:var(--text-inverse)}.crs-lead-copy p{color:#ffffffd1;margin:0;line-height:1.7}.crs-lead-eyebrow{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin:0 0 var(--space-sm) 0!important;color:var(--color-primary-100)!important}.crs-lead-form{padding:var(--space-lg);border-radius:var(--border-radius);background:#ffffff14;border:1px solid #ffffff29}.crs-lead-form .form-group{margin-bottom:var(--space-md)}.crs-lead-form label{color:var(--text-inverse)}.crs-lead-form input,.crs-lead-form select{color:var(--text-primary);background:#fffffff5;border-color:#ffffff3d}.lead-hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.lead-consent{gap:var(--space-sm);margin:0 0 var(--space-md) 0;font-size:var(--text-sm);align-items:flex-start;line-height:1.6;color:#ffffffdb!important;display:flex!important}.lead-consent input{width:auto;margin-top:.25rem}.lead-submit-btn{width:100%;padding:var(--space-sm) var(--space-lg);color:var(--color-primary-900);background:var(--color-primary-100);border-radius:var(--border-radius);font-size:var(--text-base);cursor:pointer;transition:var(--transition);border:none;font-weight:700}.lead-submit-btn:hover{background:#fff;transform:translateY(-1px)}.lead-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.lead-status{min-height:1.4em;margin:var(--space-sm) 0 0 0;color:#ffffffdb;font-size:var(--text-sm);line-height:1.5}.spouse-section{background:var(--color-gray-50);padding:var(--space-xl);border:var(--border);border-radius:var(--border-radius-lg);margin-bottom:var(--space-xl)}.spouse-section h3{margin-top:0}.score-breakdown{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--bg-primary);border:var(--border);border-radius:var(--border-radius);text-align:left}.score-breakdown h4{font-size:var(--text-lg);margin:0 0 var(--space-lg) 0;text-align:center;color:var(--text-primary)}.breakdown-section{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:var(--border)}.breakdown-section:last-child{border-bottom:none;margin-bottom:0}.breakdown-section h5{font-size:var(--text-base);margin:0 0 var(--space-md) 0;color:var(--text-secondary);font-weight:600}.breakdown-items{gap:var(--space-sm);flex-direction:column;display:flex}.breakdown-item{padding:var(--space-sm) var(--space-md);background:var(--color-gray-50);border-left:3px solid var(--color-primary);border-radius:0 var(--border-radius) var(--border-radius) 0;justify-content:space-between;display:flex}.breakdown-item span:first-child{color:var(--text-secondary)}.breakdown-score{color:var(--text-primary);font-weight:700}.clb-reference{margin-bottom:var(--space-xl);border:var(--border);background:var(--bg-primary);border-radius:var(--border-radius-lg);overflow:hidden}.clb-header{padding:var(--space-md) var(--space-lg);cursor:pointer;background:var(--color-gray-100);text-align:left;width:100%;font:inherit;border:none;border-bottom:var(--border);transition:var(--transition);justify-content:space-between;align-items:center;display:flex}.clb-header:hover{background:var(--color-gray-200)}.clb-header:focus-visible{outline:3px solid var(--color-primary);outline-offset:-3px}.clb-header h3{font-size:var(--text-lg);color:var(--text-primary);margin:0}.clb-toggle{font-size:var(--text-lg);color:var(--text-secondary);font-weight:700;transition:transform .3s}.clb-toggle.open{transform:rotate(180deg)}.clb-content{padding:var(--space-lg);background:var(--bg-primary);display:none}.clb-content.open{animation:.3s slideDown;display:block}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.clb-desc{color:var(--text-secondary);margin:0 0 var(--space-lg) 0;font-size:var(--text-base)}.clb-tables{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.clb-table{background:var(--color-gray-50);padding:var(--space-md);border:var(--border);border-radius:var(--border-radius)}.clb-table h4{font-size:var(--text-base);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-primary);color:var(--text-primary)}.clb-table table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.clb-table th,.clb-table td{padding:var(--space-sm);text-align:center;border:var(--border);background:var(--bg-primary)}.clb-table th{background:var(--color-primary);color:var(--text-inverse);font-weight:600}.clb-table td:first-child{background:var(--color-gray-50);font-weight:600}.clb-table tbody tr:hover td{background:var(--color-gray-100)}.clb-table tbody tr:hover td:first-child{background:var(--color-gray-200)}.clb-note{background:var(--note-bg);padding:var(--space-md);border:var(--note-border);border-left:3px solid var(--note-accent);border-radius:var(--border-radius)}.clb-note p{margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-weight:600}.clb-note ul{padding-left:var(--space-lg);margin:0}.clb-note li{color:var(--text-secondary);padding:var(--space-xs) 0;font-size:var(--text-sm)}@media (width<=900px){.clb-tables{grid-template-columns:1fr}.clb-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.clb-table table{min-width:560px}}@media (width<=768px){.score-display{font-size:2.5rem}.crs-lead-card{padding:var(--space-lg);grid-template-columns:1fr}.score-insight-grid{gap:var(--space-md);grid-template-columns:1fr}.breakdown-item{gap:var(--space-sm);flex-direction:column;align-items:flex-start}}@media (width<=640px){.language-grid{grid-template-columns:1fr 1fr}.clb-content{padding:var(--space-md)}.clb-note{padding:var(--space-sm)}}@media (width<=480px){.language-grid{grid-template-columns:1fr}.form-section,.spouse-section,.result,.score-breakdown{padding-left:var(--space-md);padding-right:var(--space-md)}.score-display{font-size:2rem}}
