/*
 * Innovation Planet ASUS Business landing page.
 * Every selector is scoped to .ipab to avoid theme and plugin collisions.
 */

.ipab {
	--ipab-ink: #10131a;
	--ipab-ink-soft: #4d5563;
	--ipab-blue: #1677ff;
	--ipab-blue-deep: #0755c9;
	--ipab-cyan: #44bbb8;
	--ipab-purple: #65489d;
	--ipab-line: rgba(16, 19, 26, 0.12);
	--ipab-surface: #ffffff;
	--ipab-surface-soft: #f4f6f9;
	--ipab-dark: #0d1118;
	--ipab-radius: 28px;
	--ipab-shadow: 0 28px 80px rgba(22, 34, 58, 0.12);
	position: relative;
	color: var(--ipab-ink);
	background: var(--ipab-surface);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	overflow: clip;
}

.ipab,
.ipab *,
.ipab *::before,
.ipab *::after {
	box-sizing: border-box;
}

.ipab img {
	display: block;
	max-width: 100%;
	height: auto;
}

.ipab a {
	color: inherit;
	text-decoration: none;
}

.ipab button,
.ipab input,
.ipab select,
.ipab textarea {
	font: inherit;
}

.ipab h1,
.ipab h2,
.ipab h3,
.ipab p,
.ipab ul,
.ipab ol,
.ipab figure,
.ipab blockquote {
	margin-top: 0;
}

.ipab h1,
.ipab h2,
.ipab h3 {
	color: var(--ipab-ink);
	font-weight: 720;
	letter-spacing: -0.04em;
	line-height: 1.06;
}

.ipab h2 {
	font-size: clamp(2.2rem, 4.4vw, 4.8rem);
	margin-bottom: 24px;
}

.ipab h3 {
	font-size: clamp(1.55rem, 2.7vw, 2.65rem);
	margin-bottom: 18px;
}

.ipab :focus-visible {
	outline: 3px solid #0b69e3;
	outline-offset: 4px;
	border-radius: 6px;
}

.ipab-skip {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 9999;
	padding: 12px 18px;
	color: #fff !important;
	background: var(--ipab-dark);
	border-radius: 10px;
	transform: translateY(-150%);
	transition: transform 160ms ease;
}

.ipab-skip:focus {
	transform: translateY(0);
}

.ipab-wrap {
	width: min(calc(100% - 48px), 1240px);
	margin-inline: auto;
}

.ipab section {
	position: relative;
	padding-block: clamp(82px, 9vw, 144px);
}

.ipab-eyebrow,
.ipab-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--ipab-blue-deep);
	font-size: 0.78rem;
	font-weight: 760;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ipab-eyebrow span {
	width: 30px;
	height: 1px;
	background: currentColor;
}

.ipab-kicker > span {
	color: var(--ipab-ink-soft);
	font-weight: 690;
}

.ipab-kicker::after {
	content: "";
	width: 48px;
	height: 1px;
	background: currentColor;
	opacity: 0.45;
}

.ipab-kicker--light,
.ipab-kicker--light > span {
	color: rgba(255, 255, 255, 0.76);
}

.ipab-lead {
	max-width: 680px;
	color: var(--ipab-ink-soft);
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	line-height: 1.75;
}

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

.ipab-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 14px 22px;
	border: 1px solid transparent;
	border-radius: 12px;
	font-size: 0.84rem;
	font-weight: 760;
	letter-spacing: 0.035em;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.ipab-button span {
	margin-left: 10px;
	font-size: 1.1em;
}

.ipab-button:hover {
	transform: translateY(-2px);
}

.ipab-button--primary {
	color: #fff !important;
	background: linear-gradient(135deg, var(--ipab-blue) 0%, var(--ipab-blue-deep) 100%);
	box-shadow: 0 16px 34px rgba(22, 119, 255, 0.25);
}

.ipab-button--primary:hover {
	box-shadow: 0 20px 42px rgba(22, 119, 255, 0.34);
}

.ipab-button--ghost {
	border-color: var(--ipab-line);
	background: rgba(255, 255, 255, 0.68);
	backdrop-filter: blur(14px);
}

.ipab-button--ghost:hover {
	border-color: rgba(22, 119, 255, 0.4);
	background: #fff;
}

.ipab-button--light {
	color: var(--ipab-dark) !important;
	background: #fff;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.2);
}

.ipab-button--outline-light {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.34);
	background: rgba(255, 255, 255, 0.06);
}

.ipab-button--outline-light:hover {
	border-color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.11);
}

.ipab-text-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--ipab-blue-deep) !important;
	font-size: 0.92rem;
	font-weight: 750;
	line-height: 1.4;
}

.ipab-text-link span {
	transition: transform 180ms ease;
}

.ipab-text-link:hover span {
	transform: translateX(4px);
}

.ipab-text-link--muted {
	color: var(--ipab-ink-soft) !important;
}

.ipab-section-heading {
	max-width: 820px;
	margin-bottom: clamp(42px, 6vw, 76px);
}

.ipab-section-heading > p:last-child {
	max-width: 700px;
	margin-bottom: 0;
	color: var(--ipab-ink-soft);
	font-size: 1.08rem;
}

.ipab-section-heading--center {
	margin-inline: auto;
	text-align: center;
}

.ipab-section-heading--center .ipab-kicker {
	justify-content: center;
}

.ipab-section-heading--center > p:last-child {
	margin-inline: auto;
}

.ipab-section-heading--split {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	align-items: end;
	gap: clamp(36px, 7vw, 100px);
	max-width: none;
}

.ipab-section-heading--split h2 {
	margin-bottom: 0;
}

.ipab-section-heading--split > p {
	margin-bottom: 8px !important;
}

/* Hero */
.ipab-hero {
	min-height: min(920px, 90vh);
	padding-top: clamp(34px, 5vw, 66px) !important;
	padding-bottom: clamp(78px, 9vw, 126px) !important;
	background:
		radial-gradient(circle at 84% 26%, rgba(68, 187, 184, 0.15), transparent 30%),
		radial-gradient(circle at 70% 75%, rgba(101, 72, 157, 0.12), transparent 32%),
		linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
}

.ipab-hero__mesh {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(16, 19, 26, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(16, 19, 26, 0.045) 1px, transparent 1px);
	background-size: 62px 62px;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.58), transparent 86%);
	pointer-events: none;
}

.ipab-brand-lockup {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 56px;
	margin-bottom: clamp(54px, 7vw, 88px);
}

.ipab-brand-lockup a,
.ipab-brand-lockup img {
	display: block;
}

.ipab-brand-lockup a img {
	width: auto;
	height: 44px;
}

.ipab-brand-lockup > img {
	width: auto;
	height: 30px;
}

.ipab-brand-lockup > span {
	width: 1px;
	height: 36px;
	background: var(--ipab-line);
}

.ipab-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.84fr) minmax(520px, 1.16fr);
	align-items: center;
	gap: clamp(36px, 4vw, 72px);
}

.ipab-hero__copy {
	position: relative;
	z-index: 4;
}

.ipab-hero h1 {
	max-width: 720px;
	margin-bottom: 26px;
	font-size: clamp(3.2rem, 5.65vw, 6.35rem);
	letter-spacing: -0.065em;
	line-height: 0.94;
}

.ipab-hero h1 span {
	color: transparent;
	background: linear-gradient(100deg, var(--ipab-blue-deep), var(--ipab-purple) 56%, var(--ipab-cyan));
	-webkit-background-clip: text;
	background-clip: text;
}

.ipab-hero h1 .ipab-h1-context {
	display: block;
	margin-bottom: 0.9rem;
	color: var(--ipab-blue-deep);
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	font-size: clamp(0.75rem, 0.17em, 1rem);
	font-weight: 760;
	letter-spacing: 0.13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ipab-hero__hook {
	max-width: 580px;
	margin-bottom: 18px;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 690;
	letter-spacing: -0.02em;
	line-height: 1.35;
}

.ipab-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	padding: 0;
	margin: 34px 0 0;
	list-style: none;
}

.ipab-trust li {
	position: relative;
	padding-left: 19px;
	color: var(--ipab-ink-soft);
	font-size: 0.83rem;
	font-weight: 650;
}

.ipab-trust li::before {
	content: "";
	position: absolute;
	top: 0.52em;
	left: 0;
	width: 8px;
	height: 8px;
	border: 2px solid var(--ipab-blue);
	border-radius: 50%;
}

.ipab-hero-stage {
	position: relative;
	min-height: 620px;
	isolation: isolate;
}

.ipab-hero-stage::before {
	content: "";
	position: absolute;
	inset: 5% 1% 2%;
	z-index: -2;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 42px;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0.26));
	box-shadow: 0 30px 100px rgba(49, 63, 92, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(18px);
}

.ipab-hero-stage__halo {
	position: absolute;
	top: 26%;
	left: 24%;
	z-index: -1;
	width: 55%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(22, 119, 255, 0.22), rgba(68, 187, 184, 0.08) 45%, transparent 70%);
	filter: blur(8px);
}

.ipab-hero-device {
	position: absolute;
	margin: 0;
	filter: drop-shadow(0 24px 24px rgba(15, 22, 40, 0.16));
}

.ipab-hero-device img {
	width: 100%;
}

.ipab-hero-device figcaption {
	position: absolute;
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.78);
	box-shadow: 0 10px 26px rgba(21, 31, 51, 0.1);
	backdrop-filter: blur(12px);
	white-space: nowrap;
}

.ipab-hero-device figcaption strong,
.ipab-hero-device figcaption span {
	display: block;
}

.ipab-hero-device figcaption strong {
	font-size: 0.76rem;
	line-height: 1.2;
}

.ipab-hero-device figcaption span {
	margin-top: 3px;
	color: var(--ipab-ink-soft);
	font-size: 0.75rem;
	line-height: 1.2;
}

.ipab-hero-device--ultra {
	top: 23%;
	left: -4%;
	z-index: 3;
	width: 74%;
}

.ipab-hero-device--ultra figcaption {
	bottom: 18%;
	left: 6%;
}

.ipab-hero-device--p5 {
	top: 1%;
	right: -6%;
	z-index: 2;
	width: 54%;
}

.ipab-hero-device--p5 figcaption {
	top: 18%;
	right: 2%;
}

.ipab-hero-device--b5 {
	right: 0;
	bottom: -2%;
	z-index: 1;
	width: 55%;
}

.ipab-hero-device--b5 figcaption {
	right: 2%;
	bottom: 13%;
}

.ipab-hero-stat {
	position: absolute;
	z-index: 5;
	min-width: 126px;
	padding: 13px 14px;
	border: 1px solid rgba(255, 255, 255, 0.76);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.76);
	box-shadow: 0 16px 36px rgba(18, 30, 54, 0.12);
	backdrop-filter: blur(16px);
}

.ipab-hero-stat span,
.ipab-hero-stat strong,
.ipab-hero-stat small {
	display: block;
}

.ipab-hero-stat span {
	color: var(--ipab-blue-deep);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.ipab-hero-stat strong {
	margin: 2px 0;
	font-size: 0.94rem;
	line-height: 1.25;
}

.ipab-hero-stat small {
	color: var(--ipab-ink-soft);
	font-size: 0.75rem;
	line-height: 1.25;
}

.ipab-hero-stat--ai {
	top: 14%;
	left: 5%;
}

.ipab-hero-stat--grade {
	right: 4%;
	bottom: 14%;
}

/* Sticky anchor navigation */
.ipab-anchor-nav {
	position: sticky;
	top: 0;
	z-index: 80;
	border-top: 1px solid rgba(255, 255, 255, 0.8);
	border-bottom: 1px solid var(--ipab-line);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 12px 30px rgba(17, 26, 43, 0.06);
	backdrop-filter: blur(18px);
}

.admin-bar .ipab-anchor-nav {
	top: 32px;
}

.ipab-anchor-nav__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 62px;
}

.ipab-anchor-nav__links {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2.4vw, 34px);
	overflow-x: auto;
	scrollbar-width: none;
}

.ipab-anchor-nav__links::-webkit-scrollbar {
	display: none;
}

.ipab-anchor-nav__links a {
	position: relative;
	padding-block: 20px;
	color: var(--ipab-ink-soft);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.07em;
	white-space: nowrap;
	text-transform: uppercase;
}

.ipab-anchor-nav__links a::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--ipab-blue);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
}

.ipab-anchor-nav__links a:hover,
.ipab-anchor-nav__links a.is-active {
	color: var(--ipab-ink);
}

.ipab-anchor-nav__links a:hover::after,
.ipab-anchor-nav__links a.is-active::after {
	transform: scaleX(1);
}

.ipab-anchor-nav__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	padding: 10px 14px;
	border-radius: 9px;
	color: #fff !important;
	background: var(--ipab-dark);
	font-size: 0.75rem;
	font-weight: 760;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Problem */
.ipab-problem {
	background: #fff;
}

.ipab-compare {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr);
	align-items: stretch;
	gap: 18px;
}

.ipab-compare__card {
	position: relative;
	padding: clamp(28px, 4vw, 52px);
	border: 1px solid var(--ipab-line);
	border-radius: var(--ipab-radius);
	overflow: hidden;
}

.ipab-compare__card--old {
	background: #f5f6f8;
}

.ipab-compare__card--smart {
	background:
		radial-gradient(circle at 90% 10%, rgba(68, 187, 184, 0.18), transparent 34%),
		linear-gradient(145deg, #f8fbff, #eef5ff);
	box-shadow: var(--ipab-shadow);
}

.ipab-compare__label {
	margin-bottom: 30px;
	color: var(--ipab-ink-soft);
	font-size: 0.75rem;
	font-weight: 760;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.ipab-compare__card h3 {
	max-width: 450px;
}

.ipab-compare__card > p:last-child {
	max-width: 480px;
	margin: 28px 0 0;
	color: var(--ipab-ink-soft);
}

.ipab-compare__uniform,
.ipab-compare__roles {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 38px;
}

.ipab-compare__uniform span,
.ipab-compare__roles span {
	display: block;
	aspect-ratio: 1.35;
	border: 1px solid rgba(16, 19, 26, 0.16);
	border-radius: 10px;
	background: linear-gradient(145deg, #fff, #e8ebef);
	box-shadow: inset 0 -7px 0 rgba(16, 19, 26, 0.05);
}

.ipab-compare__roles span:nth-child(1) {
	background: linear-gradient(145deg, #d8e8ff, #fff);
}

.ipab-compare__roles span:nth-child(2) {
	transform: scaleY(1.18);
	background: linear-gradient(145deg, #e9ddff, #fff);
}

.ipab-compare__roles span:nth-child(3) {
	transform: scaleY(0.82);
	background: linear-gradient(145deg, #d9f4f1, #fff);
}

.ipab-compare__roles span:nth-child(4) {
	transform: scaleY(1.05);
	background: linear-gradient(145deg, #dfe7f2, #fff);
}

.ipab-compare__shift {
	display: grid;
	place-items: center;
}

.ipab-compare__shift span {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid var(--ipab-line);
	border-radius: 50%;
	color: var(--ipab-blue-deep);
	background: #fff;
	font-size: 1.35rem;
	box-shadow: 0 12px 30px rgba(22, 34, 58, 0.1);
}

.ipab-pullquote {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 14px;
	padding: clamp(36px, 5vw, 66px) 20px 0;
	margin-bottom: 0;
	border: 0;
	font-size: clamp(1.35rem, 2.65vw, 2.5rem);
	letter-spacing: -0.035em;
	line-height: 1.25;
	text-align: center;
}

.ipab-pullquote span {
	color: var(--ipab-ink-soft);
}

.ipab-pullquote strong {
	color: var(--ipab-blue-deep);
}

/* Role selector */
.ipab-role-section {
	background: var(--ipab-surface-soft);
}

.ipab-role-tabs {
	display: grid;
	grid-template-columns: 310px minmax(0, 1fr);
	border: 1px solid var(--ipab-line);
	border-radius: 30px;
	background: #fff;
	box-shadow: var(--ipab-shadow);
	overflow: hidden;
}

.ipab-role-tabs__list {
	display: flex;
	flex-direction: column;
	padding: 14px;
	border-right: 1px solid var(--ipab-line);
	background: #f7f8fa;
}

.ipab-role-tabs__list button {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 60px;
	padding: 12px 14px;
	border: 0;
	border-radius: 12px;
	color: var(--ipab-ink-soft);
	background: transparent;
	font-size: 0.9rem;
	font-weight: 680;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.ipab-role-tabs__list button span {
	color: #8a929f;
	font-size: 0.75rem;
	font-weight: 760;
	letter-spacing: 0.06em;
}

.ipab-role-tabs__list button:hover {
	color: var(--ipab-ink);
	background: rgba(255, 255, 255, 0.8);
}

.ipab-role-tabs__list button[aria-selected="true"] {
	color: #fff;
	background: var(--ipab-dark);
	box-shadow: 0 12px 26px rgba(13, 17, 24, 0.18);
}

.ipab-role-tabs__list button[aria-selected="true"] span {
	color: #87b8ff;
}

.ipab-role-tabs__panels {
	min-width: 0;
}

.ipab-role-tabs__panels article {
	display: grid;
	grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
	align-items: center;
	gap: clamp(28px, 4vw, 58px);
	min-height: 560px;
	padding: clamp(32px, 5vw, 66px);
}

.ipab-role-tabs__panels article[hidden] {
	display: none;
}

.ipab-role-panel__image {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 360px;
	border: 1px solid rgba(16, 19, 26, 0.08);
	border-radius: 24px;
	background:
		radial-gradient(circle at 45% 48%, rgba(22, 119, 255, 0.14), transparent 45%),
		linear-gradient(145deg, #f4f7fb, #fff);
	overflow: hidden;
}

.ipab-role-panel__image::before {
	content: "";
	position: absolute;
	inset: 20px;
	border: 1px solid rgba(22, 119, 255, 0.1);
	border-radius: 18px;
}

.ipab-role-panel__image img {
	position: relative;
	z-index: 1;
	width: 96%;
	filter: drop-shadow(0 24px 20px rgba(13, 22, 40, 0.13));
}

.ipab-role-panel__label {
	margin-bottom: 10px;
	color: var(--ipab-blue-deep);
	font-size: 0.75rem;
	font-weight: 760;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ipab-role-panel__content h3 {
	font-size: clamp(1.8rem, 3vw, 3.05rem);
}

.ipab-role-panel__content > p:not(.ipab-role-panel__label) {
	color: var(--ipab-ink-soft);
	font-size: 1.04rem;
}

.ipab-role-panel__content ul,
.ipab-role-mobile__body ul {
	padding: 0;
	margin: 24px 0 26px;
	list-style: none;
}

.ipab-role-panel__content li,
.ipab-role-mobile__body li {
	position: relative;
	padding: 10px 0 10px 25px;
	border-bottom: 1px solid var(--ipab-line);
	font-size: 0.91rem;
	font-weight: 620;
}

.ipab-role-panel__content li::before,
.ipab-role-mobile__body li::before {
	content: "";
	position: absolute;
	top: 17px;
	left: 1px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ipab-blue);
	box-shadow: 0 0 0 4px rgba(22, 119, 255, 0.11);
}

.ipab-role-mobile {
	display: none;
}

/* Product editorial */
.ipab-products {
	background: #fff;
}

.ipab-product-list {
	display: grid;
	gap: clamp(28px, 5vw, 70px);
}

.ipab-product {
	display: grid;
	grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
	align-items: center;
	gap: clamp(34px, 6vw, 88px);
	min-height: 620px;
	padding: clamp(28px, 5vw, 68px);
	border: 1px solid var(--ipab-line);
	border-radius: 34px;
	background: #f7f8fa;
	overflow: hidden;
}

.ipab-product--reverse .ipab-product__visual {
	order: 2;
}

.ipab-product--ultra {
	background:
		radial-gradient(circle at 20% 15%, rgba(68, 187, 184, 0.16), transparent 35%),
		linear-gradient(145deg, #f5f8fb, #fff);
}

.ipab-product--p5 {
	background:
		radial-gradient(circle at 86% 18%, rgba(101, 72, 157, 0.14), transparent 35%),
		linear-gradient(145deg, #fff, #f5f4f9);
}

.ipab-product--b5 {
	background:
		radial-gradient(circle at 16% 80%, rgba(22, 119, 255, 0.12), transparent 36%),
		linear-gradient(145deg, #f5f8fc, #fff);
}

.ipab-product--p440 {
	background: linear-gradient(145deg, #eff1f4, #fff 58%, #f3f7fc);
}

.ipab-product--p500 {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.08);
	background:
		radial-gradient(circle at 22% 26%, rgba(22, 119, 255, 0.28), transparent 36%),
		linear-gradient(145deg, #151b25, #080b10);
}

.ipab-product--p500 h3,
.ipab-product--p500 .ipab-product__identity strong {
	color: #fff;
}

.ipab-product--p500 .ipab-product__content > p,
.ipab-product--p500 .ipab-product__identity span {
	color: rgba(255, 255, 255, 0.67);
}

.ipab-product--p500 .ipab-specs li {
	color: rgba(255, 255, 255, 0.88);
	border-color: rgba(255, 255, 255, 0.13);
	background: rgba(255, 255, 255, 0.06);
}

.ipab-product--p500 .ipab-text-link--muted {
	color: rgba(255, 255, 255, 0.78) !important;
}

.ipab-product__visual {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 460px;
}

.ipab-product__visual::before {
	content: "";
	position: absolute;
	width: min(90%, 470px);
	aspect-ratio: 1;
	border: 1px solid rgba(22, 119, 255, 0.12);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.76), rgba(22, 119, 255, 0.06) 48%, transparent 70%);
}

.ipab-product__visual img {
	position: relative;
	z-index: 2;
	width: min(110%, 630px);
	max-width: none;
	filter: drop-shadow(0 32px 24px rgba(11, 18, 31, 0.17));
}

.ipab-product--p440 .ipab-product__visual img {
	width: min(116%, 680px);
}

.ipab-product--p500 .ipab-product__visual img {
	width: min(90%, 520px);
	filter: drop-shadow(0 34px 28px rgba(0, 0, 0, 0.4));
}

.ipab-product__number {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	color: rgba(16, 19, 26, 0.1);
	font-size: clamp(3.8rem, 8vw, 8rem);
	font-weight: 780;
	letter-spacing: -0.08em;
	line-height: 1;
}

.ipab-product--p500 .ipab-product__number {
	color: rgba(255, 255, 255, 0.11);
}

.ipab-product__content > p:not(.ipab-eyebrow) {
	color: var(--ipab-ink-soft);
	font-size: 1.02rem;
}

.ipab-product__identity {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
	margin: 24px 0 20px;
}

.ipab-product__identity strong {
	font-size: 1.05rem;
}

.ipab-product__identity span {
	color: var(--ipab-ink-soft);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.75rem;
}

.ipab-specs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 26px 0 28px;
	list-style: none;
}

.ipab-specs li {
	padding: 8px 11px;
	border: 1px solid var(--ipab-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.62);
	font-size: 0.75rem;
	font-weight: 680;
	line-height: 1.3;
}

.ipab-product__links {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 24px;
}

/* Availability */
.ipab-availability {
	padding-block: 0 !important;
	background: #fff;
}

.ipab-availability__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
	align-items: center;
	gap: clamp(40px, 8vw, 110px);
	padding: clamp(40px, 6vw, 78px);
	border-radius: 32px;
	color: #fff;
	background:
		radial-gradient(circle at 78% 20%, rgba(68, 187, 184, 0.26), transparent 28%),
		radial-gradient(circle at 15% 90%, rgba(101, 72, 157, 0.32), transparent 36%),
		linear-gradient(135deg, #101722, #07101c);
	box-shadow: 0 34px 90px rgba(8, 17, 31, 0.26);
	overflow: hidden;
}

.ipab-availability__copy h2 {
	color: #fff;
	font-size: clamp(2.15rem, 4vw, 4.25rem);
}

.ipab-availability__copy > p:not(.ipab-kicker) {
	max-width: 700px;
	color: rgba(255, 255, 255, 0.68);
}

.ipab-availability__models {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.ipab-availability__models span {
	padding: 13px 14px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.07);
	font-size: 0.8rem;
	font-weight: 690;
	backdrop-filter: blur(10px);
}

.ipab-availability__models small {
	grid-column: 1 / -1;
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.75rem;
}

/* Durability */
.ipab-durability {
	background: #fff;
}

.ipab-durability__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
	align-items: center;
	gap: clamp(54px, 8vw, 120px);
}

.ipab-durability__visual {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 570px;
	border-radius: 30px;
	background:
		radial-gradient(circle at 50% 46%, rgba(22, 119, 255, 0.17), transparent 38%),
		linear-gradient(145deg, #f0f3f7, #fff);
	overflow: hidden;
}

.ipab-engineering-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(22, 119, 255, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(22, 119, 255, 0.08) 1px, transparent 1px);
	background-size: 42px 42px;
	mask-image: radial-gradient(circle, #000 10%, transparent 72%);
}

.ipab-durability__visual img {
	position: relative;
	z-index: 2;
	width: 96%;
	filter: drop-shadow(0 32px 26px rgba(12, 22, 40, 0.2));
}

.ipab-durability__badge {
	position: absolute;
	right: 30px;
	bottom: 30px;
	z-index: 3;
	padding: 17px 19px;
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 18px 40px rgba(18, 30, 52, 0.13);
	backdrop-filter: blur(14px);
}

.ipab-durability__badge span,
.ipab-durability__badge strong,
.ipab-durability__badge small {
	display: block;
}

.ipab-durability__badge span {
	color: var(--ipab-blue-deep);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.ipab-durability__badge strong {
	font-size: 1.35rem;
	line-height: 1.2;
}

.ipab-durability__badge small {
	color: var(--ipab-ink-soft);
	font-size: 0.75rem;
}

.ipab-durability__copy > p:not(.ipab-kicker) {
	color: var(--ipab-ink-soft);
	font-size: 1.04rem;
}

.ipab-durability__copy blockquote {
	position: relative;
	padding: 25px 0 4px 28px;
	margin: 28px 0 0;
	border: 0;
	border-left: 3px solid var(--ipab-blue);
	font-size: clamp(1.25rem, 2vw, 1.72rem);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.35;
}

/* AI */
.ipab-ai {
	background: var(--ipab-surface-soft);
}

.ipab-value-flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr) 50px minmax(0, 1fr);
	align-items: center;
}

.ipab-value-flow article {
	min-height: 300px;
	padding: clamp(26px, 4vw, 44px);
	border: 1px solid var(--ipab-line);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 46px rgba(22, 34, 58, 0.07);
}

.ipab-value-flow article > span {
	display: block;
	margin-bottom: 48px;
	color: var(--ipab-blue-deep);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.ipab-value-flow article > p {
	margin-bottom: 2px;
	color: var(--ipab-ink-soft);
	font-size: 0.8rem;
	font-weight: 670;
}

.ipab-value-flow article h3 {
	font-size: clamp(1.7rem, 2.6vw, 2.45rem);
}

.ipab-value-flow article small {
	display: block;
	color: var(--ipab-ink-soft);
	font-size: 0.86rem;
	line-height: 1.6;
}

.ipab-value-flow__arrow {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border: 1px solid var(--ipab-line);
	border-radius: 50%;
	color: var(--ipab-blue-deep);
	background: #fff;
	font-size: 1.25rem;
	box-shadow: 0 10px 25px rgba(20, 32, 55, 0.1);
}

.ipab-ai__note {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 22px 26px;
	margin-top: 28px;
	border: 1px solid rgba(22, 119, 255, 0.18);
	border-radius: 16px;
	background: rgba(22, 119, 255, 0.06);
}

.ipab-ai__note strong {
	flex: 0 0 auto;
	color: var(--ipab-blue-deep);
}

.ipab-ai__note span {
	color: var(--ipab-ink-soft);
	font-size: 0.88rem;
}

/* Lifecycle */
.ipab-lifecycle {
	background: #fff;
}

.ipab-lifecycle__timeline {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin-bottom: 34px;
}

.ipab-lifecycle__timeline::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 7%;
	right: 7%;
	height: 1px;
	background: linear-gradient(90deg, var(--ipab-blue), var(--ipab-purple), var(--ipab-cyan));
}

.ipab-lifecycle__timeline div {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
}

.ipab-lifecycle__timeline span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(22, 119, 255, 0.25);
	border-radius: 50%;
	color: var(--ipab-blue-deep);
	background: #fff;
	font-size: 0.75rem;
	font-weight: 790;
	box-shadow: 0 9px 22px rgba(18, 32, 58, 0.09);
}

.ipab-lifecycle__timeline strong {
	font-size: 0.86rem;
}

.ipab-warranty {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	border: 1px solid var(--ipab-line);
	border-radius: 28px;
	background: var(--ipab-surface-soft);
	overflow: hidden;
}

.ipab-warranty__intro,
.ipab-warranty__options {
	padding: clamp(28px, 5vw, 56px);
}

.ipab-warranty__intro {
	color: #fff;
	background: var(--ipab-dark);
}

.ipab-warranty__intro span,
.ipab-warranty__intro strong {
	display: block;
}

.ipab-warranty__intro span {
	margin-bottom: 22px;
	color: #92bcff;
	font-size: 0.75rem;
	font-weight: 780;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ipab-warranty__intro strong {
	font-size: clamp(2.9rem, 6vw, 6.3rem);
	letter-spacing: -0.065em;
	line-height: 0.92;
}

.ipab-warranty__intro p {
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.64);
	font-size: 0.85rem;
}

.ipab-warranty__options > p {
	margin-bottom: 22px;
	color: var(--ipab-ink-soft);
	font-size: 0.75rem;
	font-weight: 760;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ipab-warranty__options > div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-bottom: 24px;
}

.ipab-warranty__options > div span {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 5px;
	padding: 20px 10px;
	border: 1px solid var(--ipab-line);
	border-radius: 14px;
	background: #fff;
	font-size: clamp(2rem, 4vw, 3.6rem);
	font-weight: 750;
	letter-spacing: -0.06em;
	line-height: 1;
}

.ipab-warranty__options > div small {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0;
}

.ipab-warranty__options > small {
	display: block;
	color: var(--ipab-ink-soft);
	font-size: 0.78rem;
	line-height: 1.65;
}

/* Process */
.ipab-process {
	color: #fff;
	background:
		radial-gradient(circle at 18% 18%, rgba(22, 119, 255, 0.28), transparent 27%),
		radial-gradient(circle at 84% 80%, rgba(68, 187, 184, 0.18), transparent 32%),
		var(--ipab-dark);
}

.ipab-process h2,
.ipab-process .ipab-kicker > span {
	color: #fff;
}

.ipab-process .ipab-section-heading > p:last-child {
	color: rgba(255, 255, 255, 0.67);
}

.ipab-process__steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	padding: 1px;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.12);
	list-style: none;
	overflow: hidden;
}

.ipab-process__steps li {
	min-height: 275px;
	padding: 30px 24px;
	background: rgba(10, 15, 22, 0.92);
}

.ipab-process__steps li > span {
	display: block;
	margin-bottom: 62px;
	color: #79b1ff;
	font-size: 0.75rem;
	font-weight: 790;
	letter-spacing: 0.1em;
}

.ipab-process__steps strong {
	display: block;
	margin-bottom: 12px;
	font-size: 1.05rem;
	line-height: 1.3;
}

.ipab-process__steps p {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.56);
	font-size: 0.82rem;
}

/* Internal links */
.ipab-links {
	background: #fff;
}

.ipab-link-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.ipab-link-grid > a {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 248px;
	padding: 28px;
	border: 1px solid var(--ipab-line);
	border-radius: 20px;
	background: #fff;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.ipab-link-grid > a:hover {
	transform: translateY(-4px);
	border-color: rgba(22, 119, 255, 0.35);
	box-shadow: 0 20px 46px rgba(22, 34, 58, 0.1);
}

.ipab-link-grid span {
	margin-bottom: 36px;
	color: var(--ipab-blue-deep);
	font-size: 0.75rem;
	font-weight: 790;
	letter-spacing: 0.1em;
}

.ipab-link-grid strong {
	max-width: 260px;
	margin-bottom: 12px;
	font-size: 1.16rem;
	line-height: 1.3;
}

.ipab-link-grid small {
	max-width: 300px;
	color: var(--ipab-ink-soft);
	font-size: 0.82rem;
	line-height: 1.55;
}

.ipab-link-grid i {
	position: absolute;
	right: 24px;
	bottom: 22px;
	color: var(--ipab-blue-deep);
	font-size: 1.2rem;
	font-style: normal;
	transition: transform 180ms ease;
}

.ipab-link-grid a:hover i {
	transform: translateX(4px);
}

/* Official video cards */
.ipab-video {
	background: var(--ipab-surface-soft);
}

.ipab-video-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ipab-video-card {
	padding: 12px 12px 24px;
	border: 1px solid var(--ipab-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 16px 42px rgba(22, 34, 58, 0.07);
}

.ipab-video-card__media {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 10;
	border-radius: 14px;
	background:
		radial-gradient(circle at center, rgba(22, 119, 255, 0.16), transparent 44%),
		linear-gradient(145deg, #eef2f7, #fff);
	overflow: hidden;
}

.ipab-video-card__media > img {
	width: 92%;
	filter: drop-shadow(0 18px 16px rgba(15, 23, 38, 0.17));
	transition: transform 220ms ease;
}

.ipab-video-card:hover .ipab-video-card__media > img {
	transform: scale(1.025);
}

.ipab-video-card__media button {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.ipab-video-card__media button span {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	padding-left: 4px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	border-radius: 50%;
	color: #fff;
	background: rgba(13, 17, 24, 0.82);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.23);
	backdrop-filter: blur(12px);
	transition: transform 180ms ease, background-color 180ms ease;
}

.ipab-video-card__media button:hover span {
	transform: scale(1.08);
	background: var(--ipab-blue-deep);
}

.ipab-video-card__media iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.ipab-video-card > p {
	margin: 20px 14px 4px;
	color: var(--ipab-blue-deep);
	font-size: 0.75rem;
	font-weight: 780;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ipab-video-card > h3 {
	margin: 0 14px;
	font-size: 1.35rem;
	letter-spacing: -0.025em;
}

/* FAQ */
.ipab-faq {
	background: #fff;
}

.ipab-faq__grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
	align-items: start;
	gap: clamp(50px, 8vw, 118px);
}

.ipab-faq__intro {
	position: sticky;
	top: 110px;
}

.ipab-faq__intro h2 {
	font-size: clamp(2.25rem, 4vw, 4.25rem);
}

.ipab-faq__intro > p:not(.ipab-kicker) {
	color: var(--ipab-ink-soft);
}

.ipab-faq__list {
	border-top: 1px solid var(--ipab-line);
}

.ipab-faq__list details {
	border-bottom: 1px solid var(--ipab-line);
}

.ipab-faq__list summary {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 28px;
	align-items: center;
	gap: 16px;
	min-height: 96px;
	padding: 22px 4px;
	list-style: none;
	cursor: pointer;
}

.ipab-faq__list summary::-webkit-details-marker {
	display: none;
}

.ipab-faq__list summary > span {
	color: var(--ipab-blue-deep);
	font-size: 0.75rem;
	font-weight: 780;
	letter-spacing: 0.08em;
}

.ipab-faq__list summary strong {
	font-size: 1.02rem;
	line-height: 1.42;
}

.ipab-faq__list summary i {
	position: relative;
	display: block;
	width: 26px;
	height: 26px;
	border: 1px solid var(--ipab-line);
	border-radius: 50%;
}

.ipab-faq__list summary i::before,
.ipab-faq__list summary i::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 1px;
	background: var(--ipab-ink);
	transform: translate(-50%, -50%);
	transition: transform 160ms ease;
}

.ipab-faq__list summary i::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.ipab-faq__list details[open] summary i::after {
	transform: translate(-50%, -50%) rotate(0);
}

.ipab-faq__list details > div {
	padding: 0 48px 24px 58px;
}

.ipab-faq__list details p {
	max-width: 760px;
	margin-bottom: 0;
	color: var(--ipab-ink-soft);
}

/* Final conversion section */
.ipab-final {
	padding-top: 0 !important;
	padding-bottom: clamp(86px, 9vw, 132px) !important;
	background: #fff;
}

.ipab-final__panel {
	position: relative;
	padding: clamp(34px, 6vw, 78px);
	border-radius: 34px;
	color: #fff;
	background:
		radial-gradient(circle at 10% 10%, rgba(22, 119, 255, 0.38), transparent 31%),
		radial-gradient(circle at 92% 92%, rgba(101, 72, 157, 0.3), transparent 34%),
		linear-gradient(140deg, #111823, #070a0f);
	box-shadow: 0 36px 100px rgba(7, 12, 21, 0.3);
	overflow: hidden;
}

.ipab-final__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 52px 52px;
	mask-image: linear-gradient(to right, #000, transparent 80%);
	pointer-events: none;
}

.ipab-final__brand,
.ipab-final__grid,
.ipab-final__scope {
	position: relative;
	z-index: 1;
}

.ipab-final__brand {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: clamp(54px, 7vw, 82px);
}

.ipab-final__brand img:first-child {
	width: auto;
	height: 44px;
	padding: 6px 9px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.96);
}

.ipab-final__brand img:last-child {
	width: auto;
	height: 44px;
	padding: 6px 10px;
	border-radius: 8px;
	background: #ffffff;
	object-fit: contain;
	filter: none;
}

.ipab-final__brand > span {
	width: 1px;
	height: 34px;
	background: rgba(255, 255, 255, 0.23);
}

.ipab-final__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	align-items: start;
	gap: clamp(44px, 8vw, 110px);
}

.ipab-final h2 {
	margin-bottom: 0;
	color: #fff;
	font-size: clamp(2.4rem, 5vw, 5.45rem);
}

.ipab-final__details > p {
	color: rgba(255, 255, 255, 0.69);
	font-size: 1.02rem;
}

.ipab-final__details ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 24px 0;
	list-style: none;
}

.ipab-final__details li {
	padding: 7px 10px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.78);
	background: rgba(255, 255, 255, 0.06);
	font-size: 0.75rem;
	font-weight: 660;
}

.ipab-contact-line {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 30px;
}

.ipab-contact-line a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.8rem;
	font-weight: 650;
}

.ipab-contact-line a:hover {
	color: #fff;
}

.ipab-final__scope {
	padding-top: 28px;
	margin: clamp(46px, 6vw, 72px) 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.75rem;
}

.ipab-mobile-cta {
	display: none;
}

/* Restrained reveal motion. Content remains visible without JavaScript. */
.ipab [data-reveal] {
	opacity: 1;
	transform: none;
}

.ipab.ipab-motion-ready [data-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 460ms ease, transform 460ms ease;
}

.ipab.ipab-motion-ready [data-reveal].is-visible {
	opacity: 1;
	transform: none;
}

@media (max-width: 1120px) {
	.ipab-hero__grid {
		grid-template-columns: minmax(0, 0.92fr) minmax(450px, 1.08fr);
	}

	.ipab-hero-stage {
		min-height: 560px;
	}

	.ipab-role-tabs {
		grid-template-columns: 270px minmax(0, 1fr);
	}

	.ipab-role-tabs__panels article {
		grid-template-columns: minmax(240px, 0.85fr) minmax(280px, 1.15fr);
		padding: 38px;
	}

	.ipab-process__steps {
		grid-template-columns: repeat(3, 1fr);
	}

	.ipab-process__steps li {
		min-height: 230px;
	}

	.ipab-process__steps li > span {
		margin-bottom: 40px;
	}
}

@media (max-width: 960px) {
	.ipab-hero {
		min-height: 0;
	}

	.ipab-hero__grid {
		grid-template-columns: 1fr;
	}

	.ipab-hero__copy {
		max-width: 760px;
	}

	.ipab-hero h1 {
		max-width: 860px;
	}

	.ipab-hero-stage {
		min-height: 630px;
	}

	.ipab-hero-stage::before {
		inset: 2% 0 0;
	}

	.ipab-hero-device--ultra {
		left: 3%;
	}

	.ipab-hero-device--p5 {
		right: 1%;
	}

	.ipab-hero-device--b5 {
		right: 5%;
	}

	.ipab-section-heading--split,
	.ipab-durability__grid,
	.ipab-final__grid {
		grid-template-columns: 1fr;
	}

	.ipab-section-heading--split {
		align-items: start;
		gap: 20px;
	}

	.ipab-section-heading--split > p {
		max-width: 720px;
	}

	.ipab-product {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ipab-product--reverse .ipab-product__visual {
		order: 0;
	}

	.ipab-product__visual {
		min-height: 440px;
	}

	.ipab-availability__panel {
		grid-template-columns: 1fr;
	}

	.ipab-durability__visual {
		min-height: 540px;
	}

	.ipab-value-flow {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ipab-value-flow article {
		min-height: 0;
	}

	.ipab-value-flow article > span {
		margin-bottom: 28px;
	}

	.ipab-value-flow__arrow {
		margin-inline: auto;
		transform: rotate(90deg);
	}

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

	.ipab-faq__grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.ipab-faq__intro {
		position: static;
		max-width: 700px;
	}
}

@media (max-width: 782px) {
	.admin-bar .ipab-anchor-nav {
		top: 46px;
	}
}

@media (max-width: 760px) {
	.ipab {
		padding-bottom: 72px;
	}

	.ipab-wrap {
		width: min(calc(100% - 30px), 1240px);
	}

	.ipab section {
		padding-block: 76px;
	}

	.ipab h2 {
		font-size: clamp(2.15rem, 11vw, 3.45rem);
	}

	.ipab-brand-lockup {
		gap: 12px;
		margin-bottom: 54px;
	}

	.ipab-brand-lockup a img {
		height: 34px;
	}

	.ipab-brand-lockup > img {
		height: 21px;
	}

	.ipab-brand-lockup > span {
		height: 28px;
	}

	.ipab-hero h1 {
		font-size: clamp(3rem, 15vw, 4.5rem);
	}

	.ipab-hero__hook {
		font-size: 1.18rem;
	}

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

	.ipab-button {
		width: 100%;
	}

	.ipab-trust {
		gap: 10px 16px;
	}

	.ipab-hero-stage {
		min-height: 430px;
		margin-top: 8px;
	}

	.ipab-hero-stage::before {
		inset: 5% 0 0;
		border-radius: 26px;
	}

	.ipab-hero-device--ultra {
		top: 24%;
		left: -7%;
		width: 79%;
	}

	.ipab-hero-device--p5 {
		top: 1%;
		right: -5%;
		width: 57%;
	}

	.ipab-hero-device--b5 {
		right: -6%;
		bottom: -2%;
		width: 57%;
	}

	.ipab-hero-device figcaption {
		display: none;
	}

	.ipab-hero-stat {
		min-width: 102px;
		padding: 10px;
	}

	.ipab-hero-stat--ai {
		top: 11%;
		left: 5%;
	}

	.ipab-hero-stat--grade {
		right: 2%;
		bottom: 5%;
	}

	.ipab-anchor-nav__inner {
		min-height: 54px;
	}

	.ipab-anchor-nav__links {
		padding-right: 12px;
	}

	.ipab-anchor-nav__links a {
		padding-block: 17px;
	}

	.ipab-anchor-nav__cta {
		display: none;
	}

	.ipab-compare {
		grid-template-columns: 1fr;
	}

	.ipab-compare__shift {
		height: 42px;
	}

	.ipab-compare__shift span {
		width: 42px;
		height: 42px;
		transform: rotate(90deg);
	}

	.ipab-pullquote {
		justify-content: flex-start;
		padding-inline: 0;
		text-align: left;
	}

	.ipab-role-tabs {
		display: none;
	}

	.ipab-role-mobile {
		display: block;
		border-top: 1px solid var(--ipab-line);
	}

	.ipab-role-mobile details {
		border-bottom: 1px solid var(--ipab-line);
	}

	.ipab-role-mobile summary {
		display: flex;
		align-items: center;
		gap: 16px;
		min-height: 72px;
		padding: 16px 4px;
		font-weight: 700;
		list-style: none;
		cursor: pointer;
	}

	.ipab-role-mobile summary::-webkit-details-marker {
		display: none;
	}

	.ipab-role-mobile summary span {
		color: var(--ipab-blue-deep);
		font-size: 0.75rem;
		letter-spacing: 0.08em;
	}

	.ipab-role-mobile summary::after {
		content: "+";
		margin-left: auto;
		color: var(--ipab-blue-deep);
		font-size: 1.2rem;
	}

	.ipab-role-mobile details[open] summary::after {
		content: "−";
	}

	.ipab-role-mobile__body {
		padding: 8px 4px 30px;
	}

	.ipab-role-mobile__body > img {
		width: 100%;
		max-height: 300px;
		margin-bottom: 16px;
		object-fit: contain;
		filter: drop-shadow(0 18px 16px rgba(16, 26, 45, 0.14));
	}

	.ipab-role-mobile__body h3 {
		font-size: 1.6rem;
	}

	.ipab-role-mobile__body > p {
		color: var(--ipab-ink-soft);
	}

	.ipab-product {
		min-height: 0;
		padding: 22px;
		border-radius: 24px;
	}

	.ipab-product__visual {
		min-height: 320px;
	}

	.ipab-product__visual img,
	.ipab-product--p440 .ipab-product__visual img,
	.ipab-product--p500 .ipab-product__visual img {
		width: 112%;
		max-width: none;
	}

	.ipab-product--p500 .ipab-product__visual img {
		width: 82%;
	}

	.ipab-product__number {
		font-size: 4.1rem;
	}

	.ipab-product__content h3 {
		font-size: 2rem;
	}

	.ipab-product__links {
		flex-direction: column;
	}

	.ipab-availability__panel {
		padding: 30px 22px;
		border-radius: 24px;
	}

	.ipab-availability__models {
		grid-template-columns: 1fr;
	}

	.ipab-availability__models small {
		grid-column: auto;
	}

	.ipab-durability__visual {
		min-height: 380px;
		border-radius: 22px;
	}

	.ipab-durability__visual img {
		width: 108%;
		max-width: none;
	}

	.ipab-durability__badge {
		right: 16px;
		bottom: 16px;
	}

	.ipab-ai__note {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}

	.ipab-lifecycle__timeline {
		grid-template-columns: 1fr;
		gap: 0;
		padding-left: 22px;
	}

	.ipab-lifecycle__timeline::before {
		top: 8%;
		bottom: 8%;
		left: 45px;
		width: 1px;
		height: auto;
	}

	.ipab-lifecycle__timeline div {
		align-items: center;
		flex-direction: row;
		gap: 18px;
		min-height: 70px;
		text-align: left;
	}

	.ipab-warranty {
		grid-template-columns: 1fr;
		border-radius: 22px;
	}

	.ipab-warranty__options > div {
		gap: 8px;
	}

	.ipab-warranty__options > div span {
		align-items: center;
		flex-direction: column;
		padding: 16px 6px;
	}

	.ipab-process__steps {
		grid-template-columns: 1fr;
		border-radius: 20px;
	}

	.ipab-process__steps li {
		min-height: 0;
	}

	.ipab-process__steps li > span {
		margin-bottom: 26px;
	}

	.ipab-link-grid,
	.ipab-video-grid {
		grid-template-columns: 1fr;
	}

	.ipab-link-grid > a {
		min-height: 220px;
	}

	.ipab-faq__list summary {
		grid-template-columns: 30px minmax(0, 1fr) 28px;
		gap: 10px;
		min-height: 88px;
	}

	.ipab-faq__list details > div {
		padding: 0 0 24px 40px;
	}

	.ipab-final__panel {
		padding: 30px 22px;
		border-radius: 24px;
	}

	.ipab-final__brand img:first-child {
		height: 36px;
	}

	.ipab-final__brand img:last-child {
		height: 36px;
	}

	.ipab-final h2 {
		font-size: clamp(2.4rem, 12vw, 3.7rem);
	}

	.ipab-contact-line {
		flex-direction: column;
	}

	.ipab-mobile-cta {
		position: fixed;
		right: 12px;
		bottom: max(12px, env(safe-area-inset-bottom));
		left: 12px;
		z-index: 100;
		display: block;
	}

	.ipab-mobile-cta a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		min-height: 54px;
		border: 1px solid rgba(255, 255, 255, 0.22);
		border-radius: 13px;
		color: #fff !important;
		background: rgba(13, 17, 24, 0.94);
		box-shadow: 0 18px 42px rgba(0, 0, 0, 0.3);
		font-size: 0.84rem;
		font-weight: 770;
		letter-spacing: 0.045em;
		text-transform: uppercase;
		backdrop-filter: blur(14px);
	}
}

@media (max-width: 420px) {
	.ipab-brand-lockup a img {
		height: 30px;
	}

	.ipab-brand-lockup > img {
		height: 18px;
	}

	.ipab-hero-stage {
		min-height: 385px;
	}

	.ipab-hero-stat--grade {
		display: none;
	}

	.ipab-product__visual {
		min-height: 280px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ipab *,
	.ipab *::before,
	.ipab *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.ipab.ipab-motion-ready [data-reveal] {
		opacity: 1;
		transform: none;
	}
}

@media print {
	.ipab-anchor-nav,
	.ipab-mobile-cta,
	.ipab-video,
	.ipab-actions {
		display: none !important;
	}

	.ipab {
		color: #000;
		background: #fff;
	}

	.ipab section {
		padding-block: 34px;
	}

	.ipab-product,
	.ipab-availability__panel,
	.ipab-process,
	.ipab-final__panel {
		break-inside: avoid;
		box-shadow: none;
	}
}

/* Preserve the approved ASUS-only hero lockup and larger logo. */
.ipab .ipab-brand-lockup--asus-only {
    min-height: 0;
    margin-bottom: clamp(32px, 4vw, 48px);
}
.ipab .ipab-brand-lockup--asus-only > img {
    width: clamp(260px, 23vw, 330px);
    max-width: 80vw;
    height: auto;
    object-fit: contain;
}
@media (max-width: 760px) {
    .ipab .ipab-brand-lockup--asus-only { margin-bottom: 28px; }
    .ipab .ipab-brand-lockup--asus-only > img { width: 250px; max-width: 78vw; height: auto; }
}
