/* =====================================================
   MEMBERSHIP OVERVIEW
====================================================== */
.apple-membership-overview,
.apple-membership-overview * { box-sizing:border-box; }

.apple-membership-overview {
	--membership-navy:#161f42;
	--membership-blue:#315eac;
	--membership-text:#364156;
	--membership-sub:#68768a;
	--membership-line:#dfe5ed;
	--membership-bg:#f6f8fb;
	color:var(--membership-text);
}

.membership-section { padding:50px 20px; }
.membership-section + .membership-section { border-top:1px solid var(--membership-line); }

.membership-kicker {
	margin:0 0 13px;
	color:var(--membership-blue);
	font-size:16px;
	font-weight:700;
	line-height:1.4;
	letter-spacing:.08em;
}

.apple-membership-overview h2 {
	margin:0;
	color:var(--membership-navy);
	font-size:clamp(32px,3.2vw,40px);
	font-weight:700;
	line-height:1.15;
	letter-spacing:-.025em;
}

.apple-membership-overview h2.fonts{font-size:30px;}

.apple-membership-overview h2.dab{color:#d3133a;}
.apple-membership-overview h2.dab strong{display:block;color:#161f42;font-size:30px;padding-top:20px;}

.apple-membership-overview h3 {
	margin:0;
	color:var(--membership-navy);
	font-size:20px;
	font-weight:700;
	line-height:1.3;
	letter-spacing:-.015em;
}

.apple-membership-overview p,
.apple-membership-overview li {
	font-size:16px;
	line-height:1.4;
}

/* INTRO */
.membership-intro {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);
	gap:64px;
	align-items:center;
}

.membership-intro__copy { max-width:650px; }
.membership-lead {
	margin:0 0 14px;
	color:var(--membership-navy);
	font-size:18px !important;
}
.membership-intro__copy > p:not(.membership-kicker):not(.membership-lead) { margin:0; }

.membership-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.membership-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:164px;
	height:50px;
	padding:0 24px;
	border:1px solid var(--membership-blue);
	border-radius:4px;
	font-size:16px;
	font-weight:700;
	line-height:1;
	text-decoration:none;
	transition:.25s ease;
}
.membership-btn--primary { color:#fff; background:var(--membership-blue); }
.membership-btn--outline { color:var(--membership-blue); background:#fff; }
.membership-btn:hover { transform:translateY(-2px); }

.membership-intro__visual {
	position:relative;
	min-height:340px;
	overflow:hidden;
	border-radius:3px;
	background:#e9eef5;
}
.membership-intro__photo {
	position:absolute;
	inset:0;
	background:
		linear-gradient(90deg,rgba(22,31,66,.06),rgba(22,31,66,0)),
		url('/apple_new/mod/images/sub/members01.jpg') center center/cover no-repeat;
	transform:scale(1.03);
}

/* WHY JOIN */
.membership-why { background:var(--membership-bg); position:relative; }
.membership-why::before {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:50%;
	width:100vw;
	background:var(--membership-bg);
	transform:translateX(-50%);
	z-index:-1;
}
.membership-heading { margin-bottom:34px; }

.membership-why__grid {
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	border-top:1px solid var(--membership-line);
	border-bottom:1px solid var(--membership-line);
}
.membership-benefit {
	position:relative;
	padding:28px 22px 30px;
	min-width:0;
}
.membership-benefit + .membership-benefit { border-left:1px solid var(--membership-line); }
.membership-benefit__icon {
	display:flex;
	align-items:center;
	justify-content:center;
	width:52px;
	height:52px;
	margin-bottom:20px;
	border:1px solid #cfd9e8;
	border-radius:50%;
	background:#fff;
	color:var(--membership-blue);
}
.membership-benefit__icon span { font-size:14px; font-weight:700; letter-spacing:.04em; }
.membership-benefit h3 { min-height:52px; }
.membership-benefit p { margin:14px 0 0; color:var(--membership-text); }

/* WHO */
.membership-who {
	display:grid;
	grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
	gap:64px;
	align-items:center;
}
.membership-who__copy > p { margin:18px 0 0; max-width:760px; }
.membership-who__list { margin:20px 0 0; padding:0; list-style:none; }
.membership-who__list li {
	position:relative;
	margin:0;
	padding:4px 0 4px 18px;
	color:var(--membership-text);
}
.membership-who__list li::before {
	content:"";
	position:absolute;
	left:0;
	top:.78em;
	width:5px;
	height:5px;
	border-radius:50%;
	background:var(--membership-blue);
}

.membership-who__visual {
	position:relative;
	min-height:330px;
	overflow:hidden;
	border:1px solid var(--membership-line);
	background:linear-gradient(135deg,#f8fafc 0%,#e8eef6 100%);
}
.membership-world {
	position:absolute;
	width:280px;
	height:280px;
	left:50%;
	top:50%;
	border:1px solid rgba(49,94,172,.22);
	border-radius:50%;
	transform:translate(-50%,-50%);
	background:
		repeating-radial-gradient(circle at center,transparent 0 34px,rgba(49,94,172,.08) 35px 36px),
		linear-gradient(90deg,transparent 49.7%,rgba(49,94,172,.12) 50%,transparent 50.3%);
}
.membership-world::before,
.membership-world::after {
	content:"";
	position:absolute;
	inset:22px 72px;
	border:1px solid rgba(49,94,172,.18);
	border-radius:50%;
}
.membership-world::after { inset:72px 22px; }
.membership-world span {
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	color:var(--membership-navy);
	font-size:22px;
	font-weight:700;
	letter-spacing:.08em;
}

/* future tab anchors */
.apple-page-section { scroll-margin-top:120px; }

@media screen and (max-width:1200px) {
	.membership-intro { grid-template-columns:1fr .85fr; gap:40px; }
	.membership-why__grid { grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:0; }
	.membership-benefit { border-bottom:1px solid var(--membership-line); }
	.membership-benefit + .membership-benefit { border-left:0; }
	.membership-benefit:nth-child(even) { border-left:1px solid var(--membership-line); }
	.membership-benefit:last-child { grid-column:1 / -1; }
	.membership-who { gap:40px; }
}

@media screen and (max-width:900px) {
	.membership-intro,
	.membership-who { grid-template-columns:1fr; }
	.membership-intro__visual { min-height:300px; }
	.membership-who__visual { min-height:280px; }
}

@media screen and (max-width:640px) {
	.membership-section { padding:50px 0; }
	.apple-membership-overview h2 { font-size:32px; text-align:center;}
	.membership-lead { font-size:17px !important; }
	.membership-actions { display:grid; grid-template-columns:1fr; }
	.membership-btn { width:100%; }
	.membership-intro__visual { min-height:220px; }
	.membership-why__grid { grid-template-columns:1fr; }
	.membership-benefit,
	.membership-benefit:nth-child(even) { border-left:0; }
	.membership-benefit:last-child { grid-column:auto; }
	.membership-benefit h3 { min-height:0; }
	.membership-who { gap:30px; }
	.membership-who__visual { min-height:230px; }
	.membership-world { width:210px; height:210px; }
}

@media (prefers-reduced-motion:reduce) {
	.membership-btn { transition:none; }
}


/* =====================================================
   MEMBERSHIP OVERVIEW - REFINEMENT 01
====================================================== */

/* Why Join APPLE? : compact 5-column editorial layout */
.membership-why__grid {
	align-items:stretch;
}
.membership-benefit {
	padding:28px 20px 30px;
	text-align:left;
}
.membership-benefit__icon {
	width:48px;
	height:48px;
	margin:0 0 20px;
}
.membership-benefit h3 {
	min-height:56px;
	font-size:20px;
	font-weight:700;
	line-height:1.25;
	letter-spacing:-.02em;
	word-break:keep-all;
	overflow-wrap:normal;
}
.membership-benefit p {
	margin:18px 0 0;
	font-size:16px;
	line-height:1.4;
	color:var(--membership-text);
	word-break:normal;
}

/* Who Can Become a Member? : image slot */
.membership-who__visual {
	min-height:360px;
	border:0;
	background:#eef2f6;
}
.membership-who__image {
	display:block;
	width:100%;
	height:100%;
	min-height:360px;
	object-fit:cover;
	object-position:center;
}

@media screen and (max-width:1200px) {
	.membership-benefit h3 { min-height:0; }
}

@media screen and (max-width:900px) {
	.membership-who__visual,
	.membership-who__image { min-height:300px; }
}

@media screen and (max-width:640px) {
	.membership-benefit { padding:25px 0; }
	.membership-benefit__icon { margin-bottom:16px; }
	.membership-benefit h3 { font-size:20px; }
	.membership-who__visual,
	.membership-who__image { min-height:230px; }
}

/* =====================================================
   MEMBERSHIP OVERVIEW - FINAL WHY JOIN 5 COLUMNS
====================================================== */
.membership-why__grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch;
    border-top:1px solid var(--membership-line);
    border-bottom:1px solid var(--membership-line);
}
.membership-benefit,
.membership-benefit + .membership-benefit,
.membership-benefit:nth-child(even),
.membership-benefit:last-child {
    display:block;
    grid-column:auto;
    padding:28px 20px 30px;
    border-left:0;
    border-bottom:0;
    text-align:left;
}
.membership-benefit + .membership-benefit {
    border-left:1px solid var(--membership-line);
}
.membership-benefit__icon {
    width:48px;
    height:48px;
    margin:0 0 20px;
}
.membership-benefit h3 {
    min-height:56px;
    margin:0;
    color:var(--membership-navy);
    font-size:20px!important;
    font-weight:700;
    line-height:1.4;
    letter-spacing:-.02em;
    word-break:keep-all;
    overflow-wrap:normal;
		text-align:left!important;
		padding:0!important;
}
.membership-benefit p {
    margin:18px 0 0;
    color:var(--membership-text);
    font-size:16px;
    line-height:1.4;
}

@media screen and (max-width:1100px) {
    .membership-why__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .membership-benefit { border-bottom:1px solid var(--membership-line); }
    .membership-benefit + .membership-benefit { border-left:0; }
    .membership-benefit:nth-child(even) { border-left:1px solid var(--membership-line); }
    .membership-benefit:last-child { grid-column:1 / -1; }
    .membership-benefit h3 { min-height:0; }
}

@media screen and (max-width:640px) {
    .membership-why__grid { grid-template-columns:1fr; }
    .membership-benefit,
    .membership-benefit:nth-child(even),
    .membership-benefit:last-child {
        grid-column:auto;
        padding:25px 0;
        border-left:0;
    }
}

/* =====================================================
   MEMBERSHIP OVERVIEW - WHY JOIN / FINAL CARD
====================================================== */
.membership-why__grid {
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	align-items:stretch;
	gap:14px;
	border-top:0;
	border-bottom:0;
}

.membership-benefit,
.membership-benefit + .membership-benefit,
.membership-benefit:nth-child(even),
.membership-benefit:last-child {
	position:relative;
	display:block;
	grid-column:auto;
	min-width:0;
	padding:0 22px 28px;
	background:#fff;
	border:1px solid #e1e6ed;
	border-radius:8px;
	overflow:hidden;
	text-align:left;
	box-shadow:0 5px 18px rgba(22,31,66,.035);
}

.membership-benefit::before {
	content:"";
	display:block;
	width:100%;
	height:3px;
	margin:0 0 24px;
	background:#315eac;
}

.membership-benefit h3 {
	margin:0;
	padding:0 0 18px !important;
	color:#161f42;
	font-size:20px !important;
	font-weight:700;
	line-height:1.2;
	letter-spacing:-.02em;
	text-align:left !important;
	word-break:keep-all;
	border-bottom:1px solid #dfe5ed;
	min-height:85px;
}

.membership-benefit p {
	margin:18px 0 0;
	color:#364156;
	font-size:16px;
	line-height:1.4;
}

@media screen and (max-width:1100px) {
	.membership-why__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.membership-benefit:last-child { grid-column:1 / -1; }
}

@media screen and (max-width:640px) {
	.membership-why__grid { grid-template-columns:1fr; gap:12px; }
	.membership-benefit,
	.membership-benefit:nth-child(even),
	.membership-benefit:last-child {
		grid-column:auto;
		padding:0 20px 24px;
	}
	.membership-benefit::before { margin-bottom:20px; }
	.membership-benefit h3{min-height:0;}
}

/* =====================================================
   MEMBERSHIP BENEFITS
====================================================== */
.apple-membership-benefits,
.apple-membership-benefits * { box-sizing:border-box; }

.apple-membership-benefits {
	--benefits-navy:#161f42;
	--benefits-blue:#315eac;
	--benefits-text:#364156;
	--benefits-line:#dfe5ed;
	color:var(--benefits-text);
	padding:50px 20px;
	scroll-margin-top:120px;
	border-top:1px solid var(--benefits-line);
}

.membership-benefits-layout {
	display:grid;
	grid-template-columns:minmax(250px,.72fr) minmax(0,1.8fr);
	gap:70px;
	align-items:start;
}

.membership-benefits-title { padding-top:2px; }

.membership-benefits-kicker {
	margin:0 0 13px;
	color:var(--benefits-blue);
	font-size:16px;
	font-weight:700;
	line-height:1.4;
	letter-spacing:.08em;
}

.membership-benefits-title h2 {
	margin:0;
	color:var(--benefits-navy);
	font-size:clamp(32px,3.2vw,40px);
	font-weight:700;
	line-height:1.15;
	letter-spacing:-.025em;
}

.membership-benefits-title h2 strong{color:#d3133a;}

.membership-benefits-visual {
	margin-top:28px;
	overflow:hidden;
	background:#eef2f6;
}

.membership-benefits-image {
	display:block;
	width:100%;
	height:360px;
	object-fit:cover;
	object-position:center;
}

.membership-benefits-list {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	column-gap:42px;
	border-top:1px solid var(--benefits-line);
}

.membership-benefits-item {
	display:grid;
	grid-template-columns:38px minmax(0,1fr);
	gap:14px;
	align-items:start;
	min-width:0;
	padding:27px 0 30px;
	border-bottom:1px solid var(--benefits-line);
}

.membership-benefits-num {
	display:block;
	padding-top:2px;
	color:var(--benefits-blue);
	font-size:14px;
	font-weight:700;
	line-height:1.4;
	letter-spacing:.04em;
}

.membership-benefits-item h3 {
	margin:0;
	color:var(--benefits-navy);
	font-size:20px!important;
	font-weight:700;
	line-height:1.25;
	letter-spacing:-.015em;
	word-break:keep-all;
	text-align:left!important;
	padding-bottom:0!important;
}

.membership-benefits-item p {
	margin:14px 0 0;
	color:var(--benefits-text);
	font-size:16px;
	line-height:1.4;
}

/* =====================================================
   JOIN OR RENEW
====================================================== */
.apple-join-renew,
.apple-join-renew * { box-sizing:border-box; }

.apple-join-renew {
	--join-navy:#161f42;
	--join-blue:#315eac;
	--join-text:#364156;
	--join-sub:#68768a;
	--join-line:#dfe5ed;
	--join-bg:#f3f7fc;
	padding:50px 0px;
	color:var(--join-text);
	border-top:1px solid var(--join-line);
	scroll-margin-top:120px;
}

/* HOW TO JOIN OR RENEW : COLOR SECTION */
.join-process-section {
	position:relative;
	padding:42px 42px 38px;
	background:linear-gradient(135deg,#f2f6fc 0%,#e9f1fb 100%);
	border:1px solid #d8e3f1;
	border-radius:8px;
	overflow:hidden;
}

.join-process-section::before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:var(--join-blue);
}

.join-renew-heading { margin-bottom:30px; }

.join-renew-heading h2 {
	margin:0;
	color:var(--join-navy);
	font-size:clamp(32px,3.2vw,40px);
	font-weight:700;
	line-height:1.15;
	letter-spacing:-.025em;
}

.join-renew-heading h2 strong {color:#d3133a;}
.join-process {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	background:rgba(255,255,255,.72);
	border-top:1px solid #ccd9ea;
	border-bottom:1px solid #ccd9ea;
}

.join-step {
	position:relative;
	min-width:0;
	padding:28px 24px 30px;
}

.join-step + .join-step { border-left:1px solid #ccd9ea; }

.join-step-num {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	margin-bottom:18px;
	border-radius:50%;
	background:var(--join-blue);
	color:#fff;
	font-size:14px;
	font-weight:700;
	line-height:1;
	letter-spacing:.02em;
}

.join-step h3 {
	margin:0;
	padding:0!important;
	color:var(--join-navy);
	font-size:20px!important;
	font-weight:700;
	line-height:1.25;
	letter-spacing:-.015em;
	text-align:left!important;
}

.join-step p {
	margin:16px 0 0;
	color:var(--join-text);
	font-size:16px;
	line-height:1.4;
}

.join-actions {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:26px;
}

.join-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:210px;
	height:50px;
	padding:0 25px;
	border:1px solid var(--join-blue);
	border-radius:4px;
	font-size:16px;
	font-weight:700;
	line-height:1;
	text-decoration:none;
	transition:.25s ease;
}

.join-btn--primary { color:#fff; background:var(--join-blue); }
.join-btn--outline { color:var(--join-blue); background:#fff; }
.join-btn:hover { transform:translateY(-2px); }

/* MEMBERSHIP FEE / PERIOD / CONFIRMATION : SAME DESIGN */
.membership-detail-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:0;
	margin-top:50px;
	border-top:1px solid var(--join-line);
	border-bottom:1px solid var(--join-line);
}

.membership-detail-item {
	min-width:0;
	padding:30px 30px 32px;
}

.membership-detail-item + .membership-detail-item {
	border-left:1px solid var(--join-line);
}

.membership-detail-item::before {
	content:"";
	display:block;
	width:42px;
	height:3px;
	margin-bottom:22px;
	background:var(--join-blue);
}

.membership-detail-item h2 {
	margin:0;
	color:var(--join-navy);
	font-size:24px!important;
	font-weight:700;
	line-height:1.25;
	letter-spacing:-.02em;
	text-align:left!important;
	padding:0!important;
}

.membership-detail-item h3 {
	margin:22px 0 0;
	padding:0!important;
	color:var(--join-navy);
	font-size:20px!important;
	font-weight:700;
	line-height:1.3;
	letter-spacing:-.015em;
	text-align:left!important;
}

.membership-detail-item p {
	margin:14px 0 0;
	color:var(--join-text);
	font-size:16px;
	line-height:1.4;
}

.membership-detail-item p + p { margin-top:12px; }

.membership-detail-intro { margin-top:22px!important; }

.membership-detail-list {
	margin:14px 0 0;
	padding:0;
	list-style:none;
}

.membership-detail-list li {
	position:relative;
	margin:0;
	padding:7px 0 7px 17px;
	color:var(--join-text);
	font-size:16px;
	line-height:1.4;
}

.membership-detail-list li::before {
	content:"";
	position:absolute;
	left:0;
	top:.92em;
	width:5px;
	height:5px;
	border-radius:50%;
	background:var(--join-blue);
}

/* RESPONSIVE */
@media screen and (max-width:1000px) {
	.join-process-section { padding:36px 30px; }

	.join-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.join-step { border-bottom:1px solid #ccd9ea; }
	.join-step + .join-step { border-left:0; }
	.join-step:nth-child(even) { border-left:1px solid #ccd9ea; }
	.join-step:nth-child(3),
	.join-step:nth-child(4) { border-bottom:0; }

	.membership-detail-grid { grid-template-columns:1fr; }
	.membership-detail-item + .membership-detail-item {
		border-left:0;
		border-top:1px solid var(--join-line);
	}
}

@media screen and (max-width:640px) {
	.apple-join-renew { padding:50px 0; }

	.join-process-section {
		padding:32px 20px 28px;
		border-radius:6px;
	}

	.join-renew-heading h2 { font-size:32px; }

	.join-process { grid-template-columns:1fr; }
	.join-step,
	.join-step:nth-child(even),
	.join-step:nth-child(3),
	.join-step:nth-child(4) {
		padding:24px 20px;
		border-left:0;
		border-bottom:1px solid #ccd9ea;
	}
	.join-step:last-child { border-bottom:0; }

	.join-actions { display:grid; grid-template-columns:1fr; }
	.join-btn { width:100%; }

	.membership-detail-grid { margin-top:50px; }
	.membership-detail-item { padding:28px 0 30px; }
	.membership-detail-item h2 { font-size:24px!important; }
}

@media (prefers-reduced-motion:reduce) {
	.join-btn { transition:none; }
}

/* =====================================================
   MEMBERSHIP FAQ
====================================================== */
.apple-membership-faq,
.apple-membership-faq * {
	box-sizing:border-box;
}

.apple-membership-faq {
	--faq-navy:#161f42;
	--faq-blue:#315eac;
	--faq-text:#364156;
	--faq-sub:#68768a;
	--faq-line:#dfe5ed;
	padding:50px 20px;
	border-top:1px solid var(--faq-line);
	scroll-margin-top:120px;
}

.faq-heading {
	margin-bottom:32px;
}

.faq-heading h2 {
	margin:0;
	padding:0!important;
	color:#d3133a;
	font-size:clamp(32px,3.2vw,40px)!important;
	font-weight:700;
	line-height:1.15;
	letter-spacing:-.025em;
	text-align:left!important;
}

.faq-list {
	border-top:1px solid var(--faq-navy);
}

.faq-item {
	margin:0;
	border-bottom:1px solid var(--faq-line);
}

.faq-item summary {
	position:relative;
	display:grid;
	grid-template-columns:38px minmax(0,1fr) 34px;
	gap:14px;
	align-items:center;
	min-height:76px;
	padding:20px 8px 20px 0;
	cursor:pointer;
	list-style:none;
}

.faq-item summary::-webkit-details-marker {
	display:none;
}

.faq-q {
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	border-radius:50%;
	background:#eef3fa;
	color:var(--faq-blue);
	font-size:16px;
	font-weight:700;
	line-height:1;
}

.faq-question {
	color:var(--faq-navy);
	font-size:18px;
	font-weight:700;
	line-height:1.35;
	letter-spacing:-.015em;
}

.faq-toggle {
	position:relative;
	display:block;
	width:24px;
	height:24px;
	justify-self:end;
}

.faq-toggle::before,
.faq-toggle::after {
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:14px;
	height:1px;
	background:var(--faq-blue);
	transform:translate(-50%,-50%);
	transition:.2s ease;
}

.faq-toggle::after {
	transform:translate(-50%,-50%) rotate(90deg);
}

.faq-item[open] .faq-toggle::after {
	transform:translate(-50%,-50%) rotate(0);
	opacity:0;
}

.faq-item[open] summary {
	background:#f8fafc;
}

.faq-answer {
	padding:0 58px 24px 52px;
	background:#f8fafc;
}

.faq-answer p {
	margin:0;
	color:var(--faq-text);
	font-size:16px;
	line-height:1.4;
}

@media screen and (max-width:640px) {
	.apple-membership-faq {
		padding:50px 0;
	}

	.faq-heading h2 {
		font-size:32px!important;
		display:none;
	}

	.faq-item summary {
		grid-template-columns:32px minmax(0,1fr) 28px;
		gap:10px;
		min-height:70px;
		padding:18px 0;
	}

	.faq-q {
		width:28px;
		height:28px;
	}

	.faq-question {
		font-size:17px;
	}

	.faq-answer {
		padding:0 38px 22px 42px;
	}
}

@media (prefers-reduced-motion:reduce) {
	.faq-toggle::before,
	.faq-toggle::after {
		transition:none;
	}
}


@media screen and (max-width: 768px) {

	.apple-membership-benefits {
		padding:50px 0;
	}

	.membership-benefits-layout {
		display:block !important;
		width:100% !important;
	}

		.membership-benefits-layout h2{display:none;}

	.membership-benefits-title {
		width:100% !important;
		max-width:none !important;
		margin:0 0 30px !important;
	}

	.membership-benefits-title h2 {
		font-size:32px !important;
		line-height:1.15;
	}

	.membership-benefits-visual {
		width:100% !important;
		max-width:none !important;
		margin-top:25px;
	}

	.membership-benefits-image {
		display:block;
		width:100% !important;
		height:230px;
		object-fit:cover;
	}

	.membership-benefits-list {
		display:grid !important;
		grid-template-columns:1fr !important;
		width:100% !important;
		max-width:none !important;
		margin-top:35px;
	}

	.membership-benefits-item {
		display:grid;
		grid-template-columns:42px minmax(0, 1fr);
		width:100% !important;
		min-width:0 !important;
		padding:22px 0;
	}

	.membership-benefits-item > div {
		width:100%;
		min-width:0;
	}

	.membership-benefits-item h3 {
		width:auto !important;
		min-width:0 !important;
		margin:0;
		font-size:20px !important;
		line-height:1.3;
		word-break:normal;
		overflow-wrap:normal;
	}

	.membership-benefits-item p {
		width:auto !important;
		min-width:0 !important;
		margin-top:10px;
		font-size:16px;
		line-height:1.4;
		word-break:normal;
		overflow-wrap:normal;
	}
}

/* =====================================================
   MEMBERSHIP - MOBILE COMMON TYPE / SECTION SYSTEM
   2026-09-22
   Section title 40 / content title 23 / body 18 / gap 30
====================================================== */

.apple-mobile-section-title{
	display:none;
}

@media screen and (max-width:768px){

	/* Desktop tab navigation stays hidden on mobile */
	.apple-mobile-anchor-nav{
		display:none !important;
	}

	/* PC tab name -> mobile section marker */
	.apple-mobile-section-title{
		display:block !important;
		width:100%;
		margin:30px 0 30px !important;
		padding:0 !important;
		color:#d3133a !important;
		font-size:40px !important;
		font-weight:700 !important;
		line-height:1.1 !important;
		letter-spacing:-.035em !important;
		text-align:center !important;
	}

	/* Basic section spacing */
	.apple-membership-overview,
	.apple-membership-benefits,
	.apple-join-renew,
	.apple-membership-faq,
	.apple-membership-myapple{
		scroll-margin-top:30px;
	}

	.membership-section,
	.apple-membership-benefits,
	.apple-join-renew,
	.apple-membership-faq{
		padding-top:0px !important;
		padding-bottom:30px !important;
	}

	.membership-section.membership-why{padding:25px;}

	/* OVERVIEW: hide duplicated original section label */
	.membership-intro h2.dab{
		font-size:0 !important;
		line-height:0 !important;
		color:transparent !important;
	}

	.membership-intro h2.dab strong{
		display:block;
		padding-top:0 !important;
		color:#161f42 !important;
		font-size:23px !important;
		line-height:1.3 !important;
		text-align:left !important;
	}

	/* Content headings */
	.apple-membership-overview h2.fonts,
	.membership-benefits-title h2,
	.join-renew-heading h2,
	.faq-heading h2,
	.membership-benefit h3,
	.membership-benefits-item h3,
	.join-step h3,
	.membership-detail-item h2,
	.membership-detail-item h3{
		font-size:23px !important;
		line-height:1.3 !important;
	}

	.apple-membership-overview h2.fonts,
	.membership-benefits-title h2,
	.join-renew-heading h2,
	.faq-heading h2{
		text-align:left !important;
	}

	/* General body text */
	.apple-membership-overview p,
	.apple-membership-overview li,
	.membership-benefit p,
	.membership-benefits-item p,
	.join-step p,
	.membership-detail-item p,
	.membership-detail-list li,
	.faq-answer p{
		font-size:18px !important;
		line-height:1.5 !important;
	}

	.membership-lead{
		font-size:18px !important;
		line-height:1.5 !important;
	}

	/* Overview internal rhythm */
	.membership-intro{
		gap:30px !important;
	}
	.membership-intro__visual{
		margin-top:30px !important;
	}
	.membership-heading{
	 margin-top:25px;
		margin-bottom:10px !important;
	}
	.membership-who{
		gap:30px !important;
		margin-top:30px;
	}
.membership-who__copy h2{padding-top:30px;}
	/* Benefits */
	.membership-benefits-title{
		margin-bottom:30px !important;
	}
	.membership-benefits-visual{
		margin-top:0px !important;
	}
	.membership-benefits-list{
		margin-top:30px !important;
	}
	.membership-benefits-item{
		padding:30px 0 !important;
	}

	/* Join / Renew */
	.join-process-section{
		padding:30px 20px !important;
	}
	.join-renew-heading{
		margin-bottom:30px !important;
	}
	.join-step,
	.join-step:nth-child(even),
	.join-step:nth-child(3),
	.join-step:nth-child(4){
		padding:30px 20px !important;
	}
	.membership-detail-grid{
		margin-top:30px !important;
	}
	.membership-detail-item{
		padding:30px 0 !important;
	}

	/* FAQ */
	.faq-heading{
		margin-bottom:30px !important;
	}
	.faq-heading h2{
		color:#161f42 !important;
	}
	.faq-question{
		font-size:18px !important;
		line-height:1.4 !important;
	}

	/* My APPLE is currently an anchor-only section in the supplied PHP.
	   Keep the mobile marker without inventing new content. */
	.apple-membership-myapple{
		padding:30px 0 0;
	}
}

