/* Arsyivitation Master of Ceremony — v1.6.0 */
.nvi-mc,
.nvi-mc * {
	box-sizing: border-box;
}

.nvi-mc {
	--nvi-mc-accent: #c9a86a;
	--nvi-mc-ink: #10131d;
	--nvi-mc-paper: #f4f0e8;
	--nvi-mc-white: #fffdf9;
	--nvi-mc-muted: #706d66;
	--nvi-mc-line: rgba(16, 19, 29, .14);
	--nvi-mc-content: 1120px;
	--nvi-mc-shell: 1240px;
	--nvi-mc-shell-wide: 1320px;
	--nvi-mc-gutter: clamp(20px, 4vw, 52px);
	--nvi-mc-space-y: clamp(64px, 7vw, 96px);
	background: var(--nvi-mc-paper);
	color: var(--nvi-mc-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	min-width: 0;
}

.nvi-mc-page {
	min-height: 0;
	overflow: hidden;
	width: 100%;
}

.nvi-mc-page > .nvi-mc-fragment {
	min-height: 0;
	width: 100%;
}

.nvi-mc [hidden] {
	display: none !important;
}

/*
 * MC widgets are individual site fragments. The generic site shell fills the
 * viewport, while each MC fragment must follow its own content height.
 */
.nvi-site.nvi-mc-fragment {
	min-height: 0;
	overflow: visible;
	width: 100%;
}

.elementor-widget[class*="elementor-widget-nvi-mc-"] {
	margin-bottom: 0;
	min-height: 0;
	min-width: 0;
	width: 100%;
}

.elementor-widget[class*="elementor-widget-nvi-mc-"] > .elementor-widget-container,
.elementor-widget[class*="elementor-widget-nvi-mc-"] > .elementor-widget-container > .nvi-mc {
	height: auto;
	min-height: 0;
	width: 100%;
}

.nvi-mc a,
.nvi-mc button,
.nvi-mc input,
.nvi-mc select,
.nvi-mc textarea {
	font: inherit;
}

.nvi-mc img,
.nvi-mc video {
	display: block;
	height: auto;
	max-width: 100%;
}

.nvi-mc h1,
.nvi-mc h2,
.nvi-mc h3,
.nvi-mc p,
.nvi-mc blockquote,
.nvi-mc ul {
	margin-top: 0;
}

.nvi-mc h1,
.nvi-mc h2,
.nvi-mc h3 {
	color: inherit;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -.035em;
	line-height: 1.06;
}

.nvi-mc h1 {
	font-size: clamp(3rem, 5.8vw, 5.8rem);
}

.nvi-mc h2 {
	font-size: clamp(2.3rem, 4vw, 4.15rem);
}

.nvi-mc h3 {
	font-size: clamp(1.3rem, 1.8vw, 1.75rem);
}

.nvi-mc h1 em,
.nvi-mc h2 em {
	color: var(--nvi-mc-accent);
	font-weight: inherit;
}

.nvi-mc-section {
	margin: 0 auto;
	max-width: var(--nvi-mc-shell);
	padding: var(--nvi-mc-space-y) var(--nvi-mc-gutter);
	position: relative;
	width: 100%;
}

.nvi-mc-eyebrow,
.nvi-mc-card-kicker,
.nvi-mc-kicker {
	color: var(--nvi-mc-accent);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .18em;
	line-height: 1.4;
	text-transform: uppercase;
}

.nvi-mc-section-head {
	max-width: 760px;
}

.nvi-mc-section-head h1,
.nvi-mc-section-head h2 {
	margin-bottom: 24px;
}

.nvi-mc-section-head > p:last-child {
	color: var(--nvi-mc-muted);
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	max-width: 680px;
}

.nvi-mc-lead {
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	line-height: 1.8;
}

.nvi-mc-button {
	align-items: center;
	background: var(--nvi-mc-accent);
	border: 1px solid var(--nvi-mc-accent);
	border-radius: 0;
	color: var(--nvi-mc-ink) !important;
	cursor: pointer;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: .14em;
	min-height: 52px;
	padding: 0 28px;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.nvi-mc a:focus-visible,
.nvi-mc button:focus-visible,
.nvi-mc input:focus-visible,
.nvi-mc select:focus-visible,
.nvi-mc textarea:focus-visible {
	outline: 2px solid var(--nvi-mc-accent);
	outline-offset: 3px;
}

.nvi-mc-button:hover,
.nvi-mc-button:focus-visible {
	background: #dec189;
	border-color: #dec189;
	transform: translateY(-2px);
}

.nvi-mc-button--outline {
	background: transparent;
	border-color: rgba(16, 19, 29, .34);
}

.nvi-mc-button--outline:hover,
.nvi-mc-button--outline:focus-visible {
	background: var(--nvi-mc-ink);
	border-color: var(--nvi-mc-ink);
	color: #fff !important;
}

.nvi-mc-button--light {
	background: var(--nvi-mc-paper);
	border-color: var(--nvi-mc-paper);
}

.nvi-mc-button--small {
	min-height: 40px;
	padding: 0 19px;
}

.nvi-mc-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 34px;
}

.nvi-mc-section-action {
	display: flex;
	justify-content: center;
	margin-top: 54px;
}

/* Local MC navigation. */
.nvi-mc-fragment--nav {
	background: var(--nvi-mc-ink);
	position: relative;
	z-index: 50;
}

.nvi-mc-fragment--services,
.nvi-mc-fragment--process,
.nvi-mc-fragment--testimonials,
.nvi-mc-fragment--partners,
.nvi-mc-fragment--faq,
.nvi-mc-fragment--policy {
	background: var(--nvi-mc-white);
}

.nvi-mc-fragment--portfolio {
	background: #ded5c8;
}

.nvi-mc-fragment--packages,
.nvi-mc-fragment--app {
	background: var(--nvi-mc-ink);
}

.nvi-mc-fragment--cta {
	background: var(--nvi-mc-accent);
}

.nvi-mc-subnav {
	align-items: center;
	background: var(--nvi-mc-ink);
	color: #fff;
	display: grid;
	gap: 20px;
	grid-template-columns: auto 1fr auto;
	margin: 0 auto;
	max-width: 1280px;
	min-height: 68px;
	padding: 10px clamp(20px, 3vw, 40px);
	position: relative;
	width: 100%;
	z-index: 40;
}

.nvi-mc-subnav__brand {
	color: #fff !important;
	display: flex;
	flex-direction: column;
	line-height: 1;
	text-decoration: none !important;
}

.nvi-mc-subnav__brand span {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	letter-spacing: -.025em;
}

.nvi-mc-subnav__brand small {
	color: var(--nvi-mc-accent);
	font-size: 9px;
	letter-spacing: .22em;
	margin-top: 6px;
	text-transform: uppercase;
}

.nvi-mc-subnav__links {
	align-items: center;
	display: flex;
	gap: clamp(14px, 1.5vw, 24px);
	justify-content: center;
}

.nvi-mc-subnav__links a {
	color: rgba(255, 255, 255, .7) !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .11em;
	position: relative;
	text-decoration: none !important;
	text-transform: uppercase;
}

.nvi-mc-subnav__links a::after {
	background: var(--nvi-mc-accent);
	bottom: -8px;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
	width: 100%;
}

.nvi-mc-subnav__links a:hover,
.nvi-mc-subnav__links a:focus-visible {
	color: #fff !important;
}

.nvi-mc-subnav__links a:hover::after,
.nvi-mc-subnav__links a:focus-visible::after {
	transform: scaleX(1);
}

.nvi-mc-subnav__links .nvi-mc-subnav__home-link {
	align-items:center;
	border:1px solid rgba(235,213,171,.32);
	border-radius:999px;
	color:#fff !important;
	display:inline-flex;
	gap:7px;
	padding:8px 12px;
}

.nvi-mc-subnav__links .nvi-mc-subnav__home-link::after {
	display:none;
}

.nvi-mc-subnav__home-link span {
	color:var(--nvi-mc-accent);
	font-size:15px;
	line-height:1;
	transition:transform .2s ease;
}

.nvi-mc-subnav__home-link:hover span,
.nvi-mc-subnav__home-link:focus-visible span {
	transform:translateX(-3px);
}

.nvi-mc-subnav__toggle {
	background: transparent;
	border: 0;
	cursor: pointer;
	display: none;
	height: 42px;
	padding: 7px;
	width: 42px;
}

.nvi-mc-subnav__toggle > span {
	background: #fff;
	display: block;
	height: 1px;
	margin: 6px auto;
	transition: transform .2s ease, opacity .2s ease;
	width: 24px;
}

/* Hero. */
.nvi-mc-fragment--hero {
	background: var(--nvi-mc-paper);
}

.nvi-mc-hero {
	display: grid;
	gap: clamp(42px, 6vw, 78px);
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
	max-width: var(--nvi-mc-shell-wide);
	min-height: 600px;
	overflow: hidden;
}

.nvi-mc-hero::before {
	border: 1px solid rgba(201, 168, 106, .25);
	border-radius: 50%;
	content: "";
	height: 620px;
	left: -390px;
	position: absolute;
	top: -350px;
	width: 620px;
}

.nvi-mc-hero__copy {
	align-self: center;
	max-width: 790px;
	position: relative;
	z-index: 2;
}

.nvi-mc-kicker {
	align-items: center;
	color: var(--nvi-mc-muted);
	display: flex;
	gap: 10px;
	margin-bottom: 40px;
}

.nvi-mc-kicker span {
	background: #4c9c69;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(76, 156, 105, .12);
	height: 7px;
	width: 7px;
}

.nvi-mc-hero h1 {
	margin: 0 0 28px;
	max-width: 760px;
}

.nvi-mc-hero .nvi-mc-lead {
	color: var(--nvi-mc-muted);
	max-width: 650px;
}

.nvi-mc-proof {
	border-top: 1px solid var(--nvi-mc-line);
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 54px;
	padding-top: 24px;
}

.nvi-mc-proof span {
	color: var(--nvi-mc-muted);
	font-size: 12px;
	line-height: 1.5;
}

.nvi-mc-proof strong {
	color: var(--nvi-mc-ink);
	display: block;
	font-size: 12px;
	letter-spacing: .12em;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.nvi-mc-hero__visual {
	align-self: center;
	min-height: 480px;
	position: relative;
}

.nvi-mc-hero__visual::before {
	border: 1px solid var(--nvi-mc-accent);
	content: "";
	inset: 28px -24px -28px 24px;
	opacity: .48;
	position: absolute;
}

.nvi-mc-hero__visual img,
.nvi-mc-hero__visual video {
	height: 480px;
	object-fit: cover;
	position: relative;
	width: 100%;
	z-index: 1;
}

.nvi-mc-hero__note {
	background: var(--nvi-mc-ink);
	bottom: 0;
	color: #fff;
	display: flex;
	flex-direction: column;
	max-width: 270px;
	padding: 25px 30px;
	position: absolute;
	right: 0;
	z-index: 3;
}

.nvi-mc-hero__note small {
	color: var(--nvi-mc-accent);
	font-size: 10px;
	letter-spacing: .2em;
	margin-bottom: 7px;
}

.nvi-mc-hero__note strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	font-weight: 400;
}

.nvi-mc-ribbon {
	background: var(--nvi-mc-accent);
	overflow: hidden;
	padding: 12px 0;
}

.nvi-mc-ribbon p {
	animation: nvi-mc-ticker 24s linear infinite;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .17em;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

@keyframes nvi-mc-ticker {
	0% { transform: translateX(8%); }
	100% { transform: translateX(-8%); }
}

/* Services and process. */
.nvi-mc-services,
.nvi-mc-process,
.nvi-mc-testimonials,
.nvi-mc-partners,
.nvi-mc-faq,
.nvi-mc-policy {
	background: var(--nvi-mc-white);
}

.nvi-mc-card-grid {
	display: grid;
	gap: 1px;
	margin-top: 64px;
}

.nvi-mc-card-grid--services {
	grid-template-columns: repeat(3, 1fr);
}

.nvi-mc-number-card {
	background: var(--nvi-mc-white);
	border: 1px solid var(--nvi-mc-line);
	margin: -1px 0 0 -1px;
	display: flex;
	flex-direction: column;
	min-height: 245px;
	padding: 30px;
	transition: background .25s ease, color .25s ease, transform .25s ease;
}

.nvi-mc-number-card > span {
	color: var(--nvi-mc-accent);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 13px;
}

.nvi-mc-number-card h3 {
	font-size: 25px;
	margin: 38px 0 17px;
}

.nvi-mc-number-card p {
	color: var(--nvi-mc-muted);
	font-size: 14px;
	margin-bottom: 0;
	margin-top: auto;
}

.nvi-mc-number-card:hover {
	background: var(--nvi-mc-ink);
	color: #fff;
	transform: translateY(-5px);
	z-index: 2;
}

.nvi-mc-number-card:hover p {
	color: rgba(255, 255, 255, .62);
}

.nvi-mc-process-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 62px;
}

.nvi-mc-process-grid article {
	border: 1px solid var(--nvi-mc-line);
	display: flex;
	flex-direction: column;
	margin: -1px 0 0 -1px;
	min-height: 210px;
	padding: 33px;
}

.nvi-mc-process-grid article > span {
	color: var(--nvi-mc-accent);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 13px;
}

.nvi-mc-process-grid h3 {
	font-size: 25px;
	margin: 38px 0 15px;
}

.nvi-mc-process-grid p {
	color: var(--nvi-mc-muted);
	font-size: 14px;
	margin: 0;
	margin-top: auto;
}

/* Portfolio. */
.nvi-mc-portfolio {
	background: #ded5c8;
	max-width: none;
}

.nvi-mc-portfolio > * {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--nvi-mc-content);
}

.nvi-mc-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 45px;
}

.nvi-mc-filters button {
	background: transparent;
	border: 1px solid rgba(16, 19, 29, .25);
	border-radius: 999px;
	cursor: pointer;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .12em;
	padding: 9px 17px;
	text-transform: uppercase;
}

.nvi-mc-filters button.is-active {
	background: var(--nvi-mc-ink);
	border-color: var(--nvi-mc-ink);
	color: #fff;
}

.nvi-mc-portfolio-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 38px;
}

.nvi-mc-portfolio-card {
	background: rgba(255, 255, 255, .42);
	border: 1px solid rgba(16, 19, 29, .1);
	display: flex;
	flex-direction: column;
	transition: transform .25s ease;
}

.nvi-mc-portfolio-card[hidden] {
	display: none;
}

.nvi-mc-portfolio-card:hover {
	transform: translateY(-6px);
}

.nvi-mc-portfolio-card img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
}

.nvi-mc-portfolio-card > div {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 23px 24px 27px;
}

.nvi-mc-portfolio-card h3 {
	font-size: 26px;
	margin: 9px 0 10px;
}

.nvi-mc-portfolio-card p:not(.nvi-mc-card-kicker),
.nvi-mc-portfolio-card small {
	color: var(--nvi-mc-muted);
	font-size: 14px;
}

.nvi-mc-portfolio-card small {
	font-size: 12px;
	margin-top: auto;
	padding-top: 16px;
}

/* Calendar. */
.nvi-mc-calendar-section {
	background: var(--nvi-mc-paper);
}

.nvi-mc-calendar-wrap {
	display: grid;
	gap: 30px;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
	margin-top: 60px;
}

.nvi-mc-calendar-card,
.nvi-mc-calendar-legend {
	background: rgba(255, 255, 255, .56);
	border: 1px solid var(--nvi-mc-line);
	padding: clamp(22px, 4vw, 42px);
}

.nvi-mc-calendar-card > header {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 28px;
}

.nvi-mc-calendar-card > header h3 {
	font-size: clamp(22px, 2.6vw, 34px);
	margin: 0;
}

.nvi-mc-calendar-card > header div {
	display: flex;
	gap: 5px;
}

.nvi-mc-calendar-card > header button {
	background: transparent;
	border: 1px solid var(--nvi-mc-line);
	cursor: pointer;
	font-size: 12px;
	min-height: 35px;
	padding: 0 12px;
}

.nvi-mc-calendar-card > header button:hover,
.nvi-mc-calendar-card > header button:focus-visible {
	background: var(--nvi-mc-ink);
	color: #fff;
}

.nvi-mc-calendar-grid {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.nvi-mc-calendar-weekday {
	color: var(--nvi-mc-muted);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .08em;
	padding: 5px;
	text-align: center;
	text-transform: uppercase;
}

.nvi-mc-calendar-day {
	align-items: center;
	aspect-ratio: 1;
	background: rgba(255, 255, 255, .72);
	border: 1px solid transparent;
	display: flex;
	font-size: 13px;
	justify-content: center;
	min-height: 46px;
	position: relative;
}

.nvi-mc-calendar-day::after {
	border-radius: 50%;
	bottom: 7px;
	content: "";
	height: 5px;
	position: absolute;
	width: 5px;
}

.nvi-mc-calendar-day.is-free::after {
	background: #4c9c69;
}

.nvi-mc-calendar-day.is-partial::after {
	background: #d7a43e;
}

.nvi-mc-calendar-day.is-full::after {
	background: #a84f4f;
}

.nvi-mc-calendar-day.is-full {
	background: rgba(168, 79, 79, .08);
}

.nvi-mc-calendar-day.is-outside,
.nvi-mc-calendar-day.is-past {
	opacity: .3;
}

.nvi-mc-calendar-day.is-today {
	border-color: var(--nvi-mc-accent);
	font-weight: 800;
}

.nvi-mc-calendar-empty {
	color: var(--nvi-mc-muted);
	font-size: 12px;
	grid-column: 1 / -1;
	padding: 30px;
	text-align: center;
}

.nvi-mc-calendar-legend h3 {
	font-size: 28px;
	margin-bottom: 28px;
}

.nvi-mc-calendar-legend ul {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.nvi-mc-calendar-legend li {
	align-items: flex-start;
	border-bottom: 1px solid var(--nvi-mc-line);
	display: flex;
	gap: 13px;
	padding: 15px 0;
}

.nvi-mc-calendar-legend li > span {
	border-radius: 50%;
	flex: 0 0 8px;
	height: 8px;
	margin-top: 8px;
}

.nvi-mc-calendar-legend li > span.is-free { background: #4c9c69; }
.nvi-mc-calendar-legend li > span.is-partial { background: #d7a43e; }
.nvi-mc-calendar-legend li > span.is-full { background: #a84f4f; }

.nvi-mc-calendar-legend strong,
.nvi-mc-calendar-legend small {
	display: block;
}

.nvi-mc-calendar-legend strong {
	font-size: 14px;
}

.nvi-mc-calendar-legend small,
.nvi-mc-calendar-legend > p {
	color: var(--nvi-mc-muted);
	font-size: 13px;
}

.nvi-mc-calendar-legend .nvi-mc-button {
	margin-top: 15px;
	width: 100%;
}

/* Packages. */
.nvi-mc-packages {
	background: var(--nvi-mc-ink);
	color: #fff;
	max-width: none;
}

.nvi-mc-packages > * {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--nvi-mc-content);
}

.nvi-mc-packages .nvi-mc-section-head > p:last-child {
	color: rgba(255, 255, 255, .58);
}

.nvi-mc-packages__layout {
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(250px, .55fr) minmax(0, 1.45fr);
	margin-top: 56px;
}

.nvi-mc-packages__visual {
	background: var(--nvi-mc-paper);
	display: grid;
	min-height: 460px;
	overflow: hidden;
	place-items: center;
	position: relative;
}

.nvi-mc-packages__visual img {
	height: auto;
	max-height: 320px;
	max-width: 300px;
	object-fit: contain;
	padding: 0;
	width: 72%;
}

.nvi-mc-packages__visual::after {
	background: linear-gradient(180deg, transparent 55%, rgba(16, 19, 29, .75));
	content: "";
	inset: 0;
	position: absolute;
}

.nvi-mc-packages__visual > span {
	bottom: 28px;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .25em;
	left: 28px;
	position: absolute;
	z-index: 2;
}

.nvi-mc-package-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, 1fr);
}

.nvi-mc-package-card {
	border: 1px solid rgba(255, 255, 255, .16);
	display: flex;
	flex-direction: column;
	padding: clamp(27px, 3vw, 40px);
}

.nvi-mc-package-card.is-featured {
	background: rgba(201, 168, 106, .11);
	border-color: var(--nvi-mc-accent);
}

.nvi-mc-package-card h3 {
	font-size: 31px;
	margin: 11px 0 20px;
}

.nvi-mc-package-card > strong {
	color: var(--nvi-mc-accent);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 23px;
	font-weight: 400;
}

.nvi-mc-package-card ul {
	border-top: 1px solid rgba(255, 255, 255, .14);
	list-style: none;
	margin: 24px 0 18px;
	padding: 19px 0 0;
}

.nvi-mc-package-card li {
	color: rgba(255, 255, 255, .72);
	font-size: 13px;
	margin: 8px 0;
	padding-left: 18px;
	position: relative;
}

.nvi-mc-package-card li::before {
	color: var(--nvi-mc-accent);
	content: "✓";
	left: 0;
	position: absolute;
}

.nvi-mc-package-card > p:not(.nvi-mc-card-kicker) {
	color: rgba(255, 255, 255, .55);
	font-size: 13px;
}

.nvi-mc-package-card .nvi-mc-button {
	margin-top: auto;
}

.nvi-mc-package-card .nvi-mc-button--outline {
	border-color: rgba(255, 255, 255, .34);
	color: #fff !important;
}

.nvi-mc-package-card .nvi-mc-button--outline:hover {
	background: #fff;
	color: var(--nvi-mc-ink) !important;
}

/* About and testimonials. */
.nvi-mc-about {
	display: grid;
	gap: clamp(45px, 7vw, 95px);
	grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
}

.nvi-mc-about__visual {
	align-self: start;
	position: relative;
}

.nvi-mc-about__visual img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
}

.nvi-mc-about__visual blockquote {
	background: var(--nvi-mc-ink);
	bottom: 18px;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(17px, 2vw, 23px);
	line-height: 1.45;
	margin: 0;
	padding: 28px;
	position: absolute;
	right: 18px;
	width: min(310px, 78%);
}

.nvi-mc-about__copy {
	align-self: center;
}

.nvi-mc-about__copy h2 {
	margin-bottom: 25px;
}

.nvi-mc-about__copy .nvi-mc-lead,
.nvi-mc-richtext {
	color: var(--nvi-mc-muted);
}

.nvi-mc-highlight-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 35px;
}

.nvi-mc-highlight-grid article {
	align-items: flex-start;
	border: 1px solid var(--nvi-mc-line);
	display: flex;
	gap: 13px;
	margin: -1px 0 0 -1px;
	padding: 18px;
}

.nvi-mc-highlight-grid article > span {
	color: var(--nvi-mc-accent);
}

.nvi-mc-highlight-grid h3 {
	font-family: inherit;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0;
	margin: 3px 0 6px;
}

.nvi-mc-highlight-grid p {
	color: var(--nvi-mc-muted);
	font-size: 13px;
	margin: 0;
}

.nvi-mc-stats {
	border-top: 1px solid var(--nvi-mc-line);
	display: flex;
	gap: 40px;
	margin-top: 35px;
	padding-top: 25px;
}

.nvi-mc-stats span {
	color: var(--nvi-mc-muted);
	font-size: 12px;
	text-transform: uppercase;
}

.nvi-mc-stats strong {
	color: var(--nvi-mc-ink);
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 35px;
	font-weight: 400;
	line-height: 1;
}

.nvi-mc-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 30px;
}

.nvi-mc-socials a,
.nvi-mc-partner-card > a {
	color: var(--nvi-mc-ink) !important;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .11em;
	text-decoration: none !important;
	text-transform: uppercase;
}

.nvi-mc-testimonial-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 58px;
}

.nvi-mc-testimonial-grid article {
	border: 1px solid var(--nvi-mc-line);
	display: flex;
	flex-direction: column;
	padding: 32px;
}

.nvi-mc-testimonial-grid img {
	border-radius: 50%;
	height: 52px;
	margin-bottom: 20px;
	object-fit: cover;
	width: 52px;
}

.nvi-mc-stars {
	color: var(--nvi-mc-accent);
	font-size: 12px;
	letter-spacing: .18em;
}

.nvi-mc-testimonial-grid blockquote {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	line-height: 1.55;
	margin: 24px 0 32px;
}

.nvi-mc-testimonial-grid footer strong,
.nvi-mc-testimonial-grid footer span {
	display: block;
}

.nvi-mc-testimonial-grid footer strong {
	font-size: 13px;
	text-transform: uppercase;
}

.nvi-mc-testimonial-grid footer span {
	color: var(--nvi-mc-muted);
	font-size: 12px;
}

/* Partners. */
.nvi-mc-partner-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 58px;
}

.nvi-mc-partner-card {
	border: 1px solid var(--nvi-mc-line);
	display: flex;
	flex-direction: column;
	padding: 30px;
}

.nvi-mc-partner-card > img,
.nvi-mc-partner-card__initial {
	aspect-ratio: 1;
	margin-bottom: 25px;
	object-fit: cover;
	width: 100%;
}

.nvi-mc-partner-card__initial {
	align-items: center;
	background: var(--nvi-mc-ink);
	color: var(--nvi-mc-accent);
	display: flex;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(60px, 8vw, 110px);
	justify-content: center;
}

.nvi-mc-partner-card h3 {
	font-size: 27px;
	margin: 8px 0 14px;
}

.nvi-mc-partner-card > p:not(.nvi-mc-card-kicker),
.nvi-mc-partner-facts {
	color: var(--nvi-mc-muted);
	font-size: 13px;
}

.nvi-mc-partner-facts {
	border-top: 1px solid var(--nvi-mc-line);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 23px 0;
	padding-top: 18px;
}

.nvi-mc-empty {
	border: 1px dashed rgba(16, 19, 29, .24);
	margin-top: 55px;
	padding: 65px 25px;
	text-align: center;
}

.nvi-mc-empty > span {
	color: var(--nvi-mc-accent);
	font-size: 28px;
}

.nvi-mc-empty h3 {
	margin: 14px 0 10px;
}

.nvi-mc-empty p {
	color: var(--nvi-mc-muted);
}

/* Partner application. */
.nvi-mc-partner-form-section {
	background: var(--nvi-mc-paper);
}

.nvi-mc-form {
	background: rgba(255, 255, 255, .57);
	border: 1px solid var(--nvi-mc-line);
	margin-top: 55px;
	padding: clamp(24px, 5vw, 58px);
	position: relative;
}

.nvi-mc-form-grid {
	display: grid;
	gap: 22px 28px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nvi-mc-form label:not(.nvi-mc-consent) {
	color: var(--nvi-mc-ink);
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.nvi-mc-form .is-full {
	grid-column: 1 / -1;
}

.nvi-mc-form input:not([type="checkbox"]),
.nvi-mc-form select,
.nvi-mc-form textarea {
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(16, 19, 29, .3);
	border-radius: 0;
	color: var(--nvi-mc-ink);
	display: block;
	font-size: 14px;
	margin-top: 7px;
	min-height: 46px;
	outline: none;
	padding: 8px 0;
	width: 100%;
}

.nvi-mc-form textarea {
	min-height: 105px;
	resize: vertical;
}

.nvi-mc-form input:focus,
.nvi-mc-form select:focus,
.nvi-mc-form textarea:focus {
	border-color: var(--nvi-mc-accent);
}

.nvi-mc-consent {
	align-items: flex-start;
	display: flex;
	font-size: 12px;
	gap: 10px;
}

.nvi-mc-consent input {
	margin-top: 5px;
}

.nvi-mc-form > .nvi-mc-button {
	margin-top: 35px;
}

.nvi-mc-form-note,
.nvi-mc-form-status {
	color: var(--nvi-mc-muted);
	font-size: 13px;
	margin: 14px 0 0;
}

.nvi-mc-form-status.is-error { color: #9c3535; }
.nvi-mc-form-status.is-success { color: #267744; }

.nvi-mc-honeypot {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	top: auto;
	width: 1px;
}

/* FAQ and policies. */
.nvi-mc-faq-list {
	border-top: 1px solid var(--nvi-mc-line);
	margin-top: 55px;
}

.nvi-mc-faq-list details {
	border-bottom: 1px solid var(--nvi-mc-line);
}

.nvi-mc-faq-list summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(18px, 2vw, 25px);
	gap: 20px;
	grid-template-columns: 35px 1fr 24px;
	list-style: none;
	padding: 27px 0;
}

.nvi-mc-faq-list summary::-webkit-details-marker {
	display: none;
}

.nvi-mc-faq-list summary span {
	color: var(--nvi-mc-accent);
	font-family: inherit;
	font-size: 12px;
}

.nvi-mc-faq-list summary i {
	font-family: Arial, sans-serif;
	font-style: normal;
	font-weight: 300;
	transition: transform .2s ease;
}

.nvi-mc-faq-list details[open] summary i {
	transform: rotate(45deg);
}

.nvi-mc-faq-list details > div {
	color: var(--nvi-mc-muted);
	max-width: 780px;
	padding: 0 0 27px 55px;
}

.nvi-mc-policy-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 58px;
}

.nvi-mc-policy-grid article {
	border: 1px solid var(--nvi-mc-line);
	margin: -1px 0 0 -1px;
	padding: clamp(25px, 4vw, 43px);
}

.nvi-mc-policy-grid h2 {
	font-size: 28px;
	margin-bottom: 22px;
}

.nvi-mc-policy-grid article > div {
	color: var(--nvi-mc-muted);
	font-size: 15px;
}

/* Android app and closing CTA. */
.nvi-mc-app {
	align-items: center;
	background: var(--nvi-mc-ink);
	color: #fff;
	display: grid;
	gap: 70px;
	grid-template-columns: 1fr 340px;
	max-width: none;
	overflow: hidden;
}

.nvi-mc-app::before {
	border: 1px solid rgba(201, 168, 106, .2);
	border-radius: 50%;
	content: "";
	height: 620px;
	position: absolute;
	right: -220px;
	top: -230px;
	width: 620px;
}

.nvi-mc-app__copy {
	justify-self: end;
	max-width: 760px;
	position: relative;
	z-index: 2;
}

.nvi-mc-app__copy > p:not(.nvi-mc-eyebrow) {
	color: rgba(255, 255, 255, .6);
	max-width: 650px;
}

.nvi-mc-app__copy .nvi-mc-button {
	margin-top: 25px;
}

.nvi-mc-app__copy > small {
	color: rgba(255, 255, 255, .45);
	display: block;
	font-size: 11px;
	letter-spacing: .12em;
	margin-top: 14px;
	text-transform: uppercase;
}

.nvi-mc-app__phone {
	background: #06070b;
	border: 6px solid #2c2f37;
	border-radius: 42px;
	box-shadow: 0 45px 100px rgba(0, 0, 0, .45);
	height: 550px;
	padding: 10px;
	position: relative;
	transform: rotate(5deg) translateY(65px);
	width: 285px;
	z-index: 2;
}

.nvi-mc-app__phone > span {
	background: #2c2f37;
	border-radius: 0 0 10px 10px;
	height: 18px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 90px;
	z-index: 2;
}

.nvi-mc-app__phone > div {
	align-items: center;
	background: radial-gradient(circle at 70% 20%, rgba(201, 168, 106, .22), transparent 35%), var(--nvi-mc-paper);
	border-radius: 30px;
	color: var(--nvi-mc-ink);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	padding: 30px;
	text-align: center;
}

.nvi-mc-app__phone small {
	font-size: 10px;
	letter-spacing: .18em;
}

.nvi-mc-app__phone strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.15;
	margin: 35px 0 15px;
}

.nvi-mc-app__phone p {
	color: var(--nvi-mc-muted);
	font-size: 13px;
}

.nvi-mc-app__phone i {
	align-items: center;
	background: var(--nvi-mc-accent);
	border-radius: 50%;
	display: flex;
	font-style: normal;
	height: 54px;
	justify-content: center;
	margin-top: 28px;
	width: 54px;
}

.nvi-mc-cta {
	align-items: center;
	background: var(--nvi-mc-accent);
	display: grid;
	gap: 50px;
	grid-template-columns: 1fr auto;
	max-width: none;
}

.nvi-mc-cta > div {
	max-width: 850px;
}

.nvi-mc-cta .nvi-mc-eyebrow {
	color: rgba(16, 19, 29, .62);
}

.nvi-mc-cta h2 {
	font-size: clamp(2.6rem, 5vw, 5rem);
	margin-bottom: 18px;
}

.nvi-mc-cta > div > p:last-child {
	max-width: 650px;
}

@media (max-width: 1180px) {
	.nvi-mc-subnav {
		gap: 17px;
	}

	.nvi-mc-subnav__links {
		gap: 14px;
	}

	.nvi-mc-partner-grid,
	.nvi-mc-testimonial-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1024px) {
	.nvi-mc-subnav {
		grid-template-columns: 1fr auto;
	}

	.nvi-mc-subnav > .nvi-mc-button {
		display: none;
	}

	.nvi-mc-subnav__toggle {
		display: block;
	}

	.nvi-mc-subnav__links {
		background: var(--nvi-mc-ink);
		border-top: 1px solid rgba(255, 255, 255, .13);
		display: none;
		flex-direction: column;
		grid-column: 1 / -1;
		padding: 18px 0 22px;
	}

	.nvi-mc-subnav__links .nvi-mc-subnav__home-link {
		justify-content:center;
		margin-bottom:6px;
		min-height:44px;
		width:min(100%,280px);
	}

	.nvi-mc-subnav.is-open .nvi-mc-subnav__links {
		display: flex;
	}

	.nvi-mc-subnav.is-open .nvi-mc-subnav__toggle > span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.nvi-mc-subnav.is-open .nvi-mc-subnav__toggle > span:nth-child(2) {
		opacity: 0;
	}

	.nvi-mc-subnav.is-open .nvi-mc-subnav__toggle > span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.nvi-mc-hero,
	.nvi-mc-about,
	.nvi-mc-app,
	.nvi-mc-calendar-wrap,
	.nvi-mc-packages__layout {
		grid-template-columns: 1fr;
	}

	.nvi-mc-hero {
		min-height: 0;
	}

	.nvi-mc-hero__visual {
		min-height: 460px;
	}

	.nvi-mc-hero__visual img,
	.nvi-mc-hero__visual video {
		height: 460px;
	}

	.nvi-mc-about__visual {
		max-width: 600px;
	}

	.nvi-mc-about__copy {
		padding-top: 20px;
	}

	.nvi-mc-packages__visual {
		justify-self: center;
		max-width: 440px;
		min-height: 380px;
		width: 100%;
	}

	.nvi-mc-app {
		justify-items: center;
		text-align: center;
	}

	.nvi-mc-app__copy {
		justify-self: center;
	}

	.nvi-mc-app__copy > p:not(.nvi-mc-eyebrow) {
		margin-left: auto;
		margin-right: auto;
	}

	.nvi-mc-app__phone {
		margin-top: 20px;
		transform: rotate(2deg);
	}

	.nvi-mc-portfolio-grid,
	.nvi-mc-process-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 680px) {
	.nvi-mc-section {
		padding: 52px 18px;
	}

	.nvi-mc h1 {
		font-size: clamp(2.7rem, 13vw, 4.2rem);
	}

	.nvi-mc h2 {
		font-size: clamp(2.15rem, 10.5vw, 3.35rem);
	}

	.nvi-mc-actions,
	.nvi-mc-cta {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.nvi-mc-actions {
		flex-direction: column;
	}

	.nvi-mc-button {
		width: 100%;
	}

	.nvi-mc-proof,
	.nvi-mc-card-grid--services,
	.nvi-mc-portfolio-grid,
	.nvi-mc-process-grid,
	.nvi-mc-package-grid,
	.nvi-mc-highlight-grid,
	.nvi-mc-testimonial-grid,
	.nvi-mc-partner-grid,
	.nvi-mc-form-grid,
	.nvi-mc-policy-grid {
		grid-template-columns: 1fr;
	}

	.nvi-mc-hero__visual,
	.nvi-mc-hero__visual img,
	.nvi-mc-hero__visual video {
		height: 430px;
		min-height: 430px;
	}

	.nvi-mc-hero__visual::before {
		inset: 15px -8px -15px 8px;
	}

	.nvi-mc-hero__note {
		bottom: 0;
		right: 0;
	}

	.nvi-mc-calendar-card > header {
		align-items: flex-start;
		flex-direction: column;
	}

	.nvi-mc-calendar-day {
		min-height: 35px;
	}

	.nvi-mc-calendar-day::after {
		bottom: 4px;
	}

	.nvi-mc-packages__visual {
		min-height: 320px;
	}

	.nvi-mc-packages__visual img {
		max-height: 260px;
		max-width: 260px;
		width: 68%;
	}

	.nvi-mc-about__visual blockquote {
		bottom: auto;
		position: relative;
		right: auto;
		width: 100%;
	}

	.nvi-mc-faq-list details > div {
		padding-left: 0;
	}

	.nvi-mc-app__phone {
		height: 480px;
		transform: none;
		width: 250px;
	}

	.nvi-mc-cta {
		text-align: center;
	}
}

@media (max-width: 420px) {
	.nvi-mc-subnav {
		padding-left: 16px;
		padding-right: 16px;
	}

	.nvi-mc-proof {
		grid-template-columns: 1fr;
	}

	.nvi-mc-calendar-card,
	.nvi-mc-calendar-legend {
		padding: 18px;
	}

	.nvi-mc-calendar-card > header div {
		flex-wrap: wrap;
	}

	.nvi-mc-calendar-day {
		font-size: 11px;
		min-height: 31px;
	}

	.nvi-mc-calendar-grid {
		gap: 4px;
	}

	.nvi-mc-stats {
		flex-direction: column;
		gap: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nvi-mc *,
	.nvi-mc *::before,
	.nvi-mc *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}

	.nvi-mc-ribbon p {
		animation: none;
	}
}

/* v1.5.7 — compact spacing, square frames, and matching motion. */
.nvi-mc {
	--nvi-mc-frame-radius:10px;
	--nvi-mc-space-y:clamp(54px,5.6vw,78px);
}
.nvi-mc h1 { font-size:clamp(2.75rem,5.1vw,5rem); }
.nvi-mc h2 { font-size:clamp(2.15rem,3.6vw,3.65rem); }
.nvi-mc-section-action { margin-top:42px; }
.nvi-mc-hero {
	gap:clamp(34px,5vw,62px);
	min-height:520px;
}
.nvi-mc-kicker { margin-bottom:28px; }
.nvi-mc-proof { margin-top:42px; }
.nvi-mc-hero__visual { min-height:420px; }
.nvi-mc-hero__visual img,
.nvi-mc-hero__visual video { height:420px; }
.nvi-mc-card-grid,
.nvi-mc-process-grid { margin-top:48px; }
.nvi-mc-number-card {
	min-height:215px;
	padding:26px;
}
.nvi-mc-number-card h3,
.nvi-mc-process-grid h3 { margin-top:30px; }
.nvi-mc-process-grid article {
	min-height:190px;
	padding:28px;
}
.nvi-mc-filters { margin-top:34px; }
.nvi-mc-portfolio-grid { margin-top:30px; }
.nvi-mc-calendar-wrap,
.nvi-mc-packages__layout,
.nvi-mc-testimonial-grid,
.nvi-mc-partner-grid,
.nvi-mc-form,
.nvi-mc-faq-list,
.nvi-mc-policy-grid { margin-top:44px; }
.nvi-mc-packages__visual { min-height:400px; }
.nvi-mc-app { gap:50px; }
.nvi-mc-app__phone {
	height:500px;
	transform:rotate(3deg) translateY(48px);
	width:270px;
}

.nvi-mc-subnav__links .nvi-mc-subnav__home-link,
.nvi-mc-filters button { border-radius:6px; }
.nvi-mc-hero__visual,
.nvi-mc-hero__visual::before,
.nvi-mc-hero__visual img,
.nvi-mc-hero__visual video,
.nvi-mc-number-card,
.nvi-mc-process-grid article,
.nvi-mc-portfolio-card,
.nvi-mc-calendar-card,
.nvi-mc-calendar-legend,
.nvi-mc-packages__visual,
.nvi-mc-package-card,
.nvi-mc-about__visual img,
.nvi-mc-about__visual blockquote,
.nvi-mc-highlight-grid article,
.nvi-mc-testimonial-grid article,
.nvi-mc-partner-card,
.nvi-mc-partner-card > img,
.nvi-mc-partner-card__initial,
.nvi-mc-empty,
.nvi-mc-form,
.nvi-mc-policy-grid article,
.nvi-mc-app__phone,
.nvi-mc-app__phone > div {
	border-radius:var(--nvi-mc-frame-radius);
}
.nvi-mc-hero::before,
.nvi-mc-app::before {
	animation:nvi-mc-square-drift 8s ease-in-out infinite alternate;
	border-radius:18px;
}
.nvi-mc-app__phone > span { border-radius:0 0 6px 6px; }

.nvi-mc-number-card,
.nvi-mc-process-grid article,
.nvi-mc-portfolio-card,
.nvi-mc-calendar-card,
.nvi-mc-calendar-legend,
.nvi-mc-package-card,
.nvi-mc-highlight-grid article,
.nvi-mc-testimonial-grid article,
.nvi-mc-partner-card,
.nvi-mc-policy-grid article {
	transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s cubic-bezier(.2,.75,.25,1);
}
.nvi-mc-process-grid article:hover,
.nvi-mc-portfolio-card:hover,
.nvi-mc-calendar-card:hover,
.nvi-mc-calendar-legend:hover,
.nvi-mc-package-card:hover,
.nvi-mc-highlight-grid article:hover,
.nvi-mc-testimonial-grid article:hover,
.nvi-mc-partner-card:hover,
.nvi-mc-policy-grid article:hover {
	border-color:rgba(201,168,106,.55);
	box-shadow:0 20px 44px rgba(16,19,29,.1);
	transform:translateY(-5px);
}
.nvi-mc-faq-list details[open] > div { animation:nvi-mc-detail-open .35s ease both; }

@keyframes nvi-mc-square-drift {
	from { opacity:.45; transform:translate3d(0,0,0) rotate(0deg); }
	to { opacity:.8; transform:translate3d(24px,18px,0) rotate(5deg); }
}
@keyframes nvi-mc-detail-open {
	from { opacity:0; transform:translateY(-8px); }
	to { opacity:1; transform:none; }
}

@media (max-width: 767px) {
	.nvi-mc { --nvi-mc-space-y:52px; }
	.nvi-mc-section { padding-inline:18px; }
	.nvi-mc-hero {
		min-height:0;
		padding-block:56px;
	}
	.nvi-mc-hero__visual { min-height:360px; }
	.nvi-mc-hero__visual img,
	.nvi-mc-hero__visual video { height:360px; }
	.nvi-mc-card-grid,
	.nvi-mc-process-grid,
	.nvi-mc-calendar-wrap,
	.nvi-mc-packages__layout,
	.nvi-mc-testimonial-grid,
	.nvi-mc-partner-grid,
	.nvi-mc-form,
	.nvi-mc-faq-list,
	.nvi-mc-policy-grid { margin-top:34px; }
	.nvi-mc-app__phone {
		height:440px;
		transform:none;
		width:240px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nvi-mc-hero::before,
	.nvi-mc-app::before,
	.nvi-mc-faq-list details[open] > div { animation:none; }
}

/* v1.6.0 — MC typography, tactile cards, and uninterrupted navigation motion. */
.nvi-mc {
  --nvi-mc-frame-radius:14px;
  --nvi-mc-space-y:clamp(60px,6vw,88px);
  -webkit-font-smoothing:antialiased;
}
.nvi-mc h1,.nvi-mc h2,.nvi-mc h3 { line-height:1.14; text-wrap:balance; }
.nvi-mc-hero { gap:clamp(36px,5vw,68px); }
.nvi-mc-hero__visual img,.nvi-mc-hero__visual video { object-position:center; box-shadow:0 24px 60px rgba(16,19,29,.14); }
.nvi-mc-hero__note { backdrop-filter:blur(14px); border:1px solid rgba(201,168,106,.3); box-shadow:0 14px 40px rgba(16,19,29,.12); }
.nvi-mc-hero__note small { font-size:.75rem; letter-spacing:.12em; }
.nvi-mc-eyebrow,.nvi-mc-card-kicker,.nvi-mc-kicker { font-size:.75rem; letter-spacing:.13em; }
.nvi-mc-proof span { font-size:.875rem; line-height:1.65; }
.nvi-mc-subnav__links a { font-size:.875rem; letter-spacing:.025em; }
.nvi-mc-subnav__links { gap:clamp(12px,1.4vw,22px); }
.nvi-mc-filters button { min-height:44px; font-size:.875rem; padding-inline:18px; }
.nvi-mc-button { border-radius:8px; font-size:.875rem; min-height:48px; line-height:1.4; letter-spacing:.05em; transition:transform 280ms var(--arsyi-ease),box-shadow 300ms ease,background-position 650ms ease,background-color 220ms ease,color 220ms ease,border-color 220ms ease; }
.nvi-mc-number-card,.nvi-mc-process-grid article,.nvi-mc-portfolio-card,.nvi-mc-calendar-card,
.nvi-mc-calendar-legend,.nvi-mc-package-card,.nvi-mc-highlight-grid article,.nvi-mc-testimonial-grid article,
.nvi-mc-partner-card,.nvi-mc-policy-grid article {
  transition:transform 500ms var(--arsyi-ease),box-shadow 400ms ease,border-color 300ms ease,background-color 300ms ease,color 300ms ease;
}
.nvi-mc-number-card p,.nvi-mc-process-grid p,.nvi-mc-portfolio-card p,
.nvi-mc-package-card p,.nvi-mc-package-card li,.nvi-mc-partner-card p,
.nvi-mc-faq-list details > div { font-size:1rem; line-height:1.75; }
.nvi-mc-portfolio-card { overflow:hidden; box-shadow:0 5px 18px rgba(16,19,29,.04); }
.nvi-mc-portfolio-card img { transition:transform 850ms var(--arsyi-ease); }
.nvi-mc-hero::before,.nvi-mc-app::before { animation:none; }
.nvi-mc-calendar-card { box-shadow:0 8px 32px rgba(16,19,29,.05); }
.nvi-mc-calendar-card:hover,.nvi-mc-calendar-legend:hover { transform:none; }
.nvi-mc-calendar-card > header button { min-width:44px; min-height:44px; }
.nvi-mc-calendar-day { font-size:.875rem; font-variant-numeric:tabular-nums; transition:background-color 220ms ease,border-color 220ms ease; }
.nvi-mc-faq-list summary { min-height:64px; font-size:1rem; line-height:1.65; }
.nvi-mc-faq-list summary i { transition:transform 380ms var(--arsyi-ease); }
.nvi-mc-faq-list details[open] > div { animation:none; }
.nvi-mc-form :is(input,select,textarea) { font-size:1rem; }
@media (max-width:1280px) {
  .nvi-mc-subnav { grid-template-columns:1fr auto; }
  .nvi-mc-subnav > .nvi-mc-button { display:none; }
  .nvi-mc-subnav__toggle { display:block; }
  .nvi-mc-subnav__links {
    background:var(--nvi-mc-ink);
    border-top:1px solid rgba(255,255,255,.13);
    position:absolute;
    top:100%; left:0; right:0;
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:20px;
    max-height:calc(100svh - 76px);
    overflow:auto;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    box-shadow:0 24px 45px rgba(0,0,0,.2);
    transition:opacity 300ms ease,transform 420ms var(--arsyi-ease),visibility 300ms;
  }
  .nvi-mc-subnav.is-open .nvi-mc-subnav__links { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  .nvi-mc-subnav__links a { display:inline-flex; align-items:center; min-height:44px; }
  .nvi-mc-subnav.is-open .nvi-mc-subnav__toggle > span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .nvi-mc-subnav.is-open .nvi-mc-subnav__toggle > span:nth-child(2) { opacity:0; }
  .nvi-mc-subnav.is-open .nvi-mc-subnav__toggle > span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
}
@media (max-width:767px) {
  .nvi-mc-hero__visual,.nvi-mc-hero__visual img,.nvi-mc-hero__visual video { height:auto; min-height:0; }
  .nvi-mc-hero__visual img,.nvi-mc-hero__visual video { aspect-ratio:4/5; width:100%; object-fit:cover; }
  .nvi-mc-hero__note { max-width:88%; }
  .nvi-mc-calendar-day { font-size:.875rem; min-height:36px; }
  .nvi-mc-actions { width:100%; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .nvi-mc-portfolio-card:hover img { transform:scale(1.035); }
}
@media (hover:none),(prefers-reduced-motion:reduce) {
  .nvi-mc-number-card:hover,.nvi-mc-process-grid article:hover,.nvi-mc-portfolio-card:hover,
  .nvi-mc-calendar-card:hover,.nvi-mc-calendar-legend:hover,.nvi-mc-package-card:hover,
  .nvi-mc-highlight-grid article:hover,.nvi-mc-testimonial-grid article:hover,
  .nvi-mc-partner-card:hover,.nvi-mc-policy-grid article:hover,.nvi-mc-portfolio-card:hover img { transform:none; }
}
