/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.2
Version: 1.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

:root {
	--pf-black: #111111;
	--pf-red: #d7263d;
	--pf-blue: #1d4ed8;
	--pf-green: #15803d;
	--pf-surface: #ffffff;
	--pf-cream: #fbfaf7;
	--pf-ice: #f4f7ff;
	--pf-mint: #f0fbf3;
	--pf-blush: #fff0f3;
	--pf-border: rgba(17, 17, 17, 0.12);
	--pf-shadow: rgba(17, 17, 17, 0.08);
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
	outline-color: var(--pf-blue);
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
	overflow-x: auto;
}

body {
	background:
		radial-gradient(circle at top left, rgba(215, 38, 61, 0.14), transparent 28%),
		radial-gradient(circle at top right, rgba(29, 78, 216, 0.14), transparent 26%),
		radial-gradient(circle at 50% 15%, rgba(21, 128, 61, 0.1), transparent 28%),
		linear-gradient(180deg, var(--pf-cream) 0%, #ffffff 56%, var(--pf-ice) 100%);
	color: var(--pf-black);
}

.wp-site-blocks {
	padding-bottom: 0;
}

.pf-agency-main {
	overflow: clip;
}

.pf-kicker {
	margin: 0 0 0.8rem;
	color: var(--pf-red);
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.pf-site-header {
	position: sticky;
	top: 0;
	z-index: 30;
	padding-top: 1.1rem;
	padding-bottom: 1rem;
	backdrop-filter: blur(18px);
	background: red;
	border-bottom: 1px solid var(--pf-border);
}

.pf-site-header__columns {
	margin: 0;
	align-items: center;
}

.pf-brand-lockup {
	gap: 0.15rem;
}

.pf-brand-lockup__eyebrow,
.pf-site-footer__brand {
	margin: 0;
	color: var(--pf-black);
	font-family: "Vollkorn", serif;
	font-size: clamp(1.3rem, 1.5vw, 1.6rem);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.pf-brand-lockup__tagline {
	margin: 0;
	color: rgba(17, 17, 17, 0.72);
	font-size: 0.9rem;
}

.pf-site-nav .wp-block-navigation-item__content {
	color: var(--pf-black);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration-color: var(--pf-blue);
}

.pf-site-nav .wp-block-navigation-item__content:hover,
.pf-site-nav .wp-block-navigation-item__content:focus {
	color: var(--pf-black);
	text-decoration-color: var(--pf-red);
}

.pf-site-nav .current-menu-item > .wp-block-navigation-item__content,
.pf-site-nav .current_page_item > .wp-block-navigation-item__content,
.pf-site-nav .current-menu-ancestor > .wp-block-navigation-item__content,
.pf-site-nav .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--pf-black);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
	text-decoration-color: var(--pf-green);
}

.pf-header-cta .wp-block-button__link {
	background: linear-gradient(135deg, var(--pf-red), var(--pf-blue));
	color: #ffffff;
	box-shadow: 0 18px 38px rgba(29, 78, 216, 0.22);
}

.pf-header-cta .wp-block-button__link:hover,
.pf-header-cta .wp-block-button__link:focus {
	box-shadow: 0 18px 38px rgba(215, 38, 61, 0.24);
	transform: translateY(-1px);
}

.pf-hero-section {
	position: relative;
	padding-top: clamp(4rem, 8vw, 7rem);
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.pf-hero-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 12% 10%, rgba(215, 38, 61, 0.2), transparent 22%),
		radial-gradient(circle at 84% 14%, rgba(29, 78, 216, 0.18), transparent 20%),
		radial-gradient(circle at 50% 100%, rgba(21, 128, 61, 0.14), transparent 30%),
		linear-gradient(135deg, #ffffff 0%, #f9fbff 50%, #f7fff9 100%);
	border-radius: 0 0 38px 38px;
}

.pf-hero-grid,
.pf-client-strip,
.pf-section,
.pf-site-footer {
	position: relative;
	z-index: 1;
}

.pf-hero-grid {
	margin: 0;
	padding: clamp(2rem, 4vw, 3rem);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	color: var(--pf-black);
}

.pf-hero-panel__image,
.pf-home-hero__image {
	margin-bottom: 1rem;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 22px 60px var(--pf-shadow);
}

.pf-hero-panel__image img,
.pf-home-hero__image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.pf-hero-copy > * {
	position: relative;
	z-index: 1;
}

.pf-hero-title {
	margin: 0;
	max-width: 11ch;
	font-size: clamp(3.4rem, 7vw, 6.2rem);
	line-height: 0.95;
	color: var(--pf-black);
}

.pf-hero-title--accent {
	color: var(--pf-green);
}

.pf-hero-summary {
	max-width: 36rem;
	margin: 0;
	color: rgba(17, 17, 17, 0.82);
}

.pf-hero-actions {
	margin-top: 1.5rem;
}

.pf-hero-actions .wp-block-button__link,
.pf-cta-card .wp-block-button__link {
	min-width: 12rem;
	justify-content: center;
}

.pf-hero-actions .wp-block-button__link {
	background: #ffffff;
	color: var(--pf-black);
	border: 1px solid rgba(29, 78, 216, 0.2);
	box-shadow: 0 10px 24px rgba(17, 17, 17, 0.08);
}

.pf-hero-actions .is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba(215, 38, 61, 0.3);
}

.pf-hero-metrics {
	margin-top: 2.3rem;
	gap: 1rem;
}

.pf-hero-metrics > .wp-block-column {
	padding: 1.2rem 1.1rem 0 0;
	border-top: 1px solid rgba(17, 17, 17, 0.16);
}

.pf-metric-value {
	margin: 0;
	font-family: "Vollkorn", serif;
	font-size: clamp(2rem, 3vw, 2.8rem);
	font-weight: 700;
	line-height: 1;
	color: var(--pf-black);
}

.pf-metric-label {
	margin: 0.35rem 0 0;
	max-width: 14ch;
	color: rgba(17, 17, 17, 0.68);
	font-size: 0.92rem;
}

.pf-hero-panel {
	padding: clamp(1.6rem, 3vw, 2rem);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(244, 247, 255, 0.96));
	border: 1px solid rgba(17, 17, 17, 0.12);
	border-radius: 28px;
	box-shadow: 0 26px 60px rgba(17, 17, 17, 0.08);
	backdrop-filter: blur(12px);
}

.pf-hero-panel h3,
.pf-hero-panel p,
.pf-about-panel h3,
.pf-about-panel p,
.pf-cta-card h3,
.pf-cta-card p {
	margin-top: 0;
}

.pf-hero-panel__eyebrow,
.pf-cta-card__label {
	margin: 0;
	color: var(--pf-blue);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.pf-feature-list {
	margin: 0;
	padding-left: 1.15rem;
}

.pf-feature-list li::marker {
	color: var(--pf-green);
}

.pf-client-strip {
	margin-top: 1.8rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.2rem);
	padding: 1rem clamp(1rem, 3vw, 1.6rem);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(17, 17, 17, 0.08);
	border-radius: 24px;
	box-shadow: 0 18px 48px rgba(17, 17, 17, 0.06);
}

.pf-client-strip__label {
	margin: 0 0 0.6rem;
	color: rgba(17, 17, 17, 0.66);
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.pf-client-strip__grid {
	margin: 0;
	gap: 0.8rem;
}

.pf-client-strip__grid p {
	margin: 0;
	color: var(--pf-black);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pf-section {
	padding-top: clamp(3rem, 6vw, 5rem);
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

.pf-section-heading {
	margin-bottom: 2rem;
}

.pf-service-grid,
.pf-about-grid,
.pf-cta-grid {
	margin: 0;
}

.pf-service-card,
.pf-about-panel,
.pf-cta-card {
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2rem);
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(17, 17, 17, 0.12);
	border-radius: 26px;
	box-shadow: 0 24px 60px rgba(17, 17, 17, 0.08);
}

.pf-service-card {
	border-top: 4px solid var(--pf-red);
}

.pf-service-card__index {
	margin: 0 0 0.75rem;
	color: var(--pf-blue);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.pf-services-section,
.pf-about-section {
	position: relative;
}

.pf-services-section::before,
.pf-about-section::before {
	content: "";
	position: absolute;
	inset: 1rem 0;
	z-index: 0;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 32px;
}

.pf-about-grid {
	position: relative;
	z-index: 1;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.pf-about-panel {
	background: linear-gradient(180deg, #ffffff 0%, #f7fff9 100%);
	color: var(--pf-black);
}

.pf-about-panel .pf-feature-list li::marker {
	color: var(--pf-blue);
}

.pf-cta-section {
	padding-bottom: clamp(4rem, 8vw, 6rem);
}

.pf-cta-grid {
	padding: clamp(2rem, 4vw, 2.8rem);
	background: linear-gradient(135deg, #ffffff 0%, #f8fbff 50%, #f7fff9 100%);
	border: 1px solid rgba(17, 17, 17, 0.1);
	border-radius: 32px;
	box-shadow: 0 28px 70px rgba(17, 17, 17, 0.08);
}

.pf-cta-card {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 240, 243, 0.75)),
		#ffffff;
	border-top: 4px solid var(--pf-green);
}

.pf-site-footer {
	padding-top: clamp(2.4rem, 5vw, 3.4rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
	background:
		linear-gradient(90deg, rgba(215, 38, 61, 0.08), rgba(29, 78, 216, 0.08), rgba(21, 128, 61, 0.08)),
		#ffffff;
	color: rgba(17, 17, 17, 0.78);
	border-top: 1px solid var(--pf-border);
	border-radius: 34px 34px 0 0;
}

.pf-site-footer :is(h1, h2, h3, h4, h5, h6, a) {
	color: var(--pf-black);
}

.pf-site-footer__top,
.pf-site-footer__bottom {
	margin: 0;
}

.pf-site-footer h5 {
	margin-bottom: 0.65rem;
	font-size: 0.98rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pf-site-footer ul {
	margin: 0;
	padding-left: 1.1rem;
}

.pf-site-footer .wp-block-separator {
	margin-top: 2rem;
	margin-bottom: 1.4rem;
	border-color: rgba(17, 17, 17, 0.12);
}

.pf-site-footer .wp-social-link {
	background: transparent;
}

@media (max-width: 900px) {
	.pf-site-header {
		position: relative;
	}

	.pf-site-header__columns,
	.pf-hero-grid,
	.pf-client-strip__grid,
	.pf-service-grid,
	.pf-about-grid,
	.pf-cta-grid,
	.pf-site-footer__top,
	.pf-site-footer__bottom {
		gap: 1.25rem;
	}

	.pf-hero-title {
		max-width: none;
	}

	.pf-hero-metrics > .wp-block-column {
		padding-right: 0;
	}

	.pf-site-nav {
		justify-content: flex-start;
	}

	.pf-site-footer {
		border-radius: 28px 28px 0 0;
	}
}

@media (max-width: 600px) {
	.pf-hero-section::before,
	.pf-services-section::before,
	.pf-about-section::before,
	.pf-cta-grid,
	.pf-site-footer {
		border-radius: 22px;
	}

	.pf-hero-grid,
	.pf-cta-grid {
		padding: 1.4rem;
	}

	.pf-hero-title {
		font-size: clamp(2.6rem, 13vw, 3.5rem);
	}

	.pf-client-strip,
	.pf-site-header,
	.pf-site-footer {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
