/*
 * World Engineering Day editorial presentation layer.
 * This file intentionally avoids event, account, partner and homepage product UI.
 */

body.wed-editorial-page {
	--wed-ink: #0b1426;
	--wed-copy: #445064;
	--wed-muted: #667085;
	--wed-accent: #eb5e24;
	--wed-accent-dark: #c94313;
	--wed-surface: #ffffff;
	--wed-surface-soft: #f5f7fa;
	--wed-line: #dfe4ea;
	--wed-shadow: 0 20px 52px rgba(11, 20, 38, 0.10);
	--wed-content: 1280px;
	background: var(--wed-surface);
	color: var(--wed-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	padding-bottom: 112px;
}

body.wed-editorial-page :where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid rgba(235, 94, 36, 0.34);
	outline-offset: 3px;
}

body.wed-editorial-page :where(img, video, iframe) {
	max-width: 100%;
}

body.wed-editorial-page :where(p, li) {
	overflow-wrap: break-word;
}

body.wed-editorial-page [data-elementor-type="wp-page"] {
	overflow: clip;
}

/* Navigation refinement */
body.wed-editorial-page .we-nav-container {
	transition: opacity 0.4s ease, visibility 0.4s, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.25s ease, box-shadow 0.25s ease !important;
}

body.wed-editorial-page.wed-page-scrolled .we-nav-container {
	box-shadow: 0 12px 30px rgba(7, 18, 36, 0.12) !important;
}

body.wed-editorial-page .we-menu-list > .we-menu-item > .we-link,
body.wed-editorial-page .we-sub-menu .we-link {
	letter-spacing: 0 !important;
}

body.wed-editorial-page .we-menu-list > .we-menu-item > .we-link:focus-visible,
body.wed-editorial-page .we-sub-menu .we-link:focus-visible {
	outline-offset: -2px;
}

/* Shared PTrans hero */
body.wed-editorial-page .ptrans-hero-wrapper,
body.wed-editorial-page .ptrans-hero-wrapper .flower-hero-header {
	height: calc(100svh - 130px) !important;
	min-height: 560px !important;
	max-height: 700px !important;
}

body.wed-editorial-page .ptrans-hero-wrapper .flower-overlay {
	background: rgba(6, 15, 29, 0.56) !important;
}

body.wed-editorial-page .ptrans-hero-wrapper .flower-hero-video {
	transform: translate(-50%, -50%) translateY(var(--wed-hero-shift, 0)) scale(1.025);
	transition: transform 0.16s linear;
}

body.wed-editorial-page .ptrans-hero-wrapper .flower-hero-content {
	box-sizing: border-box;
	width: min(900px, calc(100% - 96px)) !important;
	max-width: 900px !important;
	padding: 0 !important;
}

body.wed-editorial-page .ptrans-hero-wrapper .flower-title {
	max-width: 900px !important;
	margin: 0 auto 24px !important;
	color: #ffffff !important;
	font-size: 4.25rem !important;
	font-weight: 820 !important;
	letter-spacing: 0 !important;
	line-height: 0.98 !important;
	text-shadow: 0 3px 24px rgba(0, 0, 0, 0.34);
	text-wrap: balance;
}

body.wed-editorial-page .ptrans-hero-wrapper .flower-subhead {
	max-width: 720px !important;
	margin: 0 auto !important;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 1.08rem !important;
	font-weight: 480 !important;
	letter-spacing: 0 !important;
	line-height: 1.55 !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.44);
	text-wrap: pretty;
}

/* Shared editorial rhythm */
body.wed-editorial-page :where(
	.wed-v2-content-limiter,
	.wfeo-bal-container,
	.wfeo-sdg-container,
	.wed-media-kit-document-container,
	.sjh-contact-container,
	.wed-container,
	.wfeo-wrapper > div
) {
	letter-spacing: 0;
}

body.wed-editorial-page :where(
	.wed-v2-content-limiter,
	.wfeo-bal-container,
	.wfeo-sdg-container,
	.wed-media-kit-document-container,
	.sjh-contact-container,
	.wed-container,
	.wfeo-wrapper
) :where(h1, h2, h3, h4) {
	color: var(--wed-ink);
	font-family: inherit;
	font-weight: 780;
	letter-spacing: 0 !important;
	text-wrap: balance;
}

body.wed-editorial-page :where(
	.wed-v2-content-limiter,
	.wfeo-bal-container,
	.wfeo-sdg-container,
	.wed-media-kit-document-container,
	.sjh-contact-container,
	.wed-container,
	.wfeo-wrapper
) :where(p, li) {
	color: var(--wed-copy);
	font-size: 1.08rem;
	line-height: 1.72;
}

body.wed-editorial-page :where(
	.wed-v2-content-limiter,
	.wfeo-bal-container,
	.wfeo-sdg-container,
	.wed-media-kit-document-container,
	.sjh-contact-container,
	.wed-container,
	.wfeo-wrapper
) h2 {
	font-size: 2rem !important;
	line-height: 1.12 !important;
}

body.wed-editorial-page :where(
	.wed-v2-content-limiter,
	.wfeo-bal-container,
	.wfeo-sdg-container,
	.wed-media-kit-document-container,
	.sjh-contact-container,
	.wed-container,
	.wfeo-wrapper
) h3 {
	font-size: 1.22rem;
	line-height: 1.3;
}

body.wed-editorial-page :where(.wed-v2-wrapper, .wfeo-bal-wrapper, .wfeo-sdg-wrapper, .sjh-contact-wrapper, .wed-media-kit-wrapper) {
	background: var(--wed-surface) !important;
}

body.wed-editorial-page .wed-v2-col-text {
	padding: 92px 6% !important;
}

body.wed-editorial-page .wed-v2-content-limiter {
	max-width: 720px !important;
}

body.wed-editorial-page .wfeo-bal-container,
body.wed-editorial-page .wfeo-sdg-container,
body.wed-editorial-page .sjh-contact-container {
	max-width: var(--wed-content) !important;
	padding: 92px 40px !important;
}

body.wed-editorial-page .wfeo-bal-container {
	column-gap: 72px !important;
}

body.wed-editorial-page .wed-media-kit-wrapper {
	padding: 88px 24px 104px !important;
}

body.wed-editorial-page .wed-media-kit-document-container {
	max-width: 980px !important;
}

body.wed-editorial-page .wed-media-kit-header {
	margin-bottom: 2.25rem !important;
	padding-bottom: 1.75rem !important;
	border-bottom: 3px solid var(--wed-accent) !important;
}

body.wed-editorial-page .wed-media-kit-title {
	max-width: 760px;
	font-size: 3.5rem !important;
	line-height: 0.98 !important;
	letter-spacing: 0 !important;
}

body.wed-editorial-page .wed-media-kit-downloads-grid {
	gap: 28px !important;
}

body.wed-editorial-page .wed-media-kit-download-section {
	min-width: 0;
	padding: 26px;
	border: 1px solid var(--wed-line);
	border-radius: 8px;
	background: var(--wed-surface-soft);
}

/* Cards, quotes, buttons and controls */
body.wed-editorial-page :where(
	.wed-v2-quote-card,
	.wfeo-bal-quote-card,
	.wfeo-sdg-quote-card
) {
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 8px !important;
	box-shadow: var(--wed-shadow) !important;
}

body.wed-editorial-page :where(.bento-mini-box, .criteria-card, .challenge-card, .testimonial-block, .accordion-item) {
	border-radius: 8px !important;
}

body.wed-editorial-page :where(.bento-mini-box, .criteria-card, .challenge-card, .testimonial-block) {
	border-color: var(--wed-line) !important;
	box-shadow: 0 12px 30px rgba(11, 20, 38, 0.06);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}

@media (hover: hover) {
	body.wed-editorial-page :where(.bento-mini-box, .criteria-card, .challenge-card, .testimonial-block):hover {
		border-color: rgba(235, 94, 36, 0.32) !important;
		box-shadow: 0 20px 42px rgba(11, 20, 38, 0.11);
		transform: translateY(-3px);
	}
}

body.wed-editorial-page :where(
	a[class^="btn-"],
	a[class*=" btn-"],
	.wed-btn,
	.mad-trigger-btn,
	.wed-media-kit-download-section a,
	.wfeo-wrapper a[class*="bg-"]
) {
	box-sizing: border-box;
	min-height: 48px;
	padding: 14px 24px !important;
	border-radius: 6px !important;
	font-size: 0.88rem !important;
	font-weight: 760 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 0.24s ease, border-color 0.24s ease, color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease !important;
}

/* Media-kit modules print their button rule inline after theme styles. */
body.wed-editorial-page button.mad-trigger-btn {
	border-radius: 6px !important;
}

@media (hover: hover) {
	body.wed-editorial-page :where(
		a[class^="btn-"],
		a[class*=" btn-"],
		.wed-btn,
		.mad-trigger-btn,
		.wed-media-kit-download-section a,
		.wfeo-wrapper a[class*="bg-"]
	):hover {
		box-shadow: 0 12px 24px rgba(11, 20, 38, 0.13);
		transform: translateY(-2px);
	}
}

body.wed-editorial-page .sjh-contact-container {
	gap: 72px !important;
}

body.wed-editorial-page .sjh-contact-map-container {
	height: 560px !important;
	border: 1px solid var(--wed-line) !important;
	border-radius: 8px !important;
	box-shadow: var(--wed-shadow) !important;
}

body.wed-editorial-page .sjh-contact-wrapper .btn-row {
	gap: 12px !important;
}

body.wed-editorial-page .sjh-contact-wrapper .btn-sjh-contact {
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* Hackathon and leadership systems */
body.wed-editorial-page #wed-hackathon-scope .wed-section {
	padding-top: 88px !important;
	padding-bottom: 88px !important;
}

body.wed-editorial-page #wed-hackathon-scope .wed-container {
	max-width: var(--wed-content) !important;
	padding-inline: 40px !important;
}

body.wed-editorial-page #wed-hackathon-scope .wed-grid {
	gap: 24px !important;
}

body.wed-editorial-page #wed-hackathon-scope .accordion-header {
	min-height: 56px;
	padding: 17px 18px !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
}

body.wed-editorial-page #wed-hackathon-scope .accordion-content p {
	padding: 0 18px 18px;
	margin: 0;
}

body.wed-editorial-page .wfeo-wrapper {
	max-width: var(--wed-content);
	min-height: auto !important;
	margin: 0 auto;
	padding-bottom: 96px !important;
}

body.wed-editorial-page .wfeo-wrapper > div {
	padding-top: 88px !important;
}

body.wed-editorial-page .wfeo-wrapper .rounded-xl,
body.wed-editorial-page .wfeo-wrapper .rounded-lg {
	border-radius: 8px !important;
}

body.wed-editorial-page .wfeo-wrapper [class*="aspect-"] {
	aspect-ratio: 4 / 5;
}

body.wed-editorial-page .wfeo-wrapper [class*="aspect-"] img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

body.wed-editorial-page .wfeo-wrapper button {
	min-height: 48px;
	border-radius: 6px !important;
	letter-spacing: 0 !important;
}

/* Dock and page-end clearance */
body.wed-editorial-page .elementor-location-footer {
	min-height: 1px;
}

body.wed-editorial-page #wed-floating-dock .dock-item,
body.wed-editorial-page #wed-floating-dock .dock-label {
	letter-spacing: 0 !important;
}

/* Nomination badge remains visible on large screens but yields to content. */
body.wed-editorial-page #awwwards {
	op: 54% !important;
	opacity: 0.82;
	transform: translate(12px, -50%) scale(0.9) !important;
	transform-origin: right center;
	transition: opacity 0.24s ease, transform 0.24s ease;
}

@media (hover: hover) {
	body.wed-editorial-page #awwwards:hover {
		opacity: 1;
		transform: translate(0, -50%) scale(0.96) !important;
	}
}

/* Progressive reveal: content remains fully visible without JavaScript. */
html.wed-polish-motion body.wed-editorial-page [data-wed-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.58s ease var(--wed-reveal-delay, 0ms), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) var(--wed-reveal-delay, 0ms);
}

html.wed-polish-motion body.wed-editorial-page [data-wed-reveal].is-wed-visible {
	opacity: 1;
	transform: none;
}

@media (max-width: 1024px) {
	body.wed-editorial-page #awwwards {
		display: none !important;
	}

	body.wed-editorial-page .ptrans-hero-wrapper .flower-title {
		font-size: 3.25rem !important;
	}

	body.wed-editorial-page .wed-v2-col-text,
	body.wed-editorial-page .wfeo-bal-container,
	body.wed-editorial-page .wfeo-sdg-container,
	body.wed-editorial-page .sjh-contact-container {
		padding: 72px 32px !important;
	}

	body.wed-editorial-page .sjh-contact-container {
		gap: 44px !important;
	}

	body.wed-editorial-page .sjh-contact-map-container {
		height: 420px !important;
	}
}

@media (max-width: 767px) {
	body.wed-editorial-page {
		font-size: 16px;
		padding-bottom: 96px;
	}

	body.wed-editorial-page .we-nav-container {
		padding: 6px 16px !important;
	}

	body.wed-editorial-page .we-nav-inner {
		min-height: 62px !important;
	}

	body.wed-editorial-page .we-logo-img {
		max-width: 190px;
		max-height: 40px !important;
	}

	body.wed-editorial-page .we-mobile-trigger {
		width: 44px !important;
		height: 44px !important;
		border-radius: 6px !important;
	}

	body.wed-editorial-page .ptrans-hero-wrapper,
	body.wed-editorial-page .ptrans-hero-wrapper .flower-hero-header {
		height: calc(100svh - 150px) !important;
		min-height: 560px !important;
		max-height: 680px !important;
	}

	body.wed-editorial-page .ptrans-hero-wrapper .flower-hero-content {
		width: calc(100% - 40px) !important;
	}

	body.wed-editorial-page .ptrans-hero-wrapper .flower-title {
		max-width: 335px !important;
		margin-bottom: 18px !important;
		font-size: 2.35rem !important;
		line-height: 1 !important;
		overflow-wrap: normal;
	}

	body.wed-editorial-page .ptrans-hero-wrapper .flower-subhead {
		max-width: 325px !important;
		font-size: 0.98rem !important;
		line-height: 1.52 !important;
	}

	body.wed-editorial-page .wed-v2-col-text,
	body.wed-editorial-page .wfeo-bal-container,
	body.wed-editorial-page .wfeo-sdg-container,
	body.wed-editorial-page .sjh-contact-container {
		padding: 58px 22px !important;
	}

	body.wed-editorial-page .wed-media-kit-wrapper {
		padding: 58px 22px 82px !important;
	}

	body.wed-editorial-page .wed-media-kit-title {
		font-size: 2.4rem !important;
		line-height: 0.98 !important;
	}

	body.wed-editorial-page :where(
		.wed-v2-content-limiter,
		.wfeo-bal-container,
		.wfeo-sdg-container,
		.wed-media-kit-document-container,
		.sjh-contact-container,
		.wed-container,
		.wfeo-wrapper
	) h2 {
		font-size: 1.72rem !important;
		line-height: 1.12 !important;
	}

	body.wed-editorial-page :where(
		.wed-v2-content-limiter,
		.wfeo-bal-container,
		.wfeo-sdg-container,
		.wed-media-kit-document-container,
		.sjh-contact-container,
		.wed-container,
		.wfeo-wrapper
	) :where(p, li) {
		font-size: 1rem !important;
		line-height: 1.68 !important;
	}

	body.wed-editorial-page :where(.wed-v2-mobile-quote, .wfeo-bal-quote-card, .wfeo-sdg-quote-card) {
		margin-block: 34px !important;
	}

	body.wed-editorial-page :where(.wed-v2-quote-card, .wfeo-bal-quote-card, .wfeo-sdg-quote-card) {
		padding: 40px 24px !important;
	}

	body.wed-editorial-page :where(
		a[class^="btn-"],
		a[class*=" btn-"],
		.wed-btn,
		.mad-trigger-btn,
		.wed-media-kit-download-section a,
		.wfeo-wrapper a[class*="bg-"]
	) {
		width: 100%;
		max-width: 100%;
		padding: 14px 18px !important;
	}

	body.wed-editorial-page .wed-media-kit-downloads-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
	}

	body.wed-editorial-page .wed-media-kit-download-section {
		padding: 20px;
	}

	body.wed-editorial-page #wed-hackathon-scope .wed-section {
		padding-top: 62px !important;
		padding-bottom: 62px !important;
	}

	body.wed-editorial-page #wed-hackathon-scope .wed-container {
		padding-inline: 22px !important;
	}

	body.wed-editorial-page #wed-hackathon-scope .wed-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
	}

	body.wed-editorial-page .wfeo-wrapper {
		padding-bottom: 76px !important;
	}

	body.wed-editorial-page .wfeo-wrapper > div {
		padding-top: 58px !important;
		padding-inline: 22px !important;
	}

	body.wed-editorial-page .wfeo-wrapper .grid {
		gap: 16px !important;
	}

	body.wed-editorial-page .sjh-contact-map-container {
		height: 360px !important;
	}

	body.wed-editorial-page #wed-floating-dock {
		bottom: calc(12px + env(safe-area-inset-bottom)) !important;
		width: min(336px, calc(100vw - 24px));
	}

	body.wed-editorial-page #wed-floating-dock .wed-dock-glass {
		justify-content: space-around;
		width: 100%;
		padding: 6px 10px !important;
		gap: 2px !important;
	}

	body.wed-editorial-page #wed-floating-dock .dock-item {
		width: 58px !important;
		height: 50px !important;
	}

	body.wed-editorial-page #wed-floating-dock .dock-icon {
		width: 23px !important;
		height: 23px !important;
		min-width: 23px !important;
		min-height: 23px !important;
		margin-bottom: 4px !important;
	}

	body.wed-editorial-page #wed-floating-dock .dock-label {
		font-size: 9px !important;
	}

	body.wed-editorial-page #wed-floating-dock .dock-divider {
		height: 24px !important;
		margin-inline: 0 !important;
	}
}

@media (max-width: 390px) {
	body.wed-editorial-page .ptrans-hero-wrapper .flower-title {
		max-width: 305px !important;
		font-size: 2.12rem !important;
	}

	body.wed-editorial-page .ptrans-hero-wrapper .flower-subhead {
		max-width: 305px !important;
		font-size: 0.92rem !important;
	}
}

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

	body.wed-editorial-page .ptrans-hero-wrapper .flower-hero-video,
	html.wed-polish-motion body.wed-editorial-page [data-wed-reveal] {
		opacity: 1;
		transform: none;
	}
}
