@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");
}

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

@font-face {
	font-display: swap;
	font-family: "Source Han Sans CN";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/SourceHanSansCN-Regular.otf") format("opentype");
}

@font-face {
	font-display: swap;
	font-family: "Source Han Sans CN";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/SourceHanSansCN-Bold.otf") format("opentype");
}

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

	/* Home typography — 1920px Figma baseline, scales with viewport width */
	--phomi-home-hero-title: clamp(28px, 3.645833vw, 70px);
	--phomi-home-hero-text: clamp(16px, 1.25vw, 24px);
	--phomi-home-hero-cta: clamp(18px, 1.458333vw, 28px);
	--phomi-home-section-title: clamp(28px, 2.5vw, 48px);
	--phomi-home-section-title-lh: clamp(32px, 2.604167vw, 50px);
	--phomi-home-body-lg: clamp(14px, 0.9375vw, 18px);
	--phomi-home-body-lg-lh: clamp(22px, 1.5625vw, 30px);
	--phomi-home-body: clamp(13px, 0.833333vw, 16px);
	--phomi-home-body-lh: clamp(18px, 1.25vw, 24px);
	--phomi-home-body-sm: clamp(12px, 0.729167vw, 14px);
	--phomi-home-body-sm-lh: clamp(18px, 1.041667vw, 20px);
	--phomi-home-stat-value: clamp(26px, 2.604167vw, 50px);
	--phomi-home-stat-label: clamp(16px, 1.25vw, 24px);
	--phomi-home-kicker: clamp(18px, 1.458333vw, 28px);
	--phomi-home-kicker-lh: clamp(28px, 2.1875vw, 42px);
	--phomi-home-tech-lead: clamp(20px, 1.458333vw, 28px);
	--phomi-home-tech-list: clamp(14px, 0.9375vw, 18px);
	--phomi-home-tech-list-lh: clamp(22px, 1.458333vw, 28px);
	--phomi-home-product-title: clamp(28px, 2.083333vw, 40px);
	--phomi-home-product-title-lh: clamp(34px, 2.5vw, 48px);
	--phomi-home-product-link: clamp(14px, 0.9375vw, 18px);
	--phomi-home-tab: clamp(14px, 1.041667vw, 20px);
	--phomi-home-tab-lh: clamp(20px, 1.458333vw, 28px);
	--phomi-home-awards-title: clamp(22px, 2.5vw, 40px);
	--phomi-home-awards-item: clamp(14px, 1.45vw, 24px);
	--phomi-home-news-title: clamp(13px, 0.833333vw, 16px);
	--phomi-home-footer-heading: clamp(16px, 1.041667vw, 20px);
	--phomi-home-footer-link: clamp(12px, 0.729167vw, 14px);
	--phomi-home-footer-link-lh: clamp(22px, 1.5625vw, 30px);
}

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

body.home,
body.home #page,
body.home .site-content,
body.home .ast-container {
	background: #fff;
}

body.home #content,
body.home .site-content,
body.home .ast-container,
body.home.ast-separate-container #primary,
body.home.logged-in.ast-separate-container #primary,
body.home.ast-separate-container.ast-left-sidebar #primary,
body.home.ast-separate-container.ast-right-sidebar #primary {
	margin: 0;
	max-width: none;
	padding: 0;
}

html:has(body.home),
html.wp-toolbar:has(body.home) {
	margin-top: 0 !important;
}

body.home .site-header,
body.home .site-footer,
body.home #wpadminbar {
	display: none;
}

.phomi-home {
	background: #fff;
	font-family: var(--phomi-font);
	min-height: 100vh;
}

.phomi-section {
	box-sizing: border-box;
	position: relative;
}

.phomi-hero {
	aspect-ratio: 1920 / 820;
	background: #0c7fbc;
	color: #fff;
	height: auto;
	max-width: 100%;
	min-height: clamp(360px, 42.708333vw, 820px);
	overflow: hidden;
	position: relative;
	width: 100%;
}

.phomi-hero__slides {
	inset: 0;
	position: absolute;
}

.phomi-hero__slide {
	inset: 0;
	opacity: 0;
	position: absolute;
	transition: opacity 0.55s ease;
	visibility: hidden;
}

.phomi-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
}

.phomi-hero__slide--video::after {
	background: rgba(0, 0, 0, 0.22);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.phomi-hero__image,
.phomi-hero__video {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.phomi-hero__overlay {
	background: rgba(0, 0, 0, 0.1);
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

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

.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 {
	display: block;
	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.187500vw;
	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;
}

.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: border-color 0.24s ease, transform 0.24s ease;
	width: 0.260417vw;
}

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

.phomi-dropdown {
	background: rgba(0, 0, 0, 0.78);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.2);
	left: 50%;
	min-width: 210px;
	opacity: 0;
	padding: 14px 0;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 10px);
	transform: translate(-50%, 10px) scale(0.98);
	transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
	visibility: hidden;
	z-index: 40;
}

.phomi-dropdown::before {
	content: "";
	height: 14px;
	left: 0;
	position: absolute;
	right: 0;
	top: -14px;
}

.phomi-dropdown a {
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 13px;
	line-height: 20px;
	padding: 9px 18px;
	/* text-transform: none; */
	width: 100%;
}

.phomi-nav li:hover .phomi-dropdown,
.phomi-nav li:focus-within .phomi-dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0) scale(1);
	visibility: visible;
}

.phomi-hero__content {
	bottom: clamp(56px, 6.5vh, 88px);
	left: 3.645833vw;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateY(12px);
	transition: opacity 0.45s ease, transform 0.45s ease;
	z-index: 3;
}

.phomi-hero__content.is-active {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.phomi-hero__pager {
	align-items: center;
	bottom: clamp(20px, 2.083333vw, 40px);
	display: flex;
	gap: clamp(10px, 0.833333vw, 16px);
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	z-index: 4;
}

.phomi-hero__pager button {
	appearance: none;
	background: rgba(255, 255, 255, 0.45);
	border: 0;
	border-radius: 0;
	cursor: pointer;
	display: block;
	height: clamp(2px, 0.15625vw, 3px);
	padding: 0;
	width: clamp(32px, 2.708333vw, 52px);
}

.phomi-hero__pager button:focus-visible {
	outline: 1px solid #fff;
	outline-offset: 4px;
}

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

.phomi-hero.is-switching .phomi-hero__content.is-active {
	opacity: 0.72;
}

.phomi-hero__content h1 {
	color: #fff;
	font-size: var(--phomi-home-hero-title);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 1.354167vw;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	/* text-transform: uppercase; */
	/* white-space: nowrap; */
}

.phomi-hero__content p {
	color: #fff;
	font-size: var(--phomi-home-hero-text);
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 2.291667vw;
	max-width: 38.958333vw;
}

.phomi-circle-link,
.phomi-hero__cta {
	align-items: center;
	color: inherit;
	display: inline-flex;
	font-size: var(--phomi-home-hero-cta);
	font-weight: 400;
	gap: 0.364583vw;
	letter-spacing: 0.093750vw;
	line-height: 1;
	text-decoration: none;
	/* text-transform: uppercase; */
}

.phomi-circle-link span {
	align-items: center;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	display: inline-flex;
	font-size: clamp(18px, 1.5625vw, 30px);
	height: 2.604167vw;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	width: 2.604167vw;
}

.phomi-hero__cta img {
	display: block;
	height: 2.604167vw;
	transition: filter 0.28s ease, transform 0.28s ease;
	width: 2.604167vw;
}

.phomi-intro {
	background: #fff;
	min-height: 1829px;
	padding: 80px 0 0;
	scroll-margin-top: 80px;
}

.phomi-intro__video {
	height: 42.812500vw;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: 76.041667vw;
	z-index: 2;
}

.phomi-intro__video img,
.phomi-intro__video-player,
.phomi-tech__image,
.phomi-products img,
.phomi-gallery__grid img,
.phomi-awards img,
.phomi-news img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.phomi-intro__video-player {
	background: #000;
}

.phomi-intro__video-poster {
	inset: 0;
	position: absolute;
	z-index: 2;
}

.phomi-intro__video.is-playing .phomi-intro__video-poster,
.phomi-intro__video.is-playing .phomi-play {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.phomi-play {
	align-items: center;
	appearance: none;
	background: rgba(255, 255, 255, 0.32) !important;
	border: 0;
	border-radius: 50%;
	box-shadow: 0 14px 42px rgba(0, 0, 0, 0.18);
	cursor: pointer;
	display: flex;
	height: clamp(80px, 8.333333vw, 160px);
	justify-content: center;
	left: 50%;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: background-color 0.28s ease, transform 0.28s ease;
	width: clamp(80px, 8.333333vw, 160px);
	z-index: 4;
}

.phomi-play svg {
	display: block;
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.12));
	height: clamp(34px, 3.541667vw, 68px);
	transform: translateX(5px);
	width: clamp(29px, 3.020833vw, 58px);
}

.phomi-play path {
	fill: #fff;
	stroke: #fff;
	stroke-linejoin: round;
	stroke-width: 12px;
}

.phomi-play:hover,
.phomi-play:focus-visible {
	background: rgba(255, 255, 255, 0.44) !important;
	outline: none;
	transform: translate(-50%, -50%) scale(1.06);
}

.phomi-play:disabled {
	cursor: default;
	opacity: 0.78;
}

.phomi-intro__panel {
	background: var(--phomi-blue);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 620px 1fr;
	margin-left: auto;
	margin-top: -499px;
	min-height: 1426px;
	padding: 599px 0 100px 90px;
	position: relative;
	width: calc(100% - 330px);
	z-index: 1;
}

.phomi-intro__text h2,
.phomi-tech h2 {
	font-size: var(--phomi-home-section-title);
	font-weight: 400;
	line-height: 1.18;
	margin: 0;
	/* text-transform: uppercase; */
}

/* Match /ecovering/ Inspiration Galleries section title (Figma 385:2126) */
.phomi-gallery h2,
.phomi-awards h2,
.phomi-news h2 {
	color: #000;
	font-family: "GTF Adieu TRIAL";
	font-size: var(--phomi-home-section-title);
	font-weight: 400;
	letter-spacing: 0;
	line-height: var(--phomi-home-section-title-lh);
	margin: 0;
	/* text-transform: uppercase; */
}

.phomi-intro__text h2,
.phomi-intro__text p {
	color: #fff;
}

.phomi-intro__text p {
	font-size: var(--phomi-home-body-lg);
	font-weight: 400;
	line-height: var(--phomi-home-body-lg-lh);
	margin: 24px 0 0;
	max-width: 620px;
}

.phomi-intro__image-wrap {
	height: auto;
	justify-self: end;
	max-width: 803px;
	overflow: hidden;
	width: 100%;
}

.phomi-intro__image {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.phomi-stats {
	align-items: end;
	bottom: 100px;
	display: grid;
	gap: 110px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, max-content);
	left: 90px;
	position: absolute;
}

.phomi-stats__item {
	color: #fff;
	display: grid;
	gap: 0 16px;
	grid-template-columns: 52px max-content;
}

.phomi-stats__icon {
	align-items: center;
	display: inline-flex;
	grid-row: 1 / span 2;
	height: 56px;
	justify-content: center;
	margin-top: 20px;
	width: 56px;
}

.phomi-stats__icon svg,
.phomi-stats__icon img {
	display: block;
	height: 48px;
	width: 48px;
}

.phomi-stats__item--star .phomi-stats__icon img,
.phomi-stats__item--globe .phomi-stats__icon img,
.phomi-stats__item--cross .phomi-stats__icon img {
	height: 56px;
	width: 56px;
}

.phomi-stats__icon path,
.phomi-stats__icon circle,
.phomi-stats__icon rect {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2px;
}

.phomi-stats strong {
	font-family: "GTF Adieu TRIAL";
	font-size: var(--phomi-home-stat-value);
	font-style: normal;
	font-weight: 700;
	grid-column: 2;
	grid-row: 2;
	line-height: 1.24;
}

.phomi-stats__item > span:last-child {
	font-size: var(--phomi-home-stat-label);
	grid-column: 2;
	grid-row: 1;
	line-height: 1.33;
}

.phomi-tech {
	background: linear-gradient(to bottom, #000 0 1201px, #f9f9f9 1201px 100%);
	color: #fff;
	min-height: 1787px;
	overflow: hidden;
	padding: 80px 70px 0;
}

.phomi-tech__bg {
	background: url("../../../../uploads/figma-assets/69e71c2248730d885c48bc6235cd52f9f20f2952.webp") left top / contain no-repeat;
	height: 770px;
	left: 0;
	opacity: 0.31;
	position: absolute;
	top: 0;
	width: 1687px;
}

.phomi-kicker {
	color: #79bdc8;
	font-size: var(--phomi-home-kicker);
	font-weight: 400;
	line-height: var(--phomi-home-kicker-lh);
	margin: 0 0 32px;
	position: relative;
	text-align: center;
}

.phomi-kicker__brand {
	font-weight: 400;
	/* text-transform: lowercase; */
}

.phomi-kicker__mark {
	bottom: -23px;
	color: #666;
	font-size: 2em;
	font-weight: 400;
	line-height: var(--phomi-home-kicker-lh);
	position: relative;
}

.phomi-tech h2 {
	color: var(--phomi-blue);
	font-family: "GTF Adieu TRIAL";
	font-size: var(--phomi-home-section-title);
	line-height: clamp(40px, 2.916667vw, 56px);
	margin: 0 auto 70px;
	max-width: 1182px;
	position: relative;
	text-align: center;
}

.phomi-tech__body {
	display: grid;
	grid-template-columns: 1fr 52%;
	position: relative;
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.phomi-tech.is-product-switching .phomi-tech__body,
.phomi-tech.is-product-switching .phomi-tech__title {
	opacity: 0.18;
	transform: translateY(8px);
}

.phomi-tech__copy {
	padding-left: 121px;
	padding-top: 10px;
}

.phomi-tech__copy p {
	font-size: var(--phomi-home-tech-lead);
	line-height: 1.57;
	max-width: 731px;
}

.phomi-tech__copy ul {
	display: grid;
	font-size: var(--phomi-home-tech-list);
	gap: 21px;
	line-height: var(--phomi-home-tech-list-lh);
	list-style: none;
	margin: 40px 0 120px;
	padding: 0;
}

.phomi-tech__copy li {
	align-items: center;
	display: flex;
	gap: 16px;
	margin: 0;
}

.phomi-tech__copy li::before {
	background: currentColor;
	content: "";
	flex: 0 0 auto;
	height: 28px;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 28px;
}

.phomi-tech__feature-icon {
	display: block;
	flex: 0 0 auto;
}

.phomi-tech__feature-icon--water {
	height: 28px;
	width: 21px;
}

.phomi-tech__feature-icon--energy {
	height: 30px;
	width: 23px;
}

.phomi-tech__feature-icon--recycle {
	height: 28px;
	width: 28px;
}

.phomi-tech__feature--water::before,
.phomi-tech__feature--energy::before,
.phomi-tech__feature--recycle::before {
	display: none;
}

.phomi-tech__feature--energy::before {
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 2L6 18H15L13.5 30L26 14H17L18.5 2Z'/%3E%3C/svg%3E");
}

.phomi-tech__feature--recycle::before {
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.3 4.3L16 2L20.2 9.2L16.5 11.4L14.2 7.4C10.2 8.1 7.1 11.6 7.1 15.8H3.6C3.6 9.9 7.3 5 12.3 4.3ZM25.2 13.7L28.9 16L24.7 23.2L21 21L23.3 17H16V13.5H25.2V13.7ZM10.9 24.2H19.2V28H10.9C7.4 28 4.5 25.1 4.5 21.6C4.5 20.4 4.8 19.3 5.4 18.3L8.4 20C8.1 20.5 8 21 8 21.6C8 23 9.3 24.2 10.9 24.2Z'/%3E%3C/svg%3E");
}

.phomi-button {
	align-items: center;
	border: var(--phomi-btn-border-width) solid currentColor;
	box-sizing: border-box;
	color: #111;
	display: inline-flex;
	font-size: var(--phomi-btn-font-size);
	gap: var(--phomi-btn-gap);
	height: var(--phomi-btn-height);
	justify-content: center;
	line-height: var(--phomi-btn-line-height);
	max-width: var(--phomi-btn-max-width);
	min-width: 0;
	padding: 0 var(--phomi-btn-padding-inline);
	text-decoration: none;
	white-space: nowrap;
	width: auto;
}

.phomi-button--light {
	color: #fff;
}

.phomi-tech__link {
	height: var(--phomi-btn-height);
	max-width: var(--phomi-btn-max-width);
	width: auto;
}

.phomi-tech__image {
	height: 646px;
	margin-top: -40px;
	width: 100%;
}

.phomi-button__icon {
	display: block;
	filter: brightness(0);
	flex-shrink: 0;
	height: var(--phomi-btn-icon-size);
	transition: filter 0.28s ease;
	width: var(--phomi-btn-icon-size);
}

.phomi-button--light .phomi-button__icon {
	filter: none;
}

.phomi-tech__link .phomi-button__icon--default {
	filter: none;
}

.phomi-tech__link .phomi-button__icon--hover {
	display: none;
	filter: brightness(0);
}

.phomi-tech__link:hover .phomi-button__icon--default,
.phomi-tech__link:focus-visible .phomi-button__icon--default {
	display: none;
}

.phomi-tech__link:hover .phomi-button__icon--hover,
.phomi-tech__link:focus-visible .phomi-button__icon--hover {
	display: block;
}

.phomi-button:hover .phomi-button__icon,
.phomi-button:focus-visible .phomi-button__icon {
	filter: brightness(0);
}

.phomi-products {
	display: grid;
	gap: 17px;
	grid-template-columns: repeat(3, 1fr);
	margin: -64px auto 0;
	max-width: 1780px;
	position: relative;
	width: calc(100% - 140px);
	z-index: 2;
}

.phomi-products article {
	height: 801px;
	overflow: hidden;
	padding: 0;
	position: relative;
}

.phomi-products__card-link {
	color: #fff;
	cursor: pointer;
	display: block;
	height: 100%;
	padding: 42px 32px;
	position: relative;
	text-decoration: none;
	z-index: 1;
}

.phomi-products article::after {
	background: rgba(0, 0, 0, 0.12);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.phomi-products article.is-active::after {
	/* background: rgba(0, 0, 0, 0.34); */
}

.phomi-products__media {
	inset: 0;
	overflow: hidden;
	position: absolute;
}

.phomi-products img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: 30% 35%;
	position: absolute;
	transition: filter 0.45s ease, transform 0.45s ease;
	transform: scale(1);
	width: 100%;
}

.phomi-products article[data-product="edisplay"] img {
	object-position: 45% 35%;
}

.phomi-products h3,
.phomi-products p,
.phomi-products__more {
	color: #fff;
	position: relative;
	z-index: 1;
}

.phomi-products h3 {
	font-family: "GTF Adieu TRIAL";
	font-size: var(--phomi-home-product-title);
	font-weight: 400;
	line-height: var(--phomi-home-product-title-lh);
	margin: 0;
	max-width: 427px;
}

.phomi-products p {
	bottom: 94px;
	font-family: "GTF Adieu TRIAL";
	font-size: var(--phomi-home-body);
	font-weight: 300;
	line-height: var(--phomi-home-body-lh);
	margin: 0;
	max-width: 512px;
	position: absolute;
}

.phomi-products__more {
	bottom: 40px;
	font-size: var(--phomi-home-product-link);
	letter-spacing: 1.8px;
	position: absolute;
	/* text-transform: uppercase; */
}

.phomi-gallery,
.phomi-news {
	background: #f9f9f9;
	padding: 88px 70px 130px;
}

.phomi-news {
	height: 866px;
	padding: 130px 70px 0;
}

.phomi-gallery::before,
.phomi-awards::before {
	background: url("../../../../uploads/figma-assets/bd7bf3f392c9c79b9c42070bfe22d3b12e087ba7.png") center top / cover no-repeat;
	content: "";
	height: 464px;
	left: 0;
	opacity: 0.33;
	position: absolute;
	top: 0;
	width: 100%;
}

.phomi-gallery::before {
	background-position: calc(0% + 100px) -280px !important;
	opacity: 0.33 !important;
	mix-blend-mode: darken;
	/* top: 160px; */
}

/* Figma 234:2098 — wave 1994×854 at 130px/-66px, opacity 0.38, clipped to 602px band */
.phomi-awards::before {
	background: url("../../../../uploads/figma-assets/home-awards-bg.webp") 130px -66px / 1994px 854px no-repeat;
	height: 602px;
	max-width: none;
	opacity: 0.38;
	pointer-events: none;
	right: auto;
	width: 1920px;
	z-index: 0;
}

/* Figma 234:2099 + 234:2100 — soft white fades over the wave */
.phomi-awards::after {
	background:
		linear-gradient(
			0.47deg,
			#fff 14.62%,
			rgba(255, 255, 255, 0) 42.42%,
			rgba(255, 255, 255, 0) 85.88%,
			rgba(255, 255, 255, 0.31) 101.16%
		),
		linear-gradient(
			90deg,
			#fff 0%,
			rgba(255, 255, 255, 0.19) 40.865%,
			rgba(255, 255, 255, 0.31) 100%
		);
	content: "";
	height: 602px;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.phomi-section-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	position: relative;
	color: #000;
}

.phomi-gallery h2,
.phomi-awards h2,
.phomi-news h2 {
	position: relative;
}

.phomi-switch-controls {
	display: flex;
	gap: clamp(12px, 1.09375vw, 21px);
}

.phomi-news .phomi-switch-controls {
	margin-right: 8px;
	margin-top: 4px;
}

.phomi-switch-controls button {
	align-items: center;
	appearance: none;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	color: #111;
	cursor: pointer;
	display: inline-flex;
	font-family: "GTF Adieu TRIAL";
	font-size: clamp(20px, 1.875vw, 36px);
	height: clamp(14px, 0.9375vw, 18px);
	justify-content: center;
	line-height: 1;
	padding: 0;
	transition: color 0.28s ease, transform 0.28s ease;
	width: clamp(40px, 3.333333vw, 64px);
}

.phomi-switch-controls button:hover,
.phomi-switch-controls button:focus-visible {
	color: var(--phomi-blue);
	outline: none;
	transform: translateX(2px);
}

.phomi-switch-controls .phomi-switch-prev {
	color: #b8b8b8;
}

.phomi-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(12px, 1.354167vw, 26px);
	margin: clamp(24px, 2.604167vw, 50px) 0 clamp(32px, 3.333333vw, 64px);
	position: relative;
}

.phomi-tabs a {
	color: #000;
	display: inline-block;
	font-size: var(--phomi-home-tab);
	line-height: var(--phomi-home-tab-lh);
	outline: none;
	position: relative;
	text-decoration: none;
	/* text-transform: capitalize; */
	white-space: nowrap;
}

.phomi-tabs a:hover,
.phomi-tabs a:focus,
.phomi-tabs a:focus-visible {
	outline: none;
}

.phomi-tabs .is-active {
	color: var(--phomi-blue);
}

.phomi-tabs .is-active::after {
	background: url("../../../../uploads/figma-assets/home-gallery-tab-indicator.png") center / clamp(72px, 5.416667vw, 104px) clamp(8px, 0.572917vw, 11px) no-repeat;
	bottom: clamp(-12px, -0.729167vw, -14px);
	content: "";
	height: clamp(8px, 0.572917vw, 11px);
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: clamp(72px, 5.416667vw, 104px);
}

.phomi-gallery__grid,
.phomi-news__grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, 1fr);
	position: relative;
}

.phomi-news__grid {
	gap: 17px;
	grid-template-columns: repeat(4, 432px);
	margin-top: 60px;
}

.phomi-news__grid article:nth-child(n+5) {
	display: none;
}

.phomi-gallery__loading {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 0;
	opacity: 0;
	pointer-events: none;
	position: relative;
	transform: translateY(-10px);
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.phomi-gallery__loading span {
	align-items: center;
	color: var(--phomi-blue);
	display: inline-flex;
	font-size: var(--phomi-home-body-sm);
	gap: 10px;
	letter-spacing: 0.08em;
	line-height: var(--phomi-home-body-sm-lh);
	/* text-transform: uppercase; */
}

.phomi-gallery__loading span::before {
	animation: phomi-gallery-spin 0.8s linear infinite;
	border: 2px solid rgba(112, 199, 209, 0.28);
	border-radius: 50%;
	border-top-color: var(--phomi-blue);
	content: "";
	height: 18px;
	width: 18px;
}

.phomi-gallery.is-switching .phomi-gallery__loading {
	min-height: 36px;
	opacity: 1;
	transform: translateY(0);
}

.phomi-gallery__grid {
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.phomi-gallery.is-switching .phomi-gallery__grid {
	opacity: 0.18;
	transform: translateY(8px);
}

@keyframes phomi-gallery-spin {
	to {
		transform: rotate(360deg);
	}
}

.phomi-gallery__grid a,
.phomi-news__grid a {
	color: inherit;
	display: block;
	text-decoration: none;
}

.phomi-gallery__grid img {
	aspect-ratio: 1;
	height: auto;
	transition: transform 0.45s ease;
}

.phomi-gallery__empty {
	color: rgba(255, 255, 255, 0.72);
	font-family: var(--phomi-font);
	font-size: 18px;
	font-weight: 400;
	grid-column: 1 / -1;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin: 0;
	min-height: 120px;
	padding: 48px 0;
	text-align: center;
	/* text-transform: uppercase; */
}

.phomi-gallery .phomi-button {
	align-items: center;
	display: inline-flex;
	float: right;
	height: var(--phomi-btn-height);
	justify-content: center;
	margin-top: clamp(24px, 2.083333vw, 40px);
	max-width: var(--phomi-btn-max-width);
	padding: 0 var(--phomi-btn-padding-inline);
	white-space: nowrap;
	width: auto;
}

.phomi-awards {
	background: #fff;
	overflow: hidden;
	padding: 116px 60px 94px;
	position: relative;
}

.phomi-awards > * {
	position: relative;
	z-index: 1;
}

.phomi-awards__hero {
	align-items: start;
	display: grid;
	gap: clamp(16px, 3vw, 56px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 60px;
	position: relative;
	width: 100%;
}

.phomi-awards__hero > img {
	align-self: start;
	height: auto;
	max-height: 560px;
	min-width: 0;
	object-fit: contain;
	width: 100%;
}

.phomi-awards__hero > div {
	min-width: 0;
	padding-top: 0;
}

.phomi-awards h3 {
	font-size: var(--phomi-home-awards-title);
	font-weight: 700;
	line-height: 1.05;
	margin: 0 0 clamp(24px, 3vw, 50px) clamp(0px, 1.5vw, 28px);
	position: relative;
	z-index: 1;
}

.phomi-awards h3::after {
	background: var(--phomi-blue);
	bottom: -3px;
	content: "";
	height: clamp(10px, 1vw, 18px);
	left: clamp(48px, 4.5vw, 85px);
	position: absolute;
	width: clamp(72px, 7vw, 140px);
	z-index: -1;
}

.phomi-awards ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.phomi-awards li {
	align-items: flex-start;
	display: flex;
	font-size: var(--phomi-home-awards-item);
	gap: clamp(8px, 0.9vw, 14px);
	line-height: 1.35;
	margin-bottom: clamp(12px, 1.5vw, 24px);
	min-width: 0;
	overflow-wrap: break-word;
}

.phomi-awards li img {
	flex: 0 0 auto;
	height: clamp(14px, 1.2vw, 20px);
	margin-top: 0.2em;
	width: clamp(12px, 1vw, 17px);
}

.phomi-cert-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	justify-content: center;
	margin: 76px auto 0;
	max-width: 1720px;
	width: min(100%, 1720px);
}

.phomi-cert-grid article {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: #fff;
	border: 2px solid #f6f6f6;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: auto;
	justify-content: center;
	padding: clamp(16px, 1.25vw, 24px);
	position: relative;
	text-align: center;
}

.phomi-cert-grid img {
	display: block;
	flex: 0 0 auto;
	height: auto;
	left: auto;
	max-height: min(160px, 46%);
	max-width: min(200px, 72%);
	object-fit: contain;
	position: static;
	top: auto;
	transform: none;
	transform-origin: center center;
	width: auto;
}

.phomi-cert-grid span {
	color: #000;
	display: block;
	flex: 0 0 auto;
	font-size: var(--phomi-home-body-sm);
	font-weight: 400;
	left: auto;
	line-height: var(--phomi-home-body-sm-lh);
	margin-top: clamp(10px, 0.833333vw, 16px);
	position: static;
	top: auto;
	transform: none;
	width: min(165px, 88%);
}

.phomi-awards__pager {
	align-items: center;
	display: flex;
	gap: clamp(10px, 0.833333vw, 16px);
	justify-content: center;
	margin-top: clamp(24px, 2.083333vw, 40px);
	position: relative;
}

.phomi-awards__pager button {
	appearance: none;
	background: rgba(204, 204, 204, 0.5);
	border: 0;
	border-radius: 0;
	cursor: pointer;
	display: block;
	height: clamp(2px, 0.15625vw, 3px);
	padding: 0;
	width: clamp(32px, 2.708333vw, 52px);
}

.phomi-awards__pager button:focus-visible {
	outline: 1px solid #000;
	outline-offset: 4px;
}

.phomi-awards__pager .is-active {
	background: #000;
	width: clamp(32px, 2.708333vw, 52px);
}

.phomi-awards.is-switching .phomi-cert-grid,
.phomi-news.is-switching .phomi-news__grid {
	opacity: 0.18;
	transform: translateX(12px);
}

.phomi-cert-grid,
.phomi-news__grid {
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.phomi-news__grid article {
	overflow: hidden;
}

.phomi-news__grid img {
	aspect-ratio: 1;
	height: 432px;
	object-fit: cover;
	transition: transform 0.45s ease;
	width: 432px;
}

.phomi-news__grid h3 {
	display: -webkit-box;
	font-size: var(--phomi-home-news-title);
	font-weight: 300;
	line-height: var(--phomi-home-body-lh);
	margin: 16px 0 0;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	word-break: break-word;
}

.phomi-news__grid p {
	display: none;
}


.phomi-footer {
	background: #000;
	box-sizing: border-box;
	color: #d1d5db;
	display: grid;
	gap: 90px;
	grid-template-columns: 150px 190px 190px 170px 160px 220px;
	height: 480px;
	padding: 98px 70px 0;
}

.phomi-footer strong {
	color: #82CDD0;
	display: block;
	font-size: var(--phomi-home-footer-heading);
	font-weight: 400;
	line-height: 1.4;
	margin-bottom: 72px;
	/* text-transform: uppercase; */
}

.phomi-footer a {
	color: #d1d5db;
	display: block;
	font-size: var(--phomi-home-footer-link);
	font-weight: 300;
	line-height: var(--phomi-home-footer-link-lh);
	margin-bottom: 24px;
	text-decoration: none;
}

.phomi-nav > ul > li > a,
.phomi-dropdown a,
.phomi-button,
.phomi-circle-link,
.phomi-products article,
.phomi-products h3,
.phomi-products p,
.phomi-products__card-link,
.phomi-products__more,
.phomi-tabs a,
.phomi-cert-grid article,
.phomi-news article,
.phomi-news p,
.phomi-footer a {
	transition: background-color 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease, color 0.28s ease, opacity 0.28s ease, transform 0.28s ease;
}

.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 > ul > li > a:hover::after,
.phomi-nav > ul > li > a:focus-visible::after {
	color: var(--phomi-blue);
}

.phomi-dropdown a:hover,
.phomi-dropdown a:focus-visible {
	background: var(--phomi-blue);
	color: #000;
	outline: none;
}

.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: 20;
}

.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-header:has(.has-mega-menu:hover) ~ .phomi-menu-scrim,
.phomi-header:has(.has-mega-menu:focus-within) ~ .phomi-menu-scrim {
	opacity: 0;
	visibility: hidden;
}

.phomi-nav .phomi-mega-card {
	color: #fff;
	display: block;
	left: 455px;
	position: absolute;
	text-decoration: none;
	top: 50px;
	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-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: 295px;
	top: 50px;
}

.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: 635px;
	top: 50px;
}

.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: 975px;
	top: 50px;
}

.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: 1315px;
	top: 50px;
}

.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: 295px;
	top: 304px;
}

.phomi-nav .has-mega-menu--application .phomi-mega-card:nth-child(6) {
	left: 635px;
	top: 304px;
}

.phomi-header:has(.has-mega-menu--case:hover) ~ .phomi-menu-scrim,
.phomi-header:has(.has-mega-menu--case:focus-within) ~ .phomi-menu-scrim {
	top: 686px;
}

.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;
}

.has-mega-menu.is-mega-open .phomi-mega-menu {
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: translateY(0) !important;
	visibility: visible !important;
}

.phomi-circle-link:hover,
.phomi-circle-link:focus-visible,
.phomi-button:hover,
.phomi-button:focus-visible {
	background: var(--phomi-blue);
	border-color: var(--phomi-blue);
	color: #000;
	transform: translateY(-2px);
}

.phomi-circle-link:hover span,
.phomi-circle-link:focus-visible span {
	background: var(--phomi-blue);
	border-color: var(--phomi-blue);
	color: #000;
}

.phomi-hero__cta:hover,
.phomi-hero__cta:focus-visible {
	background: transparent;
	border-color: transparent;
	color: #fff;
	text-shadow: 0 0 18px rgba(255, 255, 255, 0.48);
	transform: translateY(-2px);
}

.phomi-hero__cta:hover img,
.phomi-hero__cta:focus-visible img {
	filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.56));
	transform: translateX(8px);
}

.phomi-intro__video img,
.phomi-intro__image,
.phomi-tech__image,
.phomi-gallery__grid img,
.phomi-awards__hero > img,
.phomi-cert-grid img,
.phomi-news__grid img {
	transition: filter 0.45s ease, transform 0.45s ease;
}

.phomi-intro__video:hover img,
.phomi-intro__image:hover,
.phomi-tech__image:hover,
.phomi-awards__hero > img:hover {
	filter: brightness(0.86);
	transform: scale(1.025);
}

.phomi-products article::after {
	transition: background-color 0.45s ease;
}

.phomi-products article:focus,
.phomi-products article:focus-within,
.phomi-products__card-link:focus,
.phomi-products__card-link:focus-visible {
	outline: none;
}

.phomi-products article:hover::after,
.phomi-products article:focus-within::after {
	background: rgba(0, 0, 0, 0.32);
}

.phomi-products article:hover img,
.phomi-products article:focus-within img {
	filter: brightness(0.86);
	transform: scale(1.06);
}

.phomi-gallery__grid figure:hover img,
.phomi-gallery__grid figure:focus-within img,
.phomi-news article:hover img,
.phomi-news article:focus-within img {
	filter: brightness(0.86);
	transform: scale(1.06);
}

.phomi-products article:hover h3,
.phomi-products article:hover p,
.phomi-products article:hover .phomi-products__more,
.phomi-products article:focus-within h3,
.phomi-products article:focus-within p,
.phomi-products article:focus-within .phomi-products__more {
	transform: translateY(-8px);
}

.phomi-gallery__grid figure {
	aspect-ratio: 1;
	margin: 0;
	overflow: hidden;
}

.phomi-gallery__grid figure img {
	height: 100%;
}

.phomi-tabs a:hover,
.phomi-tabs a:focus-visible,
.phomi-news article:hover p,
.phomi-news article:focus-within p,
.phomi-footer a:hover,
.phomi-footer a:focus-visible {
	color: var(--phomi-blue);
}

.phomi-cert-grid article:hover,
.phomi-cert-grid article:focus-within {
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.12);
	transform: translateY(-8px);
}

.phomi-cert-grid article:hover img,
.phomi-cert-grid article:focus-within img {
	transform: scale(1.06);
}


@media (prefers-reduced-motion: reduce) {
	.phomi-home *,
	.phomi-home *::before,
	.phomi-home *::after {
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}

@media (min-width: 1201px) and (max-height: 900px) {
	.phomi-hero__content h1 {
		font-size: clamp(28px, 3.645833vw, 62px);
		line-height: 1;
		margin-bottom: 18px;
	}

	.phomi-hero__content p {
		font-size: var(--phomi-home-hero-text);
		line-height: 1.18;
		margin-bottom: 28px;
		max-width: 690px;
	}

	.phomi-circle-link,
	.phomi-hero__cta {
		font-size: var(--phomi-home-hero-cta);
	}

	.phomi-circle-link span,
	.phomi-hero__cta img {
		height: 50px;
		width: 50px;
	}
}

@media (min-width: 1201px) and (max-height: 780px) {
	.phomi-hero__content {
		bottom: 28px;
	}

	.phomi-hero__content h1 {
		font-size: clamp(28px, 3.645833vw, 56px);
		line-height: 1;
	}

	.phomi-hero__content p {
		font-size: var(--phomi-home-hero-text);
		max-width: 650px;
	}
}

/* Laptop adaptation: let the stats row shrink instead of overflowing the
   intro panel on narrower laptop screens (1440/1366/1280). */
@media (max-width: 1440px) {
	.phomi-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(16px, 2.5vw, 48px);
	}

	.phomi-stats__item {
		grid-template-columns: 52px minmax(0, 1fr);
	}

	.phomi-stats strong {
		font-size: var(--phomi-home-stat-value);
		line-height: 1.25;
	}

	.phomi-stats__item > span:last-child {
		font-size: var(--phomi-home-stat-label);
		line-height: 1.35;
	}
}

@media (max-width: 1200px) {
	.phomi-intro__panel,
	.phomi-tech,
	.phomi-gallery,
	.phomi-awards,
	.phomi-news,
	.phomi-footer {
		padding-left: 40px;
		padding-right: 40px;
	}

	.phomi-intro {
		min-height: 0;
	}

	.phomi-intro__panel {
		grid-template-columns: 1fr 1fr;
		margin-left: 0;
		margin-top: -32vw;
		min-height: clamp(860px, 110vw, 1180px);
		padding-top: calc(32vw + 80px);
		width: 100%;
	}

	.phomi-intro__image-wrap {
		height: auto;
		max-width: 100%;
		width: 100%;
	}

	.phomi-intro__image {
		height: auto;
		max-width: 100%;
		width: 100%;
	}

	.phomi-stats {
		bottom: 72px;
		gap: clamp(32px, 4vw, 56px);
		grid-template-columns: repeat(3, minmax(0, 1fr));
		left: 40px;
		right: 40px;
	}

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

@media (max-width: 1200px) and (min-width: 768px) {
	.phomi-hero__content h1 {
		font-size: var(--phomi-home-hero-title);
		line-height: 1;
	}

	.phomi-hero__content p {
		font-size: var(--phomi-home-hero-text);
		line-height: 1.2;
		max-width: 46vw;
	}

	.phomi-hero__cta {
		font-size: var(--phomi-home-hero-cta);
	}
}

/* Homepage inquiry — align with section title/body scaling */
@media (min-width: 768px) {
	.phomi-home .phomi-inquiry h2 {
		font-size: var(--phomi-home-section-title);
		line-height: var(--phomi-home-section-title-lh);
	}

	.phomi-home .phomi-inquiry > p:not(.phomi-form-notice) {
		font-size: var(--phomi-home-body-lg);
		line-height: var(--phomi-home-body-lg-lh);
	}
}

@media (max-width: 767px) {
	.phomi-hero {
		aspect-ratio: 1920 / 820;
		height: auto;
		min-height: clamp(360px, 56vw, 520px);
	}

	.phomi-dropdown {
		display: none;
	}

	.phomi-hero__content {
		left: 24px;
		right: 24px;
		top: auto;
		bottom: 80px;
	}

	.phomi-hero__content h1 {
		font-size: clamp(26px, 10.5vw, 40px);
		line-height: 1.05;
		white-space: normal;
	}

	.phomi-hero__content p {
		font-size: clamp(14px, 4.2vw, 16px);
		line-height: 1.25;
		max-width: none;
	}

	.phomi-intro__video {
		height: 260px;
		margin: 0 24px;
	}

	.phomi-intro__panel,
	.phomi-tech__body,
	.phomi-products,
	.phomi-gallery__grid,
	.phomi-cert-grid,
	.phomi-news__grid,
	.phomi-footer {
		grid-template-columns: 1fr;
	}

	.phomi-intro__panel {
		margin-top: 40px;
		min-height: 0;
		overflow: hidden;
		padding: 56px 24px;
	}

	.phomi-intro__text {
		min-width: 0;
	}

	.phomi-intro__text h2 {
		font-size: clamp(30px, 8.2vw, 40px);
		line-height: 1.08;
		overflow-wrap: break-word;
	}

	.phomi-intro__text p {
		font-size: var(--phomi-home-body-lg);
		line-height: var(--phomi-home-body-lg-lh);
		max-width: none;
	}

	.phomi-intro__image,
	.phomi-tech__image,
	.phomi-awards__hero > img {
		height: auto;
	}

	.phomi-stats {
		gap: 24px;
		grid-template-columns: 1fr;
		margin-top: 40px;
		position: static;
	}

	.phomi-tech,
	.phomi-gallery,
	.phomi-awards,
	.phomi-news,
	.phomi-footer {
		min-height: 0;
		padding: 72px 24px;
	}

	.phomi-tech__copy {
		padding: 0;
	}

	.phomi-products article {
		height: 560px;
	}

}


/* Scaling fixes for Zentao #2435/#2552/#2554. Desktop/laptop only so they
   do not override the stacked mobile layout below 768px. */
@media (min-width: 768px) {
.phomi-intro {
	min-height: auto;
	padding-top: clamp(56px, 4.166667vw, 80px);
}

.phomi-intro__video {
	aspect-ratio: 1460 / 822;
	height: auto;
	width: min(76.041667vw, 1460px);
}

.phomi-intro__panel {
	gap: clamp(36px, 5vw, 96px);
	grid-template-columns: minmax(360px, 620px) minmax(360px, 803px);
	margin-top: clamp(-499px, -26vw, -180px);
	min-height: auto;
	padding: clamp(280px, 31.197917vw, 599px) clamp(32px, 4.6875vw, 90px) clamp(72px, 5.208333vw, 100px);
	width: min(calc(100% - clamp(48px, 17.1875vw, 330px)), 1590px);
}

	.phomi-intro__image-wrap {
		aspect-ratio: auto;
		height: auto;
		max-width: min(41.822917vw, 803px);
		position: absolute;
		right: 0;
		top: clamp(280px, 31.197917vw, 599px);
		width: min(41.822917vw, 803px);
	}

	.phomi-intro__image {
		height: auto;
		max-width: 100%;
		width: 100%;
	}

.phomi-stats {
	bottom: auto;
	gap: clamp(32px, 5.729167vw, 110px);
	left: auto;
	margin-top: 224px;
	position: static;
}

.phomi-tech {
	background: linear-gradient(to bottom, #000 0 60%, #fff 58% 100%);
	min-height: auto;
	padding: clamp(64px, 4.166667vw, 80px) clamp(24px, 3.645833vw, 70px) clamp(96px, 7.8125vw, 150px);
}

.phomi-tech__body {
	gap: clamp(24px, 3vw, 1px);
	grid-template-columns: minmax(0, 1.18fr) minmax(420px, 1.2fr);
}

.phomi-tech__copy {
	padding-bottom: 24px;
	padding-left: clamp(0px, 7.302083vw, 144px);
}

.phomi-tech__copy .phomi-tech__summary {
	font-family: "GTF Adieu TRIAL";
	max-width: 860px;
}

.phomi-tech__copy p {
	font-size: var(--phomi-home-tech-lead);
	line-height: 1.55;
}

.phomi-tech__image {
	aspect-ratio: 920 / 646;
	height: auto;
	margin-top: -34px;
}

.phomi-products {
	background: transparent;
	margin: 40px auto 0;
	position: relative;
	width: 100%;
	z-index: 1;
}

/* Zentao #3521: the card height used to follow the viewport width, so as soon as
   the grid wrapped to two columns the cards stayed short and looked squashed.
   Drive the height from the card's own width instead, keeping the full-screen
   582 x 801 proportion on every wrapped row. */
.phomi-products article {
	aspect-ratio: 582 / 801;
	display: flex;
	flex-direction: column;
	height: auto;
}

.phomi-products__card-link {
	display: flex;
	flex-direction: column;
}

/* The spacer lives on the heading: responsive.css forces `margin` on every
   paragraph below 1024px, which would drop the copy back to the top. */
.phomi-products h3 {
	margin-bottom: auto;
}

.phomi-products p {
	bottom: auto;
	padding-top: 32px;
	position: relative;
}

.phomi-products__more {
	bottom: auto;
	margin-top: 24px;
	position: relative;
}

.phomi-news {
	height: auto;
	min-height: auto;
	padding: clamp(80px, 6.770833vw, 130px) clamp(24px, 3.645833vw, 70px) clamp(80px, 6.770833vw, 130px);
}

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

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

.phomi-cert-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	max-width: 1720px;
	width: 100%;
}

}

@keyframes phomi-intro-glow {
	0%,
	100% {
		opacity: 0.42;
		transform: translate(0, 0) scale(1);
	}

	50% {
		opacity: 0.72;
		transform: translate(-5%, 4%) scale(1.08);
	}
}

/* Laptop / smaller desktop: the 1920px Figma 224px stats gap turns into a
   dead teal field once the intro image scales down. Keep the photo in flow,
   pull the stats up, and add a soft moving highlight so the panel feels alive. */
@media (min-width: 1201px) and (max-width: 1679px) {
	.phomi-intro__panel {
		align-items: stretch;
		background:
			radial-gradient(ellipse 72% 58% at 78% 64%, rgba(255, 255, 255, 0.14), transparent 64%),
			var(--phomi-blue);
		column-gap: clamp(24px, 3vw, 48px);
		overflow: hidden;
		padding-bottom: clamp(56px, 5vw, 80px);
		padding-right: 0;
		row-gap: 0;
	}

	.phomi-intro__panel::before {
		animation: phomi-intro-glow 8.5s ease-in-out infinite;
		background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.22), transparent 70%);
		bottom: 4%;
		content: "";
		height: min(42vw, 420px);
		pointer-events: none;
		position: absolute;
		right: -8%;
		width: min(64vw, 680px);
		z-index: 0;
	}

	.phomi-intro__text,
	.phomi-intro__image-wrap,
	.phomi-stats {
		position: relative;
		z-index: 1;
	}

	.phomi-intro__text {
		padding-right: clamp(24px, 3vw, 48px);
	}

	.phomi-intro__image-wrap {
		align-self: stretch;
		aspect-ratio: auto;
		height: auto;
		max-width: none;
		min-height: 280px;
		right: auto;
		top: auto;
		width: 100%;
	}

	.phomi-intro__image {
		height: auto;
		max-width: 100%;
		min-height: 0;
		width: 100%;
	}

	.phomi-stats {
		border-top: 1px solid rgba(255, 255, 255, 0.22);
		gap: clamp(20px, 3.5vw, 64px);
		margin-top: clamp(28px, 3.2vw, 48px);
		padding-right: clamp(32px, 4.6875vw, 90px);
		padding-top: clamp(28px, 3vw, 40px);
	}

	.phomi-stats.is-animate .phomi-stats__item {
		opacity: 0;
		transform: translateY(18px);
		transition: opacity 0.65s ease, transform 0.65s ease;
	}

	.phomi-stats.is-animate.is-in .phomi-stats__item {
		opacity: 1;
		transform: none;
	}

	.phomi-stats.is-animate.is-in .phomi-stats__item:nth-child(2) {
		transition-delay: 0.12s;
	}

	.phomi-stats.is-animate.is-in .phomi-stats__item:nth-child(3) {
		transition-delay: 0.24s;
	}

	.phomi-stats__item {
		transition: transform 0.35s ease;
	}

	.phomi-stats.is-animate.is-in .phomi-stats__item:hover {
		transform: translateY(-6px);
	}
}

@media (max-width: 1440px) {
	.phomi-tech__bg {
		max-width: 100%;
		width: 100%;
	}

	.phomi-gallery,
	.phomi-awards,
	.phomi-inquiry {
		padding-left: clamp(24px, 4vw, 70px);
		padding-right: clamp(24px, 4vw, 70px);
	}
}

@media (max-width: 1200px) {
	.phomi-intro__panel {
		grid-template-columns: 1fr;
		margin-left: auto;
		margin-right: auto;
		margin-top: clamp(-300px, -22vw, -160px);
		padding-top: clamp(220px, 26vw, 420px);
		width: calc(100% - 48px);
	}

	.phomi-intro__image-wrap {
		max-width: 100%;
		position: relative;
		right: auto;
		top: auto;
		width: 100%;
	}

	.phomi-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-top: 48px;
	}

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

	.phomi-tech__copy {
		padding-left: 0;
	}

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

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

@media (max-width: 1180px) {
	.phomi-tabs {
		flex-wrap: wrap;
		gap: 12px 18px;
		max-width: 100%;
	}

	.phomi-section-head {
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 16px;
	}

	.phomi-gallery h2,
	.phomi-awards h2,
	.phomi-news h2,
	.phomi-intro__text h2,
	.phomi-tech h2 {
		max-width: 100%;
		white-space: normal;
	}

	.phomi-switch-controls {
		margin: 0;
	}

	.phomi-products {
		width: calc(100% - 48px);
	}

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

@media (max-width: 767px) {
	.phomi-intro__video {
		height: auto;
		margin: 0 24px;
		max-width: calc(100% - 48px);
		width: auto;
	}

	.phomi-intro__panel {
		margin-top: 40px;
		max-width: calc(100% - 48px);
		padding: 56px 24px;
		width: calc(100% - 48px);
	}

	.phomi-intro__image-wrap {
		max-width: 100%;
		position: relative;
		right: auto;
		top: auto;
		width: 100%;
	}

	.phomi-stats,
	.phomi-products,
	.phomi-news__grid,
	.phomi-cert-grid,
	.phomi-gallery__grid {
		grid-template-columns: 1fr;
	}

	.phomi-products {
		gap: 16px;
		width: calc(100% - 48px);
	}

	.phomi-products article {
		min-height: 480px;
	}

	.phomi-products h3 {
		font-size: clamp(22px, 7.2vw, 28px);
		line-height: 1.15;
		max-width: 100%;
	}

	.phomi-tabs {
		margin: 24px 0 28px;
	}

	.phomi-tabs a {
		font-size: clamp(13px, 3.85vw, 15px);
		line-height: 1.45;
	}

	.phomi-cert-grid article {
		aspect-ratio: 1 / 1;
		height: auto;
		min-height: 0;
		padding: 16px;
	}

	.phomi-cert-grid img {
		display: block;
		height: auto;
		left: auto;
		margin: 0;
		max-height: min(140px, 46%);
		max-width: min(140px, 72%);
		position: static;
		top: auto;
		transform: none;
		width: auto;
	}

	.phomi-cert-grid span {
		left: auto;
		margin-top: 12px;
		max-width: calc(100% - 24px);
		position: static;
		top: auto;
		transform: none;
		width: min(165px, 88%);
	}

	.phomi-hero__content h1 {
		font-size: clamp(26px, 7vw, 34px);
		hyphens: none;
		line-height: 1.12;
		overflow-wrap: normal;
		white-space: normal;
		word-break: normal;
	}
}

@media (max-width: 1024px) {
	.phomi-home,
	.phomi-home .phomi-section,
	.phomi-home .phomi-section-head,
	.phomi-home .phomi-awards__hero,
	.phomi-home .phomi-awards__hero > *,
	.phomi-home .phomi-cert-grid,
	.phomi-home .phomi-news__grid,
	.phomi-home .phomi-gallery__grid,
	.phomi-home .phomi-products {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	.phomi-awards,
	.phomi-gallery,
	.phomi-news,
	.phomi-tech,
	.phomi-inquiry {
		overflow-x: hidden;
		padding-left: 20px !important;
		padding-right: 20px !important;
		width: 100% !important;
	}

	.phomi-awards::before,
	.phomi-gallery::before {
		background-position: center top !important;
		background-size: cover !important;
		left: 0 !important;
		max-width: 100%;
		width: 100% !important;
	}

	.phomi-awards::after {
		height: min(420px, 55vw);
		width: 100%;
	}

	.phomi-section-head {
		display: block !important;
		width: 100%;
	}

	.phomi-awards h2,
	.phomi-gallery h2,
	.phomi-news h2,
	.phomi-tech h2 {
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		white-space: normal !important;
		width: 100%;
		word-break: normal !important;
	}

	.phomi-awards__hero {
		align-items: start;
		display: grid !important;
		flex-direction: unset !important;
		gap: clamp(12px, 2.5vw, 24px) !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin-top: 28px;
		width: 100% !important;
	}

	.phomi-awards__hero > img {
		height: auto !important;
		max-height: none;
		max-width: 100% !important;
		width: 100% !important;
	}

	.phomi-awards__hero > div {
		min-width: 0;
		width: 100%;
	}

	.phomi-awards h3 {
		margin-left: 0 !important;
	}

	.phomi-awards li {
		max-width: 100%;
	}
	.phomi-news__grid,
	.phomi-gallery__grid {
		grid-template-columns: minmax(0, 1fr) !important;
		justify-content: stretch !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.phomi-cert-grid article,
	.phomi-news__grid article,
	.phomi-gallery__grid figure,
	.phomi-news__grid img {
		height: auto !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.phomi-cert-grid article {
		aspect-ratio: 1 / 1 !important;
	}

	.phomi-products {
		margin-left: auto;
		margin-right: auto;
		width: calc(100% - 40px) !important;
	}

	.phomi-intro {
		min-height: 0 !important;
		padding: 32px 0 0 !important;
	}

	.phomi-intro__panel {
		margin-left: 0 !important;
		margin-top: 24px !important;
		max-width: 100% !important;
		min-height: 0 !important;
		padding: 40px 20px 48px !important;
		width: 100% !important;
	}

	.phomi-intro__image-wrap {
		height: auto !important;
		max-width: 100% !important;
		position: relative !important;
		right: auto !important;
		top: auto !important;
		width: 100% !important;
	}

	.phomi-stats {
		bottom: auto !important;
		gap: 20px !important;
		grid-template-columns: 1fr !important;
		left: auto !important;
		margin-top: 28px !important;
		position: static !important;
	}

	.phomi-stats__item,
	.phomi-stats strong,
	.phomi-stats__item > span {
		color: #fff !important;
	}

	.phomi-tech {
		background: #111 !important;
		color: #fff !important;
		min-height: 0 !important;
		padding: 48px 20px 32px !important;
	}

	.phomi-tech__bg {
		display: none !important;
	}

	.phomi-kicker {
		font-size: 16px !important;
		line-height: 1.4 !important;
		margin-bottom: 12px !important;
		text-align: left;
	}

	.phomi-tech h2 {
		color: var(--phomi-blue) !important;
		font-size: clamp(26px, 7vw, 36px) !important;
		line-height: 1.2 !important;
		margin: 0 0 20px !important;
		text-align: left !important;
	}

	.phomi-tech__body {
		display: flex !important;
		flex-direction: column !important;
		gap: 28px !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.phomi-tech__copy {
		padding: 0 !important;
	}

	.phomi-tech__copy p,
	.phomi-tech__copy li {
		color: #fff !important;
		max-width: 100% !important;
	}

	.phomi-tech__copy p {
		font-size: 16px !important;
		line-height: 1.6 !important;
	}

	.phomi-tech__copy ul {
		gap: 16px !important;
		margin: 24px 0 28px !important;
	}

	.phomi-tech .phomi-button--light,
	.phomi-tech__link {
		border-color: #fff !important;
		color: #fff !important;
		max-width: min(100%, var(--phomi-btn-max-width));
		width: auto;
	}

	.phomi-tech__image {
		height: auto !important;
		margin-top: 0 !important;
		width: 100% !important;
	}

	.phomi-products {
		gap: 16px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin-top: 28px !important;
		width: 100% !important;
	}

	.phomi-products article {
		height: auto !important;
	}

	#primary.phomi-home > section.phomi-gallery > .phomi-button {
		align-self: flex-end;
		flex: 0 0 auto;
		float: none;
		height: var(--phomi-btn-height) !important;
		justify-content: center !important;
		max-width: var(--phomi-btn-max-width) !important;
		padding: 0 var(--phomi-btn-padding-inline) !important;
		width: auto !important;
	}
}

/* Zentao #3521: phones keep the single stacked column (the two-column rule above
   only makes sense from tablet up). Must stay after it to win the cascade. */
@media (max-width: 767px) {
	.phomi-products {
		grid-template-columns: 1fr !important;
	}

	.phomi-products article {
		min-height: 420px;
	}
}
