/*
 * WNYpress Main
 * Theme-specific presentation layered on top of theme.json.
 * Keep functionality in plugins; this file is intentionally visual only.
 */

:root {
	--wny-shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.05);
	--wny-shadow-md: 0 12px 34px rgba(16, 24, 40, 0.09);
	--wny-shadow-lg: 0 28px 70px rgba(16, 24, 40, 0.13);
	--wny-radius-sm: 8px;
	--wny-radius: 14px;
	--wny-radius-lg: 24px;
}

/* Prevent long URLs and labels from escaping cards. */
:root :where(.wp-site-blocks) {
	overflow-wrap: anywhere;
}

/* Local site header. Global Core is intentionally responsible for the ecosystem bar. */
.wny-local-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: rgba(255, 255, 255, 0.97);
	position: relative;
	z-index: 20;
}

.wny-local-header__inner {
	min-height: 76px;
}

.wny-local-header .wny-local-brand a,
.wny-local-header .wp-block-navigation-item__content {
	color: var(--wp--preset--color--charcoal);
}

.wny-local-header .wp-block-navigation-item__content:hover,
.wny-local-header .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--brand);
}

.wny-local-header .wny-local-brand {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 780;
	letter-spacing: -0.02em;
	line-height: 1;
}

.wny-local-header .wny-local-brand a {
	text-decoration: none;
}

.wny-local-header .wp-block-navigation__responsive-container-open,
.wny-local-header .wp-block-navigation__responsive-container-close {
	border-radius: 7px;
	padding: 0.35rem;
}

/* Shared sections. */
.wny-section {
	padding-top: clamp(4rem, 8vw, 7rem);
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

.wny-section--compact {
	padding-top: clamp(2.75rem, 5vw, 4.5rem);
	padding-bottom: clamp(2.75rem, 5vw, 4.5rem);
}

.wny-section--bordered {
	border-top: 1px solid var(--wp--preset--color--line);
}

.wny-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
	margin-bottom: 0.6rem;
}

.wny-kicker::before {
	content: "";
	width: 1.6rem;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.wny-lede {
	color: var(--wp--preset--color--muted);
	font-size: clamp(1.1rem, 1rem + 0.35vw, 1.35rem);
	line-height: 1.62;
	max-width: 720px;
}

.wny-display {
	max-width: 980px;
}

.wny-small {
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
}

/* Hero. */
.wny-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 12%, rgba(47, 91, 231, 0.14), transparent 28rem),
		linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
}

.wny-hero::after {
	content: "";
	position: absolute;
	right: -9rem;
	bottom: -12rem;
	width: 32rem;
	height: 32rem;
	border: 1px solid rgba(47, 91, 231, 0.13);
	border-radius: 50%;
	pointer-events: none;
}

.wny-hero__inner {
	position: relative;
	z-index: 2;
}

.wny-hero .wp-block-heading {
	margin-top: 0;
}

.wny-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.25rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.88rem;
	font-weight: 650;
	margin-top: 1.6rem;
}

.wny-hero__trust span::before {
	content: "✓";
	color: var(--wp--preset--color--brand);
	font-weight: 900;
	margin-right: 0.4rem;
}

/* Cards. */
.wny-card {
	height: 100%;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wny-radius);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wny-shadow-sm);
	padding: clamp(1.35rem, 2.6vw, 2rem);
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.wny-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--wny-shadow-md);
	border-color: #cfd6e0;
}

.wny-card .wp-block-heading {
	margin-top: 0.9rem;
	margin-bottom: 0.55rem;
}

.wny-card p {
	color: var(--wp--preset--color--muted);
}

.wny-card__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 11px;
	background: var(--wp--preset--color--mist);
	color: var(--wp--preset--color--brand);
	font-size: 1.15rem;
	font-weight: 900;
}

.wny-card__link {
	font-size: 0.92rem;
	font-weight: 750;
}

.wny-card__link a::after {
	content: " →";
}

/* MBOS feature panel. */
.wny-dark-panel {
	position: relative;
	overflow: hidden;
	border-radius: var(--wny-radius-lg);
	background: linear-gradient(135deg, #171717 0%, #222937 100%);
	box-shadow: var(--wny-shadow-lg);
}

.wny-dark-panel::before {
	content: "";
	position: absolute;
	inset: auto -7rem -9rem auto;
	width: 25rem;
	height: 25rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(47, 91, 231, 0.42) 0%, rgba(47, 91, 231, 0) 68%);
}

.wny-dark-panel > * {
	position: relative;
	z-index: 2;
}

.wny-dark-panel .wny-kicker {
	color: #a9bcff;
}

.wny-dark-panel p {
	color: #c9ced8;
}

.wny-dark-panel h2,
.wny-dark-panel h3 {
	color: #ffffff;
}

/* Values / feature rows. */
.wny-value {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 1.4rem;
}

.wny-value strong {
	display: block;
	font-size: 1.08rem;
	margin-bottom: 0.35rem;
}

.wny-value p {
	color: var(--wp--preset--color--muted);
	margin-top: 0;
}

/* Local/WNY panel. */
.wny-local-panel {
	border-radius: var(--wny-radius-lg);
	background:
		linear-gradient(120deg, rgba(47, 91, 231, 0.08), rgba(245, 158, 11, 0.08)),
		var(--wp--preset--color--cloud);
	border: 1px solid var(--wp--preset--color--line);
}

/* CTA. */
.wny-cta {
	border-radius: var(--wny-radius-lg);
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--white);
	box-shadow: var(--wny-shadow-md);
}

.wny-cta h2,
.wny-cta h3,
.wny-cta p {
	color: var(--wp--preset--color--white);
}

.wny-cta p {
	opacity: 0.84;
}

.wny-cta .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: rgba(255,255,255,0.7);
	color: #fff;
}

/* About page. */
.wny-about-hello {
	border-left: 4px solid var(--wp--preset--color--accent);
	padding-left: clamp(1.2rem, 3vw, 2rem);
}

.wny-ecosystem-item {
	padding: 1rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.wny-ecosystem-item:last-child {
	border-bottom: 0;
}

.wny-ecosystem-item strong {
	display: block;
}

/* Contact page and Gravity Forms. */
.wny-contact-card {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wny-radius-lg);
	background: #fff;
	box-shadow: var(--wny-shadow-md);
	padding: clamp(1.4rem, 3vw, 2.4rem);
}

.wny-contact-meta {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 1.15rem;
	margin-top: 1.15rem;
}

.wny-contact-form-shell .gform_wrapper {
	margin-top: 1.25rem;
}

.wny-contact-form-shell .gform_wrapper .gfield_label,
.wny-contact-form-shell .gform_wrapper label {
	color: var(--wp--preset--color--charcoal);
	font-weight: 700;
}

.wny-contact-form-shell .gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wny-contact-form-shell .gform_wrapper textarea,
.wny-contact-form-shell .gform_wrapper select {
	width: 100%;
	border: 1px solid #cfd6e0;
	border-radius: 8px;
	background: #fff;
	color: var(--wp--preset--color--ink);
	font: inherit;
	padding: 0.78rem 0.9rem;
	box-shadow: none;
}

.wny-contact-form-shell .gform_wrapper input:focus,
.wny-contact-form-shell .gform_wrapper textarea:focus,
.wny-contact-form-shell .gform_wrapper select:focus {
	border-color: var(--wp--preset--color--brand);
	outline: 3px solid rgba(47, 91, 231, 0.16);
	outline-offset: 1px;
}

.wny-contact-form-shell .gform_wrapper input[type="submit"],
.wny-contact-form-shell .gform_wrapper button[type="submit"] {
	border: 0;
	border-radius: 8px;
	background: var(--wp--preset--color--brand);
	color: #fff;
	font: inherit;
	font-weight: 750;
	padding: 0.82rem 1.2rem;
	cursor: pointer;
}

.wny-contact-form-shell .gform_wrapper input[type="submit"]:hover,
.wny-contact-form-shell .gform_wrapper button[type="submit"]:hover {
	background: var(--wp--preset--color--brand-dark);
}

/* Core button refinements. */
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	transition: transform 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
	box-shadow: 0 5px 15px rgba(47, 91, 231, 0.14);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	transform: translateY(-1px);
	background: var(--wp--preset--color--brand-dark) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--mist);
}

/* Accessible focus treatment. */
:where(a, button, input, textarea, select, .wp-element-button):focus-visible {
	outline: 3px solid rgba(47, 91, 231, 0.36);
	outline-offset: 3px;
}

/* Global Core may add content immediately before/after the theme. Keep theme spacing predictable. */
.wp-site-blocks {
	padding-top: 0;
	padding-bottom: 0;
}

/* Mobile refinements. */
@media (max-width: 781px) {
	.wny-local-header__inner {
		min-height: 66px;
	}

	.wny-local-header .wp-block-buttons {
		display: none;
	}

	.wny-section {
		padding-top: 3.6rem;
		padding-bottom: 3.6rem;
	}

	.wny-dark-panel,
	.wny-local-panel,
	.wny-cta {
		border-radius: 16px;
	}

	.wny-card:hover {
		transform: none;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.25rem;
	}
}

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

/* --------------------------------------------------------------------------
 * WNYpress network 404
 * -------------------------------------------------------------------------- */
.wny-404 {
	box-sizing: border-box;
	padding: clamp(2.25rem, 5vw, 4.25rem) 1.25rem clamp(3rem, 6vw, 5rem);
	background: #ffffff;
	color: #142239;
}

.wny-404__inner {
	max-width: 760px !important;
	margin-inline: auto;
	text-align: center;
}

.wny-404__code {
	margin: 0 0 .25rem;
	color: #d9dce2;
	font-size: clamp(4.75rem, 10vw, 7.5rem);
	font-weight: 800;
	letter-spacing: -.065em;
	line-height: .82;
}

.wny-404__title {
	margin: 0 auto clamp(1rem, 2vw, 1.35rem);
	max-width: 720px;
	color: #142239;
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 750;
	letter-spacing: -.035em;
	line-height: 1.08;
}

.wny-404-media {
	width: min(100%, 410px);
	margin: 0 auto .55rem;
}

.wny-404-media__window {
	padding: 3px;
	border: 1px solid #202020;
	background: #bfbfbf;
	box-shadow:
		0 0 0 1px #f4f4f4 inset,
		0 0 0 2px #6d6d6d,
		0 10px 24px rgba(20, 34, 57, .14);
}

.wny-404-media__titlebar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 27px;
	padding: 3px 5px 3px 8px;
	background: #07379b;
	color: #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 1;
	text-align: left;
	user-select: none;
}

.wny-404-media__close {
	display: grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border: 1px solid #1f1f1f;
	background: #d6d6d6;
	box-shadow: 1px 1px 0 #ffffff inset, -1px -1px 0 #707070 inset;
	color: #111111;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
}

.wny-404-media video {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	background: #000000;
}

.wny-404-media__hear {
	display: inline-flex;
	gap: .42rem;
	align-items: center;
	justify-content: center;
	margin: .7rem auto 0;
	padding: .2rem .35rem;
	border: 0;
	background: transparent;
	color: #064cc9;
	font: inherit;
	font-size: .95rem;
	font-weight: 650;
	line-height: 1.35;
	cursor: pointer;
}

.wny-404-media__hear:hover,
.wny-404-media__hear:focus-visible {
	text-decoration: underline;
}

.wny-404-media__hear:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.wny-404-media__speaker {
	font-size: 1.05rem;
	line-height: 1;
}

.wny-404__subtitle {
	margin: .65rem auto .35rem;
	max-width: 640px;
	color: #142239;
	font-size: clamp(1.12rem, 2vw, 1.35rem);
	font-weight: 750;
	line-height: 1.25;
}

.wny-404__copy {
	max-width: 560px;
	margin: 0 auto 1.15rem;
	color: #4e5b6d;
	font-size: 1rem;
	line-height: 1.55;
}

.wny-404__actions {
	gap: .8rem;
	margin: 0 auto 1.1rem;
}

.wny-404__actions .wp-block-button__link {
	min-width: 190px;
	padding: .78rem 1.15rem;
	border-radius: 6px;
	font-weight: 700;
}

.wny-404__home .wp-block-button__link::before {
	content: "⌂";
	margin-right: .45rem;
	font-size: 1.15em;
	vertical-align: -.03em;
}

.wny-404__support .wp-block-button__link::before {
	content: "?";
	display: inline-grid;
	width: 1.2em;
	height: 1.2em;
	margin-right: .45rem;
	place-items: center;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	font-size: .78em;
	font-weight: 800;
	line-height: 1;
	vertical-align: .1em;
}

.wny-404__search-wrap {
	max-width: 410px !important;
	margin-inline: auto;
}

.wny-404__search-label {
	margin: 0 0 .35rem;
	color: #7a828d;
	font-size: .8rem;
}

.wny-404__search.wp-block-search {
	margin: 0;
}

.wny-404__search .wp-block-search__inside-wrapper {
	min-height: 42px;
	padding: 0;
	border: 1px solid #d4d9e0;
	border-radius: 6px;
	background: #ffffff;
	overflow: hidden;
}

.wny-404__search .wp-block-search__input {
	min-width: 0;
	padding: .65rem .8rem;
	border: 0;
	outline: 0;
	background: transparent;
	color: #142239;
	font: inherit;
}

.wny-404__search .wp-block-search__button {
	margin: 0;
	padding: .55rem .7rem;
	border: 0;
	background: transparent;
	color: #334155;
}

.wny-404__search .wp-block-search__button:hover,
.wny-404__search .wp-block-search__button:focus-visible {
	background: #f3f5f8;
}

@media (max-width: 600px) {
	.wny-404 {
		padding-inline: 1rem;
	}

	.wny-404__code {
		font-size: clamp(4.25rem, 24vw, 6rem);
	}

	.wny-404__title {
		font-size: clamp(1.7rem, 8vw, 2.2rem);
	}

	.wny-404-media {
		width: min(100%, 360px);
	}

	.wny-404__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.wny-404__actions .wp-block-button,
	.wny-404__actions .wp-block-button__link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wny-404-media video {
		scroll-behavior: auto;
	}
}





/* 0.1.3 native Gutenberg editorial page system. */
.wny-editorial-section{padding-top:clamp(4.5rem,7vw,7.25rem);padding-bottom:clamp(4.5rem,7vw,7.25rem);border-top:1px solid rgba(29,35,39,.07)}
.wny-editorial-section>.wp-block-columns,.wny-editorial-section>.wp-block-group,.wny-editorial-section>.wp-block-heading,.wny-editorial-section>.wp-block-paragraph,.wny-editorial-section>.wp-block-buttons,.wny-editorial-section>.wp-block-list,.wny-editorial-section>.wp-block-quote{width:min(1200px,calc(100% - 2rem));margin-left:auto;margin-right:auto}
.wny-band-white{background:#fff}.wny-band-blue{background:#f4f7fb}.wny-band-cream{background:#fbfaf6}.wny-band-green{background:#f5f8f4}.wny-band-warm{background:#fcf7f1}.wny-band-cloud{background:#f6f7f9}
.wny-kicker{color:#2f5be7;font-size:.76rem!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.wny-lede{font-size:clamp(1.05rem,1rem + .2vw,1.22rem);max-width:42rem;color:#4e5968}.wny-native-diagram{max-width:520px;margin-inline:auto}.wny-node{display:grid;place-items:center;aspect-ratio:1;border:1px solid #8e9aa7;border-radius:50%;max-width:150px;margin:1rem auto;font-weight:780;background:#fff}.wny-node--small{max-width:92px;font-size:.76rem}.wny-circle-mark{font-size:2.5rem;line-height:1;margin:0 0 .75rem}.wny-three-up>.wp-block-column+.wp-block-column,.wny-service-strip>.wp-block-column+.wp-block-column{border-left:1px solid var(--wp--preset--color--line);padding-left:clamp(1.1rem,2vw,2rem)}
.wny-service-strip{margin-top:2.25rem}.wny-service-strip p{font-size:.94rem}.wny-card__link{margin-top:1.25rem;font-weight:700}.wny-process{position:relative;margin-top:2rem;gap:clamp(1rem,2vw,2rem)}.wny-step{display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid #69727d;border-radius:50%;background:#fff;font-weight:800}.wny-process>.wp-block-column{position:relative}.wny-process>.wp-block-column:not(:last-child)::after{content:'';position:absolute;top:1.2rem;left:2.4rem;width:calc(100% - 2.4rem + 2rem);border-top:1px solid #aeb5bd}.wny-process>.wp-block-column p{position:relative;z-index:1}.wny-statement-box{border:1px solid #aeb6c0;padding:clamp(1.6rem,4vw,3rem);background:rgba(255,255,255,.5)}
.wny-circle-list{list-style:none;padding-left:0}.wny-circle-list li{position:relative;padding:.58rem 0 .58rem 2rem;border-bottom:1px dotted #b7bdc4}.wny-circle-list li::before{content:'○';position:absolute;left:0;top:.45rem;font-size:1.35rem}.wny-image-placeholder{min-height:250px;border:1px dashed #929eaa;background:rgba(255,255,255,.62);display:grid;place-items:center;padding:2rem;color:var(--wp--preset--color--muted)}.wny-image-placeholder--portrait{min-height:400px}.wny-image-placeholder--map{min-height:360px}.wny-form-placeholder{min-height:320px}.wny-final-cta{padding:2.6rem clamp(1rem,3vw,2rem);background:#f4f7fb;border-top:1px solid var(--wp--preset--color--line)}.wny-final-cta>.wp-block-columns{width:min(1200px,100%);margin-inline:auto}.wny-final-cta h2,.wny-final-cta p{margin-top:.25rem;margin-bottom:.25rem}.wny-review{height:100%;border:1px solid var(--wp--preset--color--line);padding:1.5rem;margin:0;background:#fff}.wny-review-grid>.wp-block-column{display:flex}.wny-contact-symbol{font-size:8rem!important;line-height:.8;margin:0}.wny-contact-card{border:1px solid var(--wp--preset--color--line);background:#fff;padding:clamp(1.5rem,3vw,2.25rem)}.wny-contact-side{border:1px solid var(--wp--preset--color--line);background:#fff;padding:1.5rem;margin-bottom:1.25rem}.wny-process--three{max-width:850px;margin-inline:auto}.editor-styles-wrapper .wny-editorial-section{margin-left:0!important;margin-right:0!important}
@media (max-width:781px){.wny-editorial-section{padding-top:3.5rem;padding-bottom:3.5rem}.wny-three-up>.wp-block-column+.wp-block-column,.wny-service-strip>.wp-block-column+.wp-block-column{border-left:0;border-top:1px solid var(--wp--preset--color--line);padding-left:0;padding-top:1.25rem}.wny-process>.wp-block-column:not(:last-child)::after{display:none}.wny-node{max-width:120px}.wny-node--small{max-width:76px}.wny-image-placeholder--portrait,.wny-image-placeholder--map{min-height:260px}.wny-contact-symbol{font-size:5rem!important}}


/* 0.1.4 Contact page fidelity pass. */
.wny-contact-hero{padding-top:clamp(5.5rem,9vw,8.5rem);padding-bottom:clamp(5.5rem,9vw,8.5rem)}
.wny-contact-hero__columns{gap:clamp(3rem,7vw,7rem)}
.wny-contact-hero__title{font-size:clamp(3.4rem,5.4vw,5.9rem)!important;line-height:.98;letter-spacing:-.045em;max-width:760px}
.wny-contact-hero__lede{font-size:clamp(1.22rem,1.5vw,1.55rem);max-width:660px;color:#28313d}
.wny-contact-hero__rule{max-width:660px!important;margin:1.7rem 0 1.5rem!important;border-color:#b9bec5!important}
.wny-contact-conversation-mark{position:relative;width:min(330px,80%);aspect-ratio:1;border:3px solid #111;border-radius:50%;display:grid;place-items:center;margin-inline:auto;background:#fff}
.wny-contact-bubbles{position:relative;width:150px;height:115px;margin:0!important;font-family:Arial,sans-serif;font-size:0;line-height:1}
.wny-contact-bubbles span{position:absolute;display:grid;place-items:center;width:100px;height:68px;border:4px solid #111;border-radius:18px;color:transparent;background:#fff}
.wny-contact-bubbles span::before,.wny-contact-bubbles span::after{content:'';position:absolute;left:23px;width:50px;border-top:3px solid #111}
.wny-contact-bubbles span::before{top:24px}.wny-contact-bubbles span::after{top:40px;width:34px}
.wny-contact-bubbles span:first-child{left:0;top:0}.wny-contact-bubbles span:last-child{right:0;bottom:0;width:78px;height:54px}
.wny-contact-main{padding-top:clamp(4.5rem,7vw,6.5rem);padding-bottom:clamp(4.5rem,7vw,6.5rem)}
.wny-contact-main__columns{gap:0!important;align-items:stretch}
.wny-contact-help{padding-right:clamp(2rem,4vw,4rem);border-right:1px solid #9ea5ad}
.wny-contact-form-column{padding-left:clamp(2rem,4vw,4rem)}
.wny-contact-help__list{list-style:none!important;padding:0!important;margin:2rem 0 0!important}
.wny-contact-help__list li{position:relative;margin:0;padding:1.1rem 0 1.1rem 3.1rem;border:0!important;font-size:clamp(1rem,1vw,1.12rem);line-height:1.45}
.wny-contact-help__list li::before{content:'';position:absolute;left:.1rem;top:.8rem;width:1.9rem;height:1.9rem;border:2px solid #111;border-radius:50%;background:transparent}
.wny-native-form-preview{max-width:none!important;margin:1.9rem 0 0!important}
.wny-form-row{gap:2rem!important;margin-bottom:.35rem!important}
.wny-field-label{margin:1.3rem 0 .5rem!important}
.wny-field-box{min-height:58px;border:1.5px solid #20262d;border-radius:4px;background:#fff;margin:0!important}
.wny-field-box--textarea{min-height:180px}
.wny-native-form-preview .wp-block-buttons{margin-top:1.8rem}
.wny-form-replace-note{font-size:.78rem;color:#747e89;margin-top:1rem!important}
body:not(.block-editor-page) .wny-form-replace-note{display:none}
/* Style an inserted Gravity Forms block to inherit the approved composition. */
.wny-contact-form-column .gform_wrapper,.wny-contact-form-column .gform-theme{max-width:none!important}
.wny-contact-form-column .gform_wrapper input[type=text],.wny-contact-form-column .gform_wrapper input[type=email],.wny-contact-form-column .gform_wrapper input[type=url],.wny-contact-form-column .gform_wrapper input[type=tel],.wny-contact-form-column .gform_wrapper textarea,.wny-contact-form-column .gform-theme input[type=text],.wny-contact-form-column .gform-theme input[type=email],.wny-contact-form-column .gform-theme input[type=url],.wny-contact-form-column .gform-theme input[type=tel],.wny-contact-form-column .gform-theme textarea{border:1.5px solid #20262d!important;border-radius:4px!important;background:#fff!important;box-shadow:none!important}
.wny-contact-form-column .gform_wrapper input,.wny-contact-form-column .gform-theme input{min-height:58px}
.wny-contact-form-column .gform_wrapper textarea,.wny-contact-form-column .gform-theme textarea{min-height:180px}
.wny-contact-form-column .gform_wrapper .gform_button,.wny-contact-form-column .gform-theme .gform_button{background:#111!important;color:#fff!important;border:1px solid #111!important;border-radius:5px!important;padding:.85rem 1.35rem!important;font-weight:700!important}
.wny-contact-next{padding-top:clamp(5rem,8vw,7rem);padding-bottom:clamp(5rem,8vw,7rem)}
.wny-contact-next>h2{margin-bottom:3.5rem!important}
.wny-contact-process{max-width:880px!important;gap:0!important}
.wny-contact-process .wp-block-column{text-align:center}
.wny-contact-process .wny-step{margin-inline:auto;background:#fff}
.wny-contact-process>.wp-block-column:not(:last-child)::after{left:calc(50% + 1.2rem);width:calc(100% - 2.4rem);top:1.2rem}
@media (max-width:781px){.wny-contact-hero__title{font-size:clamp(2.8rem,12vw,4.4rem)!important}.wny-contact-conversation-mark{width:min(240px,70%);margin-top:2.5rem}.wny-contact-main__columns{gap:2.5rem!important}.wny-contact-help{padding-right:0;border-right:0;border-bottom:1px solid #9ea5ad;padding-bottom:2.5rem}.wny-contact-form-column{padding-left:0}.wny-form-row{gap:0!important}.wny-contact-process{gap:1.75rem!important}.wny-contact-process>.wp-block-column:not(:last-child)::after{display:none}}


/* 0.1.5 About icon system. Theme SVG assets are rendered through native core/image blocks. */
.wny-icon-strip{margin-top:2.4rem;align-items:flex-start;position:relative}
.wny-icon-strip>.wp-block-column{text-align:center;position:relative;z-index:1}
.wny-icon-strip--connected::before{content:"";position:absolute;left:8%;right:8%;top:43px;border-top:1px solid #9ea8b4;z-index:0}
.wny-icon-ring{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 1rem;border:1.5px solid #74808c;border-radius:50%;background:rgba(255,255,255,.74);position:relative;z-index:2;padding:0}
.wny-icon-ring .wp-block-image{margin:0!important;line-height:0}
.wny-icon-ring img{display:block;width:42px!important;height:42px!important;object-fit:contain;filter:none;color:#17212b}
.wny-icon-strip h3{font-size:.78rem!important;line-height:1.25;letter-spacing:.01em;margin-top:.7rem;max-width:11rem;margin-inline:auto}
.wny-icon-strip-copy{max-width:680px;margin-top:2rem!important;margin-inline:auto!important;text-align:center;color:var(--wp--preset--color--muted)}
.wny-local-points{margin-top:1.7rem}.wny-local-point{gap:.85rem;align-items:center;margin:.75rem 0}.wny-local-point .wny-icon-ring{flex:0 0 42px;width:42px;height:42px;margin:0}.wny-local-point .wny-icon-ring img{width:21px!important;height:21px!important}.wny-local-point p{margin:0;font-size:.92rem}
.wny-review-stars{letter-spacing:.08em;margin:.4rem 0;color:#d49b00}.wny-review-grid{gap:1rem}.wny-review{min-height:165px}.wny-about-final-cta .wny-icon-ring{width:64px;height:64px;margin:0}.wny-about-final-cta .wny-icon-ring img{width:31px!important;height:31px!important}
@media (max-width:781px){.wny-icon-strip--connected::before{display:none}.wny-icon-strip>.wp-block-column{padding:1.35rem 0}.wny-icon-ring{width:76px;height:76px}.wny-icon-ring img{width:36px!important;height:36px!important}.wny-about-final-cta .wp-block-buttons{justify-content:flex-start!important}}


/* 0.1.6 About fidelity pass. */
.wny-about-intro{padding-top:clamp(4.5rem,6vw,6rem);padding-bottom:clamp(4rem,6vw,5.5rem)}
.wny-about-intro>.wp-block-columns{max-width:1120px;gap:clamp(3rem,7vw,7rem)}
.wny-about-intro h1{line-height:.98;margin-bottom:1.15rem}
.wny-about-intro .wny-lede{line-height:1.45;max-width:39rem}
.wny-about-intro .wp-block-column:first-child>p:last-child{max-width:40rem}
.wny-about-intro .wny-image-placeholder--portrait{min-height:360px;max-width:430px;margin-left:auto}

.wny-about-what{padding-top:4.5rem;padding-bottom:4.5rem}
.wny-about-what>.wny-kicker,.wny-about-what>h2{width:min(1120px,calc(100% - 2rem));margin-inline:auto}
.wny-about-what>h2{margin-top:.65rem;margin-bottom:0}
.wny-about-what .wny-icon-strip{width:min(980px,calc(100% - 2rem));margin-top:2.3rem!important}
.wny-about-what .wny-icon-strip--connected::before{left:9%;right:9%;top:39px}
.wny-about-what .wny-icon-ring{width:78px;height:78px}
.wny-about-what .wny-icon-ring img{width:36px!important;height:36px!important}
.wny-about-what .wny-icon-strip h3{font-weight:800;letter-spacing:.015em;margin-top:.55rem}
.wny-about-what .wny-icon-strip-copy{max-width:640px;line-height:1.65;margin-top:2.1rem!important}

.wny-about-why{padding-top:4.5rem;padding-bottom:4.5rem}
.wny-about-why>.wp-block-columns{max-width:1040px;gap:clamp(3rem,8vw,7rem)}
.wny-about-why h2{margin-bottom:1.15rem}
.wny-about-why .wny-statement-box{padding:clamp(1.8rem,3vw,2.6rem);min-height:215px;display:flex;align-items:center}
.wny-about-why .wny-statement-box p{line-height:1.45}
.wny-about-why .wp-block-column:last-child p{line-height:1.6}

.wny-about-how{padding-top:4.4rem;padding-bottom:4.7rem}
.wny-about-how>.wny-kicker,.wny-about-how>h2{width:min(1120px,calc(100% - 2rem));margin-inline:auto}
.wny-about-how .wny-process{width:min(1040px,calc(100% - 2rem));margin-top:2.15rem;gap:clamp(1.5rem,3vw,3rem)}
.wny-about-how .wny-step{width:2.8rem;height:2.8rem;font-size:1rem}
.wny-about-how .wny-process>.wp-block-column:not(:last-child)::after{top:1.4rem;left:2.8rem;width:calc(100% - 2.8rem + 3rem)}
.wny-about-how .wny-process p:not(.wny-step){line-height:1.55}

.wny-about-local{padding-top:4.6rem;padding-bottom:4.6rem}
.wny-about-local>.wp-block-columns{max-width:1100px;gap:clamp(3rem,6vw,5rem)}
.wny-about-local .wp-block-column:first-child{max-width:390px}
.wny-about-local h2{line-height:1.03}
.wny-about-local .wny-image-placeholder--map{min-height:330px}
.wny-about-local .wny-local-points{margin-top:1.45rem}
.wny-about-local .wny-local-point p{line-height:1.45;font-weight:600}

.wny-about-who{padding-top:3.8rem;padding-bottom:4rem}
.wny-about-who>.wny-kicker,.wny-about-who>h2{width:min(1120px,calc(100% - 2rem));margin-inline:auto}
.wny-about-who .wny-icon-strip{width:min(1020px,calc(100% - 2rem));margin-top:1.9rem!important}
.wny-about-who .wny-icon-ring{width:70px;height:70px}
.wny-about-who .wny-icon-ring img{width:32px!important;height:32px!important}
.wny-about-who .wny-icon-strip h3{line-height:1.35;max-width:10.5rem}

.wny-about-when{padding-top:3.7rem;padding-bottom:3.9rem}
.wny-about-when>.wp-block-columns{max-width:1120px;gap:clamp(2.5rem,5vw,4.5rem)}
.wny-about-when h2{line-height:1.05;margin-bottom:1.25rem}
.wny-reach-timeline{position:relative;gap:1.2rem;margin-top:1rem}
.wny-reach-timeline::before{content:"";position:absolute;left:2%;right:2%;top:.9rem;border-top:1px solid #7f8994;z-index:0}
.wny-reach-timeline>.wp-block-column{position:relative;z-index:1}
.wny-reach-dot{font-size:1.8rem;line-height:1;margin:0 0 1rem;background:var(--wp--preset--color--mist,#f5f8f4);width:1.8rem;position:relative}
.wny-reach-timeline>.wp-block-column>p:last-child{font-size:.9rem;line-height:1.45;margin:0;max-width:9.5rem}

.wny-about-reviews{padding-top:3.9rem;padding-bottom:4rem}
.wny-about-reviews>.wp-block-columns{max-width:1120px;gap:2rem;align-items:stretch}
.wny-about-reviews .wp-block-column:first-child>.wny-icon-ring{width:58px;height:58px;margin:0 0 .85rem}
.wny-about-reviews .wp-block-column:first-child>.wny-icon-ring img{width:28px!important;height:28px!important}
.wny-about-reviews h2{margin-bottom:.4rem}
.wny-about-reviews .wny-review-stars{margin:.2rem 0 .45rem}
.wny-about-reviews .wny-review-grid{height:100%;gap:1.2rem}
.wny-about-reviews .wny-review{min-height:205px;padding:1.6rem 1.5rem;display:flex;flex-direction:column;justify-content:space-between;line-height:1.55}
.wny-about-reviews .wny-review p{margin-top:0}.wny-about-reviews .wny-review cite{}

.wny-about-final-cta{padding-top:2.2rem!important;padding-bottom:2.2rem!important}
.wny-about-final-cta>.wp-block-columns{max-width:1120px}
.wny-about-final-cta h2{}
.wny-about-final-cta p{}
.wny-about-final-cta .wny-icon-ring{width:72px;height:72px}

@media (max-width:781px){
 .wny-about-intro>.wp-block-columns,.wny-about-why>.wp-block-columns,.wny-about-local>.wp-block-columns,.wny-about-when>.wp-block-columns{gap:2rem}
 .wny-about-intro h1{}.wny-about-intro .wny-image-placeholder--portrait{margin-left:0;max-width:none;min-height:300px}
 .wny-about-what .wny-icon-strip,.wny-about-who .wny-icon-strip{width:min(100%,calc(100% - 2rem))}
 .wny-about-how .wny-process{gap:.6rem}.wny-about-how .wny-process>.wp-block-column{padding:1rem 0;border-top:1px solid rgba(110,120,130,.22)}
 .wny-reach-timeline{display:block!important}.wny-reach-timeline::before{left:.82rem;right:auto;top:.7rem;bottom:.7rem;height:auto;border-top:0;border-left:1px solid #7f8994}
 .wny-reach-timeline>.wp-block-column{display:grid;grid-template-columns:2.4rem 1fr;gap:.6rem;align-items:start;margin-bottom:.75rem}.wny-reach-dot{margin:0}.wny-reach-timeline>.wp-block-column>p:last-child{max-width:none;padding-top:.15rem}
 .wny-about-reviews .wp-block-column:first-child>.wny-icon-ring{margin-left:0}.wny-about-final-cta .wny-icon-ring{margin-left:0}
}


/* 0.1.7 About heading/alignment correction. */
.wny-about-section-split{width:min(1120px,calc(100% - 2rem));margin-inline:auto;gap:clamp(2.5rem,5vw,5rem)!important}
.wny-about-section-split .wny-kicker{margin:0 0 .75rem!important}
.wny-about-section-split>.wp-block-column:first-child h2{margin:0!important;line-height:1.06}
.wny-about-what>.wp-block-columns,.wny-about-how>.wp-block-columns,.wny-about-who>.wp-block-columns{max-width:1120px}
.wny-about-what .wny-icon-strip,.wny-about-who .wny-icon-strip,.wny-about-how .wny-process{width:100%!important;margin-inline:0!important}
.wny-about-what .wny-icon-strip-copy{max-width:680px;margin-left:auto!important;margin-right:auto!important}
.wny-about-how .wny-process{margin-top:0!important}
.wny-about-who .wny-icon-strip{margin-top:0!important}
.wny-about-what .wny-icon-strip{margin-top:0!important}
.wny-about-local .wny-kicker,.wny-about-why .wny-kicker,.wny-about-reviews .wny-kicker,.wny-about-when .wny-kicker,.wny-about-intro .wny-kicker{margin-bottom:.7rem!important}
.wny-about-local h2,.wny-about-why h2,.wny-about-reviews h2,.wny-about-when h2,.wny-about-intro h1{margin-top:0!important}
@media (max-width:781px){.wny-about-section-split{gap:2rem!important}.wny-about-section-split>.wp-block-column:first-child h2{}.wny-about-what .wny-icon-strip,.wny-about-who .wny-icon-strip{margin-top:1rem!important}.wny-about-how .wny-process{margin-top:1rem!important}}


/* 0.1.8 About final fidelity pass. */
.wny-about-intro>.wp-block-columns,
.wny-about-why>.wp-block-columns,
.wny-about-local>.wp-block-columns,
.wny-about-reviews>.wp-block-columns,
.wny-about-when>.wp-block-columns,
.wny-about-section-split,
.wny-about-final-cta>.wp-block-columns{width:min(1180px,calc(100% - 3rem));max-width:1180px;margin-inline:auto}

.wny-about-intro{padding-top:clamp(5rem,7vw,7rem);padding-bottom:clamp(4.75rem,7vw,6.5rem)}
.wny-about-intro>.wp-block-columns{gap:clamp(4rem,8vw,8rem)}
.wny-about-intro h1{letter-spacing:-.035em}
.wny-about-intro .wny-lede{}

.wny-about-section-split{grid-template-columns:minmax(235px,30%) minmax(0,70%);gap:clamp(3.5rem,7vw,6.5rem)!important}
.wny-about-section-split .wny-kicker,
.wny-about-why .wny-kicker,
.wny-about-local .wny-kicker,
.wny-about-when .wny-kicker,
.wny-about-reviews .wny-kicker{letter-spacing:.14em;font-weight:800;margin-bottom:.6rem!important}
.wny-about-section-split>.wp-block-column:first-child h2,
.wny-about-why h2,
.wny-about-local h2,
.wny-about-when h2,
.wny-about-reviews h2{line-height:1.02;letter-spacing:-.025em}

.wny-about-what{padding-top:4.15rem;padding-bottom:4.35rem}
.wny-about-what .wny-icon-strip{gap:clamp(1.15rem,2.4vw,2.4rem)!important}
.wny-about-what .wny-icon-ring{width:92px;height:92px}
.wny-about-what .wny-icon-ring img{width:42px!important;height:42px!important}
.wny-about-what .wny-icon-strip--connected::before{top:46px;left:8%;right:8%;border-top-color:#8f99a5}
.wny-about-what .wny-icon-strip h3{margin-top:.75rem}
.wny-about-what .wny-icon-strip-copy{max-width:700px;margin-top:2.2rem!important;}

.wny-about-why{padding-top:4.55rem;padding-bottom:4.65rem}
.wny-about-why>.wp-block-columns{gap:clamp(4rem,8vw,7.5rem)}
.wny-about-why .wny-statement-box{min-height:240px;padding:2.25rem 2.5rem}
.wny-about-why .wny-statement-box p{line-height:1.4}
.wny-about-why .wp-block-column:last-child{padding-top:1.2rem}

.wny-about-how{padding-top:4.05rem;padding-bottom:4.2rem}
.wny-about-how .wny-process{gap:clamp(1.5rem,2.8vw,2.8rem)!important}
.wny-about-how .wny-step{width:3.2rem;height:3.2rem;font-size:1.08rem;border-width:1.4px}
.wny-about-how .wny-process>.wp-block-column:not(:last-child)::after{top:1.6rem;left:3.2rem;width:calc(100% - 3.2rem + 2.8rem);border-top-color:#8e99a3}
.wny-about-how .wny-process p:not(.wny-step){line-height:1.58}
.wny-about-how .wny-process strong{display:inline-block;margin-bottom:.3rem;letter-spacing:.015em}

.wny-about-local{padding-top:4.4rem;padding-bottom:4.45rem}
.wny-about-local>.wp-block-columns{grid-template-columns:minmax(300px,38%) minmax(0,62%);gap:clamp(3.5rem,6vw,6rem)}
.wny-about-local .wp-block-column:first-child{max-width:none}
.wny-about-local .wny-image-placeholder--map{min-height:390px;width:100%}
.wny-about-local .wny-local-point .wny-icon-ring{width:46px;height:46px;flex-basis:46px}
.wny-about-local .wny-local-point .wny-icon-ring img{width:22px!important;height:22px!important}

.wny-about-who{padding-top:3.45rem;padding-bottom:3.55rem}
.wny-about-who .wny-icon-strip{gap:clamp(1rem,2vw,2rem)!important}
.wny-about-who .wny-icon-ring{width:80px;height:80px}
.wny-about-who .wny-icon-ring img{width:36px!important;height:36px!important}
.wny-about-who .wny-icon-strip h3{max-width:11rem}

.wny-about-when{padding-top:3.35rem;padding-bottom:3.45rem}
.wny-about-when>.wp-block-columns{grid-template-columns:minmax(235px,30%) minmax(0,70%);gap:clamp(3.5rem,6vw,5.5rem)}
.wny-about-when .wp-block-buttons{margin-top:1.35rem}
.wny-reach-timeline{gap:clamp(1.25rem,2vw,2rem)!important;margin-top:.35rem}
.wny-reach-timeline::before{top:1rem;left:3%;right:3%;border-top-color:#7d8792}
.wny-reach-dot{font-size:2rem;width:2rem;margin-bottom:1.1rem;background:#f5f8f4}
.wny-reach-timeline>.wp-block-column>p:last-child{font-size:.94rem;line-height:1.45;max-width:10.5rem}

.wny-about-reviews{padding-top:3.85rem;padding-bottom:3.9rem}
.wny-about-reviews>.wp-block-columns{grid-template-columns:minmax(260px,29%) minmax(0,71%);gap:clamp(2.25rem,4vw,4rem);align-items:center}
.wny-about-reviews .wp-block-column:first-child>.wny-icon-ring{width:68px;height:68px;margin-bottom:1rem}
.wny-about-reviews .wp-block-column:first-child>.wny-icon-ring img{width:32px!important;height:32px!important}
.wny-about-reviews .wny-review-stars{line-height:1;margin:.45rem 0 .65rem}
.wny-about-reviews .wny-small{max-width:18rem;line-height:1.45}
.wny-about-reviews .wny-review-grid{gap:1rem!important;align-items:stretch}
.wny-about-reviews .wny-review-grid>.wp-block-column{display:flex}
.wny-about-reviews .wny-review{min-height:225px;width:100%;padding:1.75rem 1.6rem;line-height:1.58}

.wny-about-final-cta{padding-top:2.5rem!important;padding-bottom:2.5rem!important}
.wny-about-final-cta>.wp-block-columns{gap:1.5rem}
.wny-about-final-cta h2{line-height:1.05;margin-bottom:.35rem}
.wny-about-final-cta p{}
.wny-about-final-cta .wny-icon-ring{width:80px;height:80px}
.wny-about-final-cta .wny-icon-ring img{width:36px!important;height:36px!important}

@media (max-width:781px){
 .wny-about-intro>.wp-block-columns,.wny-about-why>.wp-block-columns,.wny-about-local>.wp-block-columns,.wny-about-reviews>.wp-block-columns,.wny-about-when>.wp-block-columns,.wny-about-section-split,.wny-about-final-cta>.wp-block-columns{width:min(100% - 2rem,1180px);display:block!important}
 .wny-about-section-split>.wp-block-column:first-child{margin-bottom:2rem}
 .wny-about-what .wny-icon-ring,.wny-about-who .wny-icon-ring{width:76px;height:76px}
 .wny-about-local .wny-image-placeholder--map{min-height:280px;margin-top:2rem}
 .wny-about-reviews .wny-review-grid{display:block!important}.wny-about-reviews .wny-review-grid>.wp-block-column{margin-bottom:1rem}
 .wny-about-reviews .wny-review{min-height:0}
}

/* 0.1.9 — About editorial typography fidelity. */
/* Keep the intro personal/direct in the system sans, but give the story sections
   the serif editorial voice used in the approved About composition. */
.wny-about-intro h1.wp-block-heading {
	font-family: var(--wp--preset--font-family--system);
	font-weight: 760;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

.wny-about-what h2.wp-block-heading,
.wny-about-why h2.wp-block-heading,
.wny-about-how h2.wp-block-heading,
.wny-about-local h2.wp-block-heading,
.wny-about-who h2.wp-block-heading,
.wny-about-when h2.wp-block-heading,
.wny-about-reviews h2.wp-block-heading,
.wny-about-final-cta h2.wp-block-heading {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

.wny-about-why .wny-statement-box p {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.34;
}

/* UI labels remain crisp sans-serif. */
.wny-about-icons h3.wp-block-heading,
.wny-about-how .wny-process strong,
.wny-about-local .wny-local-points,
.wny-about-when .wny-reach-timeline,
.wny-about-reviews .wny-review,
.wny-about-reviews .wny-card__link {
	font-family: var(--wp--preset--font-family--system);
}

/* Font sizes are intentionally controlled by Gutenberg block settings. */
.wny-about-intro .wny-lede {
	font-weight: 440;
	letter-spacing: -0.012em;
	line-height: 1.5;
}

.wny-about-intro > .wp-block-columns > .wp-block-column:first-child > p:not(.wny-kicker):not(.wny-lede),
.wny-about-why p:not(.wny-kicker),
.wny-about-local p:not(.wny-kicker),
.wny-about-reviews p:not(.wny-kicker) {
	line-height: 1.58;
}



/* Transformas List Bullets to Check Marks in Gutenburg */
.green-check-list {
    list-style: none;
    padding-left: 0;
}

.green-check-list li {
    position: relative;
    padding-left: 1.75rem;
}

.green-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #22c55e;
    font-size: 1.1em;
    font-weight: 700;
}


/* 0.1.10 — Gutenberg owns editable About typography sizes.
   Theme CSS may define font family, weight, line-height and layout, but it must not
   override font-size on native editable text blocks. This preserves Site Editor
   preset/custom size controls and editor/front-end parity. */
