/*
 * PhotoAwards.ae design system
 * Canonical tokens and active-template normalization.
 */
:root {
	--pas-bg: #f2f3f0;
	--pas-panel: #fafaf8;
	--pas-soft: #e7e8e4;
	--pas-text: #202322;
	--pas-muted: #626763;
	--pas-faint: #777b77;
	--pas-line: rgba(32, 35, 34, .22);
	--pas-gold: #9a7220;
	--pas-red: #75530f;
	--pas-radius: 2px;
	--pas-container: 1280px;
	--pas-canvas: var(--pas-bg);
	--pas-paper: var(--pas-panel);
	--pas-ink: var(--pas-text);
	--pas-subtle: var(--pas-muted);
	--pas-rule: #b9bcb8;
	--pas-accent: #75530f;
	--pas-dark: #171918;
	--pas-gutter: clamp(20px, 4vw, 56px);
	--pas-section-space: clamp(64px, 7vw, 94px);
	--pas-title-page: clamp(42px, 4.8vw, 64px);
	--pas-title-section: clamp(34px, 3.7vw, 50px);
	--pas-title-feature: clamp(30px, 3.2vw, 46px);
	--pas-title-card: clamp(22px, 2vw, 30px);
	--pas-ease: cubic-bezier(.2, 0, 0, 1);
	--pas-motion-fast: 220ms;
	--pas-motion-base: 360ms;
}

html { background: var(--pas-canvas); }
body {
	background: var(--pas-canvas);
	color: var(--pas-ink);
	font-family: Roboto, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
}
.pas-container {
	width: min(var(--pas-container), calc(100% - (var(--pas-gutter) * 2)));
	margin-inline: auto;
}
:where(h1, h2, h3) {
	letter-spacing: 0;
	text-wrap: balance;
}
:where(.pas-btn, .pas-form button, .pas-nav a, .pas-v5-line-link) {
	transition-duration: var(--pas-motion-fast);
	transition-timing-function: var(--pas-ease);
}

/* Page heroes */
body:not(.home) .pas-page-hero {
	min-height: 590px;
	padding-block: 126px 66px;
}
body:not(.home) .pas-page-hero .pas-container {
	grid-template-columns: 84px minmax(0, 850px);
	gap: 36px;
}
body:not(.home) .pas-page-hero h1 {
	max-width: 850px;
	font-size: var(--pas-title-page);
	line-height: 1;
}
.pas-page-hero__marker strong { font-size: 36px; }
body:not(.home) .pas-page-hero p:not(.pas-eyebrow) { max-width: 650px; }

/* Home */
.home .pas-v5-hero h1 {
	max-width: 820px;
	font-size: clamp(46px, 5vw, 72px);
	line-height: .96;
}
.home .pas-v5-section {
	grid-template-columns: 112px minmax(0, 1fr);
	padding-block: var(--pas-section-space);
}
.home .pas-v5-marker strong { font-size: 36px; }
.home .pas-v5-heading h2,
.home .pas-v5-intro h2,
.home .pas-v5-object h2,
.home .pas-v5-contact h2 {
	font-size: var(--pas-title-section);
	line-height: 1.04;
}
.home .pas-v5-heading { margin-bottom: 36px; }
.home .pas-v5-service-list a,
.home .pas-v5-work-card,
.home .pas-v5-process__steps,
.home .pas-v5-object__scope { border-color: var(--pas-rule); }
.home .pas-v5-work-card:hover,
.home .pas-v5-work-card:focus-visible {
	box-shadow: 0 14px 34px rgba(25, 28, 26, .07);
	transform: translateY(-3px);
}
.home .pas-v5-object {
	grid-template-columns: 112px minmax(0, 1fr);
	min-height: 0;
	padding: 0;
}
.home .pas-v5-object .pas-v5-marker {
	grid-column: 1;
	grid-row: 1 / 3;
}
.home .pas-v5-object__stage {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	min-height: 0;
	aspect-ratio: 1075 / 600;
	background: #171817;
}
.home .pas-v5-object__primary--nipa { background: #171817; }
.home .pas-v5-object__primary--nipa img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	object-position: center;
	transform: translate3d(0,var(--pas-parallax-y,0),0) scale(1.012);
}
.home .pas-v5-object__stage:hover .pas-v5-object__primary--nipa img {
	transform: translate3d(0,var(--pas-parallax-y,0),0) scale(1.025);
}
.home .pas-v5-object__copy {
	grid-column: 2;
	grid-row: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	gap: 20px clamp(44px, 6vw, 88px);
	align-items: start;
	justify-content: initial;
	padding: clamp(50px, 6vw, 82px);
}
.home .pas-v5-object__copy .pas-v5-overline { grid-column: 1; grid-row: 1; margin: 0; }
.home .pas-v5-object__copy h2 { grid-column: 1; grid-row: 2 / 5; margin: 0; }
.home .pas-v5-object__copy > p:not(.pas-v5-overline) {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
}
.home .pas-v5-object__scope { grid-column: 2; grid-row: 3; width: 100%; margin: 18px 0 0; }
.home .pas-v5-object .pas-v5-line-link { grid-column: 2; grid-row: 4; margin-top: 8px; }
.home .pas-v5-object__edition { top: 26px; left: 28px; }
.home .pas-v5-object__primary figcaption { right: 28px; bottom: 24px; left: 28px; }

@media (max-width: 1024px) {
	.home .pas-v5-object { grid-template-columns: 86px minmax(0, 1fr); }
	.home .pas-v5-object__copy { grid-template-columns: 1fr; }
	.home .pas-v5-object__copy > * { grid-column: 1 !important; grid-row: auto !important; }
	.home .pas-v5-object__copy h2 { max-width: 680px; }
	.home .pas-v5-object__copy > p:not(.pas-v5-overline) { margin-top: 8px; }
	.home .pas-v5-object__scope { max-width: 680px; }
}

/* Services */
.page-template-page-services .pas-sx-hero {
	min-height: min(700px, 88svh);
	padding-block: 118px 38px;
}
.page-template-page-services .pas-sx-hero h1 {
	max-width: 820px;
	font-size: clamp(44px, 5vw, 70px);
	line-height: .96;
}
.page-template-page-services .pas-sx-hero__mark { font-size: clamp(72px, 9vw, 132px); }
.page-template-page-services :is(.pas-sx-intro h2, .pas-sx-section-head h2, .pas-sx-platform h2, .pas-sx-engagement header h2) {
	font-size: var(--pas-title-section);
	line-height: 1.03;
}
.page-template-page-services .pas-sx-core-card h3 { font-size: var(--pas-title-feature); }
.page-template-page-services .pas-sx-module h3 { font-size: var(--pas-title-card); }
.page-template-page-services :is(.pas-sx-intro, .pas-sx-core, .pas-sx-modules, .pas-sx-engagement) {
	padding-block: var(--pas-section-space);
}
.page-template-page-services :is(.pas-sx-core-card, .pas-sx-engagement article) { border-color: var(--pas-rule); }

/* Projects */
.page-template-page-projects .pas-reference-showcase { padding-block: var(--pas-section-space); }
.page-template-page-projects .pas-reference-showcase__heading h2 {
	max-width: 760px;
	font-size: var(--pas-title-section);
	line-height: 1.04;
}
.page-template-page-projects .pas-reference-card {
	border-color: var(--pas-rule);
	background: var(--pas-panel);
}
.page-template-page-projects .pas-reference-card h3 { font-size: var(--pas-title-card); }
.page-template-page-projects :is(.pas-reference-card__facts, .pas-reference-card__delivery, .pas-reference-card__scope) {
	border-color: var(--pas-rule);
}

/* About */
.page-template-page-about :is(.pas-about-manifesto, .pas-about-values, .pas-about-process, .pas-about-team, .pas-about-global, .pas-about-testimonials) {
	padding-block: var(--pas-section-space);
}
.page-template-page-about :is(.pas-about-manifesto h2, .pas-about-field__content h2, .pas-about-heading h2, .pas-about-team__intro h2, .pas-about-global__content h2) {
	font-size: var(--pas-title-section);
	line-height: 1.04;
}
.page-template-page-about :is(.pas-about-proof, .pas-about-values__grid, .pas-about-process ol, .pas-about-field dl, .pas-about-global__audiences, .pas-about-testimonials__grid) {
	border-color: var(--pas-rule);
}
.page-template-page-about :is(.pas-about-proof > div, .pas-about-values__grid article, .pas-about-process li, .pas-about-testimonials__grid article) {
	border-color: var(--pas-rule);
}

/* Contact, proposal and general service pages */
.pas-contact-studio,
.pas-proposal-studio { padding-block: var(--pas-section-space); }
.pas-contact-studio h2,
.pas-proposal-studio h2,
.pas-platform-intro h2,
.pas-platform-heading h2,
.pas-platform-poster__content h2,
.pas-platform-admin h2,
.pas-award-gallery__heading h2,
.pas-award-film-section__heading h2,
.pas-award-context__details h2,
body:not(.home) .pas-section-heading h2,
body:not(.home) .pas-cta h2 {
	font-size: var(--pas-title-section);
	line-height: 1.04;
}
body:not(.home) .pas-section { padding-block: var(--pas-section-space); }
:is(.pas-contact-studio__form, .pas-proposal-studio__form, .pas-form, .pas-info-card, .pas-category-grid article, .pas-team-grid article) {
	border-color: var(--pas-rule);
	border-radius: var(--pas-radius);
}
.pas-contact-assurance .pas-container > div { min-height: 220px; }
.pas-contact-assurance h3 { margin-top: 52px; }

/* FAQ and footer */
.pas-faq-intro h2 { font-size: var(--pas-title-section); line-height: 1.03; }
.pas-faq-list details { border-color: var(--pas-rule); }
.pas-footer__cta h2 {
	max-width: 760px;
	font-size: clamp(34px, 3.8vw, 50px);
	line-height: 1.05;
}

@media (max-width: 1024px) {
	:root { --pas-gutter: clamp(20px, 3.2vw, 34px); }
	body:not(.home) .pas-page-hero .pas-container { grid-template-columns: 70px minmax(0, 1fr); gap: 26px; }
	.home .pas-v5-section { grid-template-columns: 86px minmax(0, 1fr); }
	.page-template-page-services .pas-sx-hero__inner { width: min(1240px, calc(100% - (var(--pas-gutter) * 2))); }
}

@media (max-width: 700px) {
	:root {
		--pas-gutter: 18px;
		--pas-section-space: 58px;
		--pas-title-page: clamp(35px, 10.2vw, 40px);
		--pas-title-section: clamp(31px, 9vw, 38px);
		--pas-title-feature: clamp(27px, 8vw, 34px);
		--pas-title-card: 22px;
	}
	body:not(.home) .pas-page-hero {
		min-height: 540px;
		padding: 100px 12px 44px;
	}
	body:not(.home) .pas-page-hero .pas-container { display: block; }
	.home .pas-v5-hero h1 { max-width: 340px; font-size: clamp(38px, 11vw, 46px); line-height: .98; }
	.home .pas-v5-section { display: block; padding: var(--pas-section-space) var(--pas-gutter); }
	.home .pas-v5-marker strong { font-size: 32px; }
	.home .pas-v5-object { display: block; min-height: 0; }
	.home .pas-v5-object__stage { width: 100%; min-height: 0; aspect-ratio: 1075 / 600; }
	.home .pas-v5-object__primary--nipa img { width: 100%; max-height: none; object-position: center; }
	.home .pas-v5-object__copy { display: grid; padding: 46px var(--pas-gutter) 58px; }
	.home .pas-v5-object__primary figcaption { right: 16px; bottom: 14px; left: 16px; }
	.home .pas-v5-object__primary figcaption span { font-size: 8px; }
	.home .pas-v5-object__primary figcaption small { font-size: 7px; }
	.home .pas-v5-object__edition { top: 16px; left: 16px; }
	.page-template-page-services .pas-sx-hero { min-height: 610px; padding-block: 106px 28px; }
	.page-template-page-services .pas-sx-hero__inner { width: calc(100% - (var(--pas-gutter) * 2)); }
	.page-template-page-services .pas-sx-hero h1 { font-size: clamp(36px, 10vw, 40px); line-height: .98; }
	.page-template-page-services .pas-sx-hero__title { padding-block: 30px; }
	.page-template-page-services :is(.pas-sx-intro, .pas-sx-core, .pas-sx-modules, .pas-sx-engagement) { padding-block: var(--pas-section-space); }
	.page-template-page-about :is(.pas-about-manifesto, .pas-about-values, .pas-about-process, .pas-about-team, .pas-about-global, .pas-about-testimonials) { padding-block: var(--pas-section-space); }
	.pas-contact-studio,
	.pas-proposal-studio { padding-block: var(--pas-section-space); }
	.pas-footer__cta h2 { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
