/* Premium foundation: calm, composited micro-interactions. */
.site-header {
	transition: background-color .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.site-header::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent 8%, rgb(244 122 34 / 58%), rgb(21 150 109 / 58%), transparent 92%);
	content: "";
	opacity: 0;
	transform: scaleX(.72);
	transition: opacity .28s ease, transform .28s ease;
	pointer-events: none;
}

.site-header.is-scrolled {
	background: rgb(255 253 249 / 84%);
	border-bottom-color: transparent;
	box-shadow: 0 14px 38px rgb(7 19 15 / 10%);
}

.site-header.is-scrolled::after {
	opacity: 1;
	transform: scaleX(1);
}

.site-header .site-brand img,
.site-header .header-cta {
	transform-origin: left center;
	transition: transform .28s cubic-bezier(.2, .75, .25, 1), box-shadow .28s ease;
}

.site-header .header-cta {
	transform-origin: right center;
}

.site-header.is-scrolled .site-brand img {
	transform: scale(.92);
}

.site-header.is-scrolled .header-cta {
	box-shadow: 0 9px 24px rgb(217 93 11 / 20%);
	transform: scale(.95);
}

.site-nav a {
	position: relative;
	display: inline-block;
}

.site-nav a::after {
	position: absolute;
	right: 0;
	bottom: -.48rem;
	left: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--orange), var(--green));
	border-radius: 999px;
	content: "";
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .24s ease;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav .current-menu-item > a::after,
.site-nav .current_page_item > a::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.button,
.wp-block-button__link {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	box-shadow: 0 8px 20px rgb(16 37 31 / 8%);
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .24s ease, transform .18s ease;
}

.button::after,
.wp-block-button__link::after {
	position: absolute;
	top: -45%;
	bottom: -45%;
	left: -55%;
	width: 34%;
	background: linear-gradient(90deg, transparent, rgb(255 255 255 / 40%), transparent);
	content: "";
	opacity: 0;
	transform: skewX(-18deg) translateX(0);
	transition: opacity .18s ease, transform .56s cubic-bezier(.25, .7, .2, 1);
	pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
	.button:hover,
	.wp-block-button__link:hover {
		box-shadow: 0 13px 28px rgb(16 37 31 / 15%);
	}

	.button:hover::after,
	.wp-block-button__link:hover::after {
		opacity: 1;
		transform: skewX(-18deg) translateX(520%);
	}
}

.button:active,
.wp-block-button__link:active {
	box-shadow: 0 4px 12px rgb(16 37 31 / 12%);
	transform: translateY(1px) scale(.985);
}

.button:focus-visible,
.wp-block-button__link:focus-visible,
.site-nav a:focus-visible {
	outline: 3px solid rgb(244 122 34 / 38%);
	outline-offset: 4px;
}

.nysat-brand-divider {
	position: relative;
}

.nysat-brand-divider::after {
	position: absolute;
	z-index: 4;
	bottom: 0;
	left: 50%;
	width: min(520px, 58vw);
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--orange) 28%, var(--green) 72%, transparent);
	box-shadow: 0 0 18px rgb(21 150 109 / 20%);
	content: "";
	transform: translateX(-50%);
	pointer-events: none;
}

.nysat-brand-divider[data-divider-tone="dark"]::after {
	background: linear-gradient(90deg, transparent, #ff9a50 28%, #75e0b8 72%, transparent);
	box-shadow: 0 0 20px rgb(117 224 184 / 25%);
}

.nysat-reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .58s cubic-bezier(.2, .7, .2, 1), transform .58s cubic-bezier(.2, .7, .2, 1);
	transition-delay: var(--nysat-reveal-delay, 0ms);
	will-change: opacity, transform;
}

.nysat-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
	will-change: auto;
}

/* Pointer-aware depth stays intentionally quieter than the symbol network. */
.nysat-depth-surface {
	--nysat-pointer-x: 50%;
	--nysat-pointer-y: 50%;
	--nysat-spotlight: rgb(244 122 34 / 15%);
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.nysat-depth-surface::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	background: radial-gradient(circle 220px at var(--nysat-pointer-x) var(--nysat-pointer-y), var(--nysat-spotlight), transparent 72%);
	content: "";
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}

.nysat-depth-surface > * {
	position: relative;
	z-index: 1;
}

.console-entry__grid > .nysat-depth-surface,
.category-card--primary.nysat-depth-surface,
.delivery-grid > .nysat-depth-surface,
.store-card.nysat-depth-surface {
	--nysat-spotlight: rgb(117 224 184 / 13%);
}

.faq details {
	transition: border-color .24s ease, color .24s ease;
}

.faq details[open] {
	border-bottom-color: rgb(244 122 34 / 52%);
}

.faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
	transition: color .24s ease;
}

.faq summary::-webkit-details-marker {
	display: none;
}

.faq summary::after {
	display: grid;
	flex: 0 0 auto;
	width: 1.9rem;
	height: 1.9rem;
	color: var(--green);
	background: rgb(21 150 109 / 9%);
	border: 1px solid rgb(21 150 109 / 20%);
	border-radius: 50%;
	content: "+";
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	transition: color .24s ease, background-color .24s ease, border-color .24s ease, transform .28s cubic-bezier(.2, .7, .2, 1);
	place-items: center;
}

.faq details[open] summary {
	color: var(--green-dark);
}

.faq details[open] summary::after {
	color: #fff;
	background: var(--orange);
	border-color: var(--orange);
	transform: rotate(45deg);
}

.faq details[open] p {
	animation: nysat-faq-enter .3s ease both;
}

.final-cta::before {
	position: absolute;
	z-index: 0;
	inset: -18%;
	background:
		radial-gradient(circle at 18% 62%, rgb(255 255 255 / 15%), transparent 28%),
		radial-gradient(circle at 82% 35%, rgb(117 224 184 / 20%), transparent 30%);
	content: "";
	opacity: .72;
	transform: scale(.94);
	animation: nysat-cta-breathe 7s ease-in-out infinite alternate;
	pointer-events: none;
}

@keyframes nysat-faq-enter {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes nysat-cta-breathe {
	to {
		opacity: 1;
		transform: scale(1.04);
	}
}

@media (hover: hover) and (pointer: fine) {
	.nysat-depth-surface:hover::before,
	.nysat-depth-surface:focus-visible::before {
		opacity: 1;
	}

	.nysat-reveal.is-visible.nysat-depth-surface:hover,
	.nysat-reveal.is-visible.nysat-depth-surface:focus-visible {
		transform: translateY(-5px) scale(1.006);
	}

	.delivery-grid > .nysat-reveal.is-visible.nysat-depth-surface:hover,
	.store-card.nysat-reveal.is-visible.nysat-depth-surface:hover {
		transform: translateY(-3px);
	}
}

/* Journey and content polish. */
.hero__proof li {
	padding: .28rem .62rem;
	background: rgb(255 255 255 / 7%);
	border: 1px solid rgb(255 255 255 / 13%);
	border-radius: 999px;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.console-entry__grid > a img {
	transition: filter .55s ease, transform .65s cubic-bezier(.2, .72, .2, 1);
	transform-origin: center center;
}

.text-link {
	display: inline-flex;
	background-image: linear-gradient(90deg, var(--orange), var(--green));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 2px;
	transition: background-size .28s ease, color .2s ease, transform .2s ease;
}

.steps article span {
	display: inline-grid;
	min-width: 2.35rem;
	height: 2.35rem;
	padding-inline: .45rem;
	color: var(--green-dark);
	background: #fff;
	border: 1px solid rgb(21 150 109 / 20%);
	border-radius: 999px;
	box-shadow: 0 7px 20px rgb(16 37 31 / 8%);
	place-items: center;
}

.trust-grid > div {
	border: 1px solid transparent;
	box-shadow: 0 8px 24px rgb(16 37 31 / 4%);
	transition: background-color .24s ease, border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

.trust-grid > div span {
	transition: background-color .24s ease, transform .28s cubic-bezier(.2, .72, .2, 1);
}

@media (min-width: 901px) {
	.steps.nysat-journey {
		position: relative;
	}

	.steps.nysat-journey::before,
	.steps.nysat-journey::after {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		height: 2px;
		border-radius: 999px;
		content: "";
		pointer-events: none;
	}

	.steps.nysat-journey::before {
		background: #bed2ca;
	}

	.steps.nysat-journey::after {
		background: linear-gradient(90deg, var(--orange), var(--green));
		box-shadow: 0 0 14px rgb(21 150 109 / 18%);
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 1.05s cubic-bezier(.2, .75, .2, 1);
	}

	.steps.nysat-journey.is-journey-visible::after {
		transform: scaleX(1);
	}

	.steps.nysat-journey article {
		position: relative;
		z-index: 1;
		border-top-color: transparent;
	}
}

@media (hover: hover) and (pointer: fine) {
	.console-entry__grid > a:hover img,
	.console-entry__grid > a:focus-visible img {
		filter: saturate(1.06) contrast(1.02);
		transform: scale(1.035);
	}

	.text-link:hover,
	.text-link:focus-visible {
		background-size: 100% 2px;
		transform: translateX(3px);
	}

	.trust-grid > div:hover {
		background: #fff;
		border-color: rgb(244 122 34 / 24%);
		box-shadow: 0 13px 30px rgb(16 37 31 / 8%);
		transform: translateY(-2px);
	}

	.trust-grid > div:hover span {
		background: var(--orange);
		transform: rotate(-6deg) scale(1.06);
	}
}

@supports ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
	.site-header.is-scrolled {
		-webkit-backdrop-filter: saturate(145%) blur(18px);
		backdrop-filter: saturate(145%) blur(18px);
	}
}

@media (max-width: 700px) {
	.nysat-brand-divider::after {
		width: min(270px, 68vw);
	}

	.site-header.is-scrolled .site-brand img {
		transform: scale(.96);
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-header,
	.site-header::after,
	.site-header .site-brand img,
	.site-header .header-cta,
	.site-nav a::after,
	.button,
	.button::after,
	.wp-block-button__link,
	.wp-block-button__link::after,
	.nysat-reveal,
	.console-entry__grid > a img,
	.text-link,
	.trust-grid > div,
	.trust-grid > div span,
	.steps.nysat-journey::after {
		transition: none !important;
	}

	.nysat-reveal {
		opacity: 1;
		transform: none;
	}

	.nysat-depth-surface::before {
		display: none;
	}

	.faq details[open] p,
	.final-cta::before {
		animation: none;
	}
}
