/**
 * Wintime 全站移动端响应式覆盖。
 * 此文件最后加载，只在手机断点覆盖桌面视觉。
 */

@media (max-width: 782px) {
	:root {
		--wintime-page-padding: clamp(18px, 5vw, 24px);
	}

	html,
	body {
		max-width: 100%;
		overflow-x: clip;
	}

	body.has-open-mobile-menu {
		overflow: hidden;
	}

	h1,
	h2,
	h3,
	h4,
	p,
	li,
	a {
		over-wrap: break-word;
	}

	/* 全站吸顶导航 */
	.site-header__inner {
		min-height: 72px;
		gap: 16px;
		padding-inline: var(--wintime-page-padding);
	}

	.site-header.is-menu-open {
		border-bottom-color: rgba(255, 255, 255, 0.12);
		background: rgba(5, 5, 5, 0.94);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}

	.site-branding {
		min-width: 0;
	}

	.brand-mark,
	.site-footer__brand .brand-mark {
		width: 76px;
	}

	.site-navigation__toggle {
		min-width: 44px;
		min-height: 44px;
	}

	.site-navigation {
		top: 100%;
		max-height: calc(100svh - 72px);
		padding: 18px var(--wintime-page-padding) 24px;
		overflow-y: auto;
		background: rgba(5, 5, 5, 0.96);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}

	.site-navigation__menu,
	.site-navigation__fallback ul {
		width: 100%;
		gap: 4px;
	}

	.site-navigation__menu li,
	.site-navigation__fallback li {
		width: 100%;
	}

	.site-navigation a,
	.site-navigation a[data-nav-slug="contact-us"] {
		justify-content: flex-start;
		width: 100%;
		min-width: 0;
		min-height: 46px;
		padding: 12px 14px;
		font-size: 16px;
	}

	.site-navigation a[data-nav-slug="contact-us"] {
		margin-top: 4px;
	}

	/* 通用页面和案例提示 */
	.content-shell {
		padding-top: 110px;
		padding-bottom: 64px;
	}

	.content-entry__title {
		font-size: clamp(38px, 12vw, 54px);
	}

	.case-studies-notice {
		min-height: 100svh;
		padding-top: 72px;
	}

	.case-studies-notice__inner {
		padding-block: 70px;
	}

	.case-studies-notice__eyebrow {
		font-size: 12px;
	}

	.case-studies-notice__title {
		margin-bottom: 28px;
		font-size: clamp(42px, 15vw, 66px);
	}

	.case-studies-notice__message p {
		font-size: 18px;
		line-height: 1.55;
	}

	/* Contact */
	.contact-hero {
		align-items: flex-end;
		min-height: max(660px, 88svh);
		background-position: 63% center;
	}

	.contact-hero__content {
		padding-top: 130px;
		padding-bottom: 62px;
	}

	.contact-hero h1 {
		max-width: 100%;
		margin-bottom: 24px;
		font-size: clamp(36px, 11vw, 48px);
		line-height: 1.08;
	}

	.contact-hero p {
		max-width: 100%;
		margin-bottom: 20px;
		font-size: 15px;
		line-height: 1.5;
	}

	.contact-form-section__inner {
		padding-top: 74px;
		padding-bottom: 84px;
	}

	.contact-form-section__decoration {
		top: 260px;
		left: 62%;
		width: 980px;
		height: 460px;
		background-size: contain;
		opacity: 0.28;
	}

	.contact-form-panel h2,
	.contact-details h2 {
		margin-bottom: 30px;
		font-size: clamp(32px, 10vw, 42px);
	}

	.contact-form {
		gap: 18px;
	}

	.contact-form label,
	.contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="hidden"]),
	.contact-form select,
	.contact-form textarea {
		font-size: 16px;
	}

	.contact-form textarea {
		min-height: 130px;
	}

	.contact-form .contact-form__consent {
		grid-template-columns: 21px minmax(0, 1fr);
		gap: 11px;
		font-size: 13px;
	}

	.contact-form input[type="checkbox"] {
		width: 21px;
		height: 21px;
	}

	.contact-form button,
	.contact-form input[type="submit"] {
		width: 100%;
		min-height: 50px;
		font-size: 18px;
	}

	.contact-details {
		padding-block: 72px;
	}

	.contact-details__grid {
		grid-template-columns: 1fr;
		gap: 56px;
	}

	.contact-details__list {
		gap: 24px;
	}

	.contact-details__list li {
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 15px;
		min-height: 52px;
	}

	.contact-details__list img {
		width: 42px;
		height: 42px;
	}

	.contact-details__list address,
	.contact-details__list a {
		font-size: 15px;
	}

	.contact-details__map {
		width: 100%;
		aspect-ratio: 1.25;
	}

	.contact-details__visual {
		gap: 36px;
	}

	.social-links__item img {
		width: 38px;
		height: 38px;
	}

	/* Footer */
	.site-footer__inner {
		gap: 34px;
		padding-top: 50px;
		padding-bottom: 28px;
		text-align: center;
	}

	.site-footer__brand,
	.site-footer__navigation,
	.site-footer__contact {
		justify-self: center;
		align-items: center;
		text-align: center;
	}

	.site-footer__brand address {
		font-size: 14px;
	}

	.site-footer__menu,
	.site-footer__navigation .site-navigation__fallback ul {
		align-items: center;
		gap: 9px;
	}

	.site-footer__navigation a,
	.site-footer__contact a {
		font-size: 15px;
	}

	.site-footer__contact .social-links {
		justify-content: center;
		gap: 18px;
	}

	.site-footer__copyright {
		margin-top: 12px;
		padding-top: 24px;
		text-align: center;
	}

	/* 固定语言切换器 */
	.contact-language-switcher {
		right: max(10px, env(safe-area-inset-right));
		bottom: max(10px, env(safe-area-inset-bottom));
		font-size: 14px;
	}

	.contact-language-switcher__trigger {
		min-width: 150px;
		min-height: 46px;
		padding: 8px 12px;
	}

	.contact-language-switcher__menu {
		width: min(220px, calc(100vw - 20px));
	}

	/* Home */
	.home-page h2 {
		font-size: clamp(32px, 10vw, 42px);
	}

	.home-hero,
	.home-hero__inner {
		min-height: max(700px, 100svh);
	}

	.home-hero__inner {
		padding-top: 122px;
		padding-bottom: 86px;
	}

	.home-hero h1 {
		font-size: clamp(42px, 13vw, 56px);
		line-height: 1.04;
	}

	.home-hero__copy p {
		max-width: 100%;
		font-size: 15px;
		line-height: 1.5;
	}

	.home-hero__actions {
		display: grid;
		gap: 12px;
		width: 100%;
		margin-top: 32px;
	}

	.home-button {
		width: 100%;
		min-width: 0;
		min-height: 48px;
		font-size: 16px;
	}

	.home-slider-controls {
		right: var(--wintime-page-padding);
		bottom: 20px;
		left: var(--wintime-page-padding);
		justify-content: space-between;
		gap: 0;
	}

	.home-impact {
		min-height: 900px;
	}

	.home-impact h2 {
		padding-top: 62px;
		text-align: left;
	}

	.home-impact__art {
		top: 175px;
		left: -400px;
		width: 760px;
		height: 570px;
		opacity: 0.55;
	}

	.home-impact__stats {
		gap: 52px 12px;
		padding-top: 115px;
	}

	.home-stat strong {
		font-size: clamp(58px, 19vw, 76px);
	}

	.home-stat > span {
		margin-top: 12px;
		font-size: 11px;
		line-height: 1.35;
	}

	.home-services {
		padding-block: 68px;
	}

	.home-service summary {
		grid-template-columns: minmax(0, 1fr) 38px;
		min-height: 104px;
		gap: 12px;
	}

	.home-service summary span {
		gap: 8px;
	}

	.home-service summary strong {
		font-size: 20px;
	}

	.home-service summary small {
		font-size: 13px;
		line-height: 1.35;
	}

	.home-service summary i {
		width: 36px;
		height: 36px;
	}

	.home-service__body > img,
	.home-asset-placeholder {
		height: min(74vw, 340px);
	}

	.home-service__body,
	.home-why__inner,
	.home-process__grid {
		grid-template-columns: 1fr;
	}

	.home-service__details ul {
		gap: 14px;
		font-size: 15px;
	}

	.home-why__inner {
		gap: 50px;
		padding-block: 72px;
	}

	.home-why__lead {
		gap: 34px;
	}

	.home-why__lead h2 {
		font-size: clamp(48px, 15vw, 62px);
	}

	.home-why__list li {
		grid-template-columns: minmax(0, 1fr) 38px;
		min-height: 165px;
		gap: 14px;
		padding: 21px 17px;
	}

	.home-why__list strong {
		font-size: 18px;
	}

	.home-why__list p {
		margin-top: 11px;
		font-size: 13px;
	}

	.home-why__list li > span {
		font-size: 31px;
	}

	.home-process {
		padding-block: 68px;
	}

	.home-process h2 {
		margin-bottom: 44px;
		text-align: left;
	}

	.home-process__grid {
		gap: 28px;
	}

	.home-process-card,
	.home-process-card.is-highlighted {
		grid-template-columns: minmax(0, 1fr) 76px;
		min-height: 190px;
		padding: 24px 20px;
		border-radius: 24px;
		transform: scaleY(1);
	}

	.home-process-card.is-highlighted {
		transform: scaleY(1.035);
	}

	.home-process-card h3 {
		margin-bottom: 18px;
		font-size: 18px;
	}

	.home-process-card p {
		font-size: 14px;
	}

	.home-process-card img {
		width: 68px;
		height: 68px;
	}

	.home-trusted,
	.home-about {
		padding-block: 68px;
	}

	.home-trusted h2,
	.home-about h2 {
		margin-bottom: 44px;
		text-align: left;
	}

	.home-trusted__group {
		gap: 40px;
		padding-right: 40px;
	}

	.home-trusted__logos img {
		max-width: 120px;
		max-height: 52px;
	}

	.home-about__media > img {
		height: min(65vw, 330px);
	}

	.home-slider-controls--image {
		display: none;
	}

	.home-about__content {
		padding-top: 26px;
	}

	.home-about__content p {
		font-size: 15px;
	}

	.home-cta,
	.home-cta__inner {
		min-height: 380px;
	}

	.home-cta {
		background-position: 62% center;
	}

	.home-cta h2 {
		font-size: 38px;
	}

	/* About */
	.about-page h2 {
		font-size: clamp(31px, 9vw, 40px);
	}

	.about-hero {
		min-height: max(700px, 100svh);
		background-position: 55% center;
	}

	.about-hero__inner {
		display: block;
		padding-top: 130px;
	}

	.about-hero h1 {
		font-size: clamp(42px, 13vw, 56px);
	}

	.about-hero p {
		max-width: 100%;
		margin-top: 72px;
		font-size: 15px;
		line-height: 1.5;
	}

	.about-strategy {
		min-height: 980px;
	}

	.about-strategy__inner {
		display: flex;
		flex-direction: column;
		height: auto;
		min-height: 980px;
		padding-top: 70px;
		padding-bottom: 80px;
	}

	.about-strategy__copy p {
		margin-top: 24px;
		font-size: 15px;
		line-height: 1.5;
	}

	.about-strategy__copy {
		position: relative;
		z-index: 3;
		order: 1;
		width: 100%;
		max-width: none;
		text-align: left;
	}

	.about-strategy__copy h2 {
		text-align: left;
	}

	.about-strategy__art {
		top: 340px;
		left: -455px;
		z-index: 1;
		width: 820px;
		height: 615px;
		opacity: 0.5;
	}

	.about-strategy__stats {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		z-index: 3;
		order: 2;
		width: 100%;
		margin-top: 74px;
		padding: 0;
		gap: 42px 10px;
	}

	.about-stat strong {
		font-size: clamp(55px, 18vw, 70px);
	}

	.about-stat > span {
		margin-top: 12px;
		font-size: 11px;
		line-height: 1.3;
	}

	.about-reality,
	.about-philosophy,
	.about-deliver {
		padding-block: 68px;
	}

	.about-reality__intro p,
	.about-deliver__lead {
		margin-top: 26px;
		font-size: 15px;
		line-height: 1.5;
	}

	.about-reality__gallery {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: 52px;
	}

	.about-reality__gallery img {
		height: min(100vw, 390px);
	}

	.about-trusted {
		margin-top: 84px;
	}

	.about-trusted h2 {
		margin-bottom: 48px;
		text-align: left;
	}

	.about-trusted__group {
		gap: 40px;
		padding-right: 40px;
	}

	.about-trusted__logos img {
		max-width: 112px;
		max-height: 50px;
	}

	.about-philosophy h2 {
		margin-bottom: 48px;
		text-align: left;
	}

	.about-philosophy__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.about-philosophy-card {
		min-height: 300px;
		padding: 25px 22px 96px;
	}

	.about-philosophy-card h3 {
		font-size: 19px;
	}

	.about-philosophy-card p {
		font-size: 14px;
	}

	.about-philosophy-card__icon {
		right: 20px;
		bottom: 18px;
		width: 68px;
		height: 68px;
	}

	.about-deliver__lead {
		margin-bottom: 48px;
	}

	.about-deliver__grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.about-deliver__grid ul {
		gap: 16px;
		font-size: 15px;
		text-align: left;
	}

	.about-cta,
	.about-cta__inner {
		min-height: 380px;
	}

	.about-cta {
		background-position: 62% center;
		background-size: auto 145%;
	}

	.about-cta__inner > div {
		margin-left: 0;
	}

	.about-cta h2 {
		font-size: 38px;
	}

	.about-cta a {
		width: min(230px, 100%);
	}

	/* Services */
	.services-page h2 {
		font-size: clamp(30px, 9vw, 39px);
	}

	.services-hero {
		min-height: max(680px, 100svh);
		background-position: 64% center;
	}

	.services-hero__inner {
		padding-top: 116px;
		padding-bottom: 58px;
	}

	.services-hero h1 {
		font-size: clamp(35px, 10vw, 46px);
		line-height: 1.06;
	}

	html[lang="it-IT"] .services-hero h1 {
		font-size: clamp(31px, 9vw, 40px);
	}

	.services-hero p,
	.service-section__header p {
		font-size: 15px;
		line-height: 1.5;
	}

	.service-section {
		padding-block: 68px;
	}

	.service-section__header h3 {
		margin: 18px 0 24px;
		font-size: 17px;
		line-height: 1.35;
	}

	.service-section__wide-image {
		height: min(55vw, 260px);
		margin-top: 42px;
	}

	.service-offer,
	.event-formats,
	.event-delivery {
		margin-top: 46px;
	}

	.service-offer h4,
	.event-formats h4 {
		margin-bottom: 22px;
		font-size: 17px;
	}

	.service-offer ul,
	.event-formats ul {
		grid-auto-flow: row;
		grid-template-columns: 1fr;
		grid-template-rows: none;
		gap: 13px;
		font-size: 14px;
		line-height: 1.4;
	}

	.event-delivery {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.event-delivery__media {
		width: 100%;
	}

	.event-delivery__controls {
		bottom: 14px;
		justify-content: space-between;
		gap: 0;
		padding-inline: 18px;
		font-size: 12px;
	}

	.services-cta,
	.services-cta__inner {
		min-height: 380px;
	}

	.services-cta {
		background-position: 62% center;
		background-size: auto 145%;
	}

	.services-cta__inner > div {
		margin-left: 0;
	}

	.services-cta h2 {
		font-size: 38px;
	}

	.services-cta a {
		width: min(230px, 100%);
	}
}

@media (max-width: 480px) {
	:root {
		--wintime-page-padding: 18px;
	}

	.site-header__inner {
		min-height: 68px;
	}

	.site-navigation {
		max-height: calc(100svh - 68px);
	}

	.contact-language-switcher__trigger {
		min-width: 138px;
	}

	.contact-language-switcher__menu button {
		min-height: 44px;
	}

	.home-hero h1,
	.about-hero h1 {
		font-size: clamp(38px, 12.5vw, 50px);
	}

	.home-impact,
	.about-strategy {
		min-height: 880px;
	}

	.home-impact__art,
	.about-strategy__art {
		left: -480px;
		width: 720px;
	}

	.about-strategy__art {
		top: 360px;
		width: 760px;
		height: 570px;
	}

	.home-stat strong,
	.about-stat strong {
		font-size: 58px;
	}

	.home-process-card,
	.home-process-card.is-highlighted {
		grid-template-columns: minmax(0, 1fr) 62px;
		padding: 22px 17px;
	}

	.home-process-card img {
		width: 56px;
		height: 56px;
	}

	.about-reality__gallery img {
		height: 92vw;
		max-height: 360px;
	}

	.services-hero h1 {
		font-size: 34px;
	}

	html[lang="it-IT"] .services-hero h1 {
		font-size: 30px;
	}

	.service-section__wide-image {
		height: 220px;
	}

	.home-cta h2,
	.about-cta h2,
	.services-cta h2 {
		font-size: 34px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-header,
	.site-navigation {
		transition: none;
	}
}
