/* ================= 活动页 Open Road Program ================= */

/* 页面主体深色背景，与活动板块衔接 */
.main {
	background-color: #0b0f15;
}

/* ================= 1. Open Road Program 主体板块 ================= */
.open-road-section {
	width: 100%;
	background: #0b0f15 url(../img/open-road-banner.png) no-repeat center bottom / cover;
	padding: clamp(50px, 7vw, 133px) 0 clamp(70px, 14vw, 266px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.open-road-container {
	text-align: center;
}

/* 大标题 */
.program-main-title {
	font-size: clamp(22px, 4vw, 60px);
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: rgba(255, 255, 255, 1);
	line-height: 1.16;
	text-transform: uppercase;
}

/* 引导副标 */
.program-subtitle {
	font-size: 26px;
	font-family: Montserrat-Medium;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.9);
	line-height: 28px;
	margin-top: 16px;
}

/* ================= 2. 三大等级参与卡片网格 ================= */
.level-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 56px;
	margin-top: clamp(30px, 4.7vw, 72px);
	width: 100%;
}

/* 单张等级卡片 */
.level-card-item {
	position: relative;
	background-color: rgba(255, 255, 255, 0.04);
	border-radius: 34px;
	padding: 70px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	/* backdrop-filter: blur(8px); */
	transition: all 0.3s ease;
	overflow: hidden;
}

.level-card-item:hover {
	background-color: rgba(255, 255, 255, 0.08);
	transform: translateY(-4px);

}

/* 卡片底部悬浮镜面光斑（伪元素实现，无需额外图片） */
.level-card-item::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 100%;
	height: 56px;
	transform: translate(-50%, 50%);
	background: radial-gradient(50% 100% at 50% 50%, #66ffe5 0%, #3bffd9 50%, #21cfae 100%);
	border-radius: 50%;
	filter: blur(10px);
	box-shadow: 0 8px 26px rgba(59, 255, 217, 0.35);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.level-card-item:hover::after {
	opacity: .7;
}

/* 等级徽标标签 */
.level-tag-text {
	font-size: 22px;
	font-family: Montserrat-Regular;
	color: rgba(167, 168, 169, 1);
	line-height: 1.36;
	text-transform: uppercase;
}

/* 核心绿色项目名 */
.level-project-title {
	font-size: clamp(22px, 2.7vw, 36px);
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: rgba(59, 255, 217, 1);
	line-height: 1.2;
	margin-top: 14px;
	text-transform: uppercase;
	margin-top: 22px;
}

/* 底部黑色胶囊行动按钮 */
.level-action-btn {
	max-width: 100%;
	width: 300px;
	max-width: 100%;
	line-height: 72px;
	background-color: #020202;
	background-image: url("../img/level-action-btn-bg.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	border-radius: 30px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-family: Montserrat-SemiBold;
	color: rgba(59, 255, 217, 1);
	margin-top: 38px;
	text-transform: uppercase;
	transition: all 0.25s ease;
	padding: 0 20px;
}

.level-card-item:hover .level-action-btn {
	/* background-color: rgba(59, 255, 217, 1); */
	color: #fff;
	/* border-color: rgba(59, 255, 217, 1); */
}



/* ================= 4. 表单提交结果页（Application Received） ================= */

/* 结果页浅灰背景，覆盖活动页深色背景 */
.page-feedback .main {
	background-color: rgba(242, 242, 242, 1);
}

/* 反馈提示业务主体 */
.feedback-page-section {
	width: 100%;
	padding: clamp(50px, 14.68vw, 282px) 0 clamp(50px, 13.54vw, 260px);
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: RGBA(242, 242, 242, 1);
}

.feedback-container {
	width: 94%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* 核心反馈提示黑底卡片 */
.feedback-message-card {
	width: 960px;
	max-width: 100%;
	background: #000000;
	border-radius: 30px;
	padding: 36px 44px;
	display: flex;
	align-items: center;
	gap: 34px;
	/* box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); */
}

/* 成功状态图标 */
.feedback-status-icon {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	object-fit: contain;
}

/* 提示正文文案 */
.feedback-text-wrap {
	font-size: 26px;
	font-family: Montserrat-Medium;
	color: rgba(255, 255, 255, 1);
	line-height: 28px;
	text-align: left;
}

.feedback-text-wrap p {
	margin: 0;
}

/* 下方返回活动链接 */
.return-activity-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: clamp(30px, 4.7vw, 72px);
	cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.return-activity-link:hover {
	transform: translateX(-3px);
	opacity: 0.85;
}

.return-icon {
	width: 32px;
	object-fit: contain;
}

.return-label-text {
	font-size: 20px;
	font-family: Montserrat-SemiBold;
	color: rgba(0, 206, 180, 1);
	line-height: 24px;
}

/* ================= 5. 表单填写页（Share Your Riding Plan） ================= */

/* ================= 1. 表单外层容器 (自适应居中，版心 1600px) ================= */
.riding-plan-section {
	width: 100%;
	padding: clamp(50px, 8vw, 154px) 0 clamp(50px, 7.2vw, 138px);
}

.riding-plan-container {}

/* 顶部主标题 */
.form-header-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}

.form-main-title {
	font-size: clamp(22px, 4vw, 60px);
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: rgba(0, 0, 0, 1);
	line-height: 1.16;
}

.form-header-badge {
	width: 73px;
	display: block;
}

/* ================= 2. 表单字段控件 ================= */
.conditional-form-body,
.form-field-group {
	margin-top: 34px;
}

.form-field-group:first-child {
	margin-top: 0;
}

/* 字段标题 */
.field-label-text {
	display: block;
	font-size: 20px;
	font-family: Montserrat-SemiBold;
	font-weight: 600;
	color: rgba(0, 0, 0, 1);
	line-height: 28px;
	margin-bottom: 12px;
}

/* 标准单行输入框 */
.native-text-input {
	width: 100%;
	height: 50px;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 16px;
	box-shadow: 6px 6px 14px 0px rgba(0, 0, 0, 0.08);
	padding: 0 26px;
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 0, 0, 1);
	transition: all 0.25s ease;
	border: none;
}

.native-text-input::placeholder {
	color: rgba(167, 168, 169, 1);
	font-size: 20px;
}

.native-text-input:focus {
	background-color: #ffffff;
	/* box-shadow: 0 0 0 3px rgba(59, 255, 217, 0.4), 6px 6px 14px rgba(0, 0, 0, 0.1); */
}

/* 大文本域 */
.native-textarea-input {
	width: 100%;
	height: 140px;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 16px;
	box-shadow: 6px 6px 14px 0px rgba(0, 0, 0, 0.08);
	padding: 16px 26px;
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 0, 0, 1);
	line-height: 30px;
	resize: vertical;
	transition: all 0.25s ease;
}

.native-textarea-input::placeholder {
	color: rgba(167, 168, 169, 1);
	font-size: 20px;
}

.native-textarea-input:focus {
	background-color: #ffffff;
	box-shadow: 0 0 0 3px rgba(59, 255, 217, 0.4), 6px 6px 14px rgba(0, 0, 0, 0.1);
}

/* ================= 3. 单选 Radio 选项栏 (白底圆角条，与输入框风格一致) ================= */
.radio-options-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 36px;
	margin-top: 10px;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 16px;
	box-shadow: 6px 6px 14px 0px rgba(0, 0, 0, 0.08);
	padding: 14px 26px;
}

.radio-label-item {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	user-select: none;
}

.radio-label-item input[type="radio"] {
	display: none;
}

.custom-radio-box {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2px solid rgba(0, 0, 0, 1);
	background-color: rgba(242, 242, 242, 1);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.2s ease;
}

.radio-label-item input[type="radio"]:checked+.custom-radio-box {
	background-color: #000000;
	border-color: #000000;
}

.radio-label-item input[type="radio"]:checked+.custom-radio-box::after {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #ffffff;
}

.radio-text {
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 0, 0, 1);
	line-height: 24px;
}

/* 团队模式额外展开框容器 (动画平滑展开) */
.team-extra-fields {
	display: none;
	margin-top: 24px;
	border-radius: 16px;
}

.team-extra-fields.is-active {
	display: block;
	animation: fadeInExtra 0.3s ease forwards;
}

@keyframes fadeInExtra {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ================= 4. 条件隐藏表单整体容器 ================= */
.conditional-form-body {
	transition: opacity 0.3s ease;
}

.conditional-form-body.is-hidden {
	display: none;
}

/* ================= 5. 协议勾选与提交按钮 ================= */
.agreement-confirm-section {
	margin-top: clamp(30px, 5vw, 86px);
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 0 64px;
}

.checkbox-label-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	cursor: pointer;
	user-select: none;
}

.checkbox-label-item input[type="checkbox"] {
	display: none;
}

.custom-check-box {
	width: 20px;
	height: 20px;
	border: 2px solid rgba(0, 0, 0, 1);
	border-radius: 4px;
	background-color: rgba(242, 242, 242, 1);
	flex-shrink: 0;
	margin-top: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.2s ease;
}

.checkbox-label-item input[type="checkbox"]:checked+.custom-check-box {
	background-color: #000000;
	border-color: #000000;
}

.checkbox-label-item input[type="checkbox"]:checked+.custom-check-box::after {
	content: '✓';
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
}

.checkbox-statement-text {
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 0, 0, 1);
	line-height: 28px;
}

/* 提交按钮 */
.submit-button-container {
	margin-top: clamp(25px, 5vw, 96px);
	display: flex;
	flex-direction: column;
	align-items: center;
}

.asmax-submit-btn {
	padding: 0 106px;
	line-height: 80px;
	background-color: rgba(59, 255, 217, 1);
	border-radius: 30px;
	font-size: 28px;
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: rgba(0, 0, 0, 1);
	letter-spacing: 1px;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 10px 25px rgba(59, 255, 217, 0.35);
	transition: all 0.25s ease;
	border: none;
}

.asmax-submit-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 35px rgba(59, 255, 217, 0.5);
}

.asmax-submit-btn:active {
	transform: translateY(0);
}

/* 年龄未成年时的提示框 */
.age-blocked-notice {
	display: none;
	margin-top: 40px;
	padding: 40px;
	background-color: #fff1f2;
	border: 2px solid #fda4af;
	border-radius: 16px;
	text-align: center;
}

.age-blocked-notice.is-show {
	display: block;
}

.blocked-title {
	font-size: 24px;
	font-weight: bold;
	color: #e11d48;
}

.blocked-desc {
	font-size: 18px;
	color: #881337;
	margin-top: 10px;
}

/* ================= 6. 提交成功弹窗 ================= */
.submit-success-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 200;
}

.submit-success-modal.is-show {
	display: block;
}

.submit-success-modal .modal-shadow {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

.submit-success-card {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 520px;
	max-width: 90%;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 16px;
	box-shadow: 6px 6px 14px 0px rgba(0, 0, 0, 0.08), 0 20px 50px rgba(0, 0, 0, 0.2);
	padding: 48px 40px 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.modal-close-x {
	position: absolute;
	top: 12px;
	right: 20px;
	font-size: 28px;
	color: rgba(0, 0, 0, 0.4);
	cursor: pointer;
	line-height: 1;
	transition: color 0.2s ease;
}

.modal-close-x:hover {
	color: rgba(0, 0, 0, 1);
}

.modal-success-icon {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.modal-success-text {
	font-size: 16px;
	font-family: Montserrat-Medium;
	color: rgba(0, 0, 0, 1);
	line-height: 26px;
	margin-top: 20px;
}

.modal-ok-btn {
	margin-top: 28px;
	width: 160px;
	height: 48px;
	background-color: rgba(59, 255, 217, 1);
	border-radius: 15px;
	font-size: 16px;
	font-family: Montserrat-ExtraBold;
	color: rgba(0, 0, 0, 1);
	letter-spacing: 1px;
	cursor: pointer;
	transition: all 0.25s ease;
}

.modal-ok-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(59, 255, 217, 0.45);
}

/* ================= 7. Level 01 活动介绍页（Road Explorers） ================= */

/* ================= 1. 业务主体容器 (版心 1600px 流式居中) ================= */
.road-explorers-section {
	width: 100%;
	padding: clamp(50px, 6vw, 90px) 0 clamp(50px, 7.2vw, 140px);
	background-color: RGBA(242, 242, 242, 1);
}

.road-explorers-container {}

/* 等级标签 */
.level-tag-label {
	font-size: 22px;
	font-family: Montserrat-Regular;
	color: rgba(61, 61, 61, 1);
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* 主标题行 */
.level-title-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 36px;
}

.level-main-title {
	font-size: clamp(22px, 4vw, 60px);
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: rgba(0, 0, 0, 1);
	line-height: 1.16;
	/* letter-spacing: 1px; */
}

.level-brand-badge {
	width: 72px;
	height: 44px;
	object-fit: contain;
}

/* 副标文案 */
.level-sub-title {
	font-size: 26px;
	font-family: Montserrat-Medium;
	/* font-weight: 500; */
	color: rgba(0, 0, 0, 1);
	line-height: 28px;
	margin-top: 14px;
}

/* 分割细线 */
.level-top-divider {
	width: 100%;
	height: 2px;
	background-color: rgba(61, 61, 61, 1);
	margin-top: 14px;
}

/* ================= 2. 说明正文与手风琴卡片 ================= */
.explorers-content-flow {
	margin-top: 14px;
}

/* 启发性正文段落 */
.explorers-lead-paragraph {
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 0, 0, 1);
	line-height: 28px;
	max-width: 1200px;
}

.explorers-lead-paragraph p+p {
	margin-top: 10px;
}

/* 手风琴说明卡片列表 */
.explorers-accordion-group {
	margin-top: 46px;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

/* 单个手风琴卡片 */
.explore-accordion-item {
	width: 100%;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 14px;
	box-shadow: 6px 6px 14px 0px rgba(0, 0, 0, 0.08);
	padding: 13px 34px;
	transition: all 0.3s ease;
	cursor: pointer;
}

.explore-accordion-item:hover {
	box-shadow: 6px 8px 20px rgba(0, 0, 0, 0.12);
}

/* 卡片头部栏 */
.accordion-header-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	user-select: none;
	gap: 25px;
}

.accordion-title-text {
	font-size: 20px;
	font-family: Montserrat-SemiBold;
	font-weight: 600;
	color: rgba(0, 0, 0, 1);
	line-height: 24px;
	text-transform: uppercase;
	flex: 1;
}

.accordion-arrow-icon {
	width: 20px;
	height: 10px;
	object-fit: contain;
	transition: transform 0.3s ease;
	transform: rotate(0deg);
}

/* 展开态：箭头翻转 180 度 */
.explore-accordion-item.is-open .accordion-arrow-icon {
	transform: rotate(180deg);
}

/* 卡片展开详情内容 */
.accordion-body-content {
	display: none;
	margin-top: 8px;
	padding-top: 5px;
	/* border-top: 1px solid #f2f2f2; */
	animation: fadeInAccordion 0.3s ease forwards;
}

.explore-accordion-item.is-open .accordion-body-content {
	display: flex;
	flex-direction: column;
	/* gap: 8px; */
	align-items: flex-start;
}

@keyframes fadeInAccordion {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 单条明细（圆点 + 文案，每条各自带圆点） */
.accordion-detail-item {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.decor-dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 1);
	flex-shrink: 0;
	margin-top: 12px;
}

.accordion-detail-text {
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 0, 0, 1);
	line-height: 28px;
	text-align: justify;
}

/* ================= 3. 底部截止时间与行动按钮 ================= */
.explorers-bottom-actions {
	margin-top: 36px;
}

/* 截止日期通知提示 */
.deadline-notice-text {
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 206, 180, 1);
	line-height: 24px;
	display: block;
}

/* 提交/参与大按钮 */
.share-plan-btn-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 100px;
}

.share-plan-action-btn {
	padding: 0 50px;
	line-height: 80px;
	background-color: rgba(59, 255, 217, 1);
	border-radius: 30px;
	font-size: 28px;
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: rgba(0, 0, 0, 1);
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	box-shadow: 0 10px 25px rgba(59, 255, 217, 0.35);
	transition: all 0.25s ease;
}

.share-plan-action-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 35px rgba(59, 255, 217, 0.5);
}

.share-plan-action-btn:active {
	transform: translateY(0);
}

/* ================= 8. 可选上传/链接输入行（Optional supporting links or photos） ================= */
.upload-input-row {
	display: flex;
	align-items: center;
	width: 100%;
	height: 50px;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 16px;
	box-shadow: 6px 6px 14px 0px rgba(0, 0, 0, 0.08);
	padding: 0 26px;
}

.upload-icon-btn {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	flex-shrink: 0;
}

.upload-icon-svg {
	width: 20px;
	height: 20px;
	stroke: rgba(167, 168, 169, 1);
	stroke-width: 2;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.upload-divider {
	width: 1px;
	height: 20px;
	background-color: rgba(167, 168, 169, 0.5);
	margin: 0 16px;
	flex-shrink: 0;
}

.upload-url-input {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 0, 0, 1);
}

.upload-url-input::placeholder {
	color: rgba(167, 168, 169, 1);
	font-size: 20px;
}

.upload-file-input {
	display: none;
}

.upload-file-names {
	font-size: 14px;
	font-family: Montserrat-Regular;
	color: rgba(0, 206, 180, 1);
	line-height: 20px;
	margin-top: 10px;
	text-align: left;
}

.upload-file-names:empty {
	display: none;
}

/* ================= Montserrat 字体（活动页专用，与设计稿一致） ================= */
@font-face {
	font-family: Montserrat-Regular;
	src: url(../font/Montserrat-Regular.ttf) format("truetype")
}

@font-face {
	font-family: Montserrat-Medium;
	src: url(../font/Montserrat-Medium.ttf) format("truetype")
}

@font-face {
	font-family: Montserrat-SemiBold;
	src: url(../font/Montserrat-SemiBold.ttf) format("truetype")
}

@font-face {
	font-family: Montserrat-ExtraBold;
	src: url(../font/Montserrat-ExtraBold.ttf) format("truetype")
}

/* ================= 9. 活动首页（Open Road Program Global Initiative） ================= */

/* ================= 1. Banner 主视觉 (一屏显示，视频/图片双支持) ================= */
/* 轮播容器（结构对齐 index 页 .hero-section：swiper > swiper-wrapper > swiper-slide） */
.program-banner-hero {
	position: relative;
	width: 100%;
	height: calc(100vh - 90px);
	min-height: 640px;
	overflow: hidden;
}

.program-banner-hero .swiper {
	width: 100%;
	height: 100%;
}

.program-banner-hero .swiper-slide {
	position: relative;
}

/* 每屏背景（视频或图片）铺满整屏 */
.program-banner-hero .swiper-slide .pic,
.program-banner-hero .swiper-slide .pic video,
.program-banner-hero .swiper-slide .pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 顶部主文案（绝对定位在各屏之上） */
.banner-top-content {
	position: absolute;
	top: max(30px, 3.38vw);
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1400px;
	padding: 0 8.33%;
	z-index: 2;
	text-align: center;
}

/* 进度条式分页器（与 index 页 hero 一致：长条 bullets，激活态拉宽 + 绿色填充） */
.program-banner-hero .swiper-pagination {
	bottom: 50px;
}

.program-banner-hero .swiper-pagination-bullet {
	position: relative;
	width: 48px;
	height: 3px;
	background: rgba(255, 255, 255, .7);
	border-radius: 2px;
	opacity: 1;
	transition: all .6s;
}

.program-banner-hero .swiper-pagination-bullet::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: 0;
	height: 100%;
	background-color: rgba(59, 255, 217, 1);
}

.program-banner-hero .swiper-pagination-bullet-active {
	width: 120px;
}

.program-banner-hero .swiper-pagination-bullet-active::before {
	width: 100%;
	transition: all .6s;
}

.banner-main-title {
	font-size: clamp(22px, 4vw, 60px);
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.16;
	/* letter-spacing: 1.5px; */
	text-transform: uppercase;
}

.banner-sub-tag {
	font-size: 26px;
	font-family: Montserrat-Medium;
	font-weight: 500;
	color: #ffffff;
	line-height: 1.34;
	margin-top: 10px;
	/* letter-spacing: 1px; */
}

.banner-slogan-wrap {
	margin-top: 16.09vw;
}

.banner-slogan-wrap .banner-slogan-underline-img {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

.banner-slogan-wrap .banner-slogan-text {
	font-family: Montserrat-Medium;
	font-weight: 500;
	font-size: 26px;
	color: rgba(59, 255, 217, 1);
	line-height: 1.34;
	text-align: center;
	text-transform: none;
	margin-top: 7px;
}

/* ================= 2. 内部锚点二级导航条 (滚动吸顶) ================= */
.program-anchor-bar {
	position: sticky;
	top: 90px;
	margin-top: -80px;
	z-index: 90;
	width: 100%;
	height: 80px;
	background: rgba(0, 0, 0, 0.75) url(../img/open-road-anchorbar-bg.png) no-repeat center / cover;
	backdrop-filter: blur(10px);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.program-anchor-bar .anchor-swiper {
	width: 100%;
	height: 100%;
}

.program-anchor-bar .swiper-slide {
	width: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.anchor-nav-link {
	display: inline-block;
	padding: 0 25px;
	font-size: 18px;
	font-family: Montserrat-Medium;
	font-weight: 500;
	color: #ffffff;
	transition: color 0.2s ease;
	white-space: nowrap;
}

.anchor-nav-link:hover,
.anchor-nav-link.active {
	color: rgba(59, 255, 217, 1);
}

/* ================= 3. 品牌理念与使命板块 ================= */
.mission-statement-section {
	width: 100%;
	background: url(../img/open-road-mission-bg.png) no-repeat center bottom / 100% auto;
	padding: clamp(50px, 6vw, 90px) 0 0;
	text-align: center;
	background-color: RGBA(0, 1, 4, 1);
}


.mission-lead-media {
	margin: 0 auto;
}

.mission-lead-media img,
.mission-lead-media video {
	max-width: 100%;
	/* height: auto; */
	margin: 0 auto;
	display: block;
}

.mission-lead-image {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
}

.mission-main-title {
	font-size: clamp(22px, 4vw, 60px);
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.16;
	margin-top: clamp(25px, 5.2vw, 95px);
}

.mission-subtitle {
	font-size: 26px;
	font-family: Montserrat-Medium;
	font-weight: 500;
	color: #ffffff;
	line-height: 1.07;
	margin-top: 10px;
}

.mission-desc-paragraph {
	font-size: 20px;
	font-family: Montserrat-Medium;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.4;
	max-width: 100%;
	margin: 37px auto 0;
	text-align: center;
	width: 1300px;
}

/* ================= 3.5 三大参与等级板块（背景与 activity.html open-road-section 一致） ================= */
.ways-to-ride-section {
	width: 100%;
	/* background: #0b0f15 url(../img/open-road-banner.png) no-repeat center bottom / cover; */
	padding: clamp(50px, 12vw, 222px) 0 clamp(70px, 14vw, 266px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.ways-to-ride-section .open-road-container {
	width: 100%;
}


.program-faq-link {
	font-size: 22px;
	font-family: Montserrat-SemiBold;
	color: rgba(59, 255, 217, 1);
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: opacity 0.25s ease;
}

.program-faq-link:hover {
	opacity: 0.75;
}

/* ================= 4. 项目历程时间轴板块 (gsap 滚动逐步激活 01-05) ================= */
.timeline-action-section {
	min-height: 100vh;
	padding: clamp(50px, 6.6vw, 118px) 0 clamp(50px, 7.2vw, 135px);
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: rgba(0, 0, 0, 1);
}

.timeline-main-title {
	font-size: clamp(22px, 4vw, 60px);
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.16;
	text-transform: uppercase;
}

.timeline-subtitle {
	font-size: 26px;
	font-family: Montserrat-Medium;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.9);
	line-height: 28px;
	margin-top: 10px;
}

/* 时间轴轨道区 */
.timeline-track-wrapper {
	overflow: hidden;
}

.timeline-track-area {
	position: relative;
	max-width: 100%;
	margin: clamp(25px, 4.9vw, 78px) auto 0;
	width: 1000px;
}

.timeline-line {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 50%;
	height: 1px;
	width: 1600px;
	background-color: rgba(255, 255, 255, 0.2);
}

.timeline-nodes-row {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.timeline-node {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	color: #3d3d3d;
	transition: color 0.3s ease;
	cursor: default;
}

.timeline-node .timeline-node-icon {
	display: flex;
	justify-content: center;
	align-items: center;
}

.timeline-node svg {
	width: 57px;
	height: 21px;
	display: block;
}

.timeline-node-num {
	font-size: 20px;
	font-family: Montserrat-Bold;
	font-style: italic;
	line-height: 1;
}

.timeline-node.active {
	color: rgba(59, 255, 217, 1);
}

/* 沿时间轴骑行的摩托车（随激活步骤平滑平移） */
.timeline-rider {
	position: absolute;
	left: 0;
	top: 0;
	width: 57px;
	height: 21px;
	color: rgba(59, 255, 217, 1);
	z-index: 6;
	pointer-events: none;
	filter: drop-shadow(0 0 10px rgba(59, 255, 217, 0.75));
	will-change: transform;
}

.timeline-rider svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* 里程碑图标统一为低调标记色，让“骑行”的摩托车成为焦点 */
.timeline-node .timeline-node-icon {
	color: rgba(255, 255, 255, 0.28);
}

/* 当前节点文案 */
.timeline-detail-box {
	max-width: 100%;
	width: 1000px;
	margin: clamp(25px, 4vw, 61px) auto 0;
	text-align: left;
}

.timeline-node-step {
	display: block;
	font-size: 20px;
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: rgba(59, 255, 217, 1);
	line-height: 28px;
	text-transform: uppercase;
}

.timeline-node-desc {
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(255, 255, 255, 0.95);
	line-height: 24px;
	margin-top: 8px;
}

/* 底部项目时间标注 */
.timeline-badge-row {
	display: flex;
	justify-content: center;
	gap: 30px;
	align-items: center;
	margin-top: clamp(30px, 5vw, 77px);
	font-size: clamp(20px, 2.4vw, 30px);
	font-family: 'Montserrat-Medium';
	font-weight: 800;
	font-style: italic;
	line-height: 1.33;
	color: rgba(255, 255, 255, 0.6);
	text-transform: uppercase;
}

.timeline-badge-row .timeline-date {
	color: #ffffff;
	font-family: Montserrat-Bold;
	font-style: italic;
}

/* ================= 5. 骑行故事板块 (复用首页 riders-section 跑马灯逻辑) ================= */
.stories-gallery-section {
	width: 100%;
	background-color: rgba(255, 255, 255, 1);
	color: rgba(17, 17, 17, 1);
	padding: 120px 0;
	overflow: hidden;
}

.stories-header-wrap {
	text-align: center;
	padding: 0 8.33%;
}

.stories-main-title {
	font-size: clamp(22px, 4vw, 60px);
	font-family: 'Montserrat-ExtraBold';
	font-weight: 800;
	color: rgba(0, 0, 0, 1);
	line-height: 1.16;
}

.stories-lead-desc {
	font-size: 26px;
	font-family: Montserrat-Medium;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.8);
	line-height: 28px;
	/* max-width: 1300px; */
	margin: 10px auto 0;
}

.stories-gallery-section .marquee-section {
	margin-top: 68px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.stories-gallery-section .marquee-section .marquee-track .marquee-list,
.stories-gallery-section .marquee-section .marquee-track {
	display: flex;
	width: max-content;
	gap: 20px;
}

.stories-gallery-section .marquee-section .marquee-track .picCover {
	padding-top: 72.5%;
}

.stories-gallery-section .marquee-section .marquee-track .pic {
	border-radius: 15px;
	overflow: hidden;
}

.stories-gallery-section .marquee-section .marquee-track .pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.stories-gallery-section .marquee-section .marquee-track .marquee-item {
	flex-shrink: 0;
	width: 400px;
}

.stories-gallery-section .scroll-left {
	animation: activityScrollLeft 30s linear infinite;
}

.stories-gallery-section .scroll-right {
	animation: activityScrollLeft 30s -15s reverse linear infinite;
}

@keyframes activityScrollLeft {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* ================= 6. FAQ 板块 (手风琴) ================= */
.faq-knowledge-section {
	width: 100%;
	background: rgba(242, 242, 242, 1);
	padding: clamp(50px, 7vw, 120px) 0 clamp(50px, 11vw, 218px);
	color: rgba(17, 17, 17, 1);
}

.faq-header-wrap {
	text-align: center;
}

.faq-title-text {
	font-size: clamp(22px, 4vw, 60px);
	font-family: Montserrat-ExtraBold;
	font-weight: 800;
	color: rgba(0, 0, 0, 1);
	line-height: 1.16;
}

.faq-subtitle-text {
	font-size: 26px;
	font-family: Montserrat-Medium;
	font-weight: 500;
	color: rgba(0, 0, 0, 0.85);
	line-height: 28px;
	margin-top: 16px;
	letter-spacing: 0.5px;
}

.faq-accordion-container {
	max-width: 1000px;
	margin: 60px auto 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.faq-accordion-item {
	width: 100%;
	background-color: rgba(255, 255, 255, 1);
	border-radius: 14px;
	box-shadow: 6px 6px 14px 0px rgba(0, 0, 0, 0.08);
	padding: 13px 34px;
	cursor: pointer;
	user-select: none;
	transition: all 0.25s ease;
}

.faq-accordion-item:hover {
	box-shadow: 6px 8px 20px rgba(0, 0, 0, 0.12);
}

.faq-question-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.faq-question-label {
	font-size: 20px;
	font-family: Montserrat-SemiBold;
	font-weight: 600;
	color: rgba(0, 0, 0, 1);
	line-height: 26px;
}

.faq-arrow-icon {
	width: 20px;
	height: 10px;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.faq-accordion-item.is-open .faq-arrow-icon {
	transform: rotate(180deg);
}

.faq-answer-content {
	display: none;
	margin-top: 9px;
	padding-top: 9px;
	/* border-top: 1px solid #f2f2f2; */
	font-size: 20px;
	font-family: Montserrat-Regular;
	color: rgba(0, 0, 0, 0.85);
	line-height: 28px;
}

.faq-accordion-item.is-open .faq-answer-content {
	display: block;
	animation: fadeInFaq 0.3s ease forwards;
}

@keyframes fadeInFaq {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ==========================================================================
   活动页 (Open Road Program) 完整响应式适配代码
   ========================================================================== */

/* ---------------- 1199px 笔记本与小型桌面过渡 ---------------- */
@media (max-width: 1199px) {

	/* [原有保留] 骑行故事跑马灯 */
	.stories-gallery-section {
		padding: 80px 0;
	}

	.stories-gallery-section .marquee-section {
		margin-top: 45px;
	}

	.stories-gallery-section .marquee-section .marquee-track .marquee-item {
		width: 300px;
	}

	/* [新增扩展] 等级卡片间距初调 */
	.level-cards-grid {
		gap: 32px;
	}

	.level-card-item {
		padding: 50px 16px;
	}

	.level-action-btn {
		/* width: 100%; */
		line-height: 60px;
		font-size: 18px;
	}

	/* 使命愿景与时间轴容器收拢 */
	.mission-desc-paragraph {
		width: 92%;
		font-size: 18px;
	}

	.timeline-track-area {
		width: 90%;
	}

	.timeline-line {
		width: 100%;
	}

	.timeline-detail-box {
		width: 90%;
	}

	/* 故事主标与副标 */
	.stories-lead-desc {
		font-size: 20px;
	}

	.program-anchor-bar {
		top: 62px;
	}
}

/* ---------------- 1024px 平板横屏/竖屏（网格降为 2 列） ---------------- */
@media (max-width: 1024px) {

	/* [原有保留] 骑行故事跑马灯 */
	.stories-gallery-section {
		padding: 70px 0;
	}

	.stories-gallery-section .marquee-section {
		margin-top: 40px;
	}

	.stories-gallery-section .marquee-section .marquee-track .marquee-item {
		width: 260px;
	}

	/* [新增扩展] 副标题阶梯微缩 */
	.program-subtitle,
	.mission-subtitle,
	.timeline-subtitle,
	.faq-subtitle-text,
	.level-sub-title {
		font-size: 20px;
		line-height: 1.4;
	}

	/* 3 大等级卡片降级为 2 列 */
	.level-cards-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	/* Banner 首屏高度释放 */
	.program-banner-hero {
		min-height: 520px;
	}

	.banner-sub-tag,.banner-slogan-wrap .banner-slogan-text {
		font-size: 20px;
	}

	/* 吸顶二级导航条高度与字体 */
	.program-anchor-bar {
		height: 64px;
		margin-top: -64px;
	}

	.anchor-nav-link {
		padding: 0 18px;
		font-size: 16px;
	}

	/* 反馈黑卡收拢 */
	.feedback-message-card {
		padding: 28px 32px;
		gap: 24px;
	}

	.feedback-text-wrap {
		font-size: 20px;
		line-height: 24px;
	}

	/* 骑行计划表单项尺寸微调 */
	.field-label-text {
		font-size: 17px;
	}

	.native-text-input,
	.native-textarea-input,
	.upload-input-row,
	.radio-text,
	.upload-url-input {
		font-size: 16px;
	}

	.native-text-input::placeholder,
	.native-textarea-input::placeholder,
	.upload-url-input::placeholder {
		font-size: 16px;
	}

	/* 协议确认外边距收缩 */
	.agreement-confirm-section {
		padding: 0 20px;
	}

	.checkbox-statement-text {
		font-size: 16px;
	}

	/* 提交大按钮微调 */
	.asmax-submit-btn,
	.share-plan-action-btn {
		padding: 0 60px;
		line-height: 64px;
		font-size: 22px;
	}
}

/* ---------------- 768px 手机端标准（网格转单列 + 消除横向撑屏） ---------------- */
@media (max-width: 768px) {
	.program-subtitle, .mission-subtitle, .timeline-subtitle, .faq-subtitle-text, .level-sub-title{
		font-size:18px;
	}
	/* 1. Open Road 主体 & 等级卡片（转单列） */
	.level-cards-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.level-card-item {
		border-radius: 20px;
		padding: 36px 20px;
	}

	.level-card-item::after {
		height: 36px;
	}

	.level-tag-text {
		font-size: 16px;
	}

	.level-action-btn {
		margin-top: 26px;
		line-height: 52px;
		font-size: 16px;
		border-radius: 26px;
	}

	/* 2. Banner 主视觉 */
	.program-banner-hero {
		min-height: 440px;
		height: 70vh;
	}

	.banner-top-content {
		top: 60px;
		padding: 0 16px;
	}

	.banner-sub-tag, .banner-slogan-wrap .banner-slogan-text {
		font-size: 16px;
		margin-top: 8px;
	}

	.program-banner-hero .swiper-pagination {
		bottom: 24px;
	}

	.program-banner-hero .swiper-pagination-bullet {
		width: 32px;
		height: 2px;
	}

	.program-banner-hero .swiper-pagination-bullet-active {
		width: 64px;
	}

	/* 3. 滚动吸顶导航条 */
	.program-anchor-bar {
		height: 52px;
		margin-top: -52px;
	}

	.anchor-nav-link {
		padding: 0 14px;
		font-size: 14px;
	}

	/* 4. 品牌理念与使命 */
	.mission-subtitle {
		font-size: 17px;
	}

	.mission-desc-paragraph {
		width: 100%;
		font-size: 15px;
		line-height: 1.6;
		margin-top: 18px;
		text-align: left;
	}

	/* 5. 项目历程时间轴（彻底消除横向滚动条） */
	.timeline-action-section {
		min-height: auto;
	}

	.timeline-subtitle {
		font-size: 16px;
	}

	.timeline-line {
		display: none;
	}

	.timeline-track-area {
		width: 100%;
	}

	.timeline-nodes-row {
		justify-content: space-around;
	}

	.timeline-node {
		gap: 8px;
	}

	.timeline-node svg {
		width: 36px;
		height: 14px;
	}

	.timeline-node-num {
		font-size: 15px;
	}

	.timeline-detail-box {
		width: 100%;
		text-align: center;
	}

	.timeline-node-step {
		font-size: 16px;
		line-height: 22px;
	}

	.timeline-node-desc {
		font-size: 14.5px;
		line-height: 22px;
	}

	.timeline-badge-row {
		gap: 12px;
		flex-wrap: wrap;
	}

	/* 6. 反馈提示卡片 */
	.feedback-message-card {
		padding: 22px 20px;
		border-radius: 16px;
		gap: 16px;
	}

	.feedback-status-icon {
		width: 44px;
		height: 44px;
	}

	.feedback-text-wrap {
		font-size: 16px;
		line-height: 22px;
	}

	.return-icon {
		width: 24px;
	}

	.return-label-text {
		font-size: 16px;
	}

	/* 7. 表单填写页 */
	.form-header-bar {
		margin-bottom: 24px;
	}

	.form-header-badge {
		width: 48px;
	}

	.conditional-form-body,
	.form-field-group {
		margin-top: 22px;
	}

	.field-label-text {
		font-size: 15px;
		line-height: 22px;
		margin-bottom: 8px;
	}

	.native-text-input,
	.upload-input-row {
		height: 46px;
		padding: 0 16px;
		border-radius: 12px;
		font-size: 15px;
	}

	.native-textarea-input {
		height: 110px;
		padding: 14px 16px;
		border-radius: 12px;
		font-size: 15px;
		line-height: 24px;
	}

	.radio-options-row {
		padding: 12px 18px;
		gap: 20px;
		border-radius: 12px;
	}

	.radio-text {
		font-size: 15px;
	}

	.agreement-confirm-section {
		padding: 0;
	}

	.checkbox-statement-text {
		font-size: 14px;
		line-height: 22px;
	}

	.asmax-submit-btn,
	.share-plan-action-btn {
		width: 100%;
		max-width: 340px;
		padding: 0;
		line-height: 52px;
		font-size: 18px;
		border-radius: 26px;
	}

	/* 8. 活动介绍手风琴 */
	.level-tag-label {
		font-size: 16px;
	}

	.level-title-row {
		margin-top: 20px;
	}

	.level-brand-badge {
		width: 50px;
		height: 32px;
	}

	.explorers-lead-paragraph {
		font-size: 15px;
		line-height: 24px;
	}

	.explorers-accordion-group {
		margin-top: 28px;
		gap: 16px;
	}

	.explore-accordion-item {
		padding: 12px 18px;
		border-radius: 10px;
	}

	.accordion-title-text {
		font-size: 15px;
		line-height: 22px;
	}

	.accordion-detail-text {
		font-size: 14.5px;
		line-height: 24px;
		text-align: left;
	}

	.share-plan-btn-wrap {
		margin-top: 40px;
	}

	.deadline-notice-text {
		font-size: 15px;
	}

	/* 9. FAQ 板块 */
	.faq-accordion-container {
		margin-top: 30px;
		gap: 16px;
	}

	.faq-accordion-item {
		padding: 12px 18px;
		border-radius: 10px;
	}

	.faq-question-label {
		font-size: 15px;
		line-height: 22px;
	}

	.faq-answer-content {
		font-size: 14px;
		line-height: 24px;
	}
}

/* ---------------- 500px 跑马灯边界标准（精准承接原有规则） ---------------- */
@media (max-width: 500px) {

	/* [原有保留] 骑行故事跑马灯卡片宽度 */
	.stories-gallery-section .marquee-section .marquee-track .marquee-item {
		width: 220px;
	}
}

/* ---------------- 480px 小型手机屏幕 ---------------- */
@media (max-width: 480px) {
	.program-banner-hero {
		height: 50vh;
	}

	.program-subtitle,
	.stories-lead-desc,
	.faq-subtitle-text {
		font-size: 15px;
		line-height: 22px;
	}

	.level-card-item {
		padding: 28px 16px;
	}

	.level-action-btn {
		line-height: 48px;
		font-size: 15px;
	}

	/* 结果页黑卡在超小屏纵向堆叠 */
	.feedback-message-card {
		flex-direction: column;
		text-align: center;
		padding: 20px 16px;
	}

	.feedback-text-wrap {
		text-align: center;
		font-size: 15px;
	}

	.radio-options-row {
		flex-wrap: wrap;
		gap: 14px;
	}

	.native-text-input,
	.upload-input-row {
		height: 44px;
	}

	.asmax-submit-btn,
	.share-plan-action-btn {
		max-width: 100%;
		line-height: 48px;
		font-size: 16px;
	}

	/* 弹窗适配 */
	.submit-success-card {
		padding: 32px 20px 24px;
	}

	.modal-success-text {
		font-size: 14px;
		line-height: 22px;
	}

	.modal-ok-btn {
		width: 140px;
		height: 42px;
		font-size: 15px;
	}
}

/* ================= 11. 时间轴移动端（取消 pin 后自适应高度） ================= */
@media (max-width: 1024px) {
	.timeline-node {
		cursor: pointer;
	}

	/* 移动端取消 pin，时间轴改为点击切换，骑行的摩托车隐藏 */
	.timeline-rider {
		display: none;
	}

	.timeline-action-section {
		min-height: auto;

	}

	.timeline-main-title {
		/* font-size: 32px; */
		/* line-height: 40px; */
	}

	.timeline-subtitle {
		font-size: 18px;
		line-height: 24px;
		margin-top: 14px;
	}

	.timeline-track-area {
		margin-top: 50px;
	}

	.timeline-detail-box {
		margin-top: 50px;
	}

	.timeline-node-desc {
		font-size: 16px;
		line-height: 26px;
	}

	.timeline-badge-row {
		/* margin-top: 60px; */
		font-size: 16px;
		gap: 16px;
	}
}