/*
Theme Name: Envy Creative
Theme URI: https://envycreative.net
Author: Envy Creative
Author URI: https://envycreative.net
Description: A minimal one-page block theme for Envy Creative, a web design and branding studio in Milwaukee, Wisconsin.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: envy-creative
*/

/* ---------- Page frame ---------- */

.wp-site-blocks {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.envy-main {
	flex-grow: 1;
}

a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* ---------- Header ---------- */

.envy-header__inner {
	padding-block: 40px 0;
	gap: 16px;
	align-items: center;
}

.envy-logo {
	margin: 0;
}

.envy-logo img {
	display: block;
	height: 48px;
	width: auto;
}

.envy-header__email {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

.envy-header__email a {
	display: inline-block;
	padding-block: 12px;
	text-decoration: none;
}

/* ---------- Hero ---------- */

.envy-hero {
	padding-block: clamp(64px, 9vw, 104px) clamp(48px, 7vw, 80px);
}

.envy-hero > * {
	margin-block: 0;
}

.envy-hero > * + * {
	margin-block-start: 32px;
}

.envy-accent-bar {
	width: 72px;
	height: 10px;
	margin-inline-start: 4px;
	background: var(--wp--preset--color--lime);
	transform: skewX(-30deg);
}

.envy-hero__title {
	max-width: 20ch;
	font-size: var(--wp--preset--font-size--hero);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.envy-hero__lead {
	max-width: 40rem;
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--muted);
}

/* ---------- Services ---------- */

.wp-block-columns.envy-services {
	gap: 40px;
	margin-block: 0;
	padding-block: 56px clamp(64px, 8vw, 96px);
	border-top: 1px solid var(--wp--preset--color--rule);
}

.envy-services .wp-block-column > * {
	margin-block: 0;
}

.envy-services .wp-block-column > * + * {
	margin-block-start: 12px;
}

.envy-services__title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
}

.envy-services p {
	font-size: 16px;
	color: var(--wp--preset--color--muted);
}

/* ---------- Contact band ---------- */

.envy-cta {
	padding-block: clamp(64px, 8vw, 88px);
	background: var(--wp--preset--color--slate);
	color: var(--wp--preset--color--paper);
}

.envy-cta__inner > * {
	margin-block: 0;
}

.envy-cta__inner > * + * {
	margin-block-start: 20px;
}

.envy-cta__inner > .envy-cta__email {
	margin-block-start: 32px;
}

.envy-cta__title {
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--paper);
}

.envy-cta__lead {
	max-width: 36rem;
	color: var(--wp--preset--color--mist);
}

.envy-cta__email a {
	display: inline-block;
	padding-block: 8px;
	border-bottom: 3px solid var(--wp--preset--color--lime);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 700;
	line-height: 1.2;
	color: var(--wp--preset--color--lime);
	text-decoration: none;
}

.envy-cta__email a:hover {
	color: var(--wp--preset--color--paper);
	border-color: var(--wp--preset--color--paper);
}

/* ---------- Footer ---------- */

.envy-footer {
	background: var(--wp--preset--color--slate-deep);
	color: var(--wp--preset--color--fog);
	font-size: 14px;
}

.envy-footer__inner {
	padding-block: 28px;
	gap: 12px;
}

.envy-footer p {
	margin: 0;
}

.envy-footer a {
	color: var(--wp--preset--color--fog);
	text-decoration: none;
}

.envy-footer a:hover {
	color: var(--wp--preset--color--paper);
}
