.ribbon-in-2025 ~ .ribbon {
	display: none;
}
.ribbon-in-2025 ~ .section-ribbon {
	display: none;
}
.ribbon-in-2025 ~ .acmi-ribbon {
	display: none;
}

.ribbon-in-2025 ~ .section-hero .ribbon {
	display: none;
}

.ribbon {
	--ribbon-link-inline-color: inherit;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.4285914286;
	font-weight: 400;
	letter-spacing: -0.016em;
	font-family:
		SF Pro Text,
		SF Pro Icons,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
	--ribbon-link-color: rgb(0, 102, 204);
	--ribbon-focus-color: #0071e3;
	--ribbon-text-color: rgb(29, 29, 31);
	--ribbon-background-color: rgb(245, 245, 247);
	--ribbon-content-padding-top: 16px;
	--ribbon-content-padding-bottom: var(--ribbon-content-padding-top);
	--ribbon-content-width: 83.33333%;
	--ribbon-content-minimum-width: 320px;
	width: var(--ribbon-width);
	padding-top: var(--ribbon-padding-top);
	padding-bottom: var(--ribbon-padding-bottom);
}

.ribbon-content-wrapper {
	text-align: center;
}

.ribbon-content {
	margin-left: auto;
	margin-right: auto;
	width: var(--ribbon-content-width);
	min-width: var(--ribbon-content-minimum-width);
}

.ribbon-link {
	white-space: nowrap;
}

.ribbon-link:focus {
	outline: 2px solid var(--sk-focus-color, #0071e3);
	outline-offset: var(--sk-focus-offset, 1px);
}

.ribbon-link-inline {
	color: var(--ribbon-link-inline-color);
}

.ribbon-link-inline, .ribbon-link-inline:link {
	text-decoration: underline;
}

.ribbon:lang(ar) {
	letter-spacing: 0em;
	font-family:
		SF Pro AR,
		SF Pro AR Text,
		SF Pro Text,
		SF Pro Gulf,
		SF Pro Icons,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon:lang(ja) {
	line-height: 1.4;
	letter-spacing: 0em;
	font-family:
		SF Pro JP,
		SF Pro Text,
		SF Pro Icons,
		Hiragino Kaku Gothic Pro,
		銉掋儵銈儙瑙掋偞 Pro W3,
		銉°偆銉偑,
		Meiryo,
		锛汲 锛般偞銈枫儍銈�,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon:lang(ko) {
	line-height: 1.5714285714;
	letter-spacing: 0em;
	font-family:
		SF Pro KR,
		SF Pro Text,
		SF Pro Icons,
		Apple Gothic,
		HY Gulim,
		MalgunGothic,
		HY Dotum,
		Lexi Gulim,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon:lang(zh) {
	line-height: 1.5;
	letter-spacing: 0em;
}

.ribbon:lang(th) {
	line-height: 1.3571828571;
	letter-spacing: 0em;
	font-family:
		SF Pro TH,
		SF Pro Text,
		SF Pro Icons,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon:lang(zh-CN) {
	font-family:
		SF Pro SC,
		SF Pro Text,
		SF Pro Icons,
		PingFang SC,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon:lang(zh-HK) {
	font-family:
		SF Pro HK,
		SF Pro Text,
		SF Pro Icons,
		PingFang HK,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon:lang(zh-MO) {
	font-family:
		SF Pro HK,
		SF Pro TC,
		SF Pro Text,
		SF Pro Icons,
		PingFang HK,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon:lang(zh-TW) {
	font-family:
		SF Pro TC,
		SF Pro Text,
		SF Pro Icons,
		PingFang TC,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-content-wrapper {
	background-color: var(--ribbon-background-color);
	-webkit-backdrop-filter: blur(var(--ribbon-background-blur));
	backdrop-filter: blur(var(--ribbon-background-blur));
	padding-top: var(--ribbon-content-padding-top);
	padding-bottom: var(--ribbon-content-padding-bottom);
	border-radius: var(--ribbon-border-radius);
}

.ribbon-content {
	color: var(--ribbon-text-color);
}

.ribbon-link {
	color: var(--ribbon-link-color);
}

.ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

.ribbon-elevated {
	font-size: 17px;
	line-height: 1.4705882353;
	font-weight: 400;
	letter-spacing: -0.022em;
	font-family:
		SF Pro Text,
		SF Pro Icons,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
	--ribbon-content-padding-top: 24px;
}

.ribbon-elevated:lang(ar) {
	letter-spacing: 0em;
	font-family:
		SF Pro AR,
		SF Pro AR Text,
		SF Pro Text,
		SF Pro Gulf,
		SF Pro Icons,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated:lang(ja) {
	line-height: 1.3529611765;
	letter-spacing: 0em;
	font-family:
		SF Pro JP,
		SF Pro Text,
		SF Pro Icons,
		Hiragino Kaku Gothic Pro,
		銉掋儵銈儙瑙掋偞 Pro W3,
		銉°偆銉偑,
		Meiryo,
		锛汲 锛般偞銈枫儍銈�,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated:lang(ko) {
	line-height: 1.5882352941;
	letter-spacing: 0em;
	font-family:
		SF Pro KR,
		SF Pro Text,
		SF Pro Icons,
		Apple Gothic,
		HY Gulim,
		MalgunGothic,
		HY Dotum,
		Lexi Gulim,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated:lang(zh) {
	letter-spacing: 0em;
}

.ribbon-elevated:lang(th) {
	line-height: 1.3529611765;
	letter-spacing: 0em;
	font-family:
		SF Pro TH,
		SF Pro Text,
		SF Pro Icons,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated:lang(zh-CN) {
	font-family:
		SF Pro SC,
		SF Pro Text,
		SF Pro Icons,
		PingFang SC,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated:lang(zh-HK) {
	font-family:
		SF Pro HK,
		SF Pro Text,
		SF Pro Icons,
		PingFang HK,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated:lang(zh-MO) {
	font-family:
		SF Pro HK,
		SF Pro TC,
		SF Pro Text,
		SF Pro Icons,
		PingFang HK,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated:lang(zh-TW) {
	font-family:
		SF Pro TC,
		SF Pro Text,
		SF Pro Icons,
		PingFang TC,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated.ribbon-inset {
	--ribbon-border-radius: 12px;
}

.ribbon-blue {
	--ribbon-background-color: rgb(0, 113, 227);
	--ribbon-text-color: rgb(255, 255, 255);
	--ribbon-link-color: rgb(255, 255, 255);
	--ribbon-focus-color: rgb(0, 0, 0);
}

.ribbon-variant-neutral-alpha {
	--ribbon-background-color: rgba(245, 245, 247, 0.8);
}

.ribbon-variant-neutral-alt {
	--ribbon-background-color: rgb(255, 255, 255);
}

.ribbon-blue-to-default {
	--ribbon-background-color: rgb(245, 245, 247);
	--ribbon-background-color-initial: rgb(0, 113, 227);
	--ribbon-text-color: rgb(29, 29, 31);
	--ribbon-text-color-initial: rgb(255, 255, 255);
	--ribbon-link-color: rgb(0, 102, 204);
	--ribbon-link-color-initial: rgb(255, 255, 255);
}

@keyframes ribbon-animate-background {
	0% {
		background-color: var(--ribbon-background-color-initial);
	}

	100% {
		background-color: var(--ribbon-background-color);
	}
}

.ribbon-animate-color .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color-initial);
	animation: ribbon-animate-background 0.8s ease-in-out 1.6s forwards;
}

@media (prefers-reduced-motion) {
	.ribbon-animate-color .ribbon-content-wrapper {
		background-color: var(--ribbon-background-color);
		animation: none;
	}
}

@keyframes ribbon-animate-text-color {
	0% {
		color: var(--ribbon-text-color-initial);
	}

	100% {
		color: var(--ribbon-text-color);
	}
}

.ribbon-animate-color .ribbon-content {
	color: var(--ribbon-text-color-initial);
	animation: ribbon-animate-text-color 0.8s ease-in-out 1.6s forwards;
}

@media (prefers-reduced-motion) {
	.ribbon-animate-color .ribbon-content {
		color: var(--ribbon-text-color);
		animation: none;
	}
}

@keyframes ribbon-animate-link-color {
	0% {
		color: var(--ribbon-link-color-initial);
	}

	100% {
		color: var(--ribbon-link-color);
	}
}

.ribbon-animate-color .ribbon-link {
	color: var(--ribbon-link-color-initial);
	animation: ribbon-animate-link-color 0.8s ease-in-out 1.6s forwards;
}

@media (prefers-reduced-motion) {
	.ribbon-animate-color .ribbon-link {
		color: var(--ribbon-link-color);
		animation: none;
	}
}

.ribbon-drop-wrapper {
	animation: ribbon-drop 0.8s ease-in-out forwards;
}

@media (prefers-reduced-motion) {
	.ribbon-drop-wrapper {
		animation: none;
	}
}

.ribbon-inset {
	--ribbon-width: 83.33333%;
	--ribbon-padding-top: 16px;
	--ribbon-border-radius: 10px;
	margin: 0 auto;
}

.ribbon-inset .ribbon-content {
	width: var(--ribbon-width);
}

@media (max-width: 734px) {
	.ribbon-inset {
		--ribbon-width: 87.5%;
	}

	.ribbon-inset .ribbon-content {
		min-width: var(--ribbon-width);
	}
}

.ribbon-blur {
	--ribbon-background-blur: 20px;
}

.theme-dark.ribbon, .theme-dark .ribbon {
	--ribbon-text-color: rgb(245, 245, 247);
	--ribbon-background-color: rgb(29, 29, 31);
	--ribbon-link-color: rgb(41, 151, 255);
	--ribbon-focus-color: utilities.$ribbon-focus-color;
}

.theme-dark.ribbon-blue, .theme-dark .ribbon-blue {
	--ribbon-background-color: rgb(0, 113, 227);
	--ribbon-text-color: rgb(255, 255, 255);
	--ribbon-link-color: rgb(255, 255, 255);
	--ribbon-focus-color: rgb(0, 0, 0);
}

.theme-dark.ribbon-variant-neutral-alpha, .theme-dark .ribbon-variant-neutral-alpha {
	--ribbon-background-color: rgba(29, 29, 31, 0.8);
}

.theme-dark.ribbon-variant-neutral-alt, .theme-dark .ribbon-variant-neutral-alt {
	--ribbon-background-color: rgb(0, 0, 0);
}

.theme-dark.ribbon-blue-to-default, .theme-dark .ribbon-blue-to-default {
	--ribbon-background-color: rgb(29, 29, 31);
	--ribbon-text-color: rgb(245, 245, 247);
	--ribbon-link-color: rgb(41, 151, 255);
}

@keyframes ribbon-drop {
	0% {
		transform: translateY(-100%);
	}

	100% {
		transform: translateY(0);
	}
}

.theme-light.ribbon, .theme-light .ribbon {
	--ribbon-text-color: rgb(29, 29, 31);
	--ribbon-background-color: rgb(245, 245, 247);
	--ribbon-link-color: rgb(0, 102, 204);
	--ribbon-focus-color: utilities.$ribbon-focus-color;
}

.theme-light.ribbon-blue, .theme-light .ribbon-blue {
	--ribbon-background-color: rgb(0, 113, 227);
	--ribbon-text-color: rgb(255, 255, 255);
	--ribbon-link-color: rgb(255, 255, 255);
	--ribbon-focus-color: rgb(0, 0, 0);
}

.theme-light.ribbon-variant-neutral-alpha, .theme-light .ribbon-variant-neutral-alpha {
	--ribbon-background-color: rgba(245, 245, 247, 0.8);
}

.theme-light.ribbon-variant-neutral-alt, .theme-light .ribbon-variant-neutral-alt {
	--ribbon-background-color: rgb(255, 255, 255);
}

.theme-light.ribbon-blue-to-default, .theme-light .ribbon-blue-to-default {
	--ribbon-background-color: rgb(245, 245, 247);
	--ribbon-text-color: rgb(29, 29, 31);
	--ribbon-link-color: rgb(0, 102, 204);
}

.ribbon-in-2025.ribbon-alt-bg .ribbon-content-wrapper {
	background-color: #e8e8ed;
}

.ribbon-in-2025.ribbon-light .ribbon-content-wrapper {
	background-color: #fff;
}

.ribbon-in-2025.ipad-air-why-ipad-ribbon {
	transform: translateY(
		calc(var(--localnav-height) + var(--globalnav-height))
	);
}
.ribbon-in-2025.ipad-air-specs-ribbon {
	transform: translateY(
		calc(var(--localnav-height) + var(--globalnav-height))
	);
}

@media (max-width: 734px) {
	.ribbon.ribbon-in-2025 .ribbon-content.row {
		width: var(--ribbon-content-width);
	}
}

.ribbon-in-2025 ~ .ribbon.ipad-why-ipad-ribbon-alt .ribbon-content-wrapper, .ribbon-in-2025 ~ .ribbon.ipad-air-why-ipad-ribbon .ribbon-content-wrapper {
	background-color: #fff;
}
html.ac-gn-segmentbar-visible[data-segment-code="internal-epp-discounted"] .ribbon.ribbon-in-2025 {
	display: none;
}

html.show-rotation.ac-gn-segmentbar-visible[data-segment-code="internal-epp-discounted"] #ac-globalfooter .ac-gf-sosumi .show-legal-rotation {
	display: none;
}
html.ac-gn-segmentbar-visible[data-segment-code="internal-epp-discounted"] #ac-globalfooter .ac-gf-sosumi .show-legal-rotation {
	display: none;
}

.ribbon.ipad-air-specs-ribbon {
	transform: translateY(-61px);
}

@media (max-width: 1068px) {
	.ribbon.ipad-air-specs-ribbon {
		transform: translateY(-45px);
	}
}

@media (max-width: 734px) {
	.ribbon.ipad-air-specs-ribbon {
		transform: translateY(0);
	}
}

.ribbon {
	overflow: hidden;
	position: relative;
	z-index: 3;
}

html.ac-gn-segmentbar-visible[data-segment-code="internal-epp-discounted"] .ribbon.ribbon-in-2025 {
	display: none;
}

.main {
	margin-top: calc(-1 * var(--r-localnav-height) - var(--r-globalnav-height));
}

.ribbon.ribbon-in-2025 {
	transform: translateY(calc(1 * var(--r-globalnav-height)));
}

.section-welcome .inline-media-ui-button .play-pause-button {
	--welcome-media-ui-offset: 120px;
}

@media (max-width: 734px) {
	.section-welcome .inline-media-ui-button .play-pause-button {
		--welcome-media-ui-offset: 148px;
		margin-inline-end: 28px;
	}
}

.section-welcome {
	height: calc(
		100svh - var(--global-nav-collective-height) - var(--ribbon-height, 0px)
	);
}
.ribbon + .section-welcome {
	--ribbon-height: 52px;
}

@media (max-width: 734px) {
	.ribbon + .section-welcome {
		--ribbon-height: 72px;
	}
}

.ribbon + .section-welcome.section-welcome-localnav-overlap {
	--welcome-margin-top: 0px;
}
