/*
Theme Name: Juan Quintero Abogado
Author: Proyecto Juan Quintero Abogado
Description: Tema nativo de bloques para la identidad y los servicios jurídicos y empresariales de Juan Quintero Abogado.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.4.0
Text Domain: jqg-theme
*/

:root {
	--jqg-shadow-sm: 0 0.5rem 1.75rem rgb(36 32 31 / 8%);
	--jqg-shadow-md: 0 1rem 2.5rem rgb(79 0 0 / 11%);
	--jqg-shadow-lg: 0 1.5rem 4rem rgb(84 18 18 / 16%);
	--jqg-radius-sm: 0.5rem;
	--jqg-radius-md: 1rem;
	--jqg-radius-lg: 1.5rem;
	--jqg-warm-white: #faf9f7;
	--jqg-ivory: #f7f4f2;
	--jqg-warm-gray: #f0ebe9;
	--jqg-motion-fast: 180ms;
	--jqg-motion-medium: 420ms;
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
	background: var(--jqg-warm-white);
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 0.2rem solid var(--wp--preset--color--white);
	outline-offset: 0.25rem;
	box-shadow: 0 0 0 0.42rem var(--wp--preset--color--wine);
}

.wp-site-blocks {
	min-height: 100vh;
}

.jqg-site-header {
	position: relative;
	z-index: 10;
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: rgb(250 249 247 / 96%);
	box-shadow: 0 0.35rem 1.5rem rgb(36 32 31 / 5%);
}

.jqg-site-header__inner {
	gap: var(--wp--preset--spacing--40);
	min-height: 5.25rem;
}

.jqg-brand {
	min-width: min(21rem, 54vw);
}

.jqg-brand__logo,
.jqg-footer-logo {
	flex: 0 0 auto;
	margin: 0;
}

.jqg-brand__logo img,
.jqg-footer-logo img {
	display: block;
	width: clamp(12rem, 23vw, 20.5rem);
	height: auto;
	object-fit: contain;
}

.jqg-footer-logo img {
	width: min(100%, 19rem);
}

.jqg-site-header .wp-block-navigation-item__content {
	position: relative;
	padding: 0.5rem 0.2rem;
	background-image: linear-gradient(var(--wp--preset--color--wine), var(--wp--preset--color--wine));
	background-position: left calc(100% - 0.15rem);
	background-repeat: no-repeat;
	background-size: 0 0.13rem;
	text-decoration: none;
	transition: color var(--jqg-motion-fast) ease, background-size var(--jqg-motion-fast) ease;
}

.jqg-site-header .wp-block-navigation-item__content:hover,
.jqg-site-header .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--wine);
	background-size: 100% 0.13rem;
}

.jqg-section {
	padding-block: clamp(2.25rem, 3.5vw, 3.5rem);
}

.jqg-section > .alignwide {
	box-sizing: border-box;
	width: min(calc(100% - (2 * var(--wp--preset--spacing--40))), 80rem);
	max-width: none;
	margin-inline: auto;
}

.jqg-section--compact {
	padding-block: clamp(2rem, 3vw, 3rem);
}

.jqg-section--warm-white {
	background: var(--jqg-warm-white);
}

.jqg-section--ivory {
	background: var(--jqg-ivory);
}

.jqg-section--warm-gray {
	background: var(--jqg-warm-gray);
}

.jqg-eyebrow {
	margin-bottom: 1rem;
	color: var(--wp--preset--color--wine);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.jqg-kicker {
	max-width: 56rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
}

.jqg-hero {
	min-height: min(34rem, calc(100vh - 7rem));
	display: flex;
	align-items: center;
	padding-block: clamp(1.5rem, 2.5vw, 2.5rem);
	background: var(--jqg-warm-white);
}

.jqg-hero__grid {
	position: relative;
	min-height: clamp(28rem, 38vw, 34rem);
	align-items: center !important;
	gap: 0 !important;
	overflow: hidden;
	border-radius: var(--jqg-radius-lg);
	background: var(--jqg-warm-white);
	box-shadow: var(--jqg-shadow-sm);
	isolation: isolate;
}

.jqg-hero__grid > .wp-block-column:last-child {
	position: static;
}

.jqg-hero__copy {
	position: relative;
	z-index: 2;
	padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 3vw, 3.25rem) clamp(2rem, 4vw, 4rem) clamp(1.5rem, 4vw, 4rem);
}

.jqg-hero h1 {
	max-width: 13ch;
	margin-top: 0;
	font-size: clamp(2.75rem, 4.7vw, 4.9rem);
	letter-spacing: -0.045em;
	line-height: 0.94;
}

.jqg-hero .jqg-eyebrow,
.jqg-hero h1,
.jqg-hero__lead,
.jqg-hero .wp-block-buttons {
	animation: jqg-hero-enter var(--jqg-motion-medium) both ease-out;
}

.jqg-hero h1 {
	animation-delay: 70ms;
}

.jqg-hero__lead {
	animation-delay: 140ms;
}

.jqg-hero .wp-block-buttons {
	animation-delay: 210ms;
}

.jqg-hero__lead {
	max-width: 42rem;
	color: var(--wp--preset--color--muted);
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	line-height: 1.55;
}

.jqg-media-placeholder {
	position: relative;
	overflow: hidden;
	border-radius: var(--jqg-radius-lg);
	background:
		linear-gradient(90deg, rgb(30 19 18 / 82%), rgb(114 0 0 / 55%)),
		repeating-linear-gradient(90deg, transparent 0 12%, rgb(255 255 255 / 6%) 12% 13%),
		linear-gradient(145deg, #342321, var(--wp--preset--color--wine));
	box-shadow: var(--jqg-shadow-lg);
	color: var(--wp--preset--color--white);
	isolation: isolate;
}

.jqg-media-placeholder::before,
.jqg-media-placeholder::after {
	position: absolute;
	content: "";
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 50%;
}

.jqg-media-placeholder::before {
	width: 18rem;
	height: 18rem;
	top: -7rem;
	right: -5rem;
	border-width: 3rem;
	border-color: rgb(255 255 255 / 8%);
}

.jqg-media-placeholder::after {
	width: 18rem;
	height: 18rem;
	bottom: -10rem;
	left: -6rem;
}

.jqg-media-placeholder > * {
	position: relative;
	z-index: 1;
}

.jqg-hero__media {
	position: absolute;
	inset: 0 0 0 32%;
	z-index: 0;
	width: auto;
	height: 100%;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 0;
	box-shadow: none;
	clip-path: none;
	isolation: isolate;
}

.jqg-hero__media::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		90deg,
		var(--jqg-warm-white) 0%,
		rgb(250 249 247 / 98%) 9%,
		rgb(250 249 247 / 88%) 20%,
		rgb(250 249 247 / 52%) 35%,
		rgb(250 249 247 / 12%) 51%,
		transparent 64%
	);
	content: "";
	pointer-events: none;
}

.jqg-hero__media img,
.jqg-service-line__image img,
.jqg-profile-card__media img,
.jqg-featured__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jqg-hero__media img {
	position: absolute;
	inset: 0;
	object-position: 60% center;
}

.jqg-media-placeholder__eyebrow,
.jqg-media-placeholder__label {
	margin: 0;
	color: var(--wp--preset--color--pale-rose);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.jqg-media-placeholder__caption {
	max-width: 28rem;
	margin: 0 !important;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(255 255 255 / 35%);
}

.jqg-media-placeholder__caption p {
	color: var(--wp--preset--color--pale-rose);
}

.jqg-service-lines__grid {
	margin-top: clamp(1.75rem, 3vw, 2.75rem);
}

.jqg-service-lines__title {
	max-width: 30ch;
	font-size: clamp(2.25rem, 3.8vw, 3.75rem) !important;
	line-height: 1.02;
}

.jqg-section > .alignwide > :is(.jqg-eyebrow, .wp-block-heading, .jqg-kicker) {
	box-sizing: border-box;
	width: 100%;
	max-width: 60rem;
	margin-inline: 0 auto !important;
}

.jqg-service-line {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	padding: 0;
	overflow: hidden;
}

.jqg-service-line__content {
	display: flex;
	flex-direction: column;
	padding: clamp(1.4rem, 2.5vw, 2rem);
}

.jqg-service-line__content .jqg-service-card__action {
	margin-top: auto;
}

.jqg-service-line__image {
	position: relative;
	min-height: 13rem;
	margin: 0;
	overflow: hidden;
	background: var(--wp--preset--color--pale-rose);
}

.jqg-service-line__image img {
	object-position: center;
}

.jqg-media-placeholder--service {
	min-height: 13rem;
	padding: 1.25rem;
	border-radius: 0;
	box-shadow: none;
}

.jqg-media-placeholder--business {
	background:
		linear-gradient(90deg, rgb(63 51 49 / 70%), rgb(114 0 0 / 42%)),
		repeating-linear-gradient(135deg, transparent 0 14%, rgb(255 255 255 / 7%) 14% 15%),
		linear-gradient(145deg, #554846, var(--wp--preset--color--rose-accent));
}

.jqg-card-grid,
.jqg-profile-grid,
.jqg-service-grid,
.jqg-steps {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
	align-items: stretch;
}

:is(
	.jqg-card-grid,
	.jqg-profile-grid,
	.jqg-service-grid,
	.jqg-steps,
	.jqg-featured-layout,
	.jqg-contact-grid,
	.jqg-future-channels,
	.jqg-contact-options-preview__grid,
	.jqg-directory-grid
) > * {
	margin-block: 0 !important;
}

.jqg-section :is(.jqg-card-grid, .jqg-profile-grid, .jqg-service-section, .jqg-service-grid, .jqg-steps, .jqg-experience__grid) {
	width: 100%;
	max-width: none !important;
}

.jqg-card,
.jqg-profile-card,
.jqg-service-card,
.jqg-step {
	height: 100%;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--jqg-radius-md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--jqg-shadow-sm);
	transition: transform var(--jqg-motion-fast) ease, box-shadow var(--jqg-motion-fast) ease, border-color var(--jqg-motion-fast) ease;
}

.jqg-card.jqg-service-line {
	padding: 0;
}

@media (hover: hover) and (pointer: fine) {
	.jqg-card:hover,
	.jqg-profile-card:hover,
	.jqg-service-card:hover,
	.jqg-step:hover,
	.jqg-directory-card:hover,
	.jqg-contact-channel:hover,
	.jqg-future-channel:hover {
		transform: translateY(-0.22rem);
		border-color: rgb(114 0 0 / 32%);
		box-shadow: var(--jqg-shadow-md);
	}
}

.jqg-card:focus-within,
.jqg-profile-card:focus-within,
.jqg-service-card:focus-within,
.jqg-directory-card:focus-within,
.jqg-contact-channel:focus-within {
	border-color: var(--wp--preset--color--wine);
	box-shadow: var(--jqg-shadow-md);
}

.jqg-card--wine {
	border-color: var(--wp--preset--color--wine);
	background: var(--wp--preset--color--wine);
	color: var(--wp--preset--color--white);
}

.jqg-card--wine :where(h2, h3, p, a) {
	color: inherit;
}

.jqg-card__icon,
.jqg-step__icon,
.jqg-profile-card__marker {
	display: inline-grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	margin-bottom: 1.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--pale-rose);
	color: var(--wp--preset--color--wine);
	font-weight: 800;
}

.jqg-card__icon::before,
.jqg-step__icon::before {
	width: 1.55rem;
	height: 1.55rem;
	background: currentcolor;
	content: "";
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.jqg-card__icon--legal::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/scales.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/scales.svg");
}

.jqg-card__icon--business::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/organization.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/organization.svg");
}

.jqg-step__icon--contact::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/conversation.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/conversation.svg");
}

.jqg-step__icon--review::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/review.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/review.svg");
}

.jqg-step__icon--agreement::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/agreement.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/agreement.svg");
}

.jqg-step {
	display: flex;
	flex-direction: column;
	padding: clamp(1.4rem, 2.6vw, 2.25rem);
}

.jqg-step > * {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin-inline: 0 !important;
}

.jqg-step > .jqg-step__icon {
	width: 3rem;
	margin: 0 0 1.25rem !important;
}

.jqg-step > .wp-block-heading {
	margin-block: 0 0.65rem !important;
	line-height: 1.12;
}

.jqg-step > .wp-block-heading + p {
	margin-top: 0 !important;
}

.jqg-card--wine .jqg-card__icon {
	background: rgb(255 255 255 / 15%);
	color: var(--wp--preset--color--white);
}

.jqg-attributes {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	margin-top: var(--wp--preset--spacing--50);
}

.jqg-attribute {
	position: relative;
	padding: 1.1rem 1.2rem 1.1rem 3rem;
	border-left: 0.22rem solid var(--wp--preset--color--wine);
	border-radius: 0 var(--jqg-radius-sm) var(--jqg-radius-sm) 0;
	background: rgb(255 255 255 / 82%);
	box-shadow: 0 0.4rem 1.2rem rgb(36 32 31 / 5%);
	font-weight: 650;
}

.jqg-attribute::before {
	position: absolute;
	top: 50%;
	left: 1.15rem;
	width: 0.65rem;
	height: 0.65rem;
	border: 0.16rem solid var(--wp--preset--color--wine);
	border-radius: 50%;
	content: "";
	transform: translateY(-50%);
}

.jqg-profile-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	min-height: 100%;
	padding: 0;
	overflow: hidden;
}

.jqg-profile-card__media {
	position: relative;
	min-height: 18rem;
	margin: 0;
	overflow: hidden;
	background: var(--wp--preset--color--pale-rose);
}

.jqg-profile-card__media img {
	position: absolute;
	inset: 0;
	object-position: center 24%;
}

.jqg-profile-card__content {
	display: flex;
	flex-direction: column;
	padding: clamp(1.4rem, 2.5vw, 2rem);
}

.jqg-profile-card__content p:not(.jqg-profile-card__role, .jqg-service-card__action) {
	line-height: 1.5;
}

.jqg-profile-card__content .jqg-service-card__action {
	margin-top: auto;
}

.jqg-profile-card__role {
	margin-top: -0.5rem;
	color: var(--wp--preset--color--wine);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.jqg-service-section + .jqg-service-section {
	margin-top: clamp(3rem, 5vw, 5rem);
}

.jqg-service-section > :is(.wp-block-heading, .jqg-service-section__intro, .jqg-service-grid) {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin-inline: 0 !important;
}

.jqg-service-section > .wp-block-heading {
	color: var(--wp--preset--color--wine);
	font-size: clamp(1.8rem, 2.8vw, 2.65rem) !important;
}

.jqg-service-section__intro {
	max-width: 52rem !important;
	margin-top: 0.65rem !important;
	color: var(--wp--preset--color--muted);
}

.jqg-service-card--featured {
	border: 2px solid var(--wp--preset--color--wine);
	background: linear-gradient(145deg, var(--wp--preset--color--white), var(--wp--preset--color--pale-rose));
}

.jqg-service-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: clamp(1.35rem, 2.2vw, 2rem);
}

.jqg-service-card > :not(.jqg-service-card__icon) {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin-inline: 0 !important;
}

.jqg-service-card h4 {
	margin-top: 1.25rem !important;
	font-size: clamp(1.35rem, 1.2rem + 0.45vw, 1.8rem) !important;
	line-height: 1.08;
}

.jqg-directory-card h3::after {
	display: block;
	width: 2.5rem;
	height: 0.16rem;
	margin-top: 0.8rem;
	background: var(--wp--preset--color--wine);
	content: "";
}

.jqg-service-card__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	min-height: 3rem;
	place-items: center;
	margin: 0 !important;
	border: 1px solid rgb(114 0 0 / 12%);
	border-radius: 50%;
	background: var(--wp--preset--color--pale-rose);
	color: var(--wp--preset--color--wine);
}

.jqg-service-card__icon::before {
	width: 1.55rem;
	height: 1.55rem;
	background: currentcolor;
	content: "";
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.jqg-service-card__icon--labor::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/briefcase.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/briefcase.svg");
}

.jqg-service-card__icon--pension::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/pension.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/pension.svg");
}

.jqg-service-card__icon--civil::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/contract.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/contract.svg");
}

.jqg-service-card__icon--family::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/family.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/family.svg");
}

.jqg-service-card__icon--constitutional::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/constitution.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/constitution.svg");
}

.jqg-service-card__icon--payroll::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/payroll.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/payroll.svg");
}

.jqg-service-card__icon--people::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/people.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/people.svg");
}

.jqg-service-card__icon--medical::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/medical.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/medical.svg");
}

.jqg-service-card__icon--administration::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/administration.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/administration.svg");
}

.jqg-service-card p:last-child,
.jqg-step p:last-child {
	margin-bottom: 0;
}

.jqg-service-card__action {
	margin-top: auto !important;
	padding-top: 1.25rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 750;
}

.jqg-service-card--pending {
	border-style: dashed;
	background: var(--wp--preset--color--pale-rose);
}

.jqg-experience {
	background:
		radial-gradient(circle at 90% 10%, rgb(178 75 75 / 22%), transparent 24rem),
		var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.jqg-experience :where(h2, h3, p) {
	color: inherit;
}

.jqg-experience__grid {
	gap: clamp(1.25rem, 3vw, 2.5rem) !important;
	margin-top: clamp(2rem, 4vw, 3.5rem);
}

.jqg-experience__panel {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: var(--jqg-radius-md);
	background: rgb(255 255 255 / 5%);
}

.jqg-featured-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: stretch;
}

.jqg-featured {
	position: relative;
	overflow: hidden;
	border-radius: var(--jqg-radius-lg);
	background:
		radial-gradient(circle at 86% 22%, rgb(255 255 255 / 13%), transparent 16rem),
		linear-gradient(120deg, var(--wp--preset--color--wine), #4f0000);
	box-shadow: var(--jqg-shadow-lg);
	color: var(--wp--preset--color--white);
}

.jqg-featured :where(h2, p) {
	color: inherit;
}

.jqg-featured__inner {
	padding: clamp(1.75rem, 3vw, 2.75rem);
}

.jqg-featured__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
}

.jqg-featured__media {
	min-height: 18rem;
	margin: 0;
	overflow: hidden;
	border-radius: 0;
	background: #4f0000;
}

.jqg-featured__media img {
	object-position: 62% center;
}

.jqg-why {
	padding: clamp(2rem, 4vw, 3.5rem);
	border: 1px solid rgb(114 0 0 / 14%);
	border-radius: var(--jqg-radius-lg);
	background: var(--jqg-ivory);
}

.jqg-why .jqg-attributes {
	grid-template-columns: minmax(0, 1fr);
	margin-top: 2rem;
}

.jqg-why h2 {
	font-size: clamp(1.9rem, 2.7vw, 2.65rem) !important;
}

.jqg-contact-panel {
	position: relative;
	overflow: hidden;
	border-radius: var(--jqg-radius-lg);
	border: 1px solid rgb(114 0 0 / 12%);
	background: var(--wp--preset--color--white);
	box-shadow: var(--jqg-shadow-md);
}

.jqg-contact-shell {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
}

.jqg-contact-shell > * {
	margin-block: 0 !important;
}

.jqg-contact-intro,
.jqg-contact-directory {
	box-sizing: border-box;
	padding: clamp(1.75rem, 5vw, 4rem);
}

.jqg-contact-intro {
	background:
		radial-gradient(circle at 100% 0, rgb(255 255 255 / 16%), transparent 18rem),
		linear-gradient(135deg, var(--wp--preset--color--wine), #4f0000);
	color: var(--wp--preset--color--white);
}

.jqg-contact-intro :where(h2, p) {
	color: inherit;
}

.jqg-contact-intro h2 {
	max-width: 13ch;
	font-size: clamp(2.2rem, 4vw, 4rem) !important;
	line-height: 1;
}

.jqg-contact-intro__notice {
	max-width: 38rem;
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	padding: 1rem 1.1rem;
	border-left: 0.2rem solid rgb(255 255 255 / 75%);
	background: rgb(255 255 255 / 10%);
	font-size: 0.95rem;
}

.jqg-contact-directory {
	background:
		radial-gradient(circle at 100% 0, rgb(178 75 75 / 10%), transparent 18rem),
		var(--jqg-ivory);
}

.jqg-contact-directory > .wp-block-heading {
	max-width: 18ch;
	margin-top: 0.45rem;
	font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
}

.jqg-contact-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.75rem;
	align-items: stretch;
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.jqg-contact-channel {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	padding: 1rem 1.1rem;
	border: 1px solid rgb(114 0 0 / 18%);
	border-radius: var(--jqg-radius-sm);
	background: rgb(255 255 255 / 88%);
	box-shadow: 0 0.35rem 1rem rgb(36 32 31 / 5%);
	transition: transform var(--jqg-motion-fast) ease, box-shadow var(--jqg-motion-fast) ease, border-color var(--jqg-motion-fast) ease;
}

.jqg-contact-channel__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	margin: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--pale-rose);
	color: var(--wp--preset--color--wine);
}

.jqg-contact-channel__icon::before {
	width: 1.5rem;
	height: 1.5rem;
	background: currentcolor;
	content: "";
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.jqg-contact-channel--legal .jqg-contact-channel__icon::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/scales.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/scales.svg");
}

.jqg-contact-channel--business .jqg-contact-channel__icon::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/organization.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/organization.svg");
}

.jqg-contact-channel--institutional .jqg-contact-channel__icon::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/agreement.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/agreement.svg");
}

.jqg-contact-channel__copy,
.jqg-contact-channel__copy > * {
	margin-block: 0 !important;
}

.jqg-contact-channel__copy h4 {
	margin-bottom: 0.2rem !important;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 750;
}

.jqg-contact-channel a {
	overflow-wrap: anywhere;
	color: var(--wp--preset--color--wine);
	font-size: 0.95rem;
	font-weight: 700;
}

.jqg-contact-status,
.jqg-future-channels,
.jqg-contact-options-preview__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	align-items: stretch;
	margin-top: var(--wp--preset--spacing--50);
}

.jqg-contact-status {
	margin: 0 !important;
	padding: 1rem clamp(1.25rem, 4vw, 2.5rem);
	border-top: 1px solid var(--wp--preset--color--line);
	background: var(--jqg-warm-white);
}

.jqg-contact-status .jqg-future-channel {
	display: block;
	padding: 0.65rem 0;
	border: 0;
	background: transparent;
	transition: none;
}

.jqg-contact-status .jqg-future-channel__status {
	margin-bottom: 0.5rem;
}

.jqg-contact-status .jqg-future-channel:hover {
	transform: none;
	box-shadow: none;
}

.jqg-future-channel {
	padding: 1.25rem;
	border: 1px dashed rgb(114 0 0 / 38%);
	border-radius: var(--jqg-radius-sm);
	background: rgb(250 249 247 / 82%);
	transition: transform var(--jqg-motion-fast) ease, box-shadow var(--jqg-motion-fast) ease, border-color var(--jqg-motion-fast) ease;
}

.jqg-contact-status .jqg-future-channel p {
	margin: 0;
	font-size: 0.88rem;
}

.jqg-future-channel > :last-child {
	margin-bottom: 0;
}

.jqg-future-channel__status {
	display: inline-block;
	margin: 0 0 0.75rem;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--pale-rose);
	color: var(--wp--preset--color--wine);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.jqg-contact-panel > .jqg-provisional {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0.65rem 1rem;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.jqg-privacy-draft {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.jqg-privacy-draft__pending {
	padding: 1rem 1.25rem;
	border-left: 0.25rem solid var(--wp--preset--color--wine);
	background: var(--wp--preset--color--pale-rose);
}

.jqg-provisional {
	display: inline-block;
	margin: 0 0 1rem;
	padding: 0.35rem 0.65rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	color: var(--wp--preset--color--wine);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.jqg-inner-page {
	min-height: 60vh;
	padding-block: clamp(3.5rem, 8vw, 7rem);
	background:
		radial-gradient(circle at 88% 8%, rgb(173 158 158 / 20%), transparent 24rem),
		linear-gradient(180deg, var(--jqg-warm-white), var(--jqg-ivory));
}

.jqg-inner-page--landing {
	padding-block: clamp(2.25rem, 4.5vw, 4rem);
}

.jqg-inner-page--landing .wp-block-post-content > .jqg-about-page {
	margin-top: 0;
}

.jqg-inner-page > .wp-block-group.alignwide {
	width: min(100%, 80rem);
}

.jqg-inner-page .wp-block-post-content > :where(p, ul) {
	max-width: 70ch;
}

.jqg-inner-page > .wp-block-group > .wp-block-post-title {
	max-width: 16ch;
	margin-bottom: var(--wp--preset--spacing--40);
}

.jqg-inner-page__lead {
	max-width: 48rem;
	color: var(--wp--preset--color--muted);
}

.jqg-inner-page .wp-block-post-content > :where(h2, .wp-block-group) {
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
}

.jqg-inner-page .wp-block-post-content > h2 + :where(p, ul, .wp-block-group) {
	margin-top: 1rem;
}

.jqg-inner-page .wp-block-post-content > h2 {
	padding-top: 1rem;
	border-top: 1px solid rgb(114 0 0 / 16%);
}

.jqg-about-page {
	display: grid;
	gap: 0;
	width: 100%;
}

.jqg-about-page > * {
	margin-block: 0;
}

.jqg-about-hero {
	display: grid;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--jqg-radius-lg);
	background: var(--wp--preset--color--white);
	box-shadow: var(--jqg-shadow-md);
}

.jqg-about-hero__copy {
	padding: clamp(1.5rem, 5vw, 4rem);
}

.jqg-about-hero__copy > * {
	margin-block-start: 0;
}

.jqg-about-hero__copy h2 {
	max-width: 14ch;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	font-size: clamp(2.1rem, 5vw, 4.4rem) !important;
	line-height: 0.98;
}

.jqg-about-hero__copy p:not(.jqg-eyebrow, .jqg-about-hero__label) {
	max-width: 62ch;
	color: var(--wp--preset--color--muted);
}

.jqg-about-hero__label {
	display: inline-block;
	margin-bottom: 1rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid var(--wp--preset--color--wine);
	color: var(--wp--preset--color--wine);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.jqg-about-hero__media,
.jqg-about-coordination__media {
	position: relative;
	margin: 0;
	overflow: hidden;
}

.jqg-about-hero__media::after,
.jqg-about-coordination__media::after {
	position: absolute;
	z-index: 1;
	inset: 0 0 auto;
	height: 32%;
	content: "";
	pointer-events: none;
}

.jqg-about-hero__media::after {
	background: linear-gradient(180deg, var(--wp--preset--color--white), rgb(255 255 255 / 72%) 28%, transparent 100%);
}

.jqg-about-coordination__media::after {
	inset: auto 0 0;
	background: linear-gradient(180deg, transparent, rgb(240 235 233 / 78%) 70%, var(--jqg-warm-gray));
}

.jqg-about-hero__media img,
.jqg-about-coordination__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jqg-about-hero__media img {
	min-height: clamp(18rem, 64vw, 30rem);
}

.jqg-about-continuation {
	max-width: 54rem;
	margin-top: clamp(1.75rem, 4vw, 2.75rem);
	margin-inline: auto;
	padding-inline: clamp(0rem, 3vw, 2rem);
}

.jqg-about-continuation p {
	font-size: clamp(1.05rem, 1.7vw, 1.2rem);
	line-height: 1.72;
}

.jqg-about-section {
	margin-top: clamp(2.75rem, 6vw, 4.25rem);
}

.jqg-about-section > h2,
.jqg-about-purpose > h2 {
	max-width: 18ch;
	margin: 0;
}

.jqg-about-focus__statement {
	margin-top: 1rem;
	color: var(--wp--preset--color--wine);
}

.jqg-about-focus > p:not(.jqg-about-focus__statement) {
	max-width: 70ch;
}

.jqg-about-specialties {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: stretch;
	margin-top: clamp(1.5rem, 3.5vw, 2.5rem);
}

.jqg-about-specialties > *,
.jqg-about-principles__grid > * {
	margin-block: 0 !important;
}

.jqg-about-specialty,
.jqg-about-principle {
	display: grid;
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2.35rem);
	border: 1px solid var(--wp--preset--color--line);
	border-top: 0.25rem solid var(--wp--preset--color--wine);
	border-radius: var(--jqg-radius-md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--jqg-shadow-sm);
}

.jqg-about-specialty {
	grid-template-rows: auto auto 1fr auto;
}

.jqg-about-principle {
	grid-template-rows: auto auto 1fr;
}

.jqg-about-specialty > *,
.jqg-about-principle > * {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin-block: 0;
	margin-inline: 0 !important;
}

.jqg-about-card > .jqg-card__icon {
	width: 3rem;
	margin: 0 0 1.25rem !important;
}

.jqg-about-specialty h3,
.jqg-about-principle h3 {
	margin-bottom: 0.9rem;
}

.jqg-about-specialty .jqg-service-card__action {
	margin-top: 1.25rem;
	padding-top: 0;
}

.jqg-about-coordination {
	display: grid;
	gap: 0;
	align-items: stretch;
	margin-top: clamp(1.5rem, 3.5vw, 2.5rem);
	overflow: hidden;
	border-radius: var(--jqg-radius-lg);
	background: var(--jqg-warm-gray);
}

.jqg-about-coordination__media img {
	min-height: clamp(17rem, 60vw, 26rem);
}

.jqg-about-coordination__copy {
	display: flex;
	align-items: center;
	margin: 0;
	padding: clamp(1.5rem, 5vw, 3.5rem);
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	line-height: 1.35;
}

.jqg-about-principles__grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: stretch;
	margin-top: clamp(1.5rem, 3.5vw, 2.5rem);
}

.jqg-about-principle {
	border-top-width: 0.18rem;
}

.jqg-card__icon--people::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/people.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/people.svg");
}

.jqg-card__icon--review::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/review.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/review.svg");
}

.jqg-card__icon--conversation::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/conversation.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/conversation.svg");
}

.jqg-card__icon--agreement::before {
	-webkit-mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/agreement.svg");
	mask-image: url("/wp-content/themes/jqg-theme/assets/images/icons/agreement.svg");
}

.jqg-about-purpose {
	margin-top: clamp(2.75rem, 6vw, 4.25rem);
	padding: clamp(2rem, 6vw, 4.5rem);
	border-left: 0.35rem solid var(--wp--preset--color--wine);
	border-radius: var(--jqg-radius-md);
	background: linear-gradient(135deg, var(--jqg-warm-gray), var(--wp--preset--color--white));
}

.jqg-about-purpose p {
	max-width: 68ch;
}

.jqg-about-page > .jqg-inner-cta {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.jqg-scope-notice {
	max-width: 52rem;
	padding: 1rem 1.25rem;
	border-left: 0.25rem solid var(--wp--preset--color--wine);
	background: var(--wp--preset--color--pale-rose);
	font-weight: 650;
}

.jqg-directory-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
}

.jqg-directory-card,
.jqg-responsible,
.jqg-related {
	padding: clamp(1.35rem, 3vw, 2.25rem);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--jqg-radius-md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--jqg-shadow-sm);
	transition: transform var(--jqg-motion-fast) ease, box-shadow var(--jqg-motion-fast) ease, border-color var(--jqg-motion-fast) ease;
}

.jqg-directory-card--featured {
	border: 2px solid var(--wp--preset--color--wine);
	background: linear-gradient(145deg, var(--wp--preset--color--white), var(--wp--preset--color--pale-rose));
}

.jqg-directory-card h3,
.jqg-responsible h2,
.jqg-related h2 {
	margin-top: 0;
}

.jqg-responsible {
	border-top: 0.3rem solid var(--wp--preset--color--wine);
}

.jqg-inner-cta {
	padding: clamp(1.75rem, 5vw, 3.5rem);
	border-radius: var(--jqg-radius-lg);
	background: var(--wp--preset--color--wine);
	color: var(--wp--preset--color--white);
}

.jqg-inner-cta :where(h2, p) {
	color: inherit;
}

.jqg-inner-cta .wp-block-button__link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--wine);
}

.jqg-profile-page__placeholder {
	max-width: 28rem;
	min-height: 14rem;
}

.jqg-profile-page__photo {
	max-width: 28rem;
	margin-inline: 0;
	overflow: hidden;
	border-radius: var(--jqg-radius-lg);
	box-shadow: var(--jqg-shadow-md);
}

.jqg-profile-page__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center top;
}

.jqg-inner-page--contact .jqg-directory-card,
.jqg-inner-page--contact .jqg-directory-card a {
	overflow-wrap: anywhere;
}

.jqg-inner-page--contact .jqg-directory-grid {
	grid-template-columns: minmax(0, 1fr);
	max-width: 36rem;
	margin-inline: 0;
}

.jqg-form-preview {
	max-width: 48rem;
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--jqg-radius-md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--jqg-shadow-sm);
}

.jqg-contact-options-preview {
	max-width: 48rem;
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border-radius: var(--jqg-radius-md);
	background: var(--jqg-warm-gray);
}

.jqg-form-preview__status {
	padding: 0.8rem 1rem;
	border-left: 0.25rem solid var(--wp--preset--color--wine);
	background: var(--wp--preset--color--pale-rose);
	font-weight: 700;
}

.jqg-form-preview__fields {
	display: grid;
	gap: 1.25rem;
	margin: 1.5rem 0 0;
}

.jqg-form-preview__field {
	display: grid;
	gap: 0.45rem;
}

.jqg-form-preview__label {
	font-weight: 700;
}

.jqg-form-preview__control {
	box-sizing: border-box;
	width: 100%;
	padding: 0.8rem 0.9rem;
	border: 1px solid var(--wp--preset--color--muted);
	border-radius: var(--jqg-radius-sm);
	background: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--ink);
	font: inherit;
}

.jqg-form-preview__control--message {
	min-height: 7rem;
}

.jqg-form-preview__consent {
	display: grid;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	gap: 0.75rem;
	align-items: start;
}

.jqg-form-preview__checkbox {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.15rem 0 0;
	border: 2px solid var(--wp--preset--color--muted);
	border-radius: 0.2rem;
}

.jqg-form-preview__consent p {
	margin: 0;
}

.jqg-form-preview__policy {
	color: var(--wp--preset--color--muted);
	text-decoration: underline;
	text-decoration-style: dashed;
	text-underline-offset: 0.22em;
}

.jqg-form-preview__submit {
	display: inline-block;
	justify-self: start;
	padding: 0.8rem 1.2rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--muted);
	color: var(--wp--preset--color--white);
	font: inherit;
	font-weight: 750;
	cursor: not-allowed;
	opacity: 1;
}

.jqg-site-footer {
	padding-block: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--preset--color--line);
	background:
		radial-gradient(circle at 8% 8%, rgb(114 0 0 / 24%), transparent 22rem),
		var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.jqg-site-footer :where(h2, p, a) {
	color: inherit;
}

.jqg-site-footer a:hover {
	text-decoration-thickness: 0.12em;
}

.wp-block-button .wp-block-button__link {
	box-shadow: 0 0.45rem 1rem rgb(79 0 0 / 12%);
	transition: background-color var(--jqg-motion-fast) ease, color var(--jqg-motion-fast) ease, border-color var(--jqg-motion-fast) ease, box-shadow var(--jqg-motion-fast) ease, transform var(--jqg-motion-fast) ease;
}

.wp-block-button .wp-block-button__link:hover {
	box-shadow: 0 0.7rem 1.4rem rgb(79 0 0 / 20%);
	transform: translateY(-0.15rem);
}

.wp-block-button .wp-block-button__link:focus-visible {
	box-shadow: 0 0 0 0.42rem var(--wp--preset--color--wine), 0 0.7rem 1.4rem rgb(79 0 0 / 20%) !important;
}

.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--pale-rose);
	color: var(--wp--preset--color--wine);
}

.jqg-motion-ready .jqg-reveal {
	opacity: 0;
	transform: translateY(1.25rem);
	transition: opacity var(--jqg-motion-medium) ease-out, transform var(--jqg-motion-medium) ease-out;
}

.jqg-motion-ready .jqg-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@keyframes jqg-hero-enter {
	from {
		opacity: 0;
		transform: translateY(0.8rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (min-width: 48rem) {
	.jqg-about-specialties,
	.jqg-about-principles__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jqg-about-principle h3 {
		min-height: 2.35em;
	}

	.jqg-service-card h4 {
		min-height: 2.25em;
	}

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

	.jqg-service-grid,
	.jqg-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.jqg-contact-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.jqg-contact-status,
	.jqg-future-channels,
	.jqg-contact-options-preview__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jqg-contact-status .jqg-future-channel {
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr);
		gap: 0.75rem;
		align-items: center;
	}

	.jqg-contact-status .jqg-future-channel__status {
		margin-bottom: 0;
	}

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

@media (min-width: 64rem) {
	.jqg-about-hero {
		grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
	}

	.jqg-about-hero__media img {
		min-height: 100%;
	}

	.jqg-about-hero__media::after {
		inset: 0 auto 0 0;
		width: 34%;
		height: auto;
		background: linear-gradient(90deg, var(--wp--preset--color--white), rgb(255 255 255 / 76%) 30%, rgb(255 255 255 / 32%) 70%, transparent);
	}

	.jqg-about-coordination {
		grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
	}

	.jqg-about-coordination__media img {
		min-height: 100%;
	}

	.jqg-about-coordination__media::after {
		inset: 0 0 0 auto;
		width: 30%;
		height: auto;
		background: linear-gradient(90deg, transparent, rgb(240 235 233 / 75%) 64%, var(--jqg-warm-gray));
	}

	.jqg-about-principles__grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.jqg-about-principle {
		grid-column: span 2;
	}

	.jqg-about-principle:nth-child(4) {
		grid-column: 2 / span 2;
	}

	.jqg-about-principle:nth-child(5) {
		grid-column: 4 / span 2;
	}

	.jqg-site-header {
		position: sticky;
		top: 0;
		backdrop-filter: blur(1rem);
	}

	.admin-bar .jqg-site-header {
		top: 32px;
	}

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

	.jqg-contact-shell {
		grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	}

	.jqg-service-lines__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jqg-service-line {
		position: relative;
		display: block;
		min-height: 23rem;
		isolation: isolate;
	}

	.jqg-service-line__content {
		position: relative;
		z-index: 2;
		box-sizing: border-box;
		width: 60%;
		min-height: 23rem;
	}

	.jqg-service-line__image {
		position: absolute;
		inset: 0 0 0 34%;
		z-index: 0;
		width: auto;
		height: 100%;
		min-height: 0;
	}

	.jqg-service-line__image::after {
		position: absolute;
		inset: 0;
		z-index: 1;
		background: linear-gradient(
			90deg,
			var(--wp--preset--color--white) 0%,
			rgb(255 255 255 / 98%) 20%,
			rgb(255 255 255 / 90%) 36%,
			rgb(255 255 255 / 58%) 52%,
			rgb(255 255 255 / 10%) 70%,
			transparent 82%
		);
		content: "";
		pointer-events: none;
	}

	.jqg-service-line__image img {
		position: absolute;
		inset: 0;
		object-position: 64% center;
	}

	.jqg-featured__grid {
		position: relative;
		display: block !important;
		min-height: 30rem;
		overflow: hidden;
		isolation: isolate;
	}

	.jqg-featured__inner {
		position: relative;
		z-index: 2;
		box-sizing: border-box;
		width: 64%;
		min-height: 30rem;
	}

	.jqg-featured__media {
		position: absolute;
		inset: 0 0 0 34%;
		z-index: 0;
		width: auto;
		height: 100%;
		min-height: 0;
	}

	.jqg-featured__media::after {
		position: absolute;
		inset: 0;
		z-index: 1;
		background: linear-gradient(
			90deg,
			var(--wp--preset--color--wine) 0%,
			rgb(114 0 0 / 98%) 18%,
			rgb(114 0 0 / 88%) 34%,
			rgb(114 0 0 / 54%) 52%,
			rgb(114 0 0 / 10%) 70%,
			transparent 82%
		);
		content: "";
		pointer-events: none;
	}

	.jqg-featured__media img {
		position: absolute;
		inset: 0;
	}

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

	.jqg-profile-card {
		grid-template-columns: minmax(12rem, 40%) minmax(0, 60%);
	}

	.jqg-profile-card__media {
		min-height: 100%;
	}

	.jqg-service-grid,
	.jqg-service-grid--legal {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.jqg-service-grid--business {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jqg-inner-page--landing .jqg-directory-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 75rem) {
	.jqg-featured-layout {
		grid-template-columns: minmax(0, 1.5fr) minmax(20rem, 1fr);
	}

	.jqg-service-grid--legal {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.jqg-service-grid--business {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 48.874rem) {
	.jqg-site-header__inner {
		min-height: 4.5rem;
	}

	.jqg-brand {
		min-width: min(12rem, 62vw);
	}

	.jqg-brand__logo img {
		width: min(12rem, 58vw);
	}

	.jqg-hero {
		background: linear-gradient(180deg, var(--jqg-warm-white) 0 70%, var(--jqg-warm-gray) 70% 100%);
	}

	.jqg-hero__grid {
		min-height: 0;
		overflow: visible;
		border-radius: 0;
		box-shadow: none;
	}

	.jqg-hero__copy {
		padding: 0;
	}

	.jqg-hero__media {
		position: relative;
		inset: auto;
		width: 100%;
		height: auto;
		min-height: clamp(17rem, 64vw, 23rem);
		margin: 0;
		border-radius: var(--jqg-radius-lg);
		box-shadow: var(--jqg-shadow-lg);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}

	.jqg-hero__media::after {
		background: linear-gradient(180deg, rgb(250 249 247 / 16%), transparent 32%);
	}

	.jqg-profile-card__media {
		min-height: clamp(20rem, 105vw, 30rem);
	}

	.jqg-hero .wp-block-buttons,
	.jqg-contact-panel .wp-block-buttons {
		align-items: stretch;
		flex-direction: column;
	}

	.jqg-hero .wp-block-button,
	.jqg-contact-panel .wp-block-button,
	.jqg-hero .wp-block-button__link,
	.jqg-contact-panel .wp-block-button__link {
		width: 100%;
	}
}

@media (min-width: 48rem) and (max-width: 67.99rem) {
	.jqg-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.jqg-site-header .wp-block-navigation__responsive-container-open {
		display: flex;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.jqg-motion-ready .jqg-reveal,
	.jqg-motion-ready .jqg-reveal.is-visible {
		opacity: 1 !important;
		transform: none !important;
	}
}

@media print {
	.wp-block-navigation,
	.wp-block-buttons {
		display: none !important;
	}
}
