/* =========================================
   REGISTRATION / LANDING PAGE
   Header bleibt unangetastet
========================================= */

body {
	font-family: "Poppins", sans-serif;
}

.registration-page-container {
	max-width: 1280px;
}

.registration-page-section {
	padding: 5.5rem 0;
}

.registration-page-section.section-white {
	background: var(--bs-card-bg);
}

.registration-page-section.section-muted {
	background: linear-gradient(180deg, var(--bs-tertiary-bg) 0%, var(--bs-body-bg) 100%);
}

.registration-section-head {
	max-width: 860px;
	margin: 0 auto 3rem auto;
	text-align: center;
}

.finnaro-section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 193, 7, 0.24);
	background: rgba(255, 193, 7, 0.10);
	color: #8a6d00;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.registration-section-title {
	font-size: clamp(2rem, 3vw, 3rem);
	font-weight: 700;
	line-height: 1.12;
	color: #1f2937;
	margin-bottom: 1rem;
}

.registration-section-text {
	font-size: 1.02rem;
	line-height: 1.7;
	color: #6b7280;
	margin-bottom: 0;
}

/* =========================================
   REGISTRATION HERO
========================================= */

.registration-page-hero {
	padding: 4.4rem 0 4.9rem;
	background:
		radial-gradient(circle at top right, rgba(255, 193, 7, 0.10), transparent 26%),
		radial-gradient(circle at left center, rgba(31, 41, 55, 0.04), transparent 28%),
		linear-gradient(180deg, var(--bs-tertiary-bg) 0%, var(--bs-body-bg) 100%);
	border-bottom: 1px solid rgba(31, 41, 55, 0.06);
	overflow: hidden;
}

.registration-hero-row {
	min-height: 0;
	align-items: center;
}

.registration-hero-copy {
	max-width: 560px;
}

.registration-hero-title {
	font-size: clamp(1.95rem, 3.35vw, 3.55rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #1f2937;
	margin: 0.95rem 0 1.1rem;
	max-width: 680px;
}

.registration-hero-highlight {
	color: #c8871a;
}

.registration-hero-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #6b7280;
	max-width: 610px;
	margin-bottom: 1.3rem;
}

.recalc-hero-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.5rem;
	margin-bottom: 0.35rem;
}

.recalc-hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border-radius: 999px;
	background: var(--bs-card-bg);
	border: 1px solid rgba(255, 193, 7, 0.18);
	box-shadow: 0 0.35rem 1rem rgba(15, 23, 42, 0.04);
	color: #4b5563;
	font-size: 0.92rem;
	line-height: 1.35;
}

.recalc-hero-pill i {
	font-size: 1rem;
	color: #8a6d00;
	flex-shrink: 0;
}

.recalc-hero-pill strong {
	display: inline-block;
	color: #374151;
	font-weight: 700;
	margin-right: 0.2rem;
}

.registration-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.25rem;
}

.btn-recalc-pill-outline {
	border-radius: 999px;
	padding-left: 1.45rem;
	padding-right: 1.45rem;
	border: 1px solid rgba(31, 41, 55, 0.14);
	background: var(--bs-card-bg);
	color: #1f2937;
	box-shadow: none;
}

.btn-recalc-pill-outline:hover,
.btn-recalc-pill-outline:focus {
	background: var(--bs-tertiary-bg);
	color: #111827;
	border-color: rgba(31, 41, 55, 0.22);
}

.registration-hero-visual {
	position: relative;
	min-height: 620px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	overflow: visible;
}

.registration-hero-glow {
	position: absolute;
	top: 145px;
	right: 70px;
	width: 620px;
	height: 280px;
	background: radial-gradient(circle, rgba(255, 193, 7, 0.16) 0%, rgba(255, 193, 7, 0.06) 40%, rgba(255, 193, 7, 0) 74%);
	filter: blur(24px);
	z-index: 1;
	pointer-events: none;
}

.registration-hero-image {
	position: absolute;
	top: 18px;
	right: -88px;
	max-width: 1040px;
	width: 100%;
	border-radius: 1.5rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 1.7rem 3rem rgba(15, 23, 42, 0.14);
	transform: perspective(1800px) rotateY(-15deg) rotateX(4deg) rotateZ(-0.6deg);
	transform-origin: center right;
	background: var(--bs-card-bg);
	z-index: 3;
}

/* =========================================
   PUBLIC NAVIGATION
========================================= */

.public-landing-navbar {
	min-height: 78px;
}

.public-landing-navbar .navbar-nav {
	gap: 0.15rem;
}

.public-landing-navbar .nav-link {
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.78);
	font-weight: 500;
}

.public-landing-navbar .nav-link:hover,
.public-landing-navbar .nav-link:focus,
.public-landing-navbar .nav-link.active {
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
}

.public-nav-dropdown {
	border: 1px solid rgba(15, 23, 42, 0.10);
	border-radius: 0.85rem;
	padding: 0.45rem;
	box-shadow: 0 1rem 2.4rem rgba(15, 23, 42, 0.14);
}

.public-nav-dropdown .dropdown-item {
	border-radius: 0.65rem;
	padding: 0.65rem 0.85rem;
	font-weight: 500;
	color: #1f2937;
}

.public-nav-dropdown .dropdown-item:hover,
.public-nav-dropdown .dropdown-item:focus {
	background: rgba(25, 135, 84, 0.08);
	color: #146c43;
}

/* =========================================
   SOFTWARE PAGE
========================================= */

.software-hero {
	padding-top: 4rem;
}

.software-hero-visual {
	position: relative;
	min-height: 560px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.software-hero-visual::before {
	content: "";
	position: absolute;
	inset: 6% 2% auto auto;
	width: 72%;
	height: 64%;
	border-radius: 2rem;
	background: linear-gradient(135deg, rgba(25, 135, 84, 0.10), rgba(255, 193, 7, 0.14));
	filter: blur(10px);
}

.software-hero-image {
	position: relative;
	width: min(100%, 940px);
	border-radius: 1.35rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 1.6rem 3.2rem rgba(15, 23, 42, 0.16);
	transform: perspective(1800px) rotateY(-10deg) rotateX(3deg);
	background: #fff;
}

.software-process-roadmap {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.software-process-step {
	position: relative;
	min-height: 230px;
	padding: 1.5rem;
	border-radius: 1.25rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	background: #fff;
	box-shadow: 0 0.9rem 2rem rgba(15, 23, 42, 0.04);
}

.software-process-step span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(25, 135, 84, 0.10);
	color: #146c43;
	font-weight: 700;
	margin-bottom: 1rem;
}

.software-process-step h3,
.software-team-grid strong {
	color: #1f2937;
	font-weight: 700;
}

.software-process-step p {
	color: #667085;
	line-height: 1.65;
	margin-bottom: 0;
}

.software-team-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.software-team-grid > div {
	min-height: 138px;
	padding: 1.35rem;
	border-radius: 1.25rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	background: linear-gradient(180deg, #fff, #f8fafc);
	box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.04);
}

.software-team-grid strong,
.software-team-grid span {
	display: block;
}

.software-team-grid span {
	margin-top: 0.55rem;
	color: #667085;
	line-height: 1.6;
}

.software-demo-notes {
	display: grid;
	gap: 0.8rem;
	margin-top: 1.5rem;
}

.software-demo-notes > div {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	color: #4b5563;
	line-height: 1.55;
}

.software-demo-notes i {
	color: #198754;
	margin-top: 0.1rem;
}

.software-demo-form {
	padding: 1.6rem;
	border-radius: 1.25rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	background: #fff;
	box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.08);
}

.software-demo-form .form-control,
.software-demo-form .form-select {
	border-radius: 0.85rem;
	min-height: 48px;
}

.software-demo-form textarea.form-control {
	min-height: 132px;
}

.software-demo-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.25rem;
}

.software-demo-actions p {
	margin: 0;
	color: #667085;
	font-size: 0.92rem;
	line-height: 1.5;
}

.software-demo-alert {
	border-radius: 1rem;
}

.software-story-hero .registration-hero-text {
	font-size: 1.04rem;
}

.software-story-scene {
	display: grid;
	grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
	gap: 2rem;
	align-items: stretch;
	padding: 2rem;
	border-radius: 1.4rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	background: linear-gradient(135deg, #172033 0%, #263447 100%);
	box-shadow: 0 1.4rem 3.2rem rgba(15, 23, 42, 0.14);
	color: #fff;
}

.software-story-time {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1.25rem;
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.software-story-time span {
	color: rgba(255, 255, 255, 0.70);
	font-weight: 600;
}

.software-story-time strong {
	font-size: 2rem;
	line-height: 1;
	color: #fbbf24;
}

.software-story-copy h2 {
	font-size: clamp(1.7rem, 2.5vw, 2.6rem);
	line-height: 1.12;
	margin-bottom: 1rem;
	color: #fff;
}

.software-story-copy p {
	color: rgba(255, 255, 255, 0.80);
	line-height: 1.75;
	margin-bottom: 0.85rem;
}

.software-story-copy p:last-child {
	margin-bottom: 0;
}

.software-context-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.software-context-panel {
	min-height: 210px;
	padding: 1.35rem;
	border-radius: 1.25rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	background: #fff;
	box-shadow: 0 0.85rem 2rem rgba(15, 23, 42, 0.04);
}

.software-context-panel-large {
	grid-column: span 2;
	grid-row: span 2;
	min-height: 436px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: linear-gradient(180deg, #fff, #f8fafc);
}

.software-context-panel > i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.7rem;
	height: 2.7rem;
	border-radius: 0.95rem;
	background: rgba(25, 135, 84, 0.10);
	color: #198754;
	font-size: 1.25rem;
	margin-bottom: 1rem;
}

.software-context-panel h3 {
	color: #1f2937;
	font-weight: 700;
	margin-bottom: 0.7rem;
}

.software-context-panel p {
	color: #667085;
	line-height: 1.65;
	margin-bottom: 0;
}

.software-highlight-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.25rem;
}

.software-highlight-list span {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.6rem 0.8rem;
	border-radius: 999px;
	background: rgba(25, 135, 84, 0.08);
	color: #146c43;
	font-weight: 600;
	font-size: 0.9rem;
}

.software-decision-board {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.software-decision-board > div {
	padding: 1.25rem;
	border-radius: 1.1rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.75rem 1.8rem rgba(15, 23, 42, 0.04);
}

.software-decision-board span,
.software-decision-board strong {
	display: block;
}

.software-decision-board span {
	color: #667085;
	font-size: 0.92rem;
	margin-bottom: 0.45rem;
}

.software-decision-board strong {
	color: #1f2937;
	font-size: 1.05rem;
	line-height: 1.35;
}

.software-principle-strip {
	margin-top: 2rem;
	padding: 1.5rem;
	border-radius: 1.25rem;
	background: #172033;
	color: #fff;
}

.software-principle-strip strong,
.software-principle-strip span {
	display: block;
}

.software-principle-strip strong {
	font-size: 1.25rem;
	margin-bottom: 0.45rem;
	color: #fff;
}

.software-principle-strip span {
	color: rgba(255, 255, 255, 0.76);
	line-height: 1.65;
}

.software-audience-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.software-audience-card {
	padding: 1.35rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.85rem 2rem rgba(15, 23, 42, 0.04);
}

.software-audience-card > div {
	width: 3rem;
	height: 3rem;
	border-radius: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 193, 7, 0.13);
	color: #8a6d00;
	font-size: 1.25rem;
	margin-bottom: 1rem;
}

.software-audience-card h3 {
	color: #1f2937;
	font-weight: 700;
	margin-bottom: 0.65rem;
}

.software-audience-card p {
	color: #667085;
	line-height: 1.65;
	margin-bottom: 0;
}

.software-urgent-band {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
	gap: 1.25rem;
	align-items: stretch;
}

.software-urgent-copy,
.software-urgent-note {
	padding: 1.75rem;
	border-radius: 1.35rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
}

.software-urgent-copy {
	background: linear-gradient(180deg, #fff, #f8fafc);
}

.software-urgent-copy h2 {
	color: #1f2937;
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 1rem;
}

.software-urgent-copy p {
	color: #667085;
	line-height: 1.7;
	margin-bottom: 0;
}

.software-urgent-note {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: rgba(255, 193, 7, 0.11);
}

.software-urgent-note strong {
	color: #1f2937;
	font-size: 1.2rem;
	line-height: 1.35;
	margin-bottom: 0.75rem;
}

.software-urgent-note span {
	color: #667085;
	line-height: 1.65;
}

.software-link-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.software-link-grid > div {
	padding: 1.25rem;
	border-radius: 1.1rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.75rem 1.8rem rgba(15, 23, 42, 0.04);
}

.software-link-grid strong,
.software-link-grid span {
	display: block;
}

.software-link-grid strong {
	color: #1f2937;
	font-size: 1.05rem;
	margin-bottom: 0.45rem;
}

.software-link-grid span {
	color: #667085;
	line-height: 1.6;
}

.software-final-statement {
	margin-top: 2rem;
	padding: 1.8rem;
	border-radius: 1.35rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 1rem 2.4rem rgba(15, 23, 42, 0.05);
}

.software-final-statement h2 {
	color: #1f2937;
	font-weight: 700;
	margin-bottom: 0.75rem;
}

.software-final-statement p {
	color: #667085;
	line-height: 1.7;
	max-width: 900px;
}

.software-final-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.15rem;
}

.software-final-tags span {
	padding: 0.6rem 0.8rem;
	border-radius: 999px;
	background: #f8fafc;
	border: 1px solid rgba(31, 41, 55, 0.08);
	color: #4b5563;
	font-weight: 600;
	font-size: 0.9rem;
}

.software-features-hero {
	padding-top: 4rem;
}

.software-feature-snapshot {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.software-feature-snapshot > div {
	min-height: 150px;
	padding: 1.35rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.9rem 2rem rgba(15, 23, 42, 0.05);
}

.software-feature-snapshot span,
.software-feature-snapshot strong {
	display: block;
}

.software-feature-snapshot span {
	color: #667085;
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 0.7rem;
}

.software-feature-snapshot strong {
	color: #1f2937;
	font-size: 1.08rem;
	line-height: 1.35;
}

.software-feature-map {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.software-feature-map a {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	min-height: 74px;
	padding: 1rem;
	border-radius: 1.1rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.75rem 1.8rem rgba(15, 23, 42, 0.04);
	color: #1f2937;
	font-weight: 700;
	text-decoration: none;
}

.software-feature-map a:hover,
.software-feature-map a:focus {
	border-color: rgba(25, 135, 84, 0.30);
	color: #146c43;
	transform: translateY(-1px);
}

.software-feature-map i {
	width: 2.4rem;
	height: 2.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.85rem;
	background: rgba(25, 135, 84, 0.10);
	color: #198754;
	font-size: 1.1rem;
	flex-shrink: 0;
}

.software-feature-modules {
	display: grid;
	gap: 1rem;
}

.software-feature-group-head {
	margin-top: 1.2rem;
	padding: 1.35rem 1.45rem;
	border-radius: 1.25rem;
	background: transparent;
	border: 1px solid rgba(31, 41, 55, 0.10);
}

.software-feature-group-head:first-child {
	margin-top: 0;
}

.software-feature-group-head span {
	display: inline-flex;
	margin-bottom: 0.55rem;
	color: #8a6d00;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.software-feature-group-head h2 {
	color: #1f2937;
	font-weight: 700;
	line-height: 1.22;
	margin: 0;
}

.software-feature-module {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr);
	gap: 1.1rem;
	align-items: start;
	padding: 1.45rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.85rem 2rem rgba(15, 23, 42, 0.04);
	scroll-margin-top: 92px;
}

.software-feature-module-icon {
	width: 3.25rem;
	height: 3.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 1rem;
	background: rgba(255, 193, 7, 0.13);
	color: #8a6d00;
	font-size: 1.3rem;
}

.software-feature-module h2 {
	color: #1f2937;
	font-weight: 700;
	margin-bottom: 0.55rem;
}

.software-feature-module p {
	color: #667085;
	line-height: 1.7;
	margin-bottom: 0.9rem;
}

.software-feature-module ul {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding-left: 1.1rem;
	color: #4b5563;
	line-height: 1.55;
}

.software-feature-module-dark {
	background: linear-gradient(135deg, #172033 0%, #263447 100%);
	border-color: rgba(255, 255, 255, 0.10);
	color: #fff;
}

.software-feature-module-dark .software-feature-module-icon {
	background: rgba(255, 255, 255, 0.10);
	color: #fbbf24;
}

.software-feature-module-dark h2 {
	color: #fff;
}

.software-feature-module-dark p,
.software-feature-module-dark ul {
	color: rgba(255, 255, 255, 0.80);
}

.software-feature-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.8rem;
	border-radius: 1.35rem;
	background: linear-gradient(135deg, #172033 0%, #263447 100%);
	color: #fff;
	box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.14);
}

.software-feature-cta h2 {
	color: #fff;
	font-weight: 700;
	margin-bottom: 0.7rem;
}

.software-feature-cta p {
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.65;
	max-width: 780px;
	margin-bottom: 0;
}

.software-feature-boundary {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 1.25rem;
	align-items: start;
	margin-top: 1.2rem;
	padding: 1.7rem;
	border-radius: 1.35rem;
	background: linear-gradient(135deg, #172033 0%, #263447 100%);
	color: #fff;
	box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.14);
}

.software-feature-boundary > div > span {
	display: inline-flex;
	margin-bottom: 0.65rem;
	color: #fbbf24;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.software-feature-boundary h2 {
	color: #fff;
	font-weight: 700;
	line-height: 1.18;
	margin-bottom: 0.8rem;
}

.software-feature-boundary p {
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.7;
	margin-bottom: 0;
}

.software-feature-boundary-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
}

.software-feature-boundary-list > div {
	padding: 1rem;
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.software-feature-boundary-list i {
	display: inline-flex;
	margin-bottom: 0.65rem;
	color: #fbbf24;
	font-size: 1.2rem;
}

.software-feature-boundary-list strong,
.software-feature-boundary-list span {
	display: block;
}

.software-feature-boundary-list strong {
	color: #fff;
	margin-bottom: 0.4rem;
}

.software-feature-boundary-list span {
	color: rgba(255, 255, 255, 0.76);
	line-height: 1.55;
}

.software-audience-hero,
.software-ai-hero,
.software-demo-page-hero {
	padding-top: 4rem;
}

.software-product-board {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.software-product-board > div {
	min-height: 150px;
	padding: 1.35rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.9rem 2rem rgba(15, 23, 42, 0.05);
}

.software-product-board span,
.software-product-board strong {
	display: block;
}

.software-product-board span {
	color: #667085;
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 0.7rem;
}

.software-product-board strong {
	color: #1f2937;
	font-size: 1.08rem;
	line-height: 1.35;
}

.software-product-clarity {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 1.4rem;
	align-items: stretch;
}

.software-product-clarity-copy {
	padding: 1.8rem;
	border-radius: 1.35rem;
	background: linear-gradient(135deg, #172033 0%, #263447 100%);
	box-shadow: 0 1.1rem 2.6rem rgba(15, 23, 42, 0.14);
}

.software-product-clarity-copy h2 {
	color: #fff;
	font-weight: 700;
	line-height: 1.16;
	margin-bottom: 1rem;
}

.software-product-clarity-copy p {
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.75;
	margin-bottom: 0;
}

.software-product-proof-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.software-product-proof-grid > div {
	min-height: 178px;
	padding: 1.25rem;
	border-radius: 1.2rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.9rem 2rem rgba(15, 23, 42, 0.045);
}

.software-product-proof-grid i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 0.85rem;
	background: #ecfdf3;
	color: #198754;
	font-size: 1.15rem;
	margin-bottom: 0.85rem;
}

.software-product-proof-grid strong,
.software-product-proof-grid span {
	display: block;
}

.software-product-proof-grid strong {
	color: #1f2937;
	font-weight: 700;
	margin-bottom: 0.45rem;
}

.software-product-proof-grid span {
	color: #667085;
	line-height: 1.55;
}

.software-rollout-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.software-rollout-steps > div {
	position: relative;
	min-height: 230px;
	padding: 1.35rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.9rem 2rem rgba(15, 23, 42, 0.045);
}

.software-rollout-steps span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: #fff7ed;
	color: #b45309;
	font-weight: 800;
	margin-bottom: 1rem;
}

.software-rollout-steps strong {
	display: block;
	color: #1f2937;
	font-weight: 700;
	font-size: 1.02rem;
	margin-bottom: 0.6rem;
}

.software-rollout-steps p {
	color: #667085;
	line-height: 1.6;
	margin-bottom: 0;
}

.software-fit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.software-fit-card {
	padding: 1.65rem;
	border-radius: 1.3rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.9rem 2.1rem rgba(15, 23, 42, 0.045);
}

.software-fit-card-positive {
	background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%);
	border-color: rgba(25, 135, 84, 0.16);
}

.software-fit-card h2 {
	color: #1f2937;
	font-weight: 700;
	line-height: 1.18;
	margin-bottom: 1rem;
}

.software-fit-card ul {
	display: grid;
	gap: 0.65rem;
	padding-left: 1.1rem;
	margin: 0;
	color: #4b5563;
	line-height: 1.6;
}

.software-decision-faq {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.software-decision-faq > div {
	padding: 1.35rem;
	border-radius: 1.2rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.75rem 1.8rem rgba(15, 23, 42, 0.04);
}

.software-decision-faq strong,
.software-decision-faq span {
	display: block;
}

.software-decision-faq strong {
	color: #1f2937;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.software-decision-faq span {
	color: #667085;
	line-height: 1.6;
}

.software-problem-solution-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 1.25rem;
	align-items: stretch;
}

.software-problem-card {
	padding: 1.7rem;
	border-radius: 1.35rem;
	background: linear-gradient(135deg, #172033 0%, #263447 100%);
	color: #fff;
	box-shadow: 0 1.1rem 2.6rem rgba(15, 23, 42, 0.14);
}

.software-problem-card span {
	color: #fbbf24;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
}

.software-problem-card h2 {
	color: #fff;
	font-weight: 700;
	line-height: 1.16;
	margin: 0.9rem 0;
}

.software-problem-card p {
	color: rgba(255, 255, 255, 0.80);
	line-height: 1.7;
	margin-bottom: 0;
}

.software-solution-list,
.software-benefit-list,
.software-guardrail-list {
	display: grid;
	gap: 0.75rem;
}

.software-solution-list > div {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	padding: 1rem;
	border-radius: 1rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.65rem 1.4rem rgba(15, 23, 42, 0.035);
	color: #4b5563;
	line-height: 1.55;
}

.software-solution-list i {
	color: #198754;
	margin-top: 0.15rem;
}

.software-trust-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.software-trust-grid > div {
	padding: 1.35rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.85rem 2rem rgba(15, 23, 42, 0.04);
}

.software-trust-grid strong,
.software-trust-grid span {
	display: block;
}

.software-trust-grid strong {
	color: #1f2937;
	font-weight: 700;
	margin-bottom: 0.55rem;
}

.software-trust-grid span {
	color: #667085;
	line-height: 1.6;
}

.software-split-benefits {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 1.5rem;
	align-items: start;
}

.software-split-benefits h2 {
	color: #1f2937;
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 1rem;
}

.software-split-benefits p {
	color: #667085;
	line-height: 1.7;
}

.software-benefit-list span,
.software-guardrail-list span {
	display: block;
	padding: 0.9rem 1rem;
	border-radius: 1rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	color: #4b5563;
	font-weight: 600;
}

.software-ai-panel {
	padding: 1.5rem;
	border-radius: 1.35rem;
	background: linear-gradient(135deg, #172033 0%, #263447 100%);
	color: #fff;
	box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.16);
}

.software-ai-question {
	display: inline-flex;
	padding: 0.8rem 1rem;
	border-radius: 999px;
	background: #198754;
	color: #fff;
	font-weight: 700;
	margin-bottom: 1rem;
}

.software-ai-answer {
	padding: 1.1rem;
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.software-ai-answer strong,
.software-ai-answer span {
	display: block;
}

.software-ai-answer strong {
	color: #fff;
	margin-bottom: 0.5rem;
}

.software-ai-answer span {
	color: rgba(255, 255, 255, 0.80);
	line-height: 1.65;
}

.software-ai-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1rem;
}

.software-ai-tags span {
	padding: 0.45rem 0.65rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	color: rgba(255, 255, 255, 0.82);
	font-weight: 600;
	font-size: 0.86rem;
}

.software-copilot-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.software-copilot-grid > div {
	padding: 1.3rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.85rem 2rem rgba(15, 23, 42, 0.04);
}

.software-copilot-grid strong,
.software-copilot-grid span {
	display: block;
}

.software-copilot-grid strong {
	color: #1f2937;
	margin-bottom: 0.55rem;
}

.software-copilot-grid span {
	color: #667085;
	line-height: 1.6;
}

.software-guardrail-band {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 1.25rem;
	align-items: center;
	padding: 1.7rem;
	border-radius: 1.35rem;
	background: #172033;
	color: #fff;
}

.software-guardrail-band h2 {
	color: #fff;
	font-weight: 700;
	margin-bottom: 0.75rem;
}

.software-guardrail-band p {
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.7;
	margin-bottom: 0;
}

.software-client-portal-flow {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.software-client-portal-flow > div {
	padding: 1.45rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.85rem 2rem rgba(15, 23, 42, 0.04);
}

.software-client-portal-flow span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 999px;
	background: rgba(25, 135, 84, 0.10);
	color: #146c43;
	font-weight: 700;
	margin-bottom: 1rem;
}

.software-client-portal-flow strong {
	display: block;
	color: #1f2937;
	font-size: 1.1rem;
	margin-bottom: 0.55rem;
}

.software-client-portal-flow p {
	color: #667085;
	line-height: 1.6;
	margin-bottom: 0;
}

.counseling-support-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1.4rem;
}

.counseling-support-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	padding: 1.35rem;
	border-radius: 1.25rem;
	background: #fff;
	border: 1px solid rgba(31, 41, 55, 0.08);
	box-shadow: 0 0.85rem 2rem rgba(15, 23, 42, 0.04);
}

.counseling-support-card h2 {
	color: #1f2937;
	font-size: 1.15rem;
	font-weight: 700;
	margin-bottom: 0.55rem;
}

.counseling-support-card p {
	color: #667085;
	line-height: 1.65;
	margin-bottom: 0.75rem;
}

.counseling-support-card ul {
	display: grid;
	gap: 0.35rem;
	margin: 0;
	padding-left: 1.1rem;
	color: #4b5563;
	line-height: 1.5;
}

.counseling-appointment-support {
	margin-top: 1rem;
	padding: 1rem;
	border-radius: 1rem;
	background: rgba(25, 135, 84, 0.08);
	border: 1px solid rgba(25, 135, 84, 0.16);
}

.counseling-appointment-support strong,
.counseling-appointment-support span {
	display: block;
}

.counseling-appointment-support strong {
	color: #146c43;
	margin-bottom: 0.4rem;
}

.counseling-appointment-support span {
	color: #4b5563;
	line-height: 1.55;
}

/* =========================================
   FEATURE CARDS
========================================= */

.registration-feature-card {
	height: 100%;
	padding: 1.6rem;
	border-radius: 1.35rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	background: var(--bs-card-bg);
	box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.04);
}

.registration-feature-icon {
	width: 3.15rem;
	height: 3.15rem;
	border-radius: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: rgba(255, 193, 7, 0.10);
	color: #8a6d00;
}

.registration-feature-icon i {
	font-size: 1.15rem;
}

.registration-feature-title {
	font-size: 1.08rem;
	font-weight: 700;
	color: #1f2937;
	margin-bottom: 0.45rem;
}

.registration-feature-text {
	font-size: 0.98rem;
	line-height: 1.7;
	color: #6b7280;
}

/* =========================================
   USE CASE CARDS
========================================= */

.registration-usecase-card {
	height: 100%;
	border: 1px solid rgba(31, 41, 55, 0.08);
	border-radius: 1.35rem;
	background: var(--bs-card-bg);
	box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.04);
	overflow: hidden;
}

.registration-usecase-card .card-body {
	padding: 1.6rem;
}

.registration-usecase-value {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: #1f2937;
}

/* =========================================
   REGISTER CARD
========================================= */

.registration-register-card {
	border: 1px solid rgba(31, 41, 55, 0.08);
	border-radius: 1.5rem;
	box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.06);
	overflow: hidden;
	background: var(--bs-card-bg);
}

.registration-register-card-header {
	padding: 1.85rem 1.75rem 1.1rem;
	background: linear-gradient(180deg, var(--bs-tertiary-bg) 0%, var(--bs-card-bg) 100%);
	border-bottom: 1px solid rgba(31, 41, 55, 0.06);
	text-align: center;
}

.registration-register-header-icon {
	width: 3rem;
	height: 3rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(25, 135, 84, 0.10);
	color: #198754;
}

.registration-plan-alert {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	border-radius: 1rem;
	padding: 0.95rem 1rem;
	margin-bottom: 0;
}

/* =========================================
   PRICE SECTION
========================================= */

.registration-plan-kicker {
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 0.35rem;
}

.registration-price-card {
	height: 100% !important;
	border: 1px solid rgba(31, 41, 55, 0.08);
	border-radius: 1.5rem;
	background: var(--bs-card-bg);
	box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.05);
	overflow: visible;
}

.registration-price-card .card-body {
	height: 100% !important;
	display: flex;
	flex-direction: column;
	border-radius: 1.5rem;
}

.registration-price-card-primary {
	border-color: rgba(59, 130, 246, 0.26);
	box-shadow: 0 1rem 2.3rem rgba(59, 130, 246, 0.14);
}

.registration-price-card-body-highlight {
	padding-top: 3.15rem !important;
}

.registration-price-badge-wrap {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 20;
}

.registration-price-badge-wrap .badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0.6rem 1rem !important;
	border-radius: 999px;
	background: #2563eb !important;
	color: #fff !important;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	box-shadow: 0 0.55rem 1rem rgba(37, 99, 235, 0.28);
}

.registration-price-value {
	font-size: clamp(2.4rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #1f2937;
}

.registration-price-suffix {
	font-size: 0.52em;
	font-weight: 600;
	color: #6b7280;
	letter-spacing: 0;
}

.registration-plan-list li {
	font-size: 0.98rem;
	line-height: 1.55;
	color: #4b5563;
}

.registration-plan-list i {
	margin-top: 0.15rem;
	flex-shrink: 0;
}

/* =========================================
   ENTRY BOX / CTA
========================================= */

.registration-entry-box {
	padding: 1.6rem 1.7rem;
	border-radius: 1.5rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	background: var(--bs-card-bg);
	box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.04);
}

.counseling-page-hero {
	min-height: calc(100vh - 76px);
}

.counseling-center-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}

.counseling-center-list {
	display: grid;
	gap: 1rem;
	margin-top: 2rem;
}

.counseling-search-form {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, .08);
	box-shadow: 0 20px 50px rgba(15, 23, 42, .08);
	border-radius: 1.25rem;
	padding: 1.1rem;
	margin: 1.5rem 0 1rem;
}

.counseling-search-form label {
	display: block;
	font-weight: 700;
	color: #12213a;
	margin-bottom: .5rem;
}

.counseling-search-form p {
	color: #64748b;
	margin: .65rem 0 0;
	font-size: .92rem;
	line-height: 1.5;
}

.counseling-search-row {
	display: flex;
	gap: .75rem;
	align-items: center;
	flex-wrap: wrap;
}

.counseling-search-row input {
	flex: 1 1 260px;
	min-height: 48px;
	border-radius: 999px;
	border: 1px solid rgba(15, 23, 42, .16);
	padding: .75rem 1rem;
	color: #12213a;
	background: #fff;
}

.counseling-result-note {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	background: #ecfdf5;
	border: 1px solid rgba(16, 185, 129, .25);
	color: #047857;
	border-radius: 999px;
	padding: .55rem .85rem;
	font-weight: 600;
	margin-top: .5rem;
}

.external-counseling-suggestions {
	margin-top: 2.5rem;
}

.external-counseling-card {
	border-style: dashed;
}

.counseling-external-empty {
	margin-top: 1rem;
}

.counseling-center-card,
.counseling-organization-card,
.counseling-center-summary,
.counseling-request-card {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, .08);
	box-shadow: 0 20px 50px rgba(15, 23, 42, .08);
	color: #12213a;
}

.counseling-center-card,
.counseling-organization-card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	align-items: start;
	border-radius: 1.25rem;
	padding: 1.25rem;
}

.counseling-center-card {
	position: relative;
	transition: transform .18s ease, box-shadow .18s ease;
}

.counseling-center-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 60px rgba(15, 23, 42, .12);
	color: #12213a;
}

.counseling-center-card h2,
.counseling-organization-card h2,
.counseling-center-summary h1 {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 .45rem;
}

.counseling-center-card p,
.counseling-center-summary p {
	color: #64748b;
	line-height: 1.55;
	margin-bottom: .85rem;
}

.counseling-center-icon {
	width: 48px;
	height: 48px;
}

.counseling-center-meta {
	display: flex;
	flex-direction: column;
	gap: .45rem;
	color: #64748b;
	font-size: .92rem;
}

.counseling-center-meta span {
	display: inline-flex;
	gap: .45rem;
	align-items: center;
}

.counseling-center-action {
	grid-column: 1 / -1;
	justify-self: start;
	margin-top: .5rem;
}

.counseling-organization-content {
	min-width: 0;
}

.counseling-location-list {
	display: grid;
	gap: .85rem;
}

.counseling-location-entry {
	display: grid;
	gap: .35rem;
	padding: .85rem 0;
	border-top: 1px solid rgba(15, 23, 42, .08);
}

.counseling-location-entry:first-child {
	border-top: 0;
	padding-top: .2rem;
}

.counseling-location-link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	width: fit-content;
	max-width: 100%;
	color: #475569;
	text-decoration: none;
	line-height: 1.35;
}

.counseling-location-link:hover {
	color: #047857;
	text-decoration: underline;
}

.counseling-location-link i {
	color: #0abf76;
	flex: 0 0 auto;
}

.counseling-location-name {
	color: #12213a;
	font-weight: 700;
}

.counseling-location-action {
	justify-self: start;
	margin-top: .2rem;
}

.counseling-empty-box {
	padding: 2rem;
}

.counseling-appointment-layout {
	display: grid;
	grid-template-columns: minmax(260px, .8fr) minmax(0, 1.4fr);
	gap: 1.25rem;
	align-items: start;
}

.counseling-center-summary {
	border-radius: 1.25rem;
	padding: 1.5rem;
}

.counseling-request-card {
	padding: 0;
}

.counseling-request-form {
	padding: 1.25rem;
}

@media (max-width: 991.98px) {
	.counseling-appointment-layout {
		grid-template-columns: 1fr;
	}
}

.registration-cta-section {
	padding-top: 5rem;
	padding-bottom: 5rem;
}

/* =========================================
   PUBLIC DEBT ASSISTANT
========================================= */

.debt-assistant-hero {
	padding-top: 4.5rem;
}

.debt-assistant-layout {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.2rem;
}

.debt-assistant-copy {
	max-width: 900px;
	text-align: center;
}

.debt-assistant-copy .finnaro-section-kicker,
.debt-assistant-copy .recalc-hero-summary {
	justify-content: center;
}

.debt-assistant-copy .registration-hero-title,
.debt-assistant-copy .registration-hero-text {
	margin-left: auto;
	margin-right: auto;
}

.debt-question-grid {
	width: min(100%, 760px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.debt-chat-shell {
	display: flex;
	flex-direction: column;
	min-height: 0;
	position: relative;
	z-index: 2;
	border-radius: 1.5rem;
	border: 1px solid rgba(31, 41, 55, 0.08);
	background: var(--bs-card-bg);
	box-shadow: 0 1.2rem 2.4rem rgba(15, 23, 42, 0.10);
	overflow: visible;
}

.debt-chat-shell-wide {
	width: min(100%, 1080px);
	margin-top: 0.5rem;
}

.debt-chat-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 1.35rem;
	border-bottom: 1px solid rgba(31, 41, 55, 0.08);
	background: linear-gradient(180deg, rgba(255, 193, 7, 0.10), rgba(255, 255, 255, 0));
}

.debt-chat-avatar {
	width: 3rem;
	height: 3rem;
	border-radius: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 193, 7, 0.12);
	color: #8a6d00;
	flex-shrink: 0;
}

.debt-chat-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #1f2937;
	margin: 0;
}

.debt-chat-subtitle {
	font-size: 0.88rem;
	color: #6b7280;
}

.debt-chat-status {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: #2f7d32;
	white-space: nowrap;
}

.debt-chat-status span {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: #2f7d32;
	display: inline-block;
}

.debt-chat-messages {
	flex: 1;
	min-height: 0;
	max-height: none;
	overflow: visible;
	padding: 0 1.25rem 1.25rem;
	background:
		linear-gradient(180deg, rgba(248, 250, 252, 0.86), rgba(255, 255, 255, 0.94));
}

.debt-chat-messages:empty {
	display: none;
}

.debt-chat-message {
	display: flex;
	margin-bottom: 0.9rem;
}

.debt-chat-message-intro {
	margin: 0 -1.25rem 1.25rem;
}

.debt-chat-message.user {
	justify-content: flex-end;
}

.debt-chat-message.assistant {
	justify-content: flex-start;
}

.debt-chat-bubble {
	max-width: min(86%, 760px);
	padding: 0.8rem 0.95rem;
	border-radius: 0.85rem;
	font-size: 0.96rem;
	line-height: 1.42;
	white-space: pre-wrap;
	box-shadow: 0 0.35rem 1rem rgba(15, 23, 42, 0.05);
}

.debt-chat-message.assistant .debt-chat-bubble {
	background: var(--bs-card-bg);
	border: 1px solid rgba(31, 41, 55, 0.08);
	color: #374151;
}

.debt-chat-message.assistant .debt-chat-bubble.debt-chat-rich {
	white-space: normal;
}

.debt-chat-rich p {
	margin: 0 0 0.65rem;
}

.debt-chat-rich p:last-child,
.debt-chat-rich ol:last-child,
.debt-chat-rich ul:last-child {
	margin-bottom: 0;
}

.debt-chat-rich ol,
.debt-chat-rich ul {
	margin: 0.35rem 0 0.75rem;
	padding-left: 1.25rem;
}

.debt-chat-rich li {
	margin: 0.28rem 0;
	padding-left: 0.1rem;
	line-height: 1.42;
}

.debt-chat-rich li p {
	margin: 0.2rem 0 0.45rem;
}

.debt-chat-rich hr {
	margin: 0.85rem 0;
	border: 0;
	border-top: 1px solid rgba(31, 41, 55, 0.10);
	opacity: 1;
}

.debt-chat-rich a {
	color: #157347;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.debt-chat-rich strong {
	font-weight: 700;
	color: #1f2937;
}

.debt-chat-message-intro .debt-chat-bubble {
	width: 100%;
	max-width: 100%;
	border: 0;
	border-radius: 0;
	background: rgba(31, 41, 55, 0.05);
	box-shadow: none;
	line-height: 1.36;
	padding: 0.9rem 1.25rem;
	white-space: normal;
}

.debt-chat-message-intro .debt-chat-bubble p {
	margin-bottom: 0.42rem;
}

.debt-chat-message.user .debt-chat-bubble {
	background: #198754;
	color: #fff;
}

.debt-chat-message.typing .debt-chat-bubble {
	color: #6b7280;
	font-style: italic;
}

.debt-suggestion-btn {
	border: 1px solid rgba(31, 41, 55, 0.12);
	background: rgba(255, 193, 7, 0.10);
	color: #4b5563;
	border-radius: 999px;
	padding: 0.55rem 0.85rem;
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.debt-suggestion-btn:hover,
.debt-suggestion-btn:focus {
	background: rgba(255, 193, 7, 0.18);
	border-color: rgba(255, 193, 7, 0.42);
	color: #1f2937;
}

.debt-question-card {
	min-height: 5.6rem;
	border-radius: 0.75rem;
	background: var(--bs-card-bg);
	padding: 1rem 1.1rem;
	color: #374151;
	font-size: 0.9rem;
	line-height: 1.45;
	text-align: center;
	box-shadow: 0 0.4rem 1rem rgba(15, 23, 42, 0.04);
}

.debt-upload-status {
	color: #6b7280;
	font-size: 0.76rem;
	line-height: 1.45;
}

.debt-chat-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.85rem;
	align-items: start;
	padding: 0 1.25rem 0.75rem;
	background: var(--bs-card-bg);
}

.debt-chat-input-area {
	min-width: 0;
}

.debt-chat-input {
	min-height: 3rem;
	max-height: 10rem;
	resize: vertical;
	border-radius: 0.65rem;
	border-color: rgba(31, 41, 55, 0.14);
	font-size: 0.96rem;
	line-height: 1.5;
}

.debt-file-input-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.debt-chat-tools {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	flex-wrap: wrap;
	margin-top: 0.45rem;
	padding-left: 0.1rem;
}

.debt-upload-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6b7280;
	font-family: inherit;
	font-size: 0.78rem;
	line-height: 1.3;
	cursor: pointer;
}

.debt-upload-link:hover,
.debt-upload-link:focus {
	color: #198754;
}

.debt-chat-submit {
	min-height: 3rem;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding-left: 1.15rem;
	padding-right: 1.15rem;
	border-radius: 0.65rem;
	white-space: nowrap;
}

.debt-chat-send-group {
	align-self: start;
	min-height: 3rem;
	z-index: 5;
}

.debt-chat-send-group .debt-chat-submit {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.debt-chat-mode-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	min-height: 3rem;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-left-color: rgba(255, 255, 255, 0.18);
	padding-left: 0;
	padding-right: 0;
}

.debt-chat-mode-toggle::after {
	display: none;
}

.debt-chat-mode-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
	pointer-events: none;
}

.debt-chat-mode-toggle:hover .debt-chat-mode-icon,
.debt-chat-mode-toggle:focus .debt-chat-mode-icon {
	color: #fff;
}

/*
 * Kept for older cached markup that still only has Bootstrap's generated caret.
 */
.debt-chat-mode-toggle:not(:has(.debt-chat-mode-icon))::after {
	display: inline-block;
	margin: 0;
	color: #fff;
	border-top: 0;
	border-right: 0.34em solid transparent;
	border-bottom: 0.42em solid currentColor;
	border-left: 0.34em solid transparent;
	opacity: 1;
}

.debt-chat-mode-menu {
	min-width: 15rem;
	padding: 0.4rem;
	border-radius: 0.75rem;
	z-index: 1100;
	box-shadow: 0 0.8rem 1.8rem rgba(15, 23, 42, 0.14);
}

.debt-chat-mode-menu .dropdown-item {
	border-radius: 0.5rem;
	font-size: 0.9rem;
	padding: 0.55rem 0.7rem;
	color: #374151;
}

.debt-chat-mode-menu .dropdown-item:active {
	background: #198754;
	color: #fff;
}

.debt-chat-error {
	min-height: 1.35rem;
	padding: 0 1.25rem 1rem;
	color: #b42318;
	font-size: 0.88rem;
}

.debt-chat-disclaimer {
	padding: 0.2rem 1.25rem 0.75rem;
	color: #6b7280;
	font-size: 0.76rem;
	line-height: 1.3;
	text-align: center;
}

.debt-resume-modal .modal-dialog {
	max-width: 440px;
}

.debt-resume-modal-content {
	border: 0;
	border-radius: 0.85rem;
	background: #17263a;
	color: #eef4ff;
	box-shadow: 0 1.3rem 3.4rem rgba(15, 23, 42, 0.32);
	overflow: hidden;
}

.debt-resume-modal-header {
	padding: 1rem 1.15rem;
	border-bottom: 1px solid rgba(226, 232, 240, 0.13);
	background: rgba(15, 23, 42, 0.18);
}

.debt-resume-modal-header .modal-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
}

.debt-resume-modal-body {
	padding: 1.2rem 1.15rem 1.15rem;
}

.debt-resume-copy {
	margin: 0 0 1rem;
	color: #e5edf8;
	font-size: 0.9rem;
	line-height: 1.48;
}

.debt-resume-link-row,
.debt-resume-email-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem;
	align-items: center;
	margin-bottom: 1rem;
}

.debt-resume-link-input,
.debt-resume-email-input {
	min-height: 2.25rem;
	border-color: rgba(148, 163, 184, 0.45);
	background: #0b1728;
	color: #f8fafc;
	font-size: 0.86rem;
}

.debt-resume-link-input:focus,
.debt-resume-email-input:focus {
	border-color: rgba(59, 130, 246, 0.85);
	background: #0b1728;
	color: #f8fafc;
	box-shadow: 0 0 0 0.16rem rgba(59, 130, 246, 0.18);
}

.debt-resume-link-input::placeholder,
.debt-resume-email-input::placeholder {
	color: #94a3b8;
}

.debt-resume-primary-btn {
	min-height: 2.25rem;
	border-radius: 0.55rem;
	padding: 0.45rem 0.8rem;
	font-size: 0.84rem;
	font-weight: 700;
}

.debt-resume-section-label {
	display: flex;
	align-items: center;
	gap: 0.38rem;
	margin: 0.15rem 0 0.55rem;
	color: #b8c7dc;
	font-size: 0.78rem;
	line-height: 1.3;
}

.debt-resume-section-label i {
	color: #38bdf8;
}

.debt-resume-qr {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 180px;
	margin: 0 auto 1rem;
	border-radius: 0.35rem;
	background: #fff;
	padding: 0.35rem;
}

.debt-resume-qr svg {
	display: block;
	width: 100%;
	height: 100%;
}

.debt-resume-status {
	min-height: 1.2rem;
	margin: -0.35rem 0 0.75rem;
	color: #cbd5e1;
	font-size: 0.78rem;
	line-height: 1.35;
}

.debt-resume-warning {
	display: flex;
	gap: 0.42rem;
	align-items: flex-start;
	padding: 0.75rem 0.85rem;
	border-radius: 0.55rem;
	background: #8a0f0f;
	color: #fff7ed;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.35;
}

.debt-resume-warning i {
	color: #fbbf24;
	flex-shrink: 0;
}

/* =========================================
   ACCORDION / LEGAL
========================================= */

.registration-accordion .accordion-item {
	border: 1px solid var(--bs-border-color);
	border-radius: 1rem;
	overflow: hidden;
	background-color: var(--bs-body-bg);
	box-shadow: 0 0.2rem 0.6rem rgba(15, 23, 42, 0.03);
}

.registration-accordion .accordion-item + .accordion-item {
	margin-top: 1rem;
}

.registration-accordion .accordion-button {
	background-color: rgba(33, 37, 41, 0.04);
	color: var(--bs-body-color);
	box-shadow: none;
	font-weight: 600;
	padding: 1.05rem 1.2rem;
}

.registration-accordion .accordion-button:not(.collapsed) {
	background-color: rgba(33, 37, 41, 0.08);
	color: var(--bs-body-color);
	box-shadow: none;
}

.registration-accordion .accordion-button:focus {
	box-shadow: none;
	border-color: transparent;
}

.registration-accordion .accordion-body {
	background-color: var(--bs-card-bg);
	padding: 1.1rem 1.2rem 1.2rem;
	line-height: 1.7;
	color: #4b5563;
}

/* =========================================
   NAVBAR / FOOTER
========================================= */

.landing-navbar .navbar-brand img {
	height: 40px;
	width: auto;
	display: block;
}

footer a {
	text-decoration: none;
	transition: opacity 0.15s ease;
}

footer a:hover,
footer a:focus {
	opacity: 0.88;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1399.98px) {
	.registration-hero-title {
		font-size: clamp(1.9rem, 3.15vw, 3.35rem);
	}

	.registration-hero-visual {
		min-height: 560px;
	}

	.registration-hero-image {
		max-width: 930px;
		right: -52px;
	}
}

@media (max-width: 1199.98px) {
	.registration-hero-copy {
		max-width: 540px;
	}

	.registration-hero-title {
		font-size: clamp(1.85rem, 3vw, 3.05rem);
		max-width: 620px;
	}

	.registration-hero-visual {
		min-height: 470px;
	}

	.registration-hero-image {
		top: 40px;
		right: -14px;
		max-width: 760px;
		transform: perspective(1800px) rotateY(-13deg) rotateX(3deg) rotateZ(-0.45deg);
	}
}

@media (max-width: 991.98px) {
	.public-landing-navbar .navbar-collapse {
		padding-top: 1rem;
	}

	.public-landing-navbar .navbar-nav {
		align-items: stretch !important;
		gap: 0.35rem;
	}

	.public-landing-navbar .nav-link {
		padding-left: 0.9rem;
		padding-right: 0.9rem;
	}

	.public-nav-dropdown {
		box-shadow: none;
		border-color: rgba(255, 255, 255, 0.12);
		background: rgba(255, 255, 255, 0.06);
	}

	.public-nav-dropdown .dropdown-item {
		color: rgba(255, 255, 255, 0.86);
	}

	.public-nav-dropdown .dropdown-item:hover,
	.public-nav-dropdown .dropdown-item:focus {
		background: rgba(255, 255, 255, 0.10);
		color: #fff;
	}

	.registration-page-hero {
		padding: 3.6rem 0 4rem;
	}

	.registration-page-section {
		padding: 4.25rem 0;
	}

	.registration-section-head {
		margin-bottom: 2.25rem;
	}

	.registration-hero-copy {
		max-width: 100%;
	}

	.registration-hero-title {
		font-size: 2.45rem;
		line-height: 1.08;
		max-width: 100%;
	}

	.registration-hero-text {
		max-width: 100%;
	}

	.recalc-hero-summary {
		gap: 0.7rem;
	}

	.registration-hero-actions {
		gap: 0.75rem;
	}

	.registration-hero-visual {
		display: none;
	}

	.software-hero-visual {
		min-height: auto;
		margin-top: 1.25rem;
	}

	.software-hero-image {
		transform: none;
	}

	.software-process-roadmap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.software-story-scene,
	.software-urgent-band {
		grid-template-columns: 1fr;
	}

	.software-context-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.software-context-panel-large {
		grid-column: span 2;
		min-height: auto;
	}

	.software-audience-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.software-feature-map,
	.software-feature-snapshot {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.software-product-board,
	.software-product-clarity,
	.software-problem-solution-grid,
	.software-split-benefits,
	.software-guardrail-band,
	.software-feature-boundary {
		grid-template-columns: 1fr;
	}

	.software-rollout-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.software-trust-grid,
	.software-copilot-grid,
	.software-client-portal-flow,
	.software-product-proof-grid,
	.software-fit-grid,
	.software-decision-faq,
	.software-feature-boundary-list,
	.counseling-support-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.software-feature-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.registration-register-card-header {
		padding: 1.6rem 1.25rem 1rem;
	}

	.debt-question-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.registration-section-title {
		font-size: 1.9rem;
	}

	.registration-hero-title {
		font-size: 2.05rem;
	}

	.recalc-hero-summary {
		flex-direction: column;
	}

	.recalc-hero-pill {
		width: 100%;
		border-radius: 1rem;
	}

	.registration-hero-actions {
		flex-direction: column;
	}

	.registration-hero-actions .btn {
		width: 100%;
	}

	.software-process-roadmap,
	.software-team-grid,
	.software-context-grid,
	.software-decision-board,
	.software-audience-grid,
	.software-link-grid,
	.software-feature-map,
	.software-feature-snapshot,
	.software-product-board,
	.software-product-proof-grid,
	.software-rollout-steps,
	.software-fit-grid,
	.software-decision-faq,
	.software-trust-grid,
	.software-copilot-grid,
	.software-client-portal-flow,
	.software-feature-boundary-list,
	.counseling-support-options,
	.counseling-support-card {
		grid-template-columns: 1fr;
	}

	.software-feature-module {
		grid-template-columns: 1fr;
		padding: 1.25rem;
	}

	.software-feature-cta {
		padding: 1.25rem;
	}

	.software-problem-card,
	.software-product-clarity-copy,
	.software-guardrail-band,
	.software-ai-panel,
	.software-fit-card,
	.software-feature-boundary,
	.software-feature-group-head {
		padding: 1.25rem;
	}

	.software-feature-cta .btn {
		width: 100%;
	}

	.software-story-scene,
	.software-final-statement,
	.software-urgent-copy,
	.software-urgent-note {
		padding: 1.25rem;
	}

	.software-context-panel-large {
		grid-column: auto;
	}

	.software-demo-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.software-demo-actions .btn {
		width: 100%;
	}

	.registration-plan-alert {
		flex-direction: column;
		text-align: center;
	}

	.registration-price-value {
		font-size: 2.2rem;
	}

	.registration-entry-box {
		padding: 1.35rem 1.2rem;
	}

	.debt-assistant-layout {
		gap: 1.4rem;
	}

	.debt-question-grid {
		grid-template-columns: 1fr;
	}

	.debt-chat-shell {
		min-height: 0;
		border-radius: 1rem;
	}

	.debt-chat-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.debt-chat-messages {
		max-height: none;
		overflow: visible;
		padding: 0 1rem 1rem;
	}

	.debt-chat-message-intro {
		margin-left: -1rem;
		margin-right: -1rem;
	}

	.debt-chat-bubble {
		max-width: 94%;
	}

	.debt-chat-form {
		grid-template-columns: 1fr;
	}

	.debt-chat-submit {
		width: auto;
		justify-content: center;
	}

	.debt-chat-send-group {
		width: 100%;
	}

	.debt-chat-send-group .debt-chat-submit {
		flex: 1 1 auto;
	}

	.debt-chat-mode-toggle {
		flex: 0 0 auto;
	}
}
