@font-face {
	font-display: swap;
	font-family: "GTF Adieu TRIAL";
	font-style: normal;
	font-weight: 300;
	src: url("../fonts/GTFAdieuTRIAL-Light.otf") format("opentype");
}

@font-face {
	font-display: swap;
	font-family: "GTF Adieu TRIAL";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/GTFAdieuTRIAL-Regular.otf") format("opentype");
}

@font-face {
	font-display: swap;
	font-family: "GTF Adieu TRIAL";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/GTFAdieuTRIAL-Bold.otf") format("opentype");
}

:root {
	--phomi-blue: #70c7d1;
	--phomi-font: "GTF Adieu TRIAL";
}

html,
body {
	margin: 0;
	overflow-x: hidden;
}

body.page-template-page-case,
body.page-template-page-case #page,
body.page-template-page-case #content,
body.page-template-page-case .site-content,
body.page-template-page-case .ast-container,
body.page-template-page-case .content-area,
body.page-template-page-case .site-main,
body.page-template-page-case .entry-content,
body:has(#primary.phomi-case),
body:has(#primary.phomi-case) #page,
body:has(#primary.phomi-case) #content,
body:has(#primary.phomi-case) .site-content,
body:has(#primary.phomi-case) .ast-container,
body:has(#primary.phomi-case) .content-area,
body:has(#primary.phomi-case) .site-main,
body:has(#primary.phomi-case) .entry-content {
	margin: 0;
	max-width: none;
	padding: 0;
}

html:has(body.page-template-page-case),
html:has(#primary.phomi-case) {
	margin-top: 0 !important;
}

body.page-template-page-case .site-header,
body.page-template-page-case .site-footer,
body.page-template-page-case #wpadminbar,
body:has(#primary.phomi-case) .site-header,
body:has(#primary.phomi-case) .site-footer,
body:has(#primary.phomi-case) #wpadminbar {
	display: none;
}

.ast-plain-container.ast-no-sidebar #primary.phomi-case,
#primary.phomi-case,
.phomi-case {
	background: #fff;
	color: #000;
	font-family: var(--phomi-font);
	margin: 0;
	max-width: 100vw;
	min-height: 100vh;
	overflow: hidden;
	padding: 0;
	width: 100%;
}

.phomi-case *,
.phomi-case *::before,
.phomi-case *::after {
	box-sizing: border-box;
}

.phomi-case h1,
.phomi-case h2,
.phomi-case h3,
.phomi-case p {
	color: inherit;
	overflow-wrap: break-word;
}

.phomi-case img {
	display: block;
	max-width: 100%;
}

.phomi-header {
	height: 4.6875vw;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 40;
}

.phomi-header__inner {
	height: 100%;
	margin: 0 auto;
	max-width: 1920px;
	position: relative;
}

.phomi-logo {
	aspect-ratio: 2269 / 875;
	display: block;
	left: 15.104167vw;
	line-height: 0;
	position: absolute;
	top: 0.572917vw;
	width: 8.333333vw;
}

.phomi-logo img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.phomi-nav {
	left: 26.822917vw;
	position: absolute;
	top: 1.822917vw;
	white-space: nowrap;
}

.phomi-nav ul {
	align-items: flex-start;
	display: flex;
	gap: 2.1875vw;
	list-style: none;
	margin: 0;
	padding: 0;
}

.phomi-nav li {
	line-height: 1;
	position: relative;
}

.phomi-nav a {
	align-items: center;
	color: #fff;
	display: inline-flex;
	font-size: 0.729167vw;
	font-weight: 400;
	line-height: 1.041667vw;
	text-decoration: none;
	transition: color 0.28s ease, opacity 0.28s ease, transform 0.28s ease;
}

.phomi-nav > ul > li:nth-child(-n+6) > a,
.phomi-nav > ul > li:last-child > a {
	/* text-transform: uppercase; */
}

.phomi-nav .has-menu > a::after {
	border-bottom: 1px solid currentColor;
	border-right: 1px solid currentColor;
	content: "";
	height: 0.260417vw;
	margin-left: 0.416667vw;
	position: relative;
	top: -0.026042vw;
	transform: rotate(45deg);
	transition: transform 0.24s ease;
	width: 0.260417vw;
}

.phomi-nav > ul > li > a:hover,
.phomi-nav > ul > li > a:focus-visible {
	color: #fff;
	opacity: 1;
	transform: translateY(-1px) scale(1.08);
}

.phomi-nav .has-menu:hover > a::after,
.phomi-nav .has-menu:focus-within > a::after {
	transform: rotate(225deg);
}

.phomi-mega-menu {
	background: #fff;
	height: 346px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 90px;
	transform: translateY(-8px);
	transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
	visibility: hidden;
	width: 100vw;
	z-index: 30;
}

.phomi-mega-menu::before {
	pointer-events: none;
	content: "";
	height: 90px;
	left: 0;
	position: absolute;
	top: -90px;
	width: 100%;
}

.phomi-mega-menu__panel {
	background: #1a1a1a;
	height: 320px;
	position: relative;
	width: 100%;
}

.phomi-menu-scrim {
	background: rgba(0, 0, 0, 0.5);
	bottom: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 436px;
	transition: opacity 0.24s ease, visibility 0.24s ease;
	visibility: hidden;
	z-index: 15;
}

.phomi-nav .phomi-mega-card {
	color: #fff;
	display: block !important;
	left: 455px;
	position: absolute;
	text-decoration: none;
	top: 50px;
	transition: filter 0.28s ease, transform 0.28s ease;
	width: 310px;
}

.phomi-nav .phomi-mega-card img {
	height: 186px;
	object-fit: cover;
	width: 310px;
}

.phomi-nav .phomi-mega-card span {
	color: #fff;
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 28px;
	margin-top: 8px;
	text-align: left;
	/* text-transform: capitalize; */
}

.phomi-nav .phomi-mega-card:nth-child(2) {
	left: 805px;
}

.phomi-nav .phomi-mega-card:nth-child(3) {
	left: 1155px;
}

.phomi-nav .has-mega-menu--about .phomi-mega-card:nth-child(1) {
	left: 295px;
}

.phomi-nav .has-mega-menu--about .phomi-mega-card:nth-child(2) {
	left: 635px;
}

.phomi-nav .has-mega-menu--about .phomi-mega-card:nth-child(3) {
	left: 975px;
}

.phomi-nav .has-mega-menu--about .phomi-mega-card:nth-child(4) {
	left: 1315px;
}

.phomi-nav .has-mega-menu--case .phomi-mega-menu {
	height: 596px;
}

.phomi-nav .has-mega-menu--case .phomi-mega-menu__panel {
	height: 570px;
}

.phomi-nav .has-mega-menu--application .phomi-mega-card:nth-child(1),
.phomi-nav .has-mega-menu--case .phomi-mega-card:nth-child(1) {
	left: 280px;
}

.phomi-nav .has-mega-menu--application .phomi-mega-card:nth-child(2),
.phomi-nav .has-mega-menu--case .phomi-mega-card:nth-child(2) {
	left: 620px;
}

.phomi-nav .has-mega-menu--application .phomi-mega-card:nth-child(3),
.phomi-nav .has-mega-menu--case .phomi-mega-card:nth-child(3) {
	left: 960px;
}

.phomi-nav .has-mega-menu--application .phomi-mega-card:nth-child(4),
.phomi-nav .has-mega-menu--case .phomi-mega-card:nth-child(4) {
	left: 1300px;
}

.phomi-nav .has-mega-menu--application .phomi-mega-card:nth-child(5),
.phomi-nav .has-mega-menu--case .phomi-mega-card:nth-child(5) {
	left: 450px;
	top: 310px;
}

.phomi-nav .has-mega-menu--application .phomi-mega-card:nth-child(6),
.phomi-nav .has-mega-menu--case .phomi-mega-card:nth-child(6) {
	left: 790px;
	top: 310px;
}

.phomi-nav .has-mega-menu:hover .phomi-mega-menu,
.phomi-nav .has-mega-menu:focus-within .phomi-mega-menu,
.phomi-header.is-mega-active .has-mega-menu.is-mega-open .phomi-mega-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

.phomi-header.is-mega-active {
	background: #fff;
}

.phomi-header.is-mega-active .phomi-nav > ul > li > a {
	color: #000;
}

.has-mega-menu.is-mega-open > a {
	color: var(--phomi-blue) !important;
}


/* =========================================================
   PHOMI Cases — Figma 3:2987 · 1920 画布等比缩放
   ========================================================= */

.phomi-stage {
	width: 100%;
	overflow: hidden;
	background: #fff;
}

.phomi-page {
	width: 1920px;
	min-height: 500px;
	margin: 0;
	background: #fff;
	position: relative;
	transform-origin: top left;
}

/* ---------- Hero ---------- */
.phomi-cases-hero {
	background: none;
	color: #fff;
	display: block;
	height: auto;
	min-height: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.phomi-cases-hero__media {
	line-height: 0;
	position: relative;
	width: 100%;
}

.phomi-cases-hero__media::after {
	background: rgba(0, 0, 0, 0.15);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.phomi-cases-hero__media img {
	display: block;
	height: auto;
	width: 100%;
}

.phomi-cases-hero .phomi-header,
.phomi-cases-hero .phomi-menu-scrim {
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.phomi-cases-hero__copy {
	bottom: clamp(32px, 3.645833vw, 70px);
	color: #fff;
	left: clamp(22px, 3.645833vw, 70px);
	max-width: min(1216px, calc(100% - 7.291666vw));
	position: absolute;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	z-index: 2;
}

.phomi-cases-hero__title {
	font-weight: 700;
	font-size: clamp(44px, 3.645833vw, 70px);
	line-height: 1;
	/* text-transform: uppercase; */
	margin: 0;
}

.phomi-cases-hero__sub {
	margin: 4px 0 0;
	font-weight: 400;
	font-size: clamp(14px, 1.041667vw, 20px);
	line-height: 1.2;
	/* text-transform: capitalize; */
}

/* ---------- Listing ---------- */
.phomi-cases-listing {
	width: 1920px;
	min-height: 500px;
	background: #fff;
	padding: 57px 70px 0;
	box-sizing: border-box;
}

.phomi-cases-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 28px;
	margin-bottom: 42px;
	position: relative;
}

.phomi-cases-toolbar::after {
	content: "";
	position: absolute;
	left: -70px;
	right: -70px;
	bottom: 0;
	height: 1px;
	background: #e6e6e6;
}

.phomi-case-regions {
	display: flex;
	align-items: flex-start;
	gap: 50px;
}

.phomi-case-regions a {
	position: relative;
	font-weight: 400;
	font-size: 16px;
	line-height: 18px;
	/* text-transform: uppercase; */
	color: #333;
	white-space: nowrap;
	padding-bottom: 10px;
	text-decoration: none;
}

.phomi-case-regions a.is-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: #000;
}

.phomi-case-products {
	display: flex;
	align-items: center;
	gap: 42px;
}

.phomi-case-product {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-weight: 300;
	font-size: 16px;
	line-height: 18px;
	/* text-transform: capitalize; */
	color: #000;
	white-space: nowrap;
	text-decoration: none;
}

.phomi-case-product__box {
	width: 16px;
	height: 16px;
	border: 1px solid #000;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.phomi-case-product__box img {
	width: 12.8px;
	height: 12.8px;
	display: none;
}

.phomi-case-product.is-checked .phomi-case-product__box img {
	display: block;
}

.phomi-case-grid {
	display: grid;
	grid-template-columns: repeat(3, 580px);
	gap: 16px 20px;
	width: 1780px;
}

.phomi-case-empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: 120px 0;
	text-align: center;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: #666;
}

.phomi-case-card {
	display: block;
	width: 580px;
	min-height: 659px;
	background: #f2f2f2;
	border-radius: 6px;
	padding: 56px 17px 0;
	box-sizing: border-box;
	position: relative;
	text-decoration: none;
}

.phomi-case-card__media {
	position: relative;
	width: 546px;
	height: 546px;
	overflow: hidden;
}

.phomi-case-card__media img {
	width: 546px;
	height: 546px;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.phomi-case-card:hover .phomi-case-card__media img,
.phomi-case-card:focus-visible .phomi-case-card__media img {
	transform: scale(1.1);
}

.phomi-case-card__tag {
	position: absolute;
	left: 17px;
	top: 17px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	height: 30px;
	padding: 1px 7px 2px 6px;
	border: 1px solid #333;
	border-radius: 3px;
	background: rgba(245, 245, 245, 0.6);
	font-weight: 300;
	font-size: 12px;
	line-height: 18px;
	/* text-transform: capitalize; */
	color: #333;
	z-index: 2;
}

.phomi-case-card h3 {
	margin-top: 14px;
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	/* text-transform: capitalize; */
	color: #000;
	padding: 0 0 10px;
}

/* ---------- Pager(数据驱动,简单居中) ---------- */
.phomi-case-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 48px 0 70px;
}

.phomi-case-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #e6e6e6;
	border-radius: 6px;
	font-size: 14px;
	line-height: 18px;
	color: #333;
	text-decoration: none;
}

.phomi-case-pager .page-numbers.current {
	background: var(--phomi-blue, #70c7d1);
	border-color: var(--phomi-blue, #70c7d1);
	color: #fff;
}

.phomi-case-pager a.page-numbers:hover {
	border-color: #70c7d1;
	color: #70c7d1;
}

.phomi-case-toolbar.is-swapping,
.phomi-case-grid.is-swapping {
	opacity: 0.35;
	transition: opacity 0.15s ease;
}

/* ---------- Motion: opacity only ---------- */
@keyframes phomi-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

.phomi-cases-hero__title {
	animation: phomi-fade-in 1s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

.anim {
	opacity: 0;
	transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--anim-delay, 0ms);
}

.anim.is-in {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.phomi-cases-hero__title,
	.anim {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
	}
}

.phomi-case-detail {
	background: #fff;
}

.phomi-case-detail .phomi-header {
	background: #fff;
	border-bottom: 1px solid #d9d9d9;
	position: fixed !important;
}

.phomi-case-detail .phomi-nav > ul > li > a {
	color: #000;
}

.phomi-case-detail .phomi-header .phomi-logo__default {
	opacity: 0;
}

.phomi-case-detail .phomi-header .phomi-logo__active {
	opacity: 1;
}

/* Gallery 的 120px 顶部留白在画布里,会跟着 viewport/1920 一起缩小;
   但 fixed header 在 ≤1180 被 header.css 钳成固定高度(64px,≤767 为 60px),
   两者不再同步,窄屏时标题会钻到不透明 header 下面。
   这里在画布外用 margin 把缺的高度补回来,各档统一留出 24px 间距。 */
@media (min-width: 1025px) and (max-width: 1180px) {
	.phomi-case-detail .phomi-stage {
		margin-top: calc(88px - 6.25vw); /* 64 + 24 − 缩放后的 120px 留白 */
	}
}

@media (max-width: 1024px) {
	.phomi-case-detail .phomi-stage {
		margin-top: 32px; /* 64 + 24 − section 的 56px 顶部留白 */
	}
}

@media (max-width: 767px) {
	.phomi-case-detail .phomi-stage {
		margin-top: 36px; /* 60 + 24 − section 的 48px 顶部留白 */
	}
}


/* =========================================================
   PHOMI Case Detail — Figma 3:3091 · 1920 画布等比缩放
   ========================================================= */

.phomi-case-detail .phomi-page {
	min-height: 2191px; /* 1241 + 950 */
}

/* ---------- Gallery · 1241 ---------- */
.phomi-gallery {
	width: 1920px;
	min-height: 1241px;
	padding: 120px 70px 0;
	box-sizing: border-box;
	background: #fff;
}

.phomi-gallery__title {
	font-weight: 400;
	font-size: 48px;
	line-height: 64px;
	text-align: center;
	/* text-transform: uppercase; */
	color: #000;
	margin: 0;
}

.phomi-gallery__rule {
	display: block;
	width: 1780px;
	height: 2px;
	margin: 60px 0 74px;
	border: 0;
	background: #000;
}

.phomi-gallery__body {
	display: flex;
	gap: 61px;
	align-items: flex-start;
}

.phomi-gallery__media {
	width: 1004px;
	flex-shrink: 0;
	position: relative;
}

.phomi-gallery__main {
	position: relative;
	width: 1004px;
	height: 669px;
	overflow: hidden;
}

.phomi-gallery__main > img#phomiGalleryMain {
	width: 1004px;
	height: 669px;
	object-fit: cover;
	display: block;
}

.phomi-gallery__nav {
	position: absolute;
	top: 310px;
	width: 50px;
	height: 50px;
	z-index: 2;
	display: block;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.phomi-gallery__nav--prev {
	left: 80px;
}

.phomi-gallery__nav--next {
	left: 924px;
	right: auto;
}

.phomi-gallery__nav img {
	width: 50px;
	height: 50px;
	display: block;
	object-fit: none;
}

.phomi-gallery__dots {
	align-items: center;
	bottom: 28px;
	display: flex;
	gap: 23px;
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.phomi-gallery__dot {
	appearance: none;
	background: transparent;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: none;
	cursor: pointer;
	flex-shrink: 0;
	height: 8px;
	padding: 0;
	width: 8px;
}

.phomi-gallery__dot:hover,
.phomi-gallery__dot:focus,
.phomi-gallery__dot:focus-visible {
	background: transparent;
	border-color: #fff;
	outline: none;
}

.phomi-gallery__dot.is-active {
	background: #fff;
	height: 14px;
	width: 14px;
}

.phomi-gallery__dot.is-active:hover,
.phomi-gallery__dot.is-active:focus,
.phomi-gallery__dot.is-active:focus-visible {
	background: #fff;
	border-color: #fff;
}

.phomi-gallery__thumbs {
	display: flex;
	gap: 10px;
	margin-top: 22px;
}

.phomi-gallery__thumbs button {
	width: 151px;
	height: 102px;
	overflow: hidden;
	border: 1px solid transparent;
	padding: 0;
	background: none;
	cursor: pointer;
}

.phomi-gallery__thumbs button.is-active {
	border-color: #000;
}

.phomi-gallery__thumbs img {
	width: 151px;
	height: 102px;
	object-fit: cover;
	display: block;
}

.phomi-gallery__info {
	width: 715px;
	padding-top: 6px;
}

.phomi-gallery__info h2 {
	font-weight: 400;
	font-size: 32px;
	/* 标题过长时按 715px 栏宽自动换行，line-height 需大于 Figma 的 24px，
	   否则多行会互相重叠。 */
	line-height: 40px;
	/* text-transform: capitalize; */
	color: #000;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
	margin: 0;
}

.phomi-gallery__desc {
	margin-top: 25px;
	font-weight: 300;
	font-size: 14px;
	line-height: 18px;
	/* text-transform: capitalize; */
	color: #000;
	width: 715px;
}

/* 规格三行 · Figma 3:3130 */
.phomi-gallery__specs {
	margin-top: 53px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.phomi-spec__label {
	font-weight: 400;
	font-size: 16px;
	line-height: 16px;
	/* text-transform: uppercase; */
	color: #000;
}

.phomi-spec__rule {
	display: block;
	width: 715px;
	height: 1px;
	margin: 15px 0 18px;
	border: 0;
	background: #000;
}

.phomi-spec__value {
	font-weight: 300;
	font-size: 16px;
	line-height: 16px;
	/* text-transform: capitalize; */
	color: #333;
	margin-bottom: 49px;
}

.phomi-spec:last-child .phomi-spec__value {
	margin-bottom: 0;
}

/* ---------- Related · 950 ---------- */
.phomi-related {
	width: 1920px;
	min-height: 950px;
	background: #f9f9f9;
	padding: 120px 70px 0;
	box-sizing: border-box;
}

.phomi-related__title {
	font-weight: 400;
	font-size: 48px;
	line-height: 50px;
	/* text-transform: uppercase; */
	color: #000;
	margin: 0 0 70px;
}

.phomi-related-grid {
	display: flex;
	gap: 20px;
}

.phomi-related-card {
	position: relative;
	width: 580px;
	height: 580px;
	overflow: hidden;
	display: block;
	text-decoration: none;
}

.phomi-related-card img {
	width: 580px;
	height: 580px;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.phomi-related-card:hover img,
.phomi-related-card:focus-visible img {
	transform: scale(1.1);
}

.phomi-related-card__mask {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.phomi-related-card:hover .phomi-related-card__mask,
.phomi-related-card:focus-visible .phomi-related-card__mask {
	opacity: 1;
}

.phomi-related-card span {
	position: absolute;
	left: 32px;
	bottom: 30px;
	font-weight: 400;
	font-size: 24px;
	line-height: 24px;
	/* text-transform: capitalize; */
	color: #fff;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.phomi-related-card:hover span,
.phomi-related-card:focus-visible span {
	opacity: 1;
}

/* ---------- Motion: opacity only ---------- */
.anim {
	opacity: 0;
	transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--anim-delay, 0ms);
}

.anim.is-in {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.anim,
	.phomi-related-card__mask,
	.phomi-related-card span,
	.phomi-related-card img {
		animation: none !important;
		opacity: 1 !important;
		transition: none !important;
		transform: none !important;
	}
}

/* ---------- Case Detail mobile · ≤1024（stage-static，禁止横向溢出） ---------- */
@media (max-width: 1024px) {
	#primary.phomi-case-detail {
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	#primary.phomi-case-detail .phomi-page {
		min-height: 0 !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery,
	#primary.phomi-case-detail .phomi-related {
		box-sizing: border-box !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 56px 20px 48px !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__title,
	#primary.phomi-case-detail .phomi-related__title {
		font-size: clamp(28px, 7vw, 40px) !important;
		line-height: 1.2 !important;
		margin: 0 0 20px !important;
		text-align: left !important;
		white-space: normal !important;
		width: 100% !important;
	}

	/* Gallery 标题在任何宽度都保持水平居中(与 1920 设计稿一致)。 */
	#primary.phomi-case-detail .phomi-gallery__title {
		text-align: center !important;
	}

	#primary.phomi-case-detail .phomi-gallery__rule {
		margin: 0 0 28px !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__body {
		align-items: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 28px !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__media,
	#primary.phomi-case-detail .phomi-gallery__main,
	#primary.phomi-case-detail .phomi-gallery__info,
	#primary.phomi-case-detail .phomi-gallery__desc,
	#primary.phomi-case-detail .phomi-gallery__specs,
	#primary.phomi-case-detail .phomi-spec__rule {
		flex: none !important;
		height: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__main {
		aspect-ratio: 1004 / 669;
		overflow: hidden;
		position: relative !important;
	}

	#primary.phomi-case-detail .phomi-gallery__main > img#phomiGalleryMain {
		height: 100% !important;
		object-fit: cover;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__nav {
		height: 40px !important;
		top: 50% !important;
		transform: translateY(-50%);
		width: 40px !important;
	}

	#primary.phomi-case-detail .phomi-gallery__nav--prev {
		left: 12px !important;
	}

	#primary.phomi-case-detail .phomi-gallery__nav--next {
		left: auto !important;
		right: 12px !important;
	}

	#primary.phomi-case-detail .phomi-gallery__nav img {
		height: 40px !important;
		object-fit: contain;
		width: 40px !important;
	}

	#primary.phomi-case-detail .phomi-gallery__dots {
		bottom: 14px !important;
		gap: 16px !important;
		left: 50% !important;
		transform: translateX(-50%);
		width: auto !important;
	}

	#primary.phomi-case-detail .phomi-gallery__thumbs {
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		margin-top: 12px !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__thumbs button {
		aspect-ratio: 151 / 102;
		height: auto !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__thumbs img {
		height: 100% !important;
		object-fit: cover;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__info {
		padding-top: 0 !important;
	}

	#primary.phomi-case-detail .phomi-gallery__info h2 {
		font-size: clamp(22px, 5.5vw, 28px) !important;
		line-height: 1.3 !important;
		white-space: normal !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-gallery__desc {
		margin-top: 16px !important;
	}

	#primary.phomi-case-detail .phomi-gallery__specs {
		margin-top: 28px !important;
	}

	#primary.phomi-case-detail .phomi-spec__label,
	#primary.phomi-case-detail .phomi-spec__value {
		line-height: 1.4 !important;
	}

	#primary.phomi-case-detail .phomi-spec__rule {
		margin: 12px 0 14px !important;
	}

	#primary.phomi-case-detail .phomi-spec__value {
		margin-bottom: 28px !important;
	}

	#primary.phomi-case-detail .phomi-related__title {
		margin: 0 0 28px !important;
	}

	#primary.phomi-case-detail .phomi-related-grid {
		display: flex !important;
		flex-direction: column !important;
		gap: 16px !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-related-card {
		aspect-ratio: 1;
		height: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-related-card img {
		height: 100% !important;
		object-fit: cover;
		width: 100% !important;
	}

	#primary.phomi-case-detail .phomi-related-card span {
		bottom: 18px !important;
		font-size: 16px !important;
		left: 18px !important;
		line-height: 1.3 !important;
		max-width: calc(100% - 36px);
		opacity: 1 !important;
		white-space: normal !important;
	}

	#primary.phomi-case-detail .phomi-related-card__mask {
		opacity: 0.35 !important;
	}
}

@media (max-width: 480px) {
	#primary.phomi-case-detail .phomi-gallery,
	#primary.phomi-case-detail .phomi-related {
		padding: 40px 16px 36px !important;
	}

	#primary.phomi-case-detail .phomi-gallery__nav {
		display: none !important;
	}
}

.phomi-footer {
	background: #000;
	display: grid;
	gap: 60px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	padding: 5.625vw 3.645833vw 6.25vw;
}

.phomi-footer strong {
	color: #82cdd0;
	display: block;
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
	margin-bottom: 66px;
	/* text-transform: uppercase; */
}

.phomi-footer a {
	color: #d1d5db;
	display: block;
	font-size: 14px;
	font-weight: 300;
	line-height: 30px;
	text-decoration: none;
}

@media (max-width: 1440px) {
.phomi-case-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.phomi-project-gallery__main-image {
		height: 46.458333vw;
	}

	.phomi-project-gallery__arrow {
		top: 21.875vw;
	}

	.phomi-project-gallery__thumbs {
		grid-template-columns: repeat(4, minmax(0, 151px));
	}

	.phomi-project-gallery__thumbs img {
		width: 100%;
	}

	.phomi-relevant-case-card,
	.phomi-relevant-case-card a,
	.phomi-relevant-case-card > div {
		height: 30.208333vw;
		min-height: 380px;
	}

	.phomi-case-card,
	.phomi-case-card a,
	.phomi-case-card > div {
		height: auto;
		min-height: 500px;
		width: 100%;
	}

	.phomi-case-card img {
		aspect-ratio: 1;
		height: auto;
		width: 100%;
	}
}


@media (max-width: 1200px) {
.phomi-logo {
		left: 24px;
		top: 10px;
		width: 132px;
	}

	.phomi-project-gallery {
		padding: 72px 40px 96px;
	}

	.phomi-project-gallery__rule {
		margin: 44px auto 48px;
	}

	.phomi-project-gallery__layout {
		gap: 48px;
		grid-template-columns: 1fr;
	}

	.phomi-project-gallery__main-image {
		height: auto;
	}

	.phomi-project-gallery__main-image img {
		aspect-ratio: 1004 / 669;
		height: auto;
	}

	.phomi-project-gallery__arrow {
		top: calc((100vw - 80px) * 0.333);
	}

	.phomi-relevant-cases {
		padding: 90px 40px 96px;
	}

	.phomi-relevant-cases__grid {
		gap: 28px;
	}

	.phomi-nav {
		left: 190px;
		top: 32px;
	}

	.phomi-nav ul {
		gap: 14px;
	}

	.phomi-nav a {
		font-size: 12px;
		line-height: 18px;
	}

	.phomi-case-filters {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
		justify-content: center;
		padding-bottom: 24px;
		padding-top: 24px;
	}

	.phomi-case-regions,
	.phomi-case-products {
		flex-wrap: wrap;
		gap: 18px 32px;
	}

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

	.phomi-footer {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}


@media (max-width: 900px) {
.phomi-case-hero {
		height: 720px;
		min-height: 720px;
	}

	.phomi-project-gallery h1,
	.phomi-relevant-cases h2 {
		font-size: 36px;
		line-height: 44px;
	}

	.phomi-project-gallery__thumbs {
		grid-template-columns: repeat(4, 1fr);
	}

	.phomi-project-gallery__thumbs img {
		height: auto;
		aspect-ratio: 151 / 102;
	}

	.phomi-relevant-cases__grid {
		grid-template-columns: 1fr;
	}

	.phomi-relevant-case-card,
	.phomi-relevant-case-card a,
	.phomi-relevant-case-card > div {
		height: auto;
		min-height: 0;
	}

	.phomi-relevant-case-card img {
		aspect-ratio: 1;
		height: auto;
	}

	.phomi-case-hero > div:last-child {
		left: 32px;
	}

	.phomi-case-grid {
		padding-left: 24px;
		padding-right: 24px;
	}
}


@media (max-width: 640px) {
.phomi-header {
		height: 78px;
	}

	.phomi-case-detail .phomi-header {
		height: 78px;
	}

	.phomi-project-gallery {
		padding: 48px 18px 72px;
	}

	.phomi-project-gallery h1,
	.phomi-relevant-cases h2 {
		font-size: 28px;
		line-height: 34px;
	}

	.phomi-project-gallery__rule {
		margin: 28px auto 32px;
	}

	.phomi-project-gallery__layout {
		gap: 32px;
	}

	.phomi-project-gallery__arrow {
		display: none;
	}

	.phomi-project-gallery__dots {
		bottom: 14px;
	}

	.phomi-project-gallery__thumbs {
		gap: 6px;
		margin-top: 12px;
	}

	.phomi-project-gallery__info h2 {
		font-size: 20px;
		line-height: 26px;
		margin-bottom: 18px;
	}

	.phomi-project-gallery__info p {
		font-size: 14px;
		line-height: 22px;
		margin-bottom: 24px;
	}

	.phomi-project-gallery__info div {
		padding: 20px 0 22px;
	}

	.phomi-project-gallery__info dt {
		font-size: 13px;
		line-height: 16px;
		margin-bottom: 16px;
	}

	.phomi-project-gallery__info dd {
		font-size: 14px;
		line-height: 18px;
	}

	.phomi-relevant-cases {
		padding: 64px 18px 72px;
	}

	.phomi-relevant-cases h2 {
		margin-bottom: 32px;
	}

	.phomi-relevant-case-card h3 {
		bottom: 18px;
		font-size: 15px;
		left: 18px;
		line-height: 20px;
	}

	.phomi-logo {
		left: 24px;
		width: 140px;
	}

	.phomi-nav,
	.phomi-mega-menu,
	.phomi-mega-menu__panel,
	.phomi-nav .phomi-mega-card {
		display: none !important;
	}

	.phomi-case-hero {
		height: 560px;
		min-height: 560px;
	}

	.phomi-case-hero > div:last-child {
		bottom: 48px;
		left: 18px;
	}

	.phomi-case-hero h1 {
		font-size: 34px;
		line-height: 40px;
	}

	.phomi-case-hero p {
		font-size: 14px;
		line-height: 20px;
	}

	.phomi-case-filters {
		min-height: 0;
		padding: 24px 18px;
	}

	.phomi-case-regions,
	.phomi-case-products {
		gap: 12px 20px;
	}

	.phomi-case-regions a,
	.phomi-case-products a {
		font-size: 12px;
		line-height: 16px;
		padding: 8px 0;
	}

	.phomi-case-regions a.is-active::after {
		bottom: 0;
	}

	.phomi-case-grid {
		gap: 24px;
		grid-template-columns: 1fr;
		padding: 32px 18px 0;
	}

	.phomi-case-card,
	.phomi-case-card a,
	.phomi-case-card > div {
		min-height: 0;
	}

	.phomi-case-card h2 {
		font-size: 16px;
		line-height: 22px;
	}

	

	

	

	

	

	.phomi-footer {
		gap: 32px;
		grid-template-columns: 1fr;
		padding: 72px 24px;
	}

	.phomi-footer strong {
		margin-bottom: 16px;
	}
}

