.icntc-reg-wrap,
.icntc-rates,
.icntc-notes,
.icntc-page-shell {
	--icntc-primary: #e8631c;
	--icntc-primary-dark: #9f3d12;
	--icntc-primary-light: #fc9d30;
	--icntc-accent: #ef7f1a;
	--icntc-danger: #c9352b;
	--icntc-charcoal: #1a1a1a;
	--icntc-text: var(--color-content-text, #333333);
	--icntc-muted: var(--color-content-faded, #6a625d);
	--icntc-bg: var(--color-content-bg, #ffffff);
	--icntc-alt: var(--color-content-bg-alt, #f7f7f7);
	--icntc-border: var(--color-content-border, #e8e8e8);
	--icntc-primary-rgb: 232, 99, 28;
	--icntc-primary-light-rgb: 252, 157, 48;
	--icntc-accent-rgb: 239, 127, 26;
	--icntc-danger-rgb: 201, 53, 43;
	--icntc-deep-rgb: 42, 33, 28;
	--icntc-primary-shade: #d85318;
	--icntc-charcoal-2: #2b2b2b;
	--icntc-deep-1: #2a211c;
	--icntc-deep-2: #33271f;
	--icntc-deep-3: #3b2a20;
	--icntc-tint-4: #fffaf6;
	--icntc-tint-8: #fff5ec;
	--icntc-tint-11: #fff0e5;
	--icntc-tint-30: #f2d4be;
	--icntc-tint-62: #f0a46f;
	color: var(--icntc-text);
	font-family: var(--body-font-family, "Noto Sans", sans-serif);
}

.icntc-reg-wrap h2,
.icntc-reg-wrap h3,
.icntc-rates h2,
.icntc-rates h3,
.icntc-notes h2,
.icntc-notes h3 {
	font-family: var(--h1-font-family, "Golos Text", sans-serif);
}

.icntc-reg-form {
	display: grid;
	gap: 1.35rem;
}

.icntc-reg-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 1.5rem;
	padding: .7rem;
	color: #fff;
	background: linear-gradient(135deg, var(--icntc-primary-dark), var(--icntc-primary));
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(var(--icntc-primary-rgb), .18);
}

.icntc-reg-meta span {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	justify-content: center;
	min-height: 58px;
	padding: .65rem 1rem;
	border-right: 1px solid rgba(255, 255, 255, .18);
	font-size: .92rem;
}

.icntc-reg-meta span:last-child {
	border-right: 0;
}

.icntc-reg-meta strong {
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .72;
}

.icntc-reg-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .65rem;
}

.icntc-reg-steps span {
	display: flex;
	align-items: center;
	gap: .65rem;
	padding: .75rem 1rem;
	color: var(--icntc-primary-dark);
	background: var(--icntc-tint-8);
	border: 1px solid var(--icntc-border);
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.icntc-reg-steps strong {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	color: #fff;
	background: var(--icntc-primary);
	border-radius: 50%;
	font-size: .7rem;
}

.icntc-reg-section {
	min-width: 0;
	margin: 0;
	padding: 1.8rem;
	background: linear-gradient(180deg, var(--icntc-tint-4) 0%, #ffffff 38%);
	border: 1px solid var(--icntc-border);
	border-radius: 20px;
	box-shadow: 0 10px 28px rgba(var(--icntc-primary-rgb), .07);
}

.icntc-reg-section legend {
	display: flex;
	align-items: center;
	gap: .75rem;
	max-width: calc(100% - 1rem);
	margin: 0 0 .5rem;
	padding: .35rem .85rem .35rem .4rem;
	color: var(--icntc-primary-dark);
	background: #fff;
	border: 1px solid var(--icntc-border);
	border-radius: 999px;
	font-size: 1rem;
	line-height: 1.2;
}

.icntc-reg-section legend > span {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	color: #fff;
	background: var(--icntc-primary);
	border-radius: 50%;
	font-size: .75rem;
	font-weight: 800;
}

.icntc-reg-section legend strong {
	font-weight: 800;
}

.icntc-reg-section legend small {
	display: block;
	margin-top: .2rem;
	color: var(--icntc-muted);
	font-size: .72rem;
	font-weight: 500;
}

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

.icntc-reg-field {
	display: flex;
	flex-direction: column;
	gap: .48rem;
	margin: 0;
	font-weight: 700;
}

.icntc-reg-field--full {
	grid-column: 1 / -1;
}

.icntc-reg-field > span,
.icntc-reg-consent > span {
	font-size: .8rem;
	letter-spacing: .02em;
}

.icntc-reg-field em,
.icntc-reg-consent em,
.icntc-reg-required em {
	color: var(--icntc-danger);
	font-style: normal;
}

.icntc-reg-field input,
.icntc-reg-field select,
.icntc-reg-field textarea {
	width: 100%;
	margin: 0;
	padding: .85rem 1rem;
	color: var(--icntc-text);
	background: #fff;
	border: 1px solid #ded6d0;
	border-radius: 12px;
	font: inherit;
	font-size: .92rem;
	font-weight: 500;
	line-height: 1.35;
	box-shadow: inset 0 1px 2px rgba(var(--icntc-primary-rgb), .03);
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.icntc-reg-field input,
.icntc-reg-field select {
	min-height: 50px;
}

.icntc-reg-field textarea {
	min-height: 132px;
	resize: vertical;
}

.icntc-reg-field input:focus,
.icntc-reg-field select:focus,
.icntc-reg-field textarea:focus {
	outline: none;
	background: #fff;
	border-color: var(--icntc-primary);
	box-shadow: 0 0 0 4px rgba(var(--icntc-primary-rgb), .13);
}

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

.icntc-reg-package {
	position: relative;
	margin: 0;
}

.icntc-reg-package input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.icntc-reg-package > span {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 190px;
	padding: 1.25rem;
	background: #fff;
	border: 2px solid var(--icntc-border);
	border-radius: 18px;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(var(--icntc-primary-rgb), .07);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.icntc-reg-package > span:hover {
	transform: translateY(-2px);
	border-color: var(--icntc-tint-62);
}

.icntc-reg-package input:focus-visible + span {
	outline: 3px solid rgba(var(--icntc-primary-rgb), .25);
	outline-offset: 3px;
}

.icntc-reg-package input:checked + span {
	background: linear-gradient(180deg, var(--icntc-tint-8) 0%, #ffffff 100%);
	border-color: var(--icntc-primary);
	box-shadow: 0 14px 34px rgba(var(--icntc-primary-rgb), .18);
	transform: translateY(-3px);
}

.icntc-reg-package--attendance input:checked + span {
	color: #fff;
	background: linear-gradient(145deg, var(--icntc-charcoal-2), var(--icntc-primary));
	border-color: var(--icntc-primary-shade);
	box-shadow: 0 18px 38px rgba(var(--icntc-primary-rgb), .28);
}

.icntc-reg-package--attendance input:checked + span em {
	color: #fff;
	background: var(--icntc-charcoal);
}

.icntc-reg-package--attendance input:checked + span strong,
.icntc-reg-package--attendance input:checked + span b,
.icntc-reg-package--attendance input:checked + span small {
	color: #fff;
}

.icntc-reg-package input:checked + span::after {
	content: "✓";
	position: absolute;
	top: 12px;
	right: 12px;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	color: #fff;
	background: var(--icntc-primary);
	border-radius: 50%;
	font-size: .8rem;
	font-weight: 800;
}

.icntc-reg-package em {
	margin-bottom: .55rem;
	padding: .25rem .55rem;
	color: var(--icntc-primary);
	background: var(--icntc-tint-8);
	border-radius: 999px;
	font-size: .62rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: .12em;
}

.icntc-reg-package strong {
	min-height: 44px;
	color: var(--icntc-primary-dark);
	font-size: 1rem;
	line-height: 1.25;
	text-align: center;
}

.icntc-reg-package b {
	margin-top: .35rem;
	color: var(--icntc-primary);
	font-size: 2.25rem;
	line-height: 1;
}

.icntc-reg-package small {
	margin-top: .35rem;
	color: var(--icntc-muted);
	font-size: .72rem;
}

.icntc-reg-section--services {
	background: linear-gradient(180deg, var(--icntc-tint-4) 0%, #ffffff 44%);
}

.icntc-reg-services {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
}

.icntc-reg-service {
	position: relative;
	margin: 0;
}

.icntc-reg-service:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.icntc-reg-service > input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.icntc-reg-service__card {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) auto;
	align-items: center;
	gap: .85rem;
	min-height: 86px;
	padding: 1rem 1.05rem;
	background: #fff;
	border: 1px solid var(--icntc-border);
	border-radius: 16px;
	cursor: pointer;
	box-shadow: 0 8px 22px rgba(var(--icntc-primary-rgb), .06);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.icntc-reg-service__card i {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	color: var(--icntc-primary);
	background: var(--icntc-tint-8);
	border: 2px solid var(--icntc-tint-30);
	border-radius: 10px;
	font-style: normal;
}

.icntc-reg-service__card i::before {
	content: "+";
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1;
}

.icntc-reg-service__card strong {
	color: var(--icntc-primary-dark);
	font-size: .88rem;
	font-weight: 750;
	line-height: 1.35;
}

.icntc-reg-service__card b {
	padding: .42rem .62rem;
	color: var(--icntc-primary);
	background: var(--icntc-tint-8);
	border-radius: 999px;
	font-size: .82rem;
	white-space: nowrap;
}

.icntc-reg-service:hover .icntc-reg-service__card {
	transform: translateY(-2px);
	border-color: var(--icntc-tint-62);
}

.icntc-reg-service > input:focus-visible + .icntc-reg-service__card {
	outline: 3px solid rgba(var(--icntc-primary-rgb), .25);
	outline-offset: 3px;
}

.icntc-reg-service > input:checked + .icntc-reg-service__card {
	background: linear-gradient(135deg, var(--icntc-tint-8) 0%, #ffffff 100%);
	border-color: var(--icntc-primary);
	box-shadow: 0 12px 28px rgba(var(--icntc-primary-rgb), .14);
}

.icntc-reg-service > input:checked + .icntc-reg-service__card i {
	color: #fff;
	background: var(--icntc-primary);
	border-color: var(--icntc-primary);
}

.icntc-reg-service > input:checked + .icntc-reg-service__card i::before {
	content: "✓";
}

.icntc-reg-total {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 1.5rem;
	padding: 1.45rem 1.6rem;
	color: #fff;
	background: linear-gradient(135deg, var(--icntc-charcoal), var(--icntc-primary));
	border-top: 4px solid var(--icntc-primary-light);
	border-radius: 18px;
	box-shadow: 0 16px 36px rgba(var(--icntc-primary-rgb), .22);
}

.icntc-reg-total span {
	display: block;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.icntc-reg-total small {
	display: block;
	margin-top: .35rem;
	color: rgba(255, 255, 255, .76);
	font-size: .8rem;
}

.icntc-reg-total__lines {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .55rem;
	max-width: 510px;
	margin-top: .75rem;
}

.icntc-reg-total__lines small {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	margin: 0;
	padding: .5rem .65rem;
	color: #fff;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 9px;
}

.icntc-reg-total__lines span {
	font-size: .68rem;
	font-weight: 650;
	letter-spacing: 0;
	text-transform: none;
}

.icntc-reg-total__lines b {
	font-size: .82rem;
	white-space: nowrap;
}

.icntc-reg-total > div:last-child {
	text-align: right;
}

.icntc-reg-total > div > strong {
	display: block;
}

.icntc-reg-total > div:last-child > strong {
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	line-height: 1;
	white-space: nowrap;
}

.icntc-reg-consent {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .8rem;
	align-items: start;
	margin: 0;
	padding: 1rem 1.1rem;
	background: #f4f7f9;
	border: 1px solid var(--icntc-border);
	border-radius: 14px;
	cursor: pointer;
}

.icntc-reg-consent input {
	width: 1.15rem;
	height: 1.15rem;
	margin: .1rem 0 0;
	accent-color: var(--icntc-primary);
}

.icntc-reg-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: .95rem 1.6rem;
	color: #fff;
	background: linear-gradient(135deg, var(--icntc-primary), var(--icntc-primary-light));
	border: 0;
	border-radius: 999px;
	font: inherit;
	font-size: .9rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 12px 28px rgba(var(--icntc-primary-rgb), .24);
	transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.icntc-reg-submit:hover {
	filter: brightness(.94);
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(var(--icntc-primary-rgb), .3);
}

.icntc-reg-submit:focus-visible {
	outline: 3px solid rgba(var(--icntc-primary-rgb), .28);
	outline-offset: 3px;
}

.icntc-reg-required {
	margin: -.6rem 0 0;
	color: var(--icntc-muted);
	font-size: .75rem;
	text-align: center;
}

.icntc-reg-notice {
	margin-bottom: 1.5rem;
	padding: 1rem 1.15rem;
	border: 1px solid var(--icntc-border);
	border-left-width: 5px;
	border-radius: 12px;
}

.icntc-reg-notice--success {
	background: #edf8f0;
	border-left-color: #2d8a4b;
}

.icntc-reg-notice--error {
	background: #fff2f2;
	border-left-color: var(--icntc-danger);
}

.icntc-reg-notice--closed {
	background: var(--icntc-alt);
	border-left-color: var(--icntc-primary);
}

.icntc-reg-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* ICNTC WPBakery page shell */
.icntc-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 12% 18%, rgba(var(--icntc-primary-light-rgb), .35), transparent 28%),
		radial-gradient(circle at 86% 82%, rgba(var(--icntc-accent-rgb), .22), transparent 30%),
		linear-gradient(135deg, var(--icntc-charcoal) 0%, var(--icntc-deep-1) 56%, var(--icntc-primary-dark) 100%) !important;
}

.icntc-hero::before,
.icntc-hero::after {
	content: "";
	position: absolute;
	width: 280px;
	height: 280px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 50%;
	pointer-events: none;
}

.icntc-hero::before {
	top: -170px;
	right: 8%;
}

.icntc-hero::after {
	right: -110px;
	bottom: -190px;
}

.icntc-hero .l-section-h {
	position: relative;
	z-index: 1;
	padding-top: clamp(4rem, 8vw, 7rem) !important;
	padding-bottom: clamp(4rem, 8vw, 7rem) !important;
}

.icntc-hero-copy {
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}

.icntc-hero-copy .icntc-kicker {
	color: #fff;
	background: rgba(255, 255, 255, .12);
	border-color: rgba(255, 255, 255, .2);
}

.icntc-hero-copy h1 {
	max-width: 850px;
	margin: 1.25rem auto 1rem;
	color: #fff;
	font-family: var(--h1-font-family, "Golos Text", sans-serif);
	font-size: clamp(2.35rem, 6vw, 5.5rem);
	font-weight: 900;
	letter-spacing: -.045em;
	line-height: .98;
}

.icntc-hero-copy h1 span {
	color: var(--icntc-primary-light);
}

.icntc-hero-copy > p {
	max-width: 690px;
	margin: 0 auto;
	color: rgba(255, 255, 255, .78);
	font-size: clamp(1rem, 2vw, 1.16rem);
	line-height: 1.75;
}

.icntc-hero-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 800px;
	margin: 2.2rem auto 0;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 18px;
	backdrop-filter: blur(10px);
}

.icntc-hero-facts span {
	display: flex;
	flex-direction: column;
	gap: .18rem;
	padding: 1rem;
	border-right: 1px solid rgba(255, 255, 255, .12);
}

.icntc-hero-facts span:last-child {
	border-right: 0;
}

.icntc-hero-facts small {
	color: var(--icntc-primary-light);
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.icntc-hero-facts strong {
	color: #fff;
	font-size: .92rem;
}

.icntc-registration-nav {
	position: sticky !important;
	top: 80px;
	z-index: 90;
	background: transparent !important;
	pointer-events: none;
}

.icntc-registration-nav .l-section-h {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.icntc-registration-nav .g-cols {
	flex: 0 1 610px !important;
	gap: .5rem;
	width: min(610px, calc(100% - 1.5rem)) !important;
	max-width: 610px !important;
	margin: -24px auto 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: .48rem;
	background: rgba(255, 255, 255, .96);
	border: 1px solid rgba(var(--icntc-primary-rgb), .16);
	border-radius: 999px;
	box-shadow: 0 16px 45px rgba(var(--icntc-deep-rgb), .18);
	backdrop-filter: blur(14px);
	pointer-events: auto;
}

.icntc-registration-nav .g-cols > .wpb_column,
.icntc-registration-nav .vc_column_container,
.icntc-registration-nav .vc_column-inner {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.icntc-registration-nav .wpb_wrapper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .35rem;
}

.icntc-registration-nav .w-btn-wrapper,
.icntc-registration-nav .w-btn {
	width: 100%;
}

.icntc-registration-nav .w-btn {
	min-width: 0;
	min-height: 42px;
	padding: .72rem 1.1rem !important;
	color: #333 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: .78rem !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.icntc-registration-nav .w-btn:hover,
.icntc-registration-nav .w-btn.icntc-nav-primary,
.icntc-registration-nav .w-btn-wrapper:last-child .w-btn {
	color: #fff !important;
	background: linear-gradient(135deg, var(--icntc-primary), var(--icntc-primary-light)) !important;
}

.icntc-rates-section,
.icntc-notes-section,
.icntc-form-section {
	scroll-margin-top: 150px;
}

.icntc-rates-section {
	background:
		radial-gradient(circle at 92% 8%, rgba(var(--icntc-primary-rgb), .08), transparent 25%),
		linear-gradient(180deg, #fff 0%, var(--icntc-tint-4) 100%) !important;
}

.icntc-notes-section {
	background: #f6f4f2 !important;
}

.icntc-form-section {
	background:
		radial-gradient(circle at 7% 20%, rgba(var(--icntc-primary-light-rgb), .11), transparent 22%),
		linear-gradient(180deg, var(--icntc-tint-4) 0%, #f5f5f5 100%) !important;
}

/* Impreza/WPBakery may add asymmetric grid gutters after plugin assets load. */
.icntc-hero > .l-section-h,
.icntc-rates-section > .l-section-h,
.icntc-notes-section > .l-section-h,
.icntc-form-section > .l-section-h {
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.icntc-hero-copy,
.icntc-hero-facts,
.icntc-rates__header,
.icntc-notes__header,
.icntc-form-heading {
	margin-left: auto !important;
	margin-right: auto !important;
}

.icntc-form-card {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.icntc-form-card > .vc_column-inner {
	width: 100% !important;
	max-width: 1040px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(1.25rem, 4vw, 3rem) !important;
	background: #fff;
	border: 1px solid var(--icntc-border);
	border-radius: 28px;
	box-shadow: 0 25px 70px rgba(var(--icntc-deep-rgb), .12);
}

.icntc-form-heading {
	max-width: 720px;
	margin: 0 auto 2.25rem;
	text-align: center;
}

.icntc-form-heading h2 {
	margin: .9rem 0 .65rem;
	color: var(--icntc-charcoal);
	font-family: var(--h1-font-family, "Golos Text", sans-serif);
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 800;
	letter-spacing: -.035em;
}

.icntc-form-heading p {
	margin: 0;
	color: var(--icntc-muted);
}

.icntc-kicker {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .42rem .72rem;
	color: var(--icntc-primary-dark);
	background: var(--icntc-tint-8);
	border: 1px solid var(--icntc-tint-30);
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: .13em;
	line-height: 1;
	text-transform: uppercase;
}

.icntc-kicker::before {
	content: "";
	width: 7px;
	height: 7px;
	background: var(--icntc-accent);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(var(--icntc-accent-rgb), .16);
}

/* Dynamic registration rates */
.icntc-rates {
	width: 100%;
	max-width: 1320px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.icntc-rates__header,
.icntc-notes__header {
	max-width: 760px;
	margin: 0 auto clamp(2rem, 4vw, 3.25rem);
	text-align: center;
}

.icntc-rates__header h2,
.icntc-notes__header h2 {
	margin: .9rem 0 .65rem;
	color: var(--icntc-charcoal);
	font-size: clamp(2.05rem, 4vw, 3.5rem);
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1.07;
}

.icntc-rates__header p,
.icntc-notes__header p {
	margin: 0;
	color: var(--icntc-muted);
	font-size: 1rem;
	line-height: 1.7;
}

.icntc-rates__accordions {
	display: grid;
	gap: 1rem;
}

.icntc-rate-period {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--icntc-border);
	border-radius: 22px;
	box-shadow: 0 12px 38px rgba(var(--icntc-deep-rgb), .07);
}

.icntc-rate-period.is-current {
	border-color: rgba(var(--icntc-primary-rgb), .5);
	box-shadow: 0 18px 50px rgba(var(--icntc-primary-rgb), .13);
}

.icntc-rate-period > summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 1rem;
	min-height: 82px;
	padding: 1rem 1.25rem;
	color: #333;
	background: #fff;
	cursor: pointer;
	list-style: none;
	transition: background-color .2s ease;
}

.icntc-rate-period > summary::-webkit-details-marker {
	display: none;
}

.icntc-rate-period > summary:hover {
	background: var(--icntc-tint-4);
}

.icntc-rate-period[open] > summary {
	color: #fff;
	background: linear-gradient(135deg, var(--icntc-charcoal) 0%, var(--icntc-deep-2) 65%, var(--icntc-primary-dark) 100%);
}

.icntc-rate-period__number {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: var(--icntc-primary);
	background: var(--icntc-tint-8);
	border-radius: 14px;
	font-size: .75rem;
	font-weight: 900;
}

.icntc-rate-period[open] .icntc-rate-period__number {
	color: #fff;
	background: linear-gradient(135deg, var(--icntc-primary), var(--icntc-primary-light));
}

.icntc-rate-period__title {
	display: flex;
	flex-direction: column;
	gap: .18rem;
}

.icntc-rate-period__title strong {
	font-family: var(--h1-font-family, "Golos Text", sans-serif);
	font-size: clamp(.95rem, 2vw, 1.2rem);
	font-weight: 800;
}

.icntc-rate-period__title small {
	color: #7a716c;
	font-size: .76rem;
}

.icntc-rate-period[open] .icntc-rate-period__title small {
	color: rgba(255, 255, 255, .67);
}

.icntc-rate-period__current {
	padding: .42rem .7rem;
	color: var(--icntc-primary-dark);
	background: var(--icntc-tint-8);
	border-radius: 999px;
	font-size: .62rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.icntc-rate-period[open] .icntc-rate-period__current {
	color: #fff;
	background: rgba(255, 255, 255, .13);
	border: 1px solid rgba(255, 255, 255, .16);
}

.icntc-rate-period__toggle {
	position: relative;
	width: 34px;
	height: 34px;
	border: 1px solid var(--icntc-border);
	border-radius: 50%;
}

.icntc-rate-period__toggle::before,
.icntc-rate-period__toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}

.icntc-rate-period__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.icntc-rate-period[open] .icntc-rate-period__toggle {
	border-color: rgba(255, 255, 255, .28);
}

.icntc-rate-period[open] .icntc-rate-period__toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.icntc-rate-period__body {
	padding: clamp(1rem, 2.5vw, 1.75rem);
	background: #f8f7f6;
}

.icntc-rate-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 1rem;
}

.icntc-rate-card {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr auto;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--icntc-border);
	border-radius: 20px;
	box-shadow: 0 10px 28px rgba(var(--icntc-deep-rgb), .07);
	transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.icntc-rate-card:hover {
	transform: translateY(-5px);
	border-color: rgba(var(--icntc-primary-rgb), .46);
	box-shadow: 0 20px 48px rgba(var(--icntc-primary-rgb), .14);
}

.icntc-rate-card--featured {
	border-color: var(--icntc-primary);
	box-shadow: 0 18px 42px rgba(var(--icntc-primary-rgb), .17);
}

.icntc-rate-card__ribbon {
	position: absolute;
	top: 16px;
	right: -38px;
	z-index: 2;
	width: 150px;
	padding: .38rem;
	color: #fff;
	background: var(--icntc-primary);
	font-size: .56rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
	transform: rotate(38deg);
}

.icntc-rate-card__top {
	min-height: 228px;
	padding: 1.5rem 1.25rem 1.2rem;
	text-align: center;
	background: linear-gradient(180deg, #fff 0%, var(--icntc-tint-4) 100%);
	border-bottom: 1px solid #eee9e5;
}

.icntc-rate-card--featured .icntc-rate-card__top {
	color: #fff;
	background:
		radial-gradient(circle at 20% 10%, rgba(var(--icntc-primary-light-rgb), .3), transparent 35%),
		linear-gradient(145deg, var(--icntc-charcoal) 0%, var(--icntc-deep-3) 58%, var(--icntc-primary-dark) 100%);
	border-color: rgba(255, 255, 255, .12);
}

.icntc-rate-card__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0 auto .7rem;
	color: var(--icntc-primary);
	background: var(--icntc-tint-11);
	border-radius: 14px;
}

.icntc-rate-card__icon::before {
	content: "✓";
	font-size: 1rem;
	font-weight: 900;
}

.icntc-rate-card--featured .icntc-rate-card__icon {
	color: #fff;
	background: linear-gradient(135deg, var(--icntc-primary), var(--icntc-primary-light));
}

.icntc-rate-card__top > small {
	display: block;
	color: var(--icntc-primary);
	font-size: .58rem;
	font-weight: 900;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.icntc-rate-card--featured .icntc-rate-card__top > small {
	color: var(--icntc-primary-light);
}

.icntc-rate-card__top h3 {
	min-height: 45px;
	margin: .48rem 0 .4rem;
	color: var(--icntc-charcoal);
	font-size: clamp(.96rem, 1.6vw, 1.18rem);
	font-weight: 800;
	line-height: 1.2;
}

.icntc-rate-card--featured .icntc-rate-card__top h3 {
	color: #fff;
}

.icntc-rate-card__price {
	color: var(--icntc-primary);
	font-family: var(--h1-font-family, "Golos Text", sans-serif);
	font-size: clamp(2.3rem, 4vw, 3.35rem);
	font-weight: 900;
	letter-spacing: -.055em;
	line-height: 1;
}

.icntc-rate-card__price span {
	margin-right: .08em;
	font-size: .42em;
	vertical-align: top;
}

.icntc-rate-card--featured .icntc-rate-card__price {
	color: #fff;
}

.icntc-rate-card__top p {
	min-height: 34px;
	margin: .55rem 0 0;
	color: #756b65;
	font-size: .68rem;
	font-weight: 650;
	line-height: 1.45;
}

.icntc-rate-card--featured .icntc-rate-card__top p {
	color: rgba(255, 255, 255, .7);
}

.icntc-rate-card__features {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: .6rem 1.05rem 1rem;
	list-style: none;
}

.icntc-rate-card__features li {
	position: relative;
	margin: 0;
	padding: .62rem .1rem .62rem 1.35rem;
	color: #4d4743;
	border-bottom: 1px solid #f0ece9;
	font-size: .68rem;
	font-weight: 600;
	line-height: 1.38;
}

.icntc-rate-card__features li:last-child {
	border-bottom: 0;
}

.icntc-rate-card__features li::before {
	content: "✓";
	position: absolute;
	top: .64rem;
	left: 0;
	display: grid;
	place-items: center;
	width: 15px;
	height: 15px;
	color: var(--icntc-primary);
	background: var(--icntc-tint-11);
	border-radius: 50%;
	font-size: .48rem;
	font-weight: 900;
}

.icntc-rate-card__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 48px;
	margin: 0 1rem 1rem;
	padding: .72rem 1rem;
	color: #fff !important;
	background: var(--icntc-charcoal);
	border-radius: 12px;
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .05em;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background .2s ease, transform .2s ease;
}

.icntc-rate-card__button:hover,
.icntc-rate-card--featured .icntc-rate-card__button {
	background: linear-gradient(135deg, var(--icntc-primary), var(--icntc-primary-light));
	transform: translateY(-1px);
}

.icntc-rates__footnote {
	margin: 1rem 0 0;
	padding: .85rem 1rem;
	color: #665d57;
	background: #fff;
	border: 1px solid #ece7e3;
	border-radius: 12px;
	font-size: .73rem;
	font-weight: 650;
	text-align: center;
}

/* Important notes */
.icntc-notes {
	position: relative;
	width: 100%;
	max-width: 1180px;
	margin-left: auto !important;
	margin-right: auto !important;
	overflow: hidden;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	background: #fff;
	border: 1px solid var(--icntc-border);
	border-radius: 28px;
	box-shadow: 0 24px 70px rgba(var(--icntc-deep-rgb), .11);
}

.icntc-notes::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: linear-gradient(90deg, var(--icntc-primary), var(--icntc-primary-light) 55%, var(--icntc-charcoal));
}

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

.icntc-note-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: .9rem;
	min-height: 108px;
	padding: 1.05rem;
	background: #faf9f8;
	border: 1px solid #ece8e5;
	border-radius: 16px;
	transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.icntc-note-card:hover {
	transform: translateY(-2px);
	background: var(--icntc-tint-4);
	border-color: rgba(var(--icntc-primary-rgb), .36);
}

.icntc-note-card:nth-child(2) {
	background: var(--icntc-tint-4);
	border-color: var(--icntc-tint-30);
}

.icntc-note-card__icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	color: #fff;
	background: linear-gradient(135deg, var(--icntc-primary), var(--icntc-primary-light));
	border-radius: 12px;
	font-family: var(--h1-font-family, "Golos Text", sans-serif);
	font-size: .9rem;
	font-weight: 900;
	box-shadow: 0 8px 18px rgba(var(--icntc-primary-rgb), .2);
}

.icntc-note-card:nth-child(2) .icntc-note-card__icon {
	background: var(--icntc-danger);
	box-shadow: 0 8px 18px rgba(var(--icntc-danger-rgb), .18);
}

.icntc-note-card h3 {
	margin: .08rem 0 .28rem;
	color: var(--icntc-charcoal);
	font-size: .88rem;
	font-weight: 800;
}

.icntc-note-card p {
	margin: 0;
	color: #716862;
	font-size: .72rem;
	line-height: 1.55;
}

.icntc-notes__contact {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	margin-top: 1rem;
	padding: .9rem 1rem;
	color: #fff !important;
	background: linear-gradient(135deg, var(--icntc-charcoal), var(--icntc-primary-dark));
	border-radius: 14px;
	font-size: .74rem;
	font-weight: 800;
	text-align: center;
	text-decoration: none !important;
}

.icntc-notes__contact:hover {
	background: linear-gradient(135deg, var(--icntc-primary), var(--icntc-primary-light));
}

@media (max-width: 960px) {
	.icntc-rate-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.icntc-registration-nav {
		top: 66px;
	}
}

@media (max-width: 780px) {
	.icntc-reg-meta,
	.icntc-reg-grid {
		grid-template-columns: 1fr;
	}

	.icntc-reg-packages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.icntc-reg-services {
		grid-template-columns: 1fr;
	}

	.icntc-reg-service:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.icntc-reg-meta span {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .16);
	}

	.icntc-reg-meta span:last-child {
		border-bottom: 0;
	}

	.icntc-reg-steps span {
		justify-content: flex-start;
		padding: .6rem;
		font-size: .62rem;
		letter-spacing: .02em;
	}

	.icntc-reg-steps strong {
		font-size: .7rem;
	}

	.icntc-reg-field--full {
		grid-column: auto;
	}

	.icntc-reg-section {
		padding: 1.3rem;
	}

	.icntc-reg-section legend {
		font-size: .9rem;
	}

	.icntc-reg-section legend small {
		display: none;
	}

	.icntc-reg-total {
		grid-template-columns: 1fr;
		gap: .8rem;
	}

	.icntc-reg-total > div:last-child {
		text-align: left;
	}

	.icntc-reg-total > div:last-child > strong {
		font-size: 2.7rem;
	}

	.icntc-reg-total__lines {
		max-width: none;
	}

	.icntc-reg-submit {
		width: 100%;
	}

	.icntc-notes__grid {
		grid-template-columns: 1fr;
	}

	.icntc-rate-period > summary {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: .75rem;
		padding: .9rem;
	}

	.icntc-rate-period__current {
		display: none;
	}

	.icntc-hero-facts {
		grid-template-columns: 1fr;
		max-width: 430px;
	}

	.icntc-hero-facts span {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .12);
	}

	.icntc-hero-facts span:last-child {
		border-bottom: 0;
	}

	.icntc-registration-nav .g-cols {
		margin-top: -20px;
		border-radius: 18px;
	}

	.icntc-registration-nav .w-btn {
		padding-inline: .55rem !important;
		font-size: .68rem !important;
	}
}

@media (max-width: 520px) {
	.icntc-reg-steps span {
		justify-content: center;
		font-size: 0;
	}

	.icntc-reg-packages {
		grid-template-columns: 1fr;
	}

	.icntc-reg-service__card {
		grid-template-columns: 32px minmax(0, 1fr);
	}

	.icntc-reg-service__card b {
		grid-column: 2;
		justify-self: start;
	}

	.icntc-reg-total__lines {
		grid-template-columns: 1fr;
	}

	.icntc-rate-cards {
		grid-template-columns: 1fr;
	}

	.icntc-rate-card__top {
		min-height: 0;
	}

	.icntc-registration-nav .w-btn {
		min-height: 38px;
		font-size: .6rem !important;
		letter-spacing: 0 !important;
	}

	.icntc-rate-period__number {
		width: 38px;
		height: 38px;
	}

	.icntc-rate-period__toggle {
		width: 30px;
		height: 30px;
	}
}
