/* ===== 1024px — 中等屏幕（平板横屏 / 小桌面） ===== */
@media (max-width: 1024px) {
	:root {
		--zq-container: min(1180px, calc(100vw - 36px));
	}

	/* Header */
	.site-header__inner {
		padding: 14px 0;
	}

	.site-brand__logo {
		width: 120px;
		height: 120px;
	}

	body.zq-page-home .site-brand__logo {
		width: 120px;
		height: 120px;
	}

	/* Grids → single column */
	.page-hero__content,
	.home-hero-media__grid,
	.home-panel__inner--split,
	.service-grid,
	.media-showcase__feature,
	.section-heading,
	.contact-strip,
	.cta-banner,
	.site-footer__grid,
	.article-list__item,
	.split-layout {
		grid-template-columns: 1fr;
	}

	/* Grids → 2 columns */
	.route-grid,
	.timeline-grid,
	.values-grid,
	.scenic-grid,
	.article-grid,
	.article-grid--wide,
	.media-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.info-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.chushi-layout--geo,
	.chushi-layout--history {
		grid-template-columns: 1fr;
	}

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

	/* Landing title image */
	.home-landing__title-image {
		width: min(560px, 86vw);
	}

	/* Landing nav */
	.home-landing__nav {
		width: min(780px, 92vw);
		height: auto;
		min-height: 56px;
		padding: 10px 24px;
		overflow: hidden;
	}

	.home-landing__nav-list {
		gap: 8px;
		flex-wrap: nowrap;
	}

	.home-landing__nav-list a {
		font-size: clamp(0.95rem, 2vw, 1.3rem);
		white-space: nowrap;
	}

	.home-landing__notice {
		width: min(720px, 92vw);
		gap: 14px;
		--home-notice-h: 1.85rem;
	}

	.home-landing__notice-label {
		padding: 6px 12px;
	}

	.home-landing__notice-item {
		font-size: 1.12rem;
	}

	/* Intro panel */
	.home-intro-panel {
		padding-top: calc(180px * var(--home-scale, 1));
	}

	.home-intro.site-container {
		width: var(--zq-container);
	}

	.home-intro__media {
		min-height: 320px;
	}

	/* Scenic panel */
	#panel-scenic .site-container {
		width: var(--zq-container);
	}

	#panel-scenic {
		padding: calc(100px * var(--home-scale, 1)) 0 calc(50px * var(--home-scale, 1));
	}

	/* 卡片尺寸完全交由 --home-scale 平滑驱动，避免 1024 边界突变 */

	/* News panel */
	#panel-news .home-panel__inner {
		width: var(--zq-container);
		grid-template-columns: 1fr;
		gap: 48px;
	}

	#panel-news {
		padding: calc(120px * var(--home-scale, 1)) 0 calc(50px * var(--home-scale, 1));
	}

	.home-news-list li {
		grid-template-columns: minmax(0, 1fr) 100px;
		gap: 16px;
		padding: 20px 0;
	}

	/* Contact panel */
	#panel-contact .home-panel__inner {
		width: var(--zq-container);
		grid-template-columns: 1fr;
		gap: 36px;
	}

	#panel-contact {
		padding-top: calc(70px * var(--home-scale, 1));
	}

	.home-contact-map {
		height: 240px;
	}

	/* Float actions / service icons */
	.s_spserv__wrap {
		left: 20px;
		right: auto;
	}

	.home-float-actions {
		right: 20px;
	}

	/* Home Fixed Header */
	.home-fixed-header {
		height: 64px;
	}

	body.zq-page-home .home-fixed-header {
		height: var(--landing-frame, 88px);
	}

	.home-fixed-header > .site-container {
		padding: 0 18px;
	}

	.home-fixed-header__logo img {
		height: 36px;
	}

	body.zq-page-home .home-fixed-header__logo img {
		height: 58px;
	}

	.home-fixed-header__nav-list {
		gap: 12px;
	}

	.home-fixed-header__nav-list a {
		font-size: 1rem;
		padding: 8px 10px;
	}

	.home-fixed-header__lang-btn {
		padding: 6px 10px;
		font-size: 0.85rem;
	}

	.home-fixed-header__lang-dropdown {
		min-width: 100px;
	}

	/* Non-home pages: adjust padding for 1024px header */
	body:not(.zq-page-home):not(.zq-page-chushi):not(.zq-page-ganzhi) .site-main {
		padding-top: 64px;
	}

	body.zq-page-chushi .site-main,
	body.zq-page-ganzhi .site-main {
		padding-top: 64px;
	}

	/* Page dots */
	.home-page-dots {
		right: 72px;
	}
}

/* ===== 768px — 移动端 ===== */
@media (max-width: 768px) {
	:root {
		--zq-container: calc(100vw - 28px);
		--zq-radius: 16px;
	}

	/* --- Home Fixed Header (capsule nav on mobile) --- */
	.home-fixed-header {
		height: 56px;
	}

	body.zq-page-home .home-fixed-header {
		height: var(--landing-frame, 68px);
	}

	.home-fixed-header > .site-container {
		padding: 0 14px;
	}

	.home-fixed-header__logo img {
		height: 32px;
	}

	body.zq-page-home .home-fixed-header__logo img {
		height: 42px;
	}

	.home-fixed-header__nav {
		background: rgba(66, 142, 160, 0.08);
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 999px;
		padding: 4px 12px;
		justify-content: flex-start;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.home-fixed-header__nav-list {
		gap: 6px;
		flex-wrap: nowrap;
		flex: 0 0 auto;
	}

	.home-fixed-header__nav-list a {
		flex: 0 0 auto;
		font-size: 0.75rem;
		padding: 4px 8px;
		white-space: nowrap;
	}

	.home-fixed-header__nav::-webkit-scrollbar {
		display: none;
	}

	.home-fixed-header__lang-btn {
		padding: 4px 8px;
		font-size: 0.8rem;
	}

	.home-fixed-header__lang-dropdown {
		min-width: 100px;
	}

	/* Non-home pages: adjust padding for smaller header */
	body:not(.zq-page-home):not(.zq-page-chushi):not(.zq-page-ganzhi) .site-main {
		padding-top: 56px;
	}

	body.zq-page-chushi .site-main,
	body.zq-page-ganzhi .site-main {
		padding-top: 56px;
	}

	/* --- Grids → single column --- */
	.route-grid,
	.timeline-grid,
	.values-grid,
	.scenic-grid,
	.article-grid,
	.article-grid--wide,
	.media-gallery,
	.info-sidebar {
		grid-template-columns: 1fr;
	}

	/* --- Page Hero --- */
	.page-hero {
		padding-top: 36px;
	}

	.page-hero--chushi .page-hero__content {
		min-height: 36vh;
	}

	/* --- Landing Section --- */
	.home-landing {
		min-height: 100svh;
	}

	.home-landing__inner {
		inset: var(--landing-frame, 68px) 0;
		gap: 18px;
	}

	.home-landing__title-image {
		width: min(560px, 90vw);
	}

	/* (fixed header values already declared above in this breakpoint) */
	.home-fixed-header__nav-list {
		gap: 8px;
	}

	.home-fixed-header__nav-list a {
		font-size: 0.8rem;
		padding: 4px 6px;
	}

	.home-fixed-header__lang-btn {
		padding: 4px 8px;
		font-size: 0.8rem;
	}

	.home-fixed-header__lang-dropdown {
		min-width: 110px;
	}

	/* Landing top/bottom padding governed by --landing-frame on <body.zq-page-home> */

	.home-landing__nav {
		width: calc(100vw - 28px);
		height: auto;
		min-height: 52px;
		padding: 8px 10px;
		border-radius: 18px;
	}

	.home-landing__nav-list {
		justify-content: flex-start;
		gap: 10px;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.home-landing__nav-list::-webkit-scrollbar {
		display: none;
	}

	.home-landing__nav-list a {
		flex-shrink: 0;
		display: inline-flex;
		align-items: center;
		padding: 6px 12px;
		font-size: 1rem;
		white-space: nowrap;
	}

	.home-landing__nav-list a:focus-visible {
		outline-offset: 4px;
	}

	/* Notice */
	.home-landing__notice {
		flex-direction: column;
		align-items: center;
		gap: 8px;
		width: calc(100vw - 28px);
		padding: 0;
		--home-notice-h: 1.6rem;
	}

	.home-landing__notice-label {
		font-size: 0.82rem;
		padding: 5px 12px;
	}

	.home-landing__notice-track {
		flex: 0 0 auto;
		width: 100%;
		min-width: 0;
		height: var(--home-notice-h);
	}

	.home-landing__notice-item {
		font-size: 0.95rem;
		line-height: var(--home-notice-h);
		text-align: center;
		justify-content: center;
	}

	.home-landing__notice-text {
		white-space: normal;
		width: 100%;
		text-align: center;
	}

	.home-landing__notice-item.is-marquee .home-landing__notice-text {
		animation: none;
	}

	.home-landing__copyright {
		font-size: 0.82rem;
	}

	/* --- Home Panels (common) --- */
	.home-panel {
		padding: 80px 0 32px;
		min-height: auto;
	}

	/* Landing is also a .home-panel; keep the first screen full-height on mobile. */
	.home-landing.home-panel {
		min-height: 100svh;
		padding: 0;
	}

	.home-panel__title {
		font-size: clamp(1.8rem, 6vw, 2.6rem);
	}

	.home-panel__tabs {
		flex-wrap: wrap;
		gap: 10px;
	}

	.home-panel__tabs span {
		padding: 8px 14px;
		font-size: 0.95rem;
	}

	/* --- Intro Panel --- */
	.home-intro-panel {
		padding-top: 160px;
	}

	.home-intro {
		gap: 24px;
	}

	.home-intro.site-container {
		width: calc(100vw - 14px);
	}

	.home-intro__content {
		gap: 20px;
	}

	.home-intro__tabs {
		gap: 8px;
	}

	.home-intro__tab {
		min-width: 0;
		padding: 10px 14px;
		font-size: 0.95rem;
	}

	.home-intro__title {
		font-size: clamp(2rem, 7vw, 2.8rem);
		margin-bottom: 14px;
	}

	.home-intro__copy p {
		font-size: 0.92rem;
		line-height: 1.75;
	}

	.home-intro__media {
		min-height: auto;
	}

	.home-intro__visual {
		width: 100%;
	}

	.home-intro__visual--single .home-intro__image-frame,
	.home-intro__visual--split .home-intro__image-frame {
		aspect-ratio: 16 / 10;
	}

	.home-intro__visual--split {
		grid-template-columns: 1fr;
	}

	.home-intro__visual--split .home-intro__image-frame:nth-child(2) {
		aspect-ratio: 16 / 10;
	}

	.home-intro-panel::after {
		inset: 10px;
	}

	/* --- Scenic Panel --- */
	#panel-scenic {
		padding: 160px 0 40px;
	}

	#panel-scenic .home-panel__inner {
		gap: 40px;
	}

	#panel-scenic .site-container {
		width: calc(100vw - 14px);
	}

	.home-panel__cards--scenic {
		gap: 14px;
		padding: 8px 0 14px;
		scroll-snap-type: x mandatory;
	}

	.home-scenic-card {
		flex-basis: min(72vw, 320px);
	}

	.home-scenic-card img {
		height: auto;
	}

	/* --- News Panel --- */
	#panel-news {
		padding: 160px 0 40px;
	}

	#panel-news .home-panel__inner {
		gap: 32px;
		grid-template-columns: 1fr;
	}

	#panel-news .home-panel__title {
		margin-top: 0;
	}

	.home-news-list li {
		grid-template-columns: 1fr;
	}

	.home-news-list a {
		font-size: 1rem;
	}

	.home-news-list span {
		text-align: left;
		font-size: 0.88rem;
	}

	.home-news-slider {
		min-height: 240px;
		width: 100%;
		margin-top: 0;
		height: auto;
		aspect-ratio: 16 / 9;
		justify-self: start;
	}

	.home-news-slider__slide img {
		min-height: 240px;
	}

	/* --- Contact Panel --- */
	#panel-contact {
		padding: 160px 0 0;
		padding-bottom: 12px;
		min-height: auto;
		--contact-record-space: 140px;
	}

	#panel-contact .home-panel__inner {
		grid-template-columns: 1fr;
		gap: 28px;
		width: calc(100vw - 14px);
	}

	#panel-contact .home-panel__content {
		padding-top: 0;
	}

	.home-contact-media {
		min-height: 280px;
	}

	.home-contact-map {
		max-width: 100%;
		height: 200px;
	}

	.home-contact-media__qr img {
		width: min(180px, 44vw);
	}

	.home-contact-record-wrapper {
		min-height: var(--contact-record-space);
	}

	.home-contact-record__icp,
	.home-contact-record__copyright {
		font-size: 0.82rem;
	}

	/* --- Float Actions / Service Icons --- */
	.s_spserv__wrap {
		left: 12px;
		right: auto;
		top: calc(63.5% - 48px);
		gap: 10px;
	}

	.s_spserv__item {
		width: 42px;
		height: 42px;
	}

	.s_spserv__pic {
		font-size: 20px;
	}

	.s_spserv__pic--720 {
		-webkit-mask-size: 18px 18px;
		        mask-size: 18px 18px;
	}

	.s_spserv__hoverarea {
		left: calc(100% + 10px);
		right: auto;
		min-width: 160px;
		height: 42px;
		padding: 0 12px;
		border-radius: 12px;
	}

	.s_spserv__hoverarea::after {
		left: -8px;
		right: auto;
		border-top-width: 8px;
		border-bottom-width: 8px;
		border-right-width: 8px;
		border-left: none;
	}

	.s_spserv__hoverarea-wx {
		min-width: 200px;
		padding: 12px;
		border-radius: 14px;
	}

	.s_spserv__wxpic {
		width: 130px;
		height: 130px;
	}

	.home-float-actions {
		right: 12px;
		top: 56%;
		gap: 10px;
	}

	.home-float-actions__btn {
		width: 42px;
		height: 42px;
	}

	.home-float-actions__tooltip {
		right: 54px;
		min-width: 160px;
		height: 42px;
		padding: 0 12px;
	}

	.home-float-actions__qr {
		width: 130px;
		height: 130px;
	}

	/* --- Chushi Page --- */
	.chushi-tabs {
		gap: 16px;
		margin-bottom: 24px;
	}

	.chushi-tab {
		font-size: 0.98rem;
		letter-spacing: 0.04em;
	}

	.chushi-cards {
		grid-template-columns: 1fr;
	}

	.chushi-section {
		padding: 36px 0 48px;
	}

	.chushi-section__inner {
		width: calc(100vw - 20px);
	}

	/* --- Card / Component Padding --- */
	.page-hero__content,
	.hero-intro-card,
	.content-panel,
	.article-card,
	.route-card,
	.timeline-card,
	.audio-card,
	.hero-video-card,
	.scenic-card,
	.service-grid__main {
		padding: 16px;
	}

	.hero-video-card {
		min-height: 280px;
	}

	.contact-strip {
		padding: 20px;
	}

	.contact-strip ul {
		justify-content: flex-start;
	}

	/* QR card */
	.home-qr-card img {
		height: auto;
	}

	/* Page dots — hide on mobile */
	.home-page-dots {
		display: none;
	}

	/* Section block */
	.section-block {
		padding: 32px 0;
	}
}

/* ===== 480px — 小屏手机 ===== */
@media (max-width: 480px) {
	.home-landing__title-image {
		width: 90vw;
	}

	.home-landing__nav {
		max-width: 100%;
		padding: 10px 12px;
		gap: 6px;
	}

	.home-landing__nav-list a {
		font-size: 0.92rem;
		padding: 5px 10px;
	}

	.home-panel__title {
		font-size: clamp(1.5rem, 7vw, 2.2rem);
	}

	.home-intro__title {
		font-size: clamp(1.6rem, 8vw, 2.4rem);
	}

	.home-intro__tab {
		padding: 8px 12px;
		font-size: 0.88rem;
	}

	.home-scenic-card {
		flex-basis: 75vw;
	}

	.home-scenic-card img {
		height: auto;
	}
}
