/* Readability pass: keep the editorial scale without forcing headings into cramped lines. */
:where(.site, .iv-site) h1,
:where(.site, .iv-site) h2,
:where(.site, .iv-site) h3 {
	text-wrap: balance;
}

.site > section:first-of-type h1 {
	line-height: .97;
	letter-spacing: -.052em;
}

.site section h2 {
	line-height: 1;
}

.inovarka-form__consent a {
	color: #d8cfc2;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Keep route-specific editorial layouts on the same horizontal rhythm. */
.iv-projects-page,
.iv-project-single,
.iv-contracts-page {
	--page: var(--iv-page);
}

/* Advertising diagnosis: long first-panel copy must stay inside its column. */
._diagnosisReport_4w5ww_578 {
	min-width: 0;
	grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
}

._reportCopy_4w5ww_602 {
	min-width: 0;
}

._reportCopy_4w5ww_602 h3 {
	overflow-wrap: anywhere;
	margin-top: clamp(48px, 6vw, 90px);
	font-size: clamp(38px, 4vw, 64px);
	letter-spacing: -.055em;
	line-height: .98;
}

body.admin-bar .iv-mega {
	top: 122px;
}

.iv-about-story,
.iv-team-story {
	padding: clamp(90px, 12vw, 175px) var(--iv-page);
}

.iv-about-story {
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	gap: clamp(55px, 9vw, 150px);
	color: #1f1f1f;
	background: #d8cfc2;
}

.iv-about-story span,
.iv-team-head > span {
	color: #3a4633;
	font-family: var(--font-geist-mono), monospace;
	font-size: 10px;
	letter-spacing: .13em;
}

.iv-about-story h2,
.iv-team-head h2 {
	margin-top: 30px;
	font-size: clamp(3.5rem, 6.4vw, 7rem);
	line-height: .94;
	letter-spacing: -.06em;
}

.iv-about-story h2 em,
.iv-team-head h2 em {
	color: #6f7869;
	font-style: normal;
	font-weight: 400;
}

.iv-about-story > div:last-child {
	align-self: end;
}

.iv-about-story p {
	margin-top: 22px;
	color: #4f554d;
	font-size: 1.04rem;
	line-height: 1.78;
}

.iv-team-story {
	background:
		radial-gradient(circle at 82% 18%, rgba(58, 70, 51, .32), transparent 28rem),
		#121411;
}

.iv-team-head {
	display: grid;
	grid-template-columns: 1fr .55fr;
	gap: 42px 90px;
	align-items: end;
}

.iv-team-head > span {
	grid-column: 1 / -1;
	color: #d8cfc2;
}

.iv-team-head h2 {
	color: #faf9f6;
}

.iv-team-head p {
	color: #aeb3aa;
	line-height: 1.7;
}

.iv-team-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 16px;
	margin-top: 70px;
}

.iv-team-card {
	grid-column: span 4;
	overflow: hidden;
	border: 1px solid rgba(216, 207, 194, .16);
	border-radius: 30px;
	background: #191b19;
}

.iv-team-card:nth-child(4),
.iv-team-card:nth-child(5) {
	grid-column: span 6;
}

.iv-team-photo {
	position: relative;
	display: grid;
	min-height: 390px;
	overflow: hidden;
	place-items: center;
	background:
		radial-gradient(circle at 50% 42%, rgba(216,207,194,.22), transparent 20%),
		linear-gradient(145deg, #3a4633, #171917);
}

.iv-team-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.iv-team-photo > span {
	color: #faf9f6;
	font-size: 8rem;
	font-weight: 650;
	letter-spacing: -.08em;
}

.iv-team-photo > i {
	position: absolute;
	right: 18px;
	bottom: 18px;
	padding: 8px 11px;
	border: 1px solid rgba(216,207,194,.2);
	border-radius: 99px;
	color: #d8cfc2;
	font-family: var(--font-geist-mono), monospace;
	font-size: 8px;
	font-style: normal;
}

.iv-team-card > div:last-child {
	padding: 28px;
}

.iv-team-card > div:last-child > span {
	color: #9fa49b;
	font-family: var(--font-geist-mono), monospace;
	font-size: 9px;
	letter-spacing: .1em;
}

.iv-team-card h3 {
	margin-top: 45px;
	color: #faf9f6;
	font-size: clamp(2rem, 3.6vw, 4.2rem);
	line-height: 1;
	letter-spacing: -.05em;
}

.iv-team-card > div:last-child > div {
	margin-top: 17px;
	color: #aeb3aa;
	line-height: 1.65;
}

.iv-team-admin-note {
	margin-top: 28px;
	color: #7f857a;
	font-size: 12px;
}

@media (max-width: 920px) {
	.iv-about-story,
	.iv-team-head {
		grid-template-columns: 1fr;
	}
	.iv-team-head > span {
		grid-column: auto;
	}
	.iv-team-card,
	.iv-team-card:nth-child(4),
	.iv-team-card:nth-child(5) {
		grid-column: span 6;
	}
}

@media (max-width: 620px) {
	.iv-team-card,
	.iv-team-card:nth-child(4),
	.iv-team-card:nth-child(5) {
		grid-column: 1 / -1;
	}
	.iv-team-photo {
		min-height: 330px;
	}
}

/* Campaign hub. */
.iv-campaigns-page { background: #121411; }
.iv-campaign-hero {
	display: grid;
	min-height: 760px;
	grid-template-columns: 1.08fr .62fr;
	align-items: center;
	gap: 70px;
	padding: 165px var(--iv-page) 95px;
	border-bottom: 1px solid rgba(216,207,194,.15);
}
.iv-campaign-hero h1 { max-width: 1000px; margin-top: 55px; font-size: clamp(4.2rem,8vw,9rem); line-height: .92; letter-spacing: -.07em; }
.iv-campaign-hero h1 em { display: block; color: #7f8978; font-style: normal; }
.iv-campaign-hero p { max-width: 700px; margin-top: 28px; color: #aeb3aa; font-size: 1.08rem; line-height: 1.7; }
.iv-campaign-pulse { position: relative; min-height: 460px; }
.iv-campaign-pulse::before,.iv-campaign-pulse i { position:absolute;inset:13%;border:1px solid rgba(216,207,194,.16);border-radius:50%;content:"";animation:iv-project-orbit 15s linear infinite; }
.iv-campaign-pulse i:first-child { inset:27%;animation-direction:reverse; }
.iv-campaign-pulse i:nth-child(2) { inset:40%;animation-duration:8s; }
.iv-campaign-pulse span { position:absolute;padding:10px 13px;border:1px solid rgba(216,207,194,.2);border-radius:99px;color:#d8cfc2;font-family:var(--font-geist-mono),monospace;font-size:9px;background:#151715; }
.iv-campaign-pulse span:first-of-type { top:16%;left:9%; }.iv-campaign-pulse span:nth-of-type(2){right:7%;bottom:16%}
.iv-campaign-pulse b { position:absolute;inset:0;display:grid;place-items:center;font-size:6rem;color:#faf9f6; }
.iv-campaign-list { display:grid;gap:24px;padding:clamp(90px,10vw,160px) var(--iv-page); }
.iv-campaign-card { display:grid;grid-template-columns:.42fr 1fr .75fr;gap:1px;min-height:700px;overflow:hidden;border:1px solid rgba(216,207,194,.16);border-radius:34px;background:rgba(216,207,194,.15);scroll-margin-top:120px; }
.iv-campaign-card > * { background:#191b19; }
.iv-campaign-number,.iv-campaign-copy { padding:clamp(28px,4vw,55px); }
.iv-campaign-number { display:flex;flex-direction:column; }
.iv-campaign-number > span,.iv-campaign-copy > span { color:#d8cfc2;font-family:var(--font-geist-mono),monospace;font-size:9px;letter-spacing:.12em; }
.iv-campaign-number strong { margin-top:auto;font-size:clamp(8rem,14vw,17rem);line-height:.7;letter-spacing:-.1em;color:#d8cfc2; }
.iv-campaign-number small { margin-top:25px;color:#92988e;font-family:var(--font-geist-mono),monospace; }
.iv-campaign-copy { display:flex;flex-direction:column; }
.iv-campaign-copy h2 { margin-top:65px;font-size:clamp(3rem,5.3vw,6.4rem);line-height:.94;letter-spacing:-.06em; }
.iv-campaign-copy h2 em { display:block;color:#7f8978;font-style:normal; }
.iv-campaign-copy > p { margin-top:25px;color:#aeb3aa;line-height:1.7; }
.iv-campaign-copy ul { display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:30px;padding:0;list-style:none; }
.iv-campaign-copy li { padding:13px;border:1px solid rgba(216,207,194,.13);border-radius:12px;color:#d0d2cd;font-size:12px; }
.iv-campaign-copy > small { margin-top:22px;color:#83897f;line-height:1.6; }
.iv-campaign-copy > a { display:flex;width:max-content;align-items:center;gap:25px;margin-top:auto;padding:12px 12px 12px 18px;border-radius:99px;color:#1f1f1f;background:#faf9f6;font-weight:700; }
.iv-campaign-copy > a i { display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#faf9f6;background:#3a4633;font-style:normal; }
.iv-campaign-visual { position:relative;overflow:hidden;background:linear-gradient(145deg,#3a4633,#141714); }
.iv-campaign-visual-ad i { position:absolute;left:50%;top:50%;width:55%;aspect-ratio:1;border:1px solid rgba(216,207,194,.18);border-radius:50%;transform:translate(-50%,-50%);animation:iv-project-orbit 12s linear infinite; }
.iv-campaign-visual-ad i:nth-child(2){width:75%;animation-direction:reverse}.iv-campaign-visual-ad i:nth-child(3){width:95%;animation-duration:20s}
.iv-campaign-visual-ad span { position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(transparent,#d8cfc2,transparent);animation:iv-contract-pulse 3s ease-in-out infinite; }
.iv-campaign-visual-web div { position:absolute;right:15%;left:15%;height:42%;border:1px solid rgba(216,207,194,.18);border-radius:25px;background:rgba(250,249,246,.04); }
.iv-campaign-visual-web div:first-child { top:17%;transform:translate(-7%,-5%); }.iv-campaign-visual-web div:nth-child(2){top:38%;transform:translate(7%,5%)}
.iv-campaign-visual-web span { position:absolute;right:23%;bottom:18%;left:23%;height:7px;border-radius:99px;background:#d8cfc2;box-shadow:0 0 25px rgba(216,207,194,.4); }
.iv-campaign-visual-web i { position:absolute;right:18%;bottom:15%;width:28px;height:28px;border:1px solid #d8cfc2;border-radius:50%;animation:iv-project-breathe 3s ease-in-out infinite; }
.iv-campaign-principles { padding:0 var(--iv-page) clamp(90px,10vw,160px); }
.iv-campaign-principles > div:first-child { max-width:930px; }.iv-campaign-principles > div:first-child>span { color:#d8cfc2;font-family:var(--font-geist-mono),monospace;font-size:9px; }
.iv-campaign-principles h2 { margin-top:25px;font-size:clamp(3.5rem,6.5vw,7rem);line-height:.94;letter-spacing:-.06em; }.iv-campaign-principles h2 em{color:#7f8978;font-style:normal}
.iv-campaign-principles > div:last-child { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:60px; }
.iv-campaign-principles article { min-height:260px;padding:27px;border:1px solid rgba(216,207,194,.15);border-radius:26px; }.iv-campaign-principles article span{color:#d8cfc2;font-family:var(--font-geist-mono),monospace;font-size:9px}
.iv-campaign-principles h3{margin-top:80px;font-size:2rem}.iv-campaign-principles p{margin-top:15px;color:#aeb3aa;line-height:1.6}
@media(max-width:1000px){.iv-campaign-hero,.iv-campaign-card{grid-template-columns:1fr}.iv-campaign-number{min-height:300px}.iv-campaign-visual{min-height:420px}}
@media(max-width:650px){.iv-campaign-principles>div:last-child,.iv-campaign-copy ul{grid-template-columns:1fr}.iv-campaign-pulse{min-height:340px}}

/* The same animated signature follows each service from its hero to its card. */
.iv-service-motion {
	position: relative;
	isolation: isolate;
}

.iv-service-motion::after {
	position: absolute;
	z-index: 20;
	right: 8%;
	bottom: 8%;
	left: 8%;
	height: 1px;
	content: "";
	background: linear-gradient(90deg, transparent, rgba(216,207,194,.72), transparent);
	box-shadow: 0 0 18px rgba(216,207,194,.2);
	animation: iv-service-scan 4.8s ease-in-out infinite;
	pointer-events: none;
}

.iv-service-motion-ad::after { background: linear-gradient(90deg,transparent,#d8cfc2,transparent); }
.iv-service-motion-web::after { bottom: 13%; animation-delay: -1.2s; }
.iv-service-motion-market::after { animation-delay: -2.4s; }
.iv-service-motion-social::after { bottom: 16%; animation-delay: -3.6s; }

@keyframes iv-service-scan {
	0%,100% { opacity: .2; transform: translateY(14px) scaleX(.55); }
	50% { opacity: .95; transform: translateY(-18px) scaleX(1); }
}

/* Services overview uses the exact animation DOM and CSS from each detail hero. */
._visualShell_livlx_429 {
	overflow: hidden;
}

._visualShell_livlx_429 .iv-service-animation-clone {
	width: 100%;
	height: 100%;
	min-height: 100%;
	margin: 0;
	border: 0;
	border-radius: 0 0 24px 24px;
	background-color: transparent;
}

._visualShell_livlx_429 .iv-service-animation-clone::before {
	inset: 4%;
}

@media (max-width: 1180px) {
	._visualShell_livlx_429 .iv-service-animation-clone {
		min-height: 440px;
	}
}

/* Keep the about hero compact and aligned with the other page openings. */
.iv-about-hero {
	min-height: 700px;
	align-items: center;
	padding-top: 145px;
	padding-bottom: 70px;
}

.iv-about-hero > p {
	align-self: center;
	margin-top: 75px;
	padding-bottom: 0;
}

/* Form controls: custom select and quieter option cards. */
.iv-native-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	opacity: 0 !important;
}

.iv-select {
	position: relative;
	width: 100%;
}

.iv-select-trigger {
	display: flex !important;
	width: 100%;
	min-height: 58px;
	align-items: center;
	justify-content: space-between;
	margin: 0 !important;
	padding: 0 17px !important;
	border: 1px solid rgba(216,207,194,.22) !important;
	border-radius: 14px !important;
	color: #faf9f6 !important;
	background: rgba(250,249,246,.035) !important;
	text-align: left;
}

.iv-select-trigger i {
	font-style: normal;
	transition: transform .25s;
}

.iv-select-trigger[aria-expanded="true"] {
	border-color: #d8cfc2 !important;
	box-shadow: 0 0 0 3px rgba(58,70,51,.45);
}

.iv-select-trigger.is-invalid {
	border-color: #d8cfc2 !important;
	box-shadow: 0 0 0 3px rgba(216,207,194,.16);
}

.iv-select-trigger[aria-expanded="true"] i {
	transform: rotate(180deg);
}

.iv-select-options {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	left: 0;
	z-index: 40;
	padding: 8px;
	border: 1px solid rgba(216,207,194,.25);
	border-radius: 18px;
	background: #151715;
	box-shadow: 0 22px 60px rgba(0,0,0,.45);
	max-height: min(370px, 48vh);
	overflow-y: auto;
}

.iv-select-options button {
	display: grid !important;
	width: 100%;
	grid-template-columns: 34px 1fr auto;
	align-items: center;
	gap: 11px;
	margin: 0 !important;
	padding: 14px 12px !important;
	border: 0 !important;
	border-radius: 11px !important;
	color: #faf9f6 !important;
	background: transparent !important;
	text-align: left;
}

.iv-select-options button:hover,
.iv-select-options button.is-selected {
	background: rgba(58,70,51,.5) !important;
}

.iv-select-options button > span {
	color: #92988e;
	font-family: var(--font-geist-mono), monospace;
	font-size: 9px;
}

.iv-select-options button > strong {
	font-weight: 520;
}

.iv-select-options button > i {
	color: #d8cfc2;
	font-style: normal;
}

/* Readable native fallback if JavaScript is unavailable. */
.iv-brand-tool select {
	color-scheme: dark;
}

.iv-brand-tool select option {
	color: #faf9f6;
	background: #1f1f1f;
}

.inovarka-form__choices {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.inovarka-form__choices label span {
	min-height: 48px;
	justify-content: flex-start;
	padding: 11px 13px;
	border-radius: 10px;
	text-align: left;
}

.inovarka-form__choices input:checked + span {
	color: #faf9f6;
	border-color: #d8cfc2;
	background: #3a4633;
	box-shadow: inset 4px 0 #d8cfc2;
}

/* Contact decision desk. */
.iv-contact-decision {
	padding: clamp(90px, 11vw, 170px) var(--iv-page);
	background: #151715;
}

.iv-contact-decision-head {
	display: grid;
	grid-template-columns: 1fr .55fr;
	gap: 30px 90px;
	align-items: end;
}

.iv-contact-decision-head > span {
	grid-column: 1 / -1;
	color: #d8cfc2;
	font-family: var(--font-geist-mono), monospace;
	font-size: 10px;
	letter-spacing: .13em;
}

.iv-contact-decision-head h2 {
	color: #faf9f6;
	font-size: clamp(3.4rem, 6.4vw, 7rem);
	line-height: .95;
	letter-spacing: -.06em;
}

.iv-contact-decision-head h2 em {
	display: block;
	color: #7f8978;
	font-style: normal;
}

.iv-contact-decision-head p {
	color: #aeb3aa;
	line-height: 1.7;
}

.iv-contact-channel-grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 14px;
	margin-top: 70px;
}

.iv-contact-primary,
.iv-contact-secondary > * {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(216,207,194,.16);
	border-radius: 30px;
	color: #faf9f6;
	background: #1f1f1f;
}

.iv-contact-primary {
	display: flex;
	min-height: 650px;
	flex-direction: column;
	padding: clamp(30px, 4vw, 58px);
	background:
		radial-gradient(circle at 78% 72%, rgba(216,207,194,.15), transparent 18rem),
		linear-gradient(145deg, #3a4633, #171917 72%);
}

.iv-contact-primary > div:first-child {
	display: flex;
	justify-content: space-between;
	color: #d8cfc2;
	font-family: var(--font-geist-mono), monospace;
	font-size: 9px;
	letter-spacing: .12em;
}

.iv-contact-primary h3 {
	margin-top: 110px;
	font-size: clamp(3.5rem, 6.3vw, 7.4rem);
	line-height: .9;
	letter-spacing: -.065em;
}

.iv-contact-primary > p {
	max-width: 670px;
	margin-top: 27px;
	color: #d1d1ca;
	line-height: 1.7;
}

.iv-contact-primary > b {
	display: flex;
	width: max-content;
	align-items: center;
	gap: 22px;
	margin-top: auto;
	padding: 11px 11px 11px 18px;
	border-radius: 99px;
	color: #1f1f1f;
	background: #faf9f6;
}

.iv-contact-primary > b i {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border-radius: 50%;
	color: #faf9f6;
	background: #3a4633;
	font-style: normal;
}

.iv-contact-signal {
	position: absolute;
	right: -80px;
	bottom: -80px;
	width: 340px;
	height: 340px;
	border: 1px solid rgba(216,207,194,.12);
	border-radius: 50%;
}

.iv-contact-signal span {
	position: absolute;
	inset: 12%;
	border: 1px solid rgba(216,207,194,.13);
	border-radius: 50%;
	animation: iv-contact-ring 5s ease-out infinite;
}
.iv-contact-signal span:nth-child(2) { inset: 25%; animation-delay: -1.25s; }
.iv-contact-signal span:nth-child(3) { inset: 38%; animation-delay: -2.5s; }
.iv-contact-signal span:nth-child(4) { inset: 49%; animation-delay: -3.75s; }

.iv-contact-secondary {
	display: grid;
	gap: 14px;
}

.iv-contact-secondary > * {
	display: flex;
	min-height: 318px;
	flex-direction: column;
	padding: 32px;
}

.iv-contact-secondary span {
	color: #92988e;
	font-family: var(--font-geist-mono), monospace;
	font-size: 9px;
	letter-spacing: .12em;
}

.iv-contact-secondary h3 {
	margin-top: 58px;
	font-size: clamp(2.2rem, 4vw, 4.7rem);
	line-height: .95;
	letter-spacing: -.05em;
}

.iv-contact-secondary strong {
	margin-top: 8px;
	color: #d8cfc2;
	font-size: clamp(1rem, 1.5vw, 1.35rem);
	overflow-wrap: anywhere;
}

.iv-contact-secondary p {
	margin-top: 18px;
	color: #aeb3aa;
	line-height: 1.6;
}

.iv-contact-secondary b {
	margin-top: auto;
	color: #d8cfc2;
}

.iv-contact-expectation {
	display: grid;
	grid-template-columns: auto 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	margin-top: 14px;
	padding: 24px 28px;
	border: 1px solid rgba(216,207,194,.15);
	border-radius: 24px;
	color: #aeb3aa;
}

.iv-contact-expectation > span,
.iv-contact-expectation b {
	color: #d8cfc2;
	font-family: var(--font-geist-mono), monospace;
	font-size: 9px;
	letter-spacing: .1em;
}

.iv-contact-expectation div {
	display: flex;
	align-items: center;
	gap: 12px;
}

.iv-contact-expectation > i {
	color: #6f7869;
	font-style: normal;
}

@keyframes iv-contact-ring {
	0% { opacity: .1; transform: scale(.78); }
	45% { opacity: .55; }
	100% { opacity: 0; transform: scale(1.3); }
}

@media (max-width: 900px) {
	.iv-contact-decision-head,
	.iv-contact-channel-grid {
		grid-template-columns: 1fr;
	}
	.iv-contact-decision-head > span {
		grid-column: auto;
	}
	.iv-contact-expectation {
		grid-template-columns: 1fr;
	}
	.iv-contact-expectation > i {
		display: none;
	}
}

/* Sticky reading progress and restrained pointer effect. */
.progress {
	position: fixed !important;
	top: 0 !important;
	z-index: 100001 !important;
	height: 4px !important;
	background: rgba(216,207,194,.08) !important;
}

.progress span {
	background: linear-gradient(90deg, #3a4633, #d8cfc2) !important;
	box-shadow: 0 0 16px rgba(216,207,194,.28);
}

.iv-cursor-glow,
.iv-cursor-ring {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	pointer-events: none;
	border-radius: 50%;
	transform: translate3d(-100px,-100px,0);
}

.iv-cursor-glow {
	width: 240px;
	height: 240px;
	margin: -120px 0 0 -120px;
	background: radial-gradient(circle, rgba(58,70,51,.13), transparent 67%);
}

.iv-cursor-ring {
	width: 26px;
	height: 26px;
	margin: -13px 0 0 -13px;
	border: 1px solid rgba(216,207,194,.45);
	transition: width .22s, height .22s, margin .22s, border-color .22s, background .22s;
}

.iv-cursor-ring.is-active {
	width: 46px;
	height: 46px;
	margin: -23px 0 0 -23px;
	border-color: rgba(216,207,194,.7);
	background: rgba(58,70,51,.18);
}

/* Legal pages. */
.iv-legal-page {
	background: #121411;
}

.iv-legal-hero {
	display: grid;
	min-height: 720px;
	grid-template-columns: 1.1fr .6fr;
	align-items: center;
	gap: 70px;
	padding: 165px var(--iv-page) 95px;
	border-bottom: 1px solid rgba(216,207,194,.15);
}

.iv-legal-hero h1 {
	max-width: 980px;
	margin-top: 55px;
	color: #faf9f6;
	font-size: clamp(4rem, 7.8vw, 8.8rem);
	line-height: .92;
	letter-spacing: -.065em;
}

.iv-legal-hero h1 em {
	display: block;
	color: #7f8978;
	font-style: normal;
}

.iv-legal-hero p {
	max-width: 690px;
	margin-top: 28px;
	color: #aeb3aa;
	font-size: 1.08rem;
	line-height: 1.7;
}

.iv-legal-seal {
	position: relative;
	display: grid;
	min-height: 390px;
	place-items: center;
}

.iv-legal-seal::before,
.iv-legal-seal i {
	position: absolute;
	width: 76%;
	aspect-ratio: 1;
	border: 1px solid rgba(216,207,194,.15);
	border-radius: 50%;
	content: "";
	animation: iv-project-orbit 18s linear infinite;
}

.iv-legal-seal i:first-child { width: 54%; animation-direction: reverse; }
.iv-legal-seal i:nth-child(2) { width: 32%; animation-duration: 9s; }
.iv-legal-seal span { color: #faf9f6; font-size: 5rem; font-weight: 650; letter-spacing: -.08em; }

.iv-legal-content {
	display: grid;
	grid-template-columns: minmax(230px,.42fr) minmax(0,1.58fr);
	gap: clamp(50px,8vw,130px);
	padding: clamp(90px,10vw,160px) var(--iv-page);
}

.iv-legal-index {
	position: sticky;
	top: 125px;
	display: grid;
	align-self: start;
}

.iv-legal-index > span {
	margin-bottom: 18px;
	color: #d8cfc2;
	font-family: var(--font-geist-mono), monospace;
	font-size: 9px;
	letter-spacing: .12em;
}

.iv-legal-index a {
	padding: 14px 0;
	border-bottom: 1px solid rgba(216,207,194,.13);
	color: #92988e;
	font-size: 12px;
}

.iv-legal-index a:hover { color: #faf9f6; }
.iv-legal-sections { border-top: 1px solid rgba(216,207,194,.15); }
.iv-legal-sections article {
	scroll-margin-top: 120px;
	display: grid;
	grid-template-columns: 70px minmax(220px,.7fr) minmax(0,1fr);
	gap: 24px;
	padding: 40px 0;
	border-bottom: 1px solid rgba(216,207,194,.15);
}
.iv-legal-sections article > span { color: #d8cfc2; font-family: var(--font-geist-mono), monospace; font-size: 9px; }
.iv-legal-sections h2 { color: #faf9f6; font-size: clamp(1.8rem,3vw,3.8rem); line-height: 1; letter-spacing: -.045em; }
.iv-legal-sections p { color: #aeb3aa; line-height: 1.76; }
.iv-legal-company-wrap { grid-template-columns: 70px 1fr !important; }
.iv-legal-company-wrap h2 { grid-column: 2; }
.iv-legal-company { grid-column: 2; margin-top: 10px; border-top: 1px solid rgba(216,207,194,.13); }
.iv-legal-company > div { display: grid; grid-template-columns: 180px 1fr; gap: 20px; padding: 15px 0; border-bottom: 1px solid rgba(216,207,194,.1); }
.iv-legal-company dt { color: #898f86; font-size: 12px; }
.iv-legal-company dd { margin: 0; color: #d8cfc2; overflow-wrap: anywhere; }
@media (max-width: 900px) {
	.iv-legal-hero,
	.iv-legal-content {
		grid-template-columns: 1fr;
	}
	.iv-legal-index { position: static; }
}

@media (max-width: 620px) {
	.iv-legal-sections article,
	.iv-legal-company-wrap {
		grid-template-columns: 1fr !important;
	}
	.iv-legal-company-wrap h2,
	.iv-legal-company {
		grid-column: 1;
	}
	.iv-legal-company > div { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
	body.admin-bar .iv-mega {
		top: auto;
	}
}

.iv-hero h1,
.iv-form-hero h1,
.iv-contact-hero h1,
.iv-about-hero h1,
.iv-faq-hero h1,
.iv-resource-hero h1,
.iv-article-hero h1,
.iv-archive-hero h1,
.iv-project-hero h1 {
	max-width: 1040px;
	font-size: clamp(3.9rem, 7vw, 8rem);
	letter-spacing: -.052em;
	line-height: .96;
}

.iv-section-lead h2,
.iv-roadmap-head h2,
.iv-diagnostic-tool-head h2,
.iv-final-cta h2,
.section-head h2,
.roadmap-intro h2,
.projects-head h2,
.lab-intro h2,
.start-copy h2,
.faq-intro h2 {
	max-width: 980px;
	letter-spacing: -.045em;
	line-height: 1;
}

.iv-section-lead {
	max-width: 1050px;
}

.reveal {
	filter: blur(5px);
	transform: translateY(30px) scale(.992);
	transition:
		opacity .8s ease,
		filter .8s ease,
		transform .9s cubic-bezier(.2, .75, .2, 1);
}

.reveal.is-visible {
	filter: blur(0);
	transform: translateY(0) scale(1);
}

.iv-motion-subtle .reveal {
	filter: none;
	transform: translateY(18px);
}

.iv-motion-reduced .reveal {
	filter: none;
	opacity: 1;
	transform: none;
	transition: none;
}

.iv-motion-reduced *,
.iv-motion-reduced *::before,
.iv-motion-reduced *::after {
	animation-duration: .001ms !important;
	animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
	transition-duration: .001ms !important;
}

@media (max-width: 820px) {
	.iv-hero h1,
	.iv-form-hero h1,
	.iv-contact-hero h1,
	.iv-about-hero h1,
	.iv-faq-hero h1,
	.iv-resource-hero h1,
	.iv-article-hero h1,
	.iv-archive-hero h1,
	.iv-project-hero h1 {
		font-size: clamp(3.25rem, 13vw, 5.7rem);
		line-height: .98;
	}
}

@media (prefers-reduced-motion: reduce) {
	.reveal {
		filter: none;
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Canonical editorial hero language for all secondary and newly added pages. */
:is(
	.iv-projects-page,
	.iv-project-single,
	.iv-project-archive,
	.iv-contracts-page,
	.iv-campaigns-page,
	.iv-resource-page,
	.iv-faq-page,
	.iv-form-page,
	.iv-trial-page,
	.iv-about-page,
	.iv-article-page,
	.iv-legal-page
) {
	background: #0d0e0d;
}

:is(
	.iv-projects-page,
	.iv-project-single,
	.iv-project-archive,
	.iv-contracts-page,
	.iv-campaigns-page,
	.iv-resource-page,
	.iv-faq-page,
	.iv-form-page,
	.iv-trial-page,
	.iv-about-page,
	.iv-article-page,
	.iv-legal-page
) > section:first-of-type {
	min-height: 720px;
	padding-top: 150px;
	padding-bottom: 90px;
	color: #faf9f6;
	background:
		radial-gradient(circle at 18% 48%, rgba(58, 70, 51, .31), transparent 31%),
		radial-gradient(circle at 82% 33%, rgba(216, 207, 194, .07), transparent 25%),
		linear-gradient(118deg, #0d0e0d 0%, #151615 63%, #1f1f1f 100%);
	font-family: var(--font-geist-sans), Arial, sans-serif;
}

:is(
	.iv-projects-page,
	.iv-project-single,
	.iv-project-archive,
	.iv-contracts-page,
	.iv-campaigns-page,
	.iv-resource-page,
	.iv-faq-page,
	.iv-form-page,
	.iv-trial-page,
	.iv-about-page,
	.iv-article-page,
	.iv-legal-page
) > section:first-of-type h1 {
	max-width: 920px;
	margin-top: 36px;
	margin-bottom: 0;
	color: #faf9f6;
	font-family: var(--font-geist-sans), Arial, sans-serif;
	font-size: clamp(58px, 6.35vw, 106px);
	font-weight: 560;
	line-height: .92;
	letter-spacing: -.067em;
}

:is(
	.iv-projects-page,
	.iv-project-single,
	.iv-project-archive,
	.iv-contracts-page,
	.iv-campaigns-page,
	.iv-resource-page,
	.iv-faq-page,
	.iv-form-page,
	.iv-trial-page,
	.iv-about-page,
	.iv-article-page,
	.iv-legal-page
) > section:first-of-type h1 em {
	color: #d8cfc2;
	font-style: normal;
	font-weight: 330;
}

:is(
	.iv-projects-page,
	.iv-project-single,
	.iv-project-archive,
	.iv-contracts-page,
	.iv-campaigns-page,
	.iv-resource-page,
	.iv-faq-page,
	.iv-form-page,
	.iv-trial-page,
	.iv-about-page,
	.iv-article-page,
	.iv-legal-page
) > section:first-of-type p {
	max-width: 700px;
	margin-top: 29px;
	color: rgba(250, 249, 246, .63);
	font-size: clamp(15px, 1.08vw, 18px);
	line-height: 1.72;
}

/* Projects hero: a borderless field where ideas become project systems. */
.iv-projects-hero-map {
	isolation: isolate;
	min-height: 590px;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background:
		radial-gradient(circle at 50% 48%, rgba(216, 207, 194, .13), transparent 16%),
		radial-gradient(circle at 50% 49%, rgba(58, 70, 51, .41), transparent 53%);
	filter: none;
	animation: none;
	perspective: 850px;
	-webkit-mask-image: radial-gradient(ellipse at center, #000 42%, rgba(0, 0, 0, .88) 67%, transparent 96%);
	mask-image: radial-gradient(ellipse at center, #000 42%, rgba(0, 0, 0, .88) 67%, transparent 96%);
}

.iv-projects-hero-map::before {
	position: absolute;
	z-index: -2;
	inset: 12% -18% -30%;
	content: "";
	background:
		repeating-linear-gradient(90deg, transparent 0 68px, rgba(216, 207, 194, .055) 69px, transparent 70px),
		repeating-linear-gradient(0deg, transparent 0 68px, rgba(216, 207, 194, .055) 69px, transparent 70px);
	transform: perspective(700px) rotateX(62deg) scale(1.18);
	transform-origin: center bottom;
	animation: iv-project-grid-travel 7s linear infinite;
}

.iv-projects-hero-map::after {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	width: 45%;
	aspect-ratio: 1;
	border-radius: 50%;
	content: "";
	background: radial-gradient(circle, rgba(250, 249, 246, .11), rgba(58, 70, 51, .22) 35%, transparent 70%);
	transform: translate(-50%, -50%);
	filter: blur(4px);
	animation: iv-project-core-breathe 5.5s ease-in-out infinite;
}

.iv-projects-hero-map > span {
	--card-rotate: 0deg;
	position: absolute;
	z-index: 3;
	width: 122px;
	height: 78px;
	border: 1px solid rgba(216, 207, 194, .21);
	border-radius: 19px;
	background:
		linear-gradient(90deg, rgba(58, 70, 51, .58) 0 32%, transparent 32%),
		linear-gradient(145deg, rgba(250, 249, 246, .065), rgba(21, 22, 21, .56));
	box-shadow: 0 23px 54px rgba(0, 0, 0, .24);
	transform: rotate(var(--card-rotate));
	animation: iv-project-card-float 5.8s ease-in-out infinite;
	backdrop-filter: blur(8px);
}

.iv-projects-hero-map > span::before {
	position: absolute;
	top: 17px;
	right: 13px;
	width: 46%;
	height: 4px;
	border-radius: 99px;
	content: "";
	background: rgba(216, 207, 194, .25);
	box-shadow:
		0 13px 0 rgba(216, 207, 194, .14),
		0 26px 0 rgba(216, 207, 194, .09);
}

.iv-projects-hero-map > span::after {
	position: absolute;
	bottom: 12px;
	left: 13px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	content: "";
	background: #d8cfc2;
	box-shadow: 0 0 0 5px rgba(216, 207, 194, .08), 0 0 20px rgba(216, 207, 194, .28);
}

.iv-projects-hero-map > span:nth-child(1) { top: 17%; left: 7%; --card-rotate: -8deg; animation-delay: -1.4s; }
.iv-projects-hero-map > span:nth-child(2) { top: 10%; right: 9%; width: 104px; height: 68px; --card-rotate: 7deg; animation-delay: -3.7s; }
.iv-projects-hero-map > span:nth-child(3) { top: 43%; right: 2%; width: 139px; --card-rotate: -4deg; animation-delay: -.6s; }
.iv-projects-hero-map > span:nth-child(4) { right: 13%; bottom: 11%; width: 112px; height: 72px; --card-rotate: 8deg; animation-delay: -4.9s; }
.iv-projects-hero-map > span:nth-child(5) { bottom: 8%; left: 9%; width: 136px; --card-rotate: 5deg; animation-delay: -2.6s; }
.iv-projects-hero-map > span:nth-child(6) { top: 43%; left: 0; width: 106px; height: 69px; --card-rotate: -5deg; animation-delay: -4.1s; }

.iv-projects-hero-map > i {
	position: absolute;
	z-index: 1;
	inset: 15%;
	border: 1px solid rgba(216, 207, 194, .15);
	border-top-color: rgba(216, 207, 194, .46);
	border-radius: 50%;
	animation: iv-project-orbit 19s linear infinite;
}

.iv-projects-hero-map > i:nth-of-type(2) {
	inset: 26%;
	border-style: dashed;
	animation-direction: reverse;
	animation-duration: 14s;
}

.iv-projects-hero-map > i:nth-of-type(3) {
	inset: 37%;
	animation-duration: 9s;
}

.iv-projects-hero-map > b {
	position: absolute;
	z-index: 4;
	inset: auto;
	top: 50%;
	left: 50%;
	display: grid;
	width: 94px;
	height: 94px;
	border: 1px solid rgba(216, 207, 194, .3);
	border-radius: 32px;
	background: radial-gradient(circle at 38% 32%, rgba(250, 249, 246, .19), rgba(58, 70, 51, .83) 44%, #20231f 100%);
	transform: translate(-50%, -50%) rotate(45deg);
	box-shadow: 0 0 0 13px rgba(58, 70, 51, .1), 0 24px 70px rgba(0, 0, 0, .42);
	place-items: center;
	animation: iv-project-hub 4.2s ease-in-out infinite;
}

.iv-projects-hero-map > b::before,
.iv-projects-hero-map > b::after {
	position: absolute;
	content: "";
	background: #d8cfc2;
	transform: rotate(-45deg);
}

.iv-projects-hero-map > b::before {
	width: 8px;
	height: 8px;
	border-radius: 2px;
	box-shadow: 0 0 18px rgba(216, 207, 194, .7);
}

.iv-projects-hero-map > b::after {
	width: 28px;
	height: 1px;
	opacity: .28;
}

@keyframes iv-project-grid-travel {
	to { background-position: 0 0, 0 70px; }
}

@keyframes iv-project-core-breathe {
	0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(.88); }
	50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); }
}

@keyframes iv-project-card-float {
	0%, 100% { transform: translateY(0) rotate(var(--card-rotate)); }
	50% { transform: translateY(-13px) rotate(var(--card-rotate)); }
}

@keyframes iv-project-hub {
	0%, 100% { transform: translate(-50%, -50%) rotate(45deg) scale(.95); }
	50% { transform: translate(-50%, -50%) rotate(45deg) scale(1.04); }
}

@media (max-width: 900px) {
	:is(
		.iv-projects-page,
		.iv-project-single,
		.iv-project-archive,
		.iv-contracts-page,
		.iv-campaigns-page,
		.iv-resource-page,
		.iv-faq-page,
		.iv-form-page,
		.iv-trial-page,
		.iv-about-page,
		.iv-article-page,
		.iv-legal-page
	) > section:first-of-type {
		min-height: auto;
		padding-top: 120px;
		padding-bottom: 70px;
	}

	:is(
		.iv-projects-page,
		.iv-project-single,
		.iv-project-archive,
		.iv-contracts-page,
		.iv-campaigns-page,
		.iv-resource-page,
		.iv-faq-page,
		.iv-form-page,
		.iv-trial-page,
		.iv-about-page,
		.iv-article-page,
		.iv-legal-page
	) > section:first-of-type h1 {
		font-size: clamp(52px, 13.5vw, 78px);
		line-height: .94;
	}

	.iv-projects-hero-map {
		min-height: 460px;
	}
}

@media (max-width: 620px) {
	.iv-projects-hero-map {
		min-height: 380px;
		margin-right: -16px;
		margin-left: -16px;
	}

	.iv-projects-hero-map > span {
		width: 92px;
		height: 61px;
		border-radius: 15px;
	}

	.iv-projects-hero-map > span:nth-child(3),
	.iv-projects-hero-map > span:nth-child(5) {
		width: 102px;
		height: 65px;
	}

	.iv-projects-hero-map > b {
		width: 76px;
		height: 76px;
		border-radius: 25px;
	}
}
