/* ==========================================================================
   iLYNQ design system — "industrial editorial"
   Colours read Elementor Global Colors (Site Settings) with brand fallbacks.
   Display: Archivo expanded (stand-in for Apotek Extended). Body: Open Sans. Labels: JetBrains Mono.
   Sections are keyed on Elementor CSS classes (Advanced → CSS Classes): iq-*.
   ========================================================================== */
.iq-site {
	--iq-blue: var(--e-global-color-primary, #3B61FC);
	--iq-ink: var(--e-global-color-secondary, #0E1B28);
	--iq-text: var(--e-global-color-text, #4A5868);
	--iq-teal: var(--e-global-color-accent, #08DAD9);
	--iq-sky: #1CA1FF;
	--iq-deep: #08121D;
	--iq-steel: #EDF0F3;
	--iq-line: #DCE2E9;
	--iq-line-d: rgba(255, 255, 255, .1);
	--iq-muted: #7A8797;
	--iq-display: "Archivo", "Helvetica Neue", sans-serif;
	--iq-body: "Open Sans", system-ui, sans-serif;
	--iq-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
	--iq-ease: cubic-bezier(.22, 1, .36, 1);
	--iq-spring: cubic-bezier(.32, .72, 0, 1);
	--iq-gutter: clamp(18px, 4.2vw, 56px);
	--iq-max: 1320px;
	--iq-sec-y: clamp(96px, 11vw, 168px);
	--kit-widget-spacing: 0px;
	background: #fff;
	color: var(--iq-text);
	font-family: var(--iq-body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.iq-site ::selection { background: var(--iq-teal); color: var(--iq-deep); }
.iq-header ul, .iq-header li, .iq-footer ul, .iq-footer li, .iq-site .iq-rows ul, .iq-site .iq-rows li, .iq-site .iq-chain ol, .iq-site .iq-chain li { list-style: none; }
.iq-site li::marker { content: none; }

/* Neutralise Elementor defaults inside our layouts (per-widget panel edits still win). */
.iq-site .e-con {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px;
	--content-width: var(--iq-max);
}
.iq-site .elementor-widget:not(:last-child) { margin-block-end: 0; }
.iq-site .elementor-heading-title { font-family: var(--iq-display); color: var(--iq-ink); font-stretch: 115%; letter-spacing: -.025em; }
.iq-site .elementor-widget-text-editor { color: var(--iq-text); font-family: var(--iq-body); font-size: 16px; line-height: 1.65; }
.iq-site .elementor-widget-text-editor p { margin: 0 0 .8em; }
.iq-site .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---- Sections ---------------------------------------------------------- */
.e-con.iq-sec {
	--padding-top: var(--iq-sec-y); --padding-bottom: var(--iq-sec-y);
	--padding-left: var(--iq-gutter); --padding-right: var(--iq-gutter);
	position: relative;
}
.e-con.iq-sec > .e-con-inner { gap: clamp(44px, 5.5vw, 80px); }
.e-con.iq-dark { background-color: var(--iq-deep); }
.e-con.iq-steel { background-color: var(--iq-steel); }
.iq-dark .elementor-heading-title { color: #fff; }
.iq-dark .elementor-widget-text-editor { color: rgba(255, 255, 255, .66); }
.e-con.iq-blueprint::before {
	content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; z-index: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 64px 64px;
	-webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 40%, #000 30%, transparent 80%); mask-image: radial-gradient(ellipse 80% 80% at 50% 40%, #000 30%, transparent 80%);
}
.e-con.iq-blueprint > .e-con-inner { position: relative; z-index: 1; }

/* ---- Type primitives --------------------------------------------------- */
.iq-label .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--iq-mono); font-stretch: 100%; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase;
	color: var(--iq-muted); line-height: 1.3;
}
.iq-label .elementor-heading-title::before { content: ""; width: 6px; height: 6px; background: var(--iq-teal); flex: none; }
.iq-dark .iq-label .elementor-heading-title, .iq-on-img .iq-label .elementor-heading-title { color: rgba(255, 255, 255, .6); }
.iq-h1 .elementor-heading-title { font-size: clamp(2.6rem, 6vw, 5.7rem); font-weight: 800; line-height: .96; letter-spacing: -.04em; font-stretch: 118%; }
.iq-h2 .elementor-heading-title { font-size: clamp(2.1rem, 4.4vw, 4rem); font-weight: 800; line-height: 1; letter-spacing: -.035em; }
.iq-h3 .elementor-heading-title { font-size: clamp(1.25rem, 1.8vw, 1.6rem); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.iq-hl { color: var(--iq-teal); }
.iq-blue { color: var(--iq-blue); }
.iq-dim { color: var(--iq-muted); }
.iq-dark .iq-dim, .iq-on-img .iq-dim { color: rgba(255, 255, 255, .4); }
.iq-lead { font-size: clamp(1.05rem, 1.25vw, 1.2rem) !important; line-height: 1.6 !important; max-width: 34em; }
.iq-on-img .elementor-heading-title { color: #fff; }
.iq-on-img .elementor-widget-text-editor { color: rgba(255, 255, 255, .72); }

/* Section heads */
.e-con.iq-head { gap: 20px; align-items: flex-start; }
.e-con.iq-head--split { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 48px; }
.iq-head--split > .e-con:first-child { flex: 1 1 60%; gap: 20px; align-items: flex-start; }
.iq-head--split > .e-con:last-child { flex: 0 1 34%; gap: 22px; align-items: flex-start; }
@media (max-width: 860px) { .e-con.iq-head--split { flex-direction: column; align-items: flex-start; gap: 24px; } }

/* ---- Buttons ----------------------------------------------------------- */
.iq-site [class*="iq-btn-"] .elementor-button {
	text-decoration: none; box-sizing: border-box;
	display: inline-flex; align-items: center; gap: 14px; height: 52px; padding: 0 20px 0 22px; border-radius: 10px;
	font-family: var(--iq-body); font-size: 15px; font-weight: 600; line-height: 1; letter-spacing: 0;
	transition: background-color .45s var(--iq-ease), color .45s var(--iq-ease), box-shadow .45s var(--iq-ease), transform .2s var(--iq-ease);
}
.iq-site [class*="iq-btn-"] .elementor-button::after {
	content: ""; width: 14px; height: 14px; flex: none; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7h9.5M7.5 3 11.5 7l-4 4' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7h9.5M7.5 3 11.5 7l-4 4' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .5s var(--iq-spring);
}
.iq-site [class*="iq-btn-"] .elementor-button:hover::after { transform: translateX(4px); }
.iq-site [class*="iq-btn-"] .elementor-button:active { transform: scale(.98); }
.iq-site .iq-btn-primary .elementor-button { background: var(--iq-blue); color: #fff; }
.iq-site .iq-btn-primary .elementor-button:hover { background: #2C4EE6; color: #fff; box-shadow: 0 14px 34px -14px rgba(59, 97, 252, .8); }
.iq-site .iq-btn-ghost .elementor-button { background: transparent; color: var(--iq-ink); box-shadow: inset 0 0 0 1px var(--iq-line); }
.iq-site .iq-btn-ghost .elementor-button:hover { box-shadow: inset 0 0 0 1px var(--iq-ink); }
.iq-site .iq-btn-light .elementor-button { background: #fff; color: var(--iq-deep); }
.iq-site .iq-btn-light .elementor-button:hover { background: var(--iq-teal); color: var(--iq-deep); }
.iq-site .iq-btn-outline-light .elementor-button { background: rgba(255, 255, 255, .03); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .26); }
.iq-site .iq-btn-outline-light .elementor-button:hover { box-shadow: inset 0 0 0 1px #fff; background: rgba(255, 255, 255, .07); }
.iq-site .iq-btn-link .elementor-button { background: none; height: auto; padding: 4px 0; border-radius: 0; gap: 10px; color: var(--iq-ink); box-shadow: inset 0 -1px 0 currentColor; }
.iq-site .iq-btn-link .elementor-button:hover { color: var(--iq-blue); }
.iq-site .iq-dark .iq-btn-link .elementor-button, .iq-site .iq-on-img .iq-btn-link .elementor-button { color: #fff; }
.e-con.iq-btns { flex-direction: row; flex-wrap: wrap; gap: 12px; }

/* ==========================================================================
   HEADER (light, and dark when over .iq-dark sections)
   ========================================================================== */
.iq-skip { position: absolute; left: -9999px; top: 8px; z-index: 1001; background: #fff; padding: 10px 16px; border-radius: 10px; }
.iq-skip:focus { left: 16px; }
.iq-header { position: fixed; inset: 0 0 auto; z-index: 1000; padding: 14px var(--iq-gutter) 0; pointer-events: none; }
.admin-bar .iq-header { top: 32px; }
.iq-header__bar {
	pointer-events: auto; position: relative; z-index: 2;
	max-width: var(--iq-max); margin: 0 auto; height: 64px; padding: 0 8px 0 20px;
	display: flex; align-items: center; gap: 24px; border-radius: 14px;
	background: rgba(255, 255, 255, .8); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
	box-shadow: 0 0 0 1px rgba(14, 27, 40, .07);
	transition: box-shadow .5s var(--iq-ease), background-color .5s var(--iq-ease), transform .6s var(--iq-ease);
}
.iq-header.is-hidden .iq-header__bar { transform: translateY(-130%); }
.iq-header.is-scrolled .iq-header__bar { background: rgba(255, 255, 255, .92); box-shadow: 0 0 0 1px rgba(14, 27, 40, .07), 0 18px 40px -22px rgba(14, 27, 40, .3); }
.iq-header__logo { display: flex; align-items: center; flex: none; position: relative; }
.iq-header__logo img { height: 28px; width: auto; display: block; transition: opacity .4s var(--iq-ease); }
.iq-header__logo .iq-logo--light { position: absolute; left: 0; top: 0; opacity: 0; }
.iq-nav { margin-left: auto; }
.iq-nav__list { margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.iq-nav__item { position: relative; }
.iq-nav__link {
	display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 9px;
	font: 600 14.5px/1 var(--iq-body); color: var(--iq-ink); text-decoration: none;
	transition: background-color .3s var(--iq-ease), color .3s var(--iq-ease);
}
.iq-nav__link:hover, .iq-nav__item.is-open > .iq-nav__link { background: rgba(14, 27, 40, .05); color: var(--iq-blue); }
.iq-chev { transition: transform .4s var(--iq-spring); opacity: .7; }
.iq-nav__item.is-open .iq-chev { transform: rotate(180deg); }
.iq-dd {
	position: absolute; top: 100%; left: 50%; padding-top: 14px; min-width: 280px;
	opacity: 0; visibility: hidden; transform: translate(-50%, 8px);
	transition: opacity .35s var(--iq-ease), transform .45s var(--iq-ease), visibility 0s linear .35s;
}
.iq-nav__item.is-open > .iq-dd, .iq-nav__item:focus-within > .iq-dd { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
.iq-dd__inner { background: #fff; border-radius: 16px; padding: 8px; box-shadow: 0 0 0 1px rgba(14, 27, 40, .07), 0 30px 70px -24px rgba(14, 27, 40, .35); }
.iq-dd__list { margin: 0; padding: 0; display: grid; gap: 2px; }
.iq-dd__link { display: grid; gap: 4px; padding: 12px 14px; border-radius: 10px; text-decoration: none; transition: background-color .3s var(--iq-ease); }
.iq-dd__link:hover { background: var(--iq-steel); }
.iq-dd__title { font: 600 14.5px/1.3 var(--iq-body); color: var(--iq-ink); display: flex; align-items: center; gap: 8px; }
.iq-dd__desc { font: 400 13px/1.45 var(--iq-body); color: var(--iq-muted); }
.iq-dd__link:hover .iq-dd__title { color: var(--iq-blue); }
.cols2 .iq-dd { min-width: 520px; }
.cols2 .iq-dd__list { grid-template-columns: 1fr 1fr; }
.cols2 .iq-dd__desc { font-family: var(--iq-mono); color: #0BA8A7; font-weight: 500; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; }
.iq-dd--mega { min-width: 620px; }
.iq-dd--mega .iq-dd__inner { display: grid; grid-template-columns: 1fr 240px; gap: 8px; }
.iq-dd--mega .iq-dd__list { align-content: start; }
.iq-dd--mega .iq-dd__link { padding: 18px 16px; }
.iq-dd__feature { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 12px; background: var(--iq-deep); color: #fff; text-decoration: none; }
.iq-dd__feature::before { content: ""; position: absolute; width: 220px; height: 220px; right: -80px; top: -90px; border-radius: 50%; background: radial-gradient(circle, rgba(8, 218, 217, .4), transparent 65%); }
.iq-dd__feature-k { font: 500 11px/1 var(--iq-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--iq-teal); position: relative; }
.iq-dd__feature-t { font: 700 17px/1.3 var(--iq-display); font-stretch: 112%; position: relative; }
.iq-dd__feature-l { margin-top: auto; display: inline-flex; align-items: center; gap: 10px; font: 600 14px/1 var(--iq-body); position: relative; }
.iq-arrow { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; background: var(--iq-blue); color: #fff; flex: none; transition: transform .5s var(--iq-spring); }
a:hover > .iq-arrow { transform: translateX(3px); }
.iq-header__cta {
	display: inline-flex; align-items: center; gap: 12px; padding: 0 6px 0 18px; height: 48px; border-radius: 10px;
	background: var(--iq-blue); color: #fff; text-decoration: none; font: 600 14.5px/1 var(--iq-body); flex: none;
	transition: background-color .4s var(--iq-ease);
}
.iq-header__cta .iq-arrow { width: 36px; height: 36px; background: rgba(255, 255, 255, .14); }
.iq-header__cta:hover { background: #2C4EE6; color: #fff; }
.iq-burger { display: none; width: 48px; height: 48px; border: 0; border-radius: 10px; background: rgba(14, 27, 40, .06); position: relative; cursor: pointer; flex: none; }
.iq-burger span { position: absolute; left: 15px; right: 15px; height: 2px; background: var(--iq-ink); transition: transform .5s var(--iq-spring), top .5s var(--iq-spring), background-color .4s; }
.iq-burger span:first-child { top: 19px; }
.iq-burger span:last-child { top: 27px; }
.menu-open .iq-burger span:first-child { top: 23px; transform: rotate(45deg); }
.menu-open .iq-burger span:last-child { top: 23px; transform: rotate(-45deg); }
.iq-header.is-on-dark:not(.menu-open) .iq-header__bar { background: rgba(8, 18, 29, .5); box-shadow: 0 0 0 1px rgba(255, 255, 255, .09); }
.iq-header.is-on-dark:not(.menu-open) .iq-logo--dark { opacity: 0; }
.iq-header.is-on-dark:not(.menu-open) .iq-logo--light { opacity: 1; }
.iq-header.is-on-dark:not(.menu-open) .iq-nav__link { color: rgba(255, 255, 255, .86); }
.iq-header.is-on-dark:not(.menu-open) .iq-nav__link:hover, .iq-header.is-on-dark .iq-nav__item.is-open > .iq-nav__link { background: rgba(255, 255, 255, .08); color: #fff; }
.iq-header.is-on-dark:not(.menu-open) .iq-burger { background: rgba(255, 255, 255, .1); }
.iq-header.is-on-dark:not(.menu-open) .iq-burger span { background: #fff; }
.iq-mobile {
	pointer-events: auto; position: fixed; inset: 0; z-index: 1; padding: 108px var(--iq-gutter) 40px; overflow-y: auto;
	background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
	opacity: 0; transition: opacity .45s var(--iq-ease);
}
.menu-open .iq-mobile { opacity: 1; }
.iq-mobile__list { margin: 0; padding: 0; }
.iq-mobile__item { border-bottom: 1px solid var(--iq-line); opacity: 0; transform: translateY(24px); transition: opacity .6s var(--iq-ease), transform .7s var(--iq-ease); transition-delay: calc(var(--i) * 60ms + 80ms); }
.menu-open .iq-mobile__item { opacity: 1; transform: none; }
.iq-mobile__link, .iq-mobile__toggle {
	display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 20px 0; border: 0; background: none;
	font: 800 24px/1.1 var(--iq-display); font-stretch: 112%; letter-spacing: -.02em; color: var(--iq-ink); text-decoration: none; cursor: pointer; text-align: left;
}
.iq-mobile__toggle .iq-chev { width: 14px; height: 14px; transition: transform .4s var(--iq-spring); }
.iq-mobile__item.is-open .iq-chev { transform: rotate(180deg); }
.iq-mobile__sub { margin: 0; padding: 0 0 0 2px; display: grid; gap: 2px; max-height: 0; overflow: hidden; transition: max-height .6s var(--iq-ease), padding .4s var(--iq-ease); }
.iq-mobile__item.is-open .iq-mobile__sub { max-height: 520px; padding-bottom: 18px; }
.iq-mobile__sub a { display: block; padding: 9px 0; font: 500 16px/1.3 var(--iq-body); color: var(--iq-text); text-decoration: none; }
.iq-mobile__cta { margin-top: 28px; display: flex; align-items: center; justify-content: space-between; padding: 0 8px 0 22px; height: 60px; border-radius: 12px; background: var(--iq-blue); color: #fff; text-decoration: none; font: 600 16px/1 var(--iq-body); }
.iq-mobile__cta .iq-arrow { width: 44px; height: 44px; background: rgba(255, 255, 255, .14); }
.iq-mobile__meta { margin: 22px 0 0; font-size: 15px; }
.iq-mobile__meta a { color: var(--iq-blue); text-decoration: none; }
@media (max-width: 1100px) {
	.iq-nav { display: none; }
	.iq-burger { display: block; }
	.iq-header__cta { margin-left: auto; }
}
@media (max-width: 560px) {
	.iq-header__cta { display: none; }
	.iq-burger { margin-left: auto; }
	.iq-header { padding-top: 10px; }
	.iq-header__bar { height: 58px; padding-left: 16px; }
	.iq-header__logo img { height: 24px; }
}
.elementor-editor-active .iq-header { position: absolute; }

/* ==========================================================================
   01 HERO — "The Link" 3D scroll story
   ========================================================================== */
.e-con.iq-h3d {
	position: relative; height: 100vh; height: 100svh; min-height: 600px; overflow: hidden;
	background: radial-gradient(ellipse 70% 60% at 70% 45%, #10284A 0%, rgba(8, 18, 29, 0) 60%), var(--iq-deep);
}
.e-con.iq-h3d::before {
	content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none;
	background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
}
.e-con.iq-h3d::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; top: 0; z-index: 2; pointer-events: none;
	background: linear-gradient(180deg, rgba(8, 18, 29, 0) 45%, rgba(8, 18, 29, .72) 78%, var(--iq-deep) 100%), linear-gradient(90deg, rgba(8, 18, 29, .7) 0%, rgba(8, 18, 29, 0) 48%);
}
.iq-h3d__stage { position: absolute !important; left: 0; top: 0; right: 0; bottom: 0; z-index: 1; }
.iq-h3d__stage .elementor-widget-container, .iq-h3d__stage [data-iq-canvas] { position: absolute; left: 0; top: 0; right: 0; bottom: 0; }
.iq-h3d__stage canvas { display: block; width: 100% !important; height: 100% !important; }
.iq-h3d__fallback { position: absolute; right: 8%; top: 50%; width: min(40vw, 520px); transform: translateY(-50%); }
.iq-h3d__fallback svg { width: 100%; height: auto; display: block; }
.iq-h3d--ready .iq-h3d__fallback { display: none; }
.e-con.iq-h3d__intro, .e-con.iq-h3d__chapters {
	position: absolute; z-index: 3; left: var(--iq-gutter); right: var(--iq-gutter);
	bottom: clamp(56px, 11vh, 130px); max-width: var(--iq-max); margin: 0 auto;
}
.e-con.iq-h3d__intro { gap: 26px; align-items: flex-start; will-change: transform, opacity; }
.iq-h3d__intro .iq-h1 .elementor-heading-title { color: #fff; font-size: clamp(2.5rem, 5vw, 4.7rem); max-width: 10.5em; }
.iq-h3d__intro .iq-lead { color: rgba(255, 255, 255, .7) !important; max-width: 30em; }
.e-con.iq-h3d__chapters { height: 0; pointer-events: none; }
.e-con.iq-chapter { position: absolute; left: 0; bottom: 0; width: min(540px, 100%); gap: 14px; opacity: 0; will-change: transform, opacity; }
.iq-chapter__k .elementor-heading-title { font: 500 12.5px/1 var(--iq-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--iq-teal); }
.iq-chapter__t .elementor-heading-title { color: #fff; font-size: clamp(1.9rem, 3.4vw, 3.1rem); font-weight: 800; line-height: 1.02; letter-spacing: -.035em; }
.iq-chapter .elementor-widget-text-editor { color: rgba(255, 255, 255, .68); font-size: 17px; max-width: 28em; }
.iq-h3d__rail { position: absolute; z-index: 3; right: var(--iq-gutter); top: 50%; transform: translateY(-50%); display: grid; gap: 18px; opacity: 0; }
.iq-h3d__rail span { display: grid; grid-template-columns: 34px auto; align-items: center; gap: 12px; font: 500 11px/1 var(--iq-mono); color: rgba(255, 255, 255, .35); transition: color .4s; }
.iq-h3d__rail span.is-on { color: #fff; }
.iq-h3d__rail i { height: 2px; background: rgba(255, 255, 255, .15); position: relative; overflow: hidden; }
.iq-h3d__rail i::after { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: var(--iq-teal); transform-origin: left; transform: scaleX(var(--f, 0)); }
.iq-h3d__scroll { position: absolute !important; z-index: 3; right: var(--iq-gutter); bottom: clamp(56px, 11vh, 130px); }
.iq-h3d__scroll .elementor-heading-title { font: 500 11px/1 var(--iq-mono); letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .5); display: flex; flex-direction: column; align-items: center; gap: 12px; }
.iq-h3d__scroll .elementor-heading-title::after { content: ""; width: 1px; height: 44px; background: linear-gradient(var(--iq-teal), transparent); animation: iq-drip 2s var(--iq-ease) infinite; transform-origin: top; }
@keyframes iq-drip { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }
.iq-h3d--static.e-con.iq-h3d { height: auto; min-height: 0; padding: 150px var(--iq-gutter) 90px; }
.iq-h3d--static .e-con.iq-h3d__intro, .iq-h3d--static .e-con.iq-h3d__chapters { position: relative; left: auto; right: auto; bottom: auto; height: auto; width: 100%; }
.iq-h3d--static .e-con.iq-h3d__chapters { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin-top: 72px; }
.iq-h3d--static .e-con.iq-chapter { position: relative; opacity: 1; width: auto; }
.iq-h3d--static .iq-chapter__t .elementor-heading-title { font-size: 1.4rem; }
.iq-h3d--static .iq-h3d__scroll { display: none; }
@media (max-width: 767px) {
	.e-con.iq-h3d__intro, .e-con.iq-h3d__chapters { bottom: 36px; }
	.e-con.iq-h3d__intro { gap: 18px; }
	.iq-h3d__intro .iq-lead { font-size: 15.5px !important; }
	.iq-h3d__intro .e-con.iq-btns { width: 100%; flex-direction: column; }
	.iq-h3d__intro .iq-btns .elementor-widget-button, .iq-h3d__intro .iq-btns .elementor-button { width: 100%; justify-content: space-between; }
	.iq-chapter .elementor-widget-text-editor { font-size: 15.5px; }
	.iq-h3d__rail { top: 92px; right: auto; left: var(--iq-gutter); transform: none; grid-auto-flow: column; gap: 10px; }
	.iq-h3d__rail span { grid-template-columns: 22px auto; gap: 6px; }
	.iq-h3d__scroll { display: none; }
	.iq-h3d--static .e-con.iq-h3d__chapters { grid-template-columns: 1fr; }
	.iq-h3d__fallback { width: 70vw; top: 28%; right: 15%; }
}

/* ==========================================================================
   02 LOGO MARQUEE
   ========================================================================== */
.e-con.iq-logos { --padding-top: 0px; --padding-bottom: clamp(56px, 6vw, 84px); --padding-left: var(--iq-gutter); --padding-right: var(--iq-gutter); background: var(--iq-deep); overflow: hidden; }
.e-con.iq-logos > .e-con-inner {
	border-top: 1px solid var(--iq-line-d); padding-top: clamp(40px, 4vw, 56px); overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.e-con.iq-marquee { flex-direction: row; flex-wrap: nowrap; width: max-content; max-width: none; gap: clamp(56px, 6vw, 104px); align-items: center; animation: iq-marquee 40s linear infinite; }
.iq-marquee:hover { animation-play-state: paused; }
.iq-logo { flex: none; }
.iq-logo img { height: 34px; width: auto; max-width: none; opacity: .5; transition: opacity .4s var(--iq-ease); display: block; }
.iq-logo:hover img { opacity: 1; }
@keyframes iq-marquee { to { transform: translateX(-50%); } }
@media (max-width: 767px) { .iq-logo img { height: 26px; } }

/* ==========================================================================
   03 PROOF — full-bleed photo with stats
   ========================================================================== */
.e-con.iq-proof {
	--padding-top: clamp(110px, 12vw, 180px); --padding-bottom: clamp(48px, 5vw, 72px);
	min-height: min(94vh, 920px); overflow: hidden; background-size: cover; background-position: center;
}
.e-con.iq-proof::before { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 0; background: linear-gradient(180deg, rgba(8, 18, 29, .7) 0%, rgba(8, 18, 29, .2) 38%, rgba(8, 18, 29, .9) 84%); }
.e-con.iq-proof > .e-con-inner { position: relative; z-index: 1; justify-content: space-between; min-height: inherit; }
.iq-proof .iq-h2 { max-width: 17ch; }
.e-con.iq-stats { flex-direction: row; border-top: 1px solid rgba(255, 255, 255, .22); margin-top: auto; }
.e-con.iq-stat { flex: 1 1 0; padding: 28px 24px 0 0; gap: 12px; }
.e-con.iq-stat + .iq-stat { padding-left: 28px; border-left: 1px solid rgba(255, 255, 255, .14); }
.iq-stat__num .elementor-heading-title { color: #fff; font-size: clamp(2.8rem, 5.4vw, 5rem); font-weight: 800; line-height: .9; font-stretch: 125%; letter-spacing: -.045em; }
.iq-stat__num .elementor-heading-title small { font-size: .4em; color: var(--iq-teal); vertical-align: top; margin-left: 6px; letter-spacing: 0; font-stretch: 100%; }
.iq-stat__label { color: rgba(255, 255, 255, .7) !important; font-size: 14px !important; line-height: 1.45 !important; max-width: 19em; }
@media (max-width: 860px) {
	.e-con.iq-stats { flex-wrap: wrap; }
	.e-con.iq-stat { flex: 1 1 50%; padding: 24px 14px 24px 0; }
	.e-con.iq-stat + .iq-stat { padding-left: 0; border-left: 0; }
	.e-con.iq-stat:nth-child(even) { padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .14); }
	.e-con.iq-stat:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .14); }
}

/* ==========================================================================
   04 WHO WE SERVE — switch between the two audiences
   ========================================================================== */
.e-con.iq-who__top { flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 32px; }
.e-con.iq-switch { flex-direction: row; gap: 4px; padding: 5px; border-radius: 12px; background: var(--iq-steel); flex: none; }
.iq-site .iq-switch .elementor-button {
	height: 46px; padding: 0 20px; border-radius: 9px; background: transparent; color: var(--iq-text); box-shadow: none;
	font: 600 14.5px/1 var(--iq-body); transition: background-color .4s var(--iq-ease), color .4s var(--iq-ease), box-shadow .4s var(--iq-ease);
}
.iq-site .iq-switch .elementor-button::after { display: none; }
.iq-site .iq-switch .is-active .elementor-button { background: #fff; color: var(--iq-ink); box-shadow: 0 1px 2px rgba(14, 27, 40, .08), 0 8px 20px -10px rgba(14, 27, 40, .3); }
.e-con.iq-panes { display: grid !important; }
.e-con.iq-pane { grid-area: 1 / 1; flex-direction: row; gap: clamp(32px, 5vw, 80px); align-items: stretch; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity .6s var(--iq-ease), transform .7s var(--iq-ease), visibility 0s linear .6s; }
.e-con.iq-pane.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.iq-pane__img { flex: 0 0 54%; position: relative; }
.iq-pane__img img { width: 100%; height: clamp(320px, 34vw, 480px); object-fit: cover; border-radius: 6px; display: block; }
.e-con.iq-pane__body { flex: 1 1 auto; gap: 24px; justify-content: center; align-items: flex-start; }
.iq-pane__body .iq-h3 .elementor-heading-title { font-size: clamp(1.6rem, 2.6vw, 2.3rem); line-height: 1.08; }
.iq-rows { width: 100%; }
.iq-rows ul { margin: 0; padding: 0; width: 100%; border-top: 1px solid var(--iq-line); counter-reset: r; }
.iq-rows li { counter-increment: r; display: grid; grid-template-columns: 44px 1fr; padding: 15px 0; border-bottom: 1px solid var(--iq-line); color: var(--iq-ink); font-size: 15.5px; line-height: 1.5; }
.iq-rows li::before { content: "0" counter(r); font: 500 12px/1.95 var(--iq-mono); color: var(--iq-blue); }
@media (max-width: 860px) {
	.e-con.iq-who__top { flex-direction: column; align-items: flex-start; }
	.e-con.iq-pane { flex-direction: column; gap: 28px; }
	.iq-pane__img { flex-basis: auto; }
	.iq-pane__img img { height: 240px; }
	.e-con.iq-switch { width: 100%; }
	.iq-switch .elementor-widget-button { flex: 1 1 0; }
	.iq-site .iq-switch .elementor-button { width: 100%; justify-content: center; padding: 0 8px; font-size: 13px; }
}

/* ==========================================================================
   05 WHAT WE DO — sticky image, scrolling capabilities
   ========================================================================== */
.e-con.iq-what__grid { flex-direction: row; gap: clamp(40px, 6vw, 96px); align-items: flex-start; }
.e-con.iq-what__media { flex: 0 0 46%; position: sticky; top: 104px; height: calc(100vh - 140px); max-height: 700px; border-radius: 6px; overflow: hidden; background: var(--iq-ink); }
.iq-what__media > .elementor-widget-image { position: absolute !important; left: 0; top: 0; right: 0; bottom: 0; opacity: 0; transform: scale(1.06); transition: opacity .9s var(--iq-ease), transform 1.4s var(--iq-ease); }
.iq-what__media > .elementor-widget-image:first-child, .iq-what__media > .elementor-widget-image.is-active { opacity: 1; transform: none; }
.iq-what__media.is-live > .elementor-widget-image:not(.is-active) { opacity: 0; transform: scale(1.06); }
.iq-what__media .elementor-widget-container, .iq-what__media img { width: 100%; height: 100%; }
.iq-what__media img { object-fit: cover; display: block; }
.iq-what__count { position: absolute; left: 18px; bottom: 18px; z-index: 2; font: 500 12px/1 var(--iq-mono); letter-spacing: .08em; color: #fff; padding: 9px 11px; background: rgba(8, 18, 29, .62); border-radius: 6px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.e-con.iq-what__list { flex: 1 1 auto; min-width: 0; }
.e-con.iq-svc { min-height: 64vh; justify-content: center; gap: 18px; --padding-top: 40px; --padding-bottom: 40px; border-top: 1px solid var(--iq-line); opacity: .3; transition: opacity .6s var(--iq-ease); align-items: flex-start; }
.e-con.iq-svc:last-child { border-bottom: 1px solid var(--iq-line); }
.e-con.iq-svc.is-active, .iq-no-motion .e-con.iq-svc { opacity: 1; }
.iq-svc__n .elementor-heading-title { font: 500 12.5px/1 var(--iq-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--iq-blue); }
.iq-svc .iq-h3 .elementor-heading-title { font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.02; letter-spacing: -.035em; }
.iq-svc .elementor-widget-text-editor { font-size: 17px; max-width: 27em; }
.iq-tags p { display: flex; flex-wrap: wrap; gap: 8px; }
.iq-tags span { font: 500 11.5px/1 var(--iq-mono); letter-spacing: .04em; padding: 8px 10px; border-radius: 6px; background: #fff; color: var(--iq-ink); box-shadow: inset 0 0 0 1px var(--iq-line); }
@media (max-width: 860px) {
	.e-con.iq-what__grid { flex-direction: column; gap: 0; }
	.e-con.iq-what__media { flex-basis: auto; width: 100%; top: 76px; height: 32vh; z-index: 2; box-shadow: 0 0 0 10px var(--iq-steel); }
	.e-con.iq-svc { min-height: 56vh; }
	.iq-svc .elementor-widget-text-editor { font-size: 15.5px; }
}

/* ==========================================================================
   06 STATEMENT — the problem, in one line
   ========================================================================== */
.iq-statement .iq-h2 .elementor-heading-title { font-size: clamp(2.2rem, 5.2vw, 5rem); line-height: 1.02; max-width: 18ch; }
.e-con.iq-gaps { flex-direction: row; border-top: 1px solid var(--iq-line-d); }
.e-con.iq-gapc { flex: 1 1 0; --padding-top: 26px; --padding-right: 26px; gap: 10px; }
.e-con.iq-gapc + .iq-gapc { --padding-left: 26px; border-left: 1px solid var(--iq-line-d); }
.iq-gapc__k .elementor-heading-title { font: 500 12px/1 var(--iq-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--iq-teal); }
.iq-gapc .elementor-widget-text-editor { color: rgba(255, 255, 255, .75); font-size: 15px; }
@media (max-width: 860px) {
	.e-con.iq-gaps { flex-wrap: wrap; }
	.e-con.iq-gapc { flex: 1 1 50%; --padding-top: 22px; --padding-bottom: 22px; --padding-right: 14px; }
	.e-con.iq-gapc + .iq-gapc { --padding-left: 0px; border-left: 0; }
	.e-con.iq-gapc:nth-child(even) { --padding-left: 18px; border-left: 1px solid var(--iq-line-d); }
	.e-con.iq-gapc:nth-child(n+3) { border-top: 1px solid var(--iq-line-d); }
}

/* ==========================================================================
   07 SOLAR SPOTLIGHT — full-bleed split
   ========================================================================== */
.e-con.iq-solar { flex-direction: row; background: var(--iq-deep); min-height: 720px; }
.e-con.iq-solar__img { flex: 0 0 56%; position: relative; min-height: 560px; background-size: cover; background-position: center; }
.e-con.iq-solar__img::after { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: linear-gradient(90deg, rgba(8, 18, 29, 0) 55%, var(--iq-deep) 100%); }
.iq-solar__badge { position: absolute !important; left: var(--iq-gutter); top: clamp(28px, 4vw, 48px); z-index: 2; }
.iq-solar__badge .elementor-heading-title { font: 500 11.5px/1 var(--iq-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--iq-deep); background: var(--iq-teal); padding: 9px 12px; border-radius: 6px; }
.e-con.iq-solar__body { flex: 1 1 auto; --padding-top: clamp(64px, 8vw, 120px); --padding-bottom: clamp(64px, 8vw, 120px); --padding-right: var(--iq-gutter); --padding-left: clamp(32px, 5vw, 72px); gap: 24px; justify-content: center; align-items: flex-start; max-width: 680px; }
.iq-chain { width: 100%; }
.iq-chain ol { margin: 8px 0 0; padding: 0; width: 100%; position: relative; }
.iq-chain ol::before { content: ""; position: absolute; left: 5px; top: 22px; bottom: 22px; width: 1px; background: linear-gradient(var(--iq-teal), var(--iq-blue)); opacity: .6; }
.iq-chain li { position: relative; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 13px 0 13px 32px; border-bottom: 1px solid var(--iq-line-d); }
.iq-chain li::before { content: ""; position: absolute; left: 1px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; transform: rotate(45deg); background: var(--iq-deep); box-shadow: inset 0 0 0 1.5px var(--iq-teal); }
.iq-chain li b { font: 700 16px/1.3 var(--iq-display); font-stretch: 112%; color: #fff; }
.iq-chain li span { font: 500 11px/1.4 var(--iq-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--iq-teal); text-align: right; }
@media (max-width: 960px) {
	.e-con.iq-solar { flex-direction: column; min-height: 0; }
	.e-con.iq-solar__img { flex-basis: auto; min-height: 340px; }
	.e-con.iq-solar__img::after { background: linear-gradient(180deg, rgba(8, 18, 29, 0) 50%, var(--iq-deep) 100%); }
	.e-con.iq-solar__body { max-width: none; --padding-top: 40px; --padding-bottom: 88px; --padding-left: var(--iq-gutter); }
}

/* ==========================================================================
   08 MORE SECTORS — horizontal drift / swipe
   ========================================================================== */
.e-con.iq-sectors { overflow: hidden; }
.e-con.iq-track-wrap { width: 100%; }
.e-con.iq-track { flex-direction: row; flex-wrap: nowrap; gap: 20px; width: max-content; max-width: none; will-change: transform; }
.e-con.iq-scard {
	flex: 0 0 auto; width: clamp(280px, 27vw, 390px); aspect-ratio: 3 / 4; position: relative; overflow: hidden; border-radius: 6px;
	justify-content: flex-end; --padding-top: 26px; --padding-right: 26px; --padding-bottom: 26px; --padding-left: 26px; gap: 10px; background-size: cover; background-position: center;
}
.e-con.iq-scard::before { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: linear-gradient(180deg, rgba(8, 18, 29, .05) 30%, rgba(8, 18, 29, .9) 100%); transition: background-color .6s var(--iq-ease); z-index: 0; }
.e-con.iq-scard > * { position: relative; z-index: 1; }
.e-con.iq-scard:hover::before { background-color: rgba(59, 97, 252, .25); }
.iq-scard__n .elementor-heading-title { font: 500 12px/1 var(--iq-mono); letter-spacing: .08em; color: rgba(255, 255, 255, .65); }
.iq-scard .iq-h3 .elementor-heading-title { color: #fff; font-size: clamp(1.3rem, 1.7vw, 1.6rem); }
.iq-scard .elementor-widget-text-editor { color: rgba(255, 255, 255, .78); font-size: 14.5px; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .7s var(--iq-ease), opacity .5s var(--iq-ease); }
.iq-scard:hover .elementor-widget-text-editor { max-height: 140px; opacity: 1; }
@media (hover: none), (max-width: 860px) {
	.iq-scard .elementor-widget-text-editor { max-height: none; opacity: 1; }
	.e-con.iq-track-wrap { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--iq-gutter) * -1); width: calc(100% + var(--iq-gutter) * 2); --padding-left: var(--iq-gutter); --padding-right: var(--iq-gutter); }
	.e-con.iq-track { transform: none !important; }
	.e-con.iq-scard { scroll-snap-align: center; width: 76vw; }
}

/* ==========================================================================
   09 HOW WE WORK — brief
   ========================================================================== */
.e-con.iq-how__grid { flex-direction: row; gap: clamp(40px, 6vw, 96px); align-items: flex-start; }
.e-con.iq-how__intro { flex: 0 0 34%; gap: 22px; align-items: flex-start; }
.e-con.iq-how__steps { flex: 1 1 auto; display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; padding-top: 8px !important; }
.e-con.iq-how__steps::before, .e-con.iq-how__steps::after { content: ""; position: absolute; left: 0; right: 0; top: 13px; bottom: auto; height: 1px; background: #C9D2DC; }
.e-con.iq-how__steps::after { background: var(--iq-blue); transform: scaleX(0); transform-origin: left; transition: transform 2s var(--iq-ease) .2s; }
.e-con.iq-how__steps.is-in::after { transform: scaleX(1); }
.e-con.iq-hstep { --padding-top: 36px; --padding-right: 18px; gap: 10px; position: relative; }
.e-con.iq-hstep::before { content: ""; position: absolute; left: 0; top: 0; width: 11px; height: 11px; transform: rotate(45deg); background: var(--iq-steel); box-shadow: inset 0 0 0 1.5px var(--iq-blue); z-index: 1; transition: background-color .5s var(--iq-ease); }
.iq-how__steps.is-in .iq-hstep::before { background: var(--iq-blue); }
.iq-how__steps.is-in .iq-hstep:nth-child(2)::before { transition-delay: .4s; }
.iq-how__steps.is-in .iq-hstep:nth-child(3)::before { transition-delay: .8s; }
.iq-how__steps.is-in .iq-hstep:nth-child(4)::before { transition-delay: 1.2s; }
.iq-how__steps.is-in .iq-hstep:nth-child(5)::before { transition-delay: 1.6s; }
.iq-hstep__n .elementor-heading-title { font: 500 12px/1 var(--iq-mono); color: var(--iq-muted); letter-spacing: .06em; }
.iq-hstep .iq-h3 .elementor-heading-title { font-size: 17px; line-height: 1.25; }
.iq-hstep .elementor-widget-text-editor { font-size: 14px; line-height: 1.5; color: var(--iq-muted); }
@media (max-width: 1024px) {
	.e-con.iq-how__grid { flex-direction: column; }
	.e-con.iq-how__intro { flex-basis: auto; }
	.e-con.iq-how__steps { width: 100%; }
}
@media (max-width: 700px) {
	.e-con.iq-how__steps { grid-template-columns: 1fr; }
	.e-con.iq-how__steps::before, .e-con.iq-how__steps::after { left: 5px; right: auto; top: 14px; bottom: 40px; width: 1px; height: auto; transform-origin: top; }
	.e-con.iq-how__steps::after { transform: scaleY(0); }
	.e-con.iq-how__steps.is-in::after { transform: scaleY(1); }
	.e-con.iq-hstep { --padding-top: 0px; --padding-bottom: 28px; --padding-left: 36px; }
}

/* ==========================================================================
   10 TECHNOLOGY WATCH
   ========================================================================== */
.e-con.iq-watch__cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.e-con.iq-wcard { gap: 14px; align-items: flex-start; }
.iq-wcard__img { width: 100%; overflow: hidden; border-radius: 6px; margin-bottom: 10px !important; }
.iq-wcard__img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; transition: transform 1.2s var(--iq-ease); }
.iq-wcard:hover .iq-wcard__img img { transform: scale(1.04); }
.iq-wcard__tag .elementor-heading-title { font: 500 11.5px/1 var(--iq-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--iq-blue); }
.iq-wcard .iq-h3 .elementor-heading-title { font-size: clamp(1.15rem, 1.5vw, 1.35rem); line-height: 1.25; }
.iq-wcard .elementor-widget-text-editor { font-size: 15px; }
@media (max-width: 960px) {
	.e-con.iq-watch__cards { display: flex !important; flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--iq-gutter) * -1); width: calc(100% + var(--iq-gutter) * 2); --padding-left: var(--iq-gutter); --padding-right: var(--iq-gutter); }
	.e-con.iq-wcard { flex: 0 0 min(78vw, 360px); scroll-snap-align: start; }
}

/* ==========================================================================
   11 CTA — full-bleed photo
   ========================================================================== */
.e-con.iq-cta { --padding-top: clamp(120px, 14vw, 200px); --padding-bottom: clamp(100px, 11vw, 160px); overflow: hidden; background-size: cover; background-position: center; }
.e-con.iq-cta::before { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 0; background: linear-gradient(90deg, rgba(8, 18, 29, .95) 0%, rgba(8, 18, 29, .8) 50%, rgba(8, 18, 29, .45) 100%); }
.e-con.iq-cta > .e-con-inner { position: relative; z-index: 1; gap: 28px; align-items: flex-start; }
.iq-cta .iq-h2 .elementor-heading-title { font-size: clamp(2.4rem, 6vw, 5.6rem); max-width: 13ch; line-height: .98; }
.iq-cta__mail { font-size: 15px !important; color: rgba(255, 255, 255, .6) !important; }
.iq-cta__mail a { color: #fff; text-decoration: none; box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .4); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.iq-footer { background: var(--iq-deep); color: rgba(255, 255, 255, .6); padding: clamp(72px, 8vw, 110px) var(--iq-gutter) 28px; font-family: var(--iq-body); border-top: 1px solid var(--iq-line-d); }
.iq-footer a { color: rgba(255, 255, 255, .78); text-decoration: none; transition: color .3s var(--iq-ease); }
.iq-footer a:hover { color: var(--iq-teal); }
.iq-footer__inner { max-width: var(--iq-max); margin: 0 auto; display: grid; grid-template-columns: minmax(240px, 1fr) 2.4fr; gap: 60px; }
.iq-footer__logo img { height: 32px; width: auto; }
.iq-footer__tag { margin: 20px 0 26px; max-width: 22em; font-size: 15px; line-height: 1.6; }
.iq-footer__mail { display: inline-flex; align-items: center; gap: 12px; font: 600 15px/1 var(--iq-body); color: #fff !important; }
.iq-footer__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.iq-footer .iq-footer__h { margin: 0 0 16px; font: 500 11.5px/1 var(--iq-mono); letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.iq-footer .iq-footer__h--sp { margin-top: 28px; }
.iq-footer ul { margin: 0; padding: 0; display: grid; gap: 11px; font-size: 14.5px; line-height: 1.4; }
.iq-footer__base { max-width: var(--iq-max); margin: clamp(48px, 6vw, 80px) auto 0; padding-top: 24px; border-top: 1px solid var(--iq-line-d); display: flex; justify-content: space-between; gap: 16px; font-size: 13px; }
.iq-footer__base p { margin: 0; display: flex; gap: 20px; }
@media (max-width: 1024px) { .iq-footer__inner { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .iq-footer__cols { grid-template-columns: 1fr 1fr; } .iq-footer__base { flex-direction: column; } }

/* ==========================================================================
   Motion
   ========================================================================== */
.iq-rv { opacity: 0; transform: translateY(32px); transition: opacity 1s var(--iq-ease), transform 1.1s var(--iq-ease); transition-delay: var(--d, 0ms); }
.iq-rv.is-v { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.iq-site *, .iq-site *::before, .iq-site *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
	html { scroll-behavior: auto; }
}

/* fixes */
.e-con.iq-who__top > .iq-head { flex: 1 1 auto; min-width: 0; }
.e-con.iq-who__top > .iq-switch { flex: 0 0 auto; }
.e-con.iq-who > .e-con-inner > .e-con { width: 100%; }
.iq-h3d__intro .iq-lead p { max-width: 34em; }
.e-con.iq-who__top > .e-con, .e-con.iq-switch, .e-con.iq-btns, .e-con.iq-head--split > .e-con { --width: auto; }
.e-con.iq-switch > .elementor-widget-button { width: auto; }

/* ==========================================================================
   01 HERO — full image cover (interim, until the 3D story is built)
   ========================================================================== */
.e-con.iq-hero {
	--padding-top: clamp(140px, 18vh, 200px); --padding-bottom: clamp(28px, 4vh, 44px);
	min-height: 100vh; min-height: 100svh; overflow: hidden; background-size: cover; background-position: center 60%;
}
.e-con.iq-hero::before {
	content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(8, 18, 29, .6) 0%, rgba(8, 18, 29, .15) 30%, rgba(8, 18, 29, .55) 62%, rgba(8, 18, 29, .95) 100%),
		linear-gradient(90deg, rgba(8, 18, 29, .75) 0%, rgba(8, 18, 29, 0) 60%);
}
.e-con.iq-hero > .e-con-inner { position: relative; z-index: 1; min-height: inherit; justify-content: flex-end; gap: clamp(48px, 8vh, 96px); }
.e-con.iq-hero__copy { gap: 26px; align-items: flex-start; }
.iq-hero .iq-h1 .elementor-heading-title { color: #fff; font-size: clamp(2.5rem, 5.6vw, 5.4rem); max-width: 11em; }
.iq-hero .iq-lead { color: rgba(255, 255, 255, .78) !important; }
.iq-hero .iq-lead p { max-width: 34em; }
.e-con.iq-hero__steps { flex-direction: row; border-top: 1px solid rgba(255, 255, 255, .2); }
.e-con.iq-hero__step { flex: 1 1 0; --padding-top: 20px; --padding-right: 20px; gap: 8px; }
.e-con.iq-hero__step + .iq-hero__step { --padding-left: 20px; border-left: 1px solid rgba(255, 255, 255, .14); }
.iq-hero__n .elementor-heading-title { font: 500 12px/1 var(--iq-mono); letter-spacing: .08em; color: var(--iq-teal); }
.iq-hero__t .elementor-heading-title { font: 600 15px/1.35 var(--iq-body); font-stretch: 100%; letter-spacing: 0; color: rgba(255, 255, 255, .88); }
@media (max-width: 767px) {
	.e-con.iq-hero { --padding-top: 120px; background-position: 30% center; }
	.e-con.iq-hero__copy { gap: 18px; }
	.iq-hero .iq-lead { font-size: 15.5px !important; }
	.iq-hero .e-con.iq-btns { width: 100%; flex-direction: column; }
	.iq-hero .iq-btns .elementor-widget-button, .iq-hero .iq-btns .elementor-button { width: 100%; justify-content: space-between; }
	.e-con.iq-hero__steps { flex-wrap: wrap; }
	.e-con.iq-hero__step { flex: 1 1 50%; --padding-top: 14px; --padding-bottom: 14px; --padding-right: 10px; }
	.e-con.iq-hero__step + .iq-hero__step { --padding-left: 0px; border-left: 0; }
	.e-con.iq-hero__step:nth-child(even) { --padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, .14); }
	.e-con.iq-hero__step:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .14); }
	.iq-hero__t .elementor-heading-title { font-size: 13.5px; }
}
/* logos strip directly under the photo hero */
.e-con.iq-logos > .e-con-inner { border-top: 0; }
@media (max-width: 860px) {
	.e-con.iq-what__media { display: none; }
	.e-con.iq-svc, .e-con.iq-svc.is-active { opacity: 1; min-height: 0; --padding-top: 32px; --padding-bottom: 32px; }
	.iq-cta .e-con.iq-btns { width: 100%; flex-direction: column; }
	.iq-cta .iq-btns .elementor-widget-button, .iq-cta .iq-btns .elementor-button { width: 100%; justify-content: space-between; }
}

/* ==========================================================================
   Brand gradient (teal → sky → blue, from the logo "i")
   ========================================================================== */
.iq-site { --iq-grad: linear-gradient(100deg, #08DAD9 0%, #1CA1FF 45%, #3B61FC 100%); --iq-grad-light: linear-gradient(100deg, #0BB8D9 0%, #1C8CFF 40%, #3B61FC 100%); }
/* highlighted phrase in headings: brighter on dark, deeper on light for contrast */
.iq-grad { background: var(--iq-grad-light); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding-bottom: .04em; }
.iq-dark .iq-grad, .iq-on-img .iq-grad { background-image: var(--iq-grad); }
/* labels: gradient diamond marker */
.iq-label .elementor-heading-title::before { width: 7px; height: 7px; transform: rotate(45deg); background: var(--iq-grad); }
/* primary actions */
.iq-site .iq-btn-primary .elementor-button { background: var(--iq-grad-light); background-size: 150% 100%; background-position: 100% 0; transition: background-position .6s var(--iq-ease), box-shadow .45s var(--iq-ease), transform .2s var(--iq-ease); }
.iq-site .iq-btn-primary .elementor-button:hover { background: var(--iq-grad-light); background-size: 150% 100%; background-position: 0 0; }
.iq-header__cta, .iq-mobile__cta { background: var(--iq-grad-light); background-size: 150% 100%; background-position: 100% 0; transition: background-position .6s var(--iq-ease); }
.iq-header__cta:hover { background: var(--iq-grad-light); background-size: 150% 100%; background-position: 0 0; }
.iq-arrow { background: var(--iq-grad-light); }
.iq-site .iq-switch .is-active .elementor-button { box-shadow: inset 0 -2px 0 #1CA1FF, 0 1px 2px rgba(14, 27, 40, .08), 0 8px 20px -10px rgba(14, 27, 40, .3); }
/* stats + numbers */
.iq-stat__num .elementor-heading-title small { background: var(--iq-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.e-con.iq-stats { border-image: linear-gradient(90deg, #08DAD9, #3B61FC 40%, rgba(255, 255, 255, .2) 70%) 1; border-top-width: 1px; border-top-style: solid; }
.iq-hero__n .elementor-heading-title, .iq-gapc__k .elementor-heading-title { background: var(--iq-grad); -webkit-background-clip: text; background-clip: text; color: transparent; width: max-content; }
/* lines and markers */
.e-con.iq-how__steps::after { background: var(--iq-grad-light); }
.iq-how__steps.is-in .iq-hstep::before { background: var(--iq-grad-light); box-shadow: none; }
.e-con.iq-logos > .e-con-inner { border-top: 0; }
.e-con.iq-logos::before { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: auto; height: 1px; background: linear-gradient(90deg, transparent, #08DAD9 30%, #3B61FC 70%, transparent); opacity: .5; }
.e-con.iq-svc.is-active { border-top-color: transparent; border-image: linear-gradient(90deg, #08DAD9, #3B61FC 45%, var(--iq-line) 80%) 1; }
.iq-svc__n .elementor-heading-title, .iq-wcard__tag .elementor-heading-title, .iq-chain li span { background: var(--iq-grad-light); -webkit-background-clip: text; background-clip: text; color: transparent; width: max-content; }
.iq-chain li span { background-image: var(--iq-grad); margin-left: auto; }
.e-con.iq-wcard { position: relative; }
.e-con.iq-wcard::after { content: ""; position: absolute; left: 0; right: 0; top: auto; bottom: -12px; height: 2px; background: var(--iq-grad-light); transform: scaleX(0); transform-origin: left; transition: transform .8s var(--iq-ease); }
.e-con.iq-wcard:hover::after { transform: scaleX(1); }
.e-con.iq-scard::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; top: auto; height: 3px; background: var(--iq-grad); z-index: 2; transform: scaleX(0); transform-origin: left; transition: transform .8s var(--iq-ease); }
.e-con.iq-scard:hover::after { transform: scaleX(1); }
/* soft brand glow in dark bands */
.e-con.iq-statement::after { content: ""; position: absolute; width: 760px; height: 760px; right: -220px; top: -260px; left: auto; bottom: auto; border-radius: 50%; pointer-events: none; z-index: 0; background: radial-gradient(circle, rgba(28, 161, 255, .16), transparent 62%); }
.iq-footer { position: relative; }
.iq-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: linear-gradient(90deg, transparent, #08DAD9 30%, #3B61FC 70%, transparent); opacity: .6; }
/* 3D hero: logo strip follows the dark hero, keep its divider */
.iq-h3d .iq-h1 .iq-grad { background-image: var(--iq-grad); }
@media (max-width: 420px) { .iq-h3d__intro .iq-h1 .elementor-heading-title, .iq-hero .iq-h1 .elementor-heading-title { font-size: 2.3rem; } }
