/* ==========================================================================
   WNYPress Support home 0.2.3 — support portal refinement
   Purpose-built public support portal. No generated imagery required.
   ========================================================================== */

.wny-support-home-inner {
	width: min(1180px, calc(100% - 40px)) !important;
	max-width: none !important;
	margin-inline: auto !important;
	box-sizing: border-box;
}

.wny-local-header {
	background: #fff;
	border-bottom: 1px solid #e6e9ee;
}
.wny-local-header__inner {
	min-height: 42px;
}
.wny-local-header .wp-block-navigation {
	width: 100%;
}
.wny-local-header .wp-block-navigation__container {
	gap: clamp(1rem, 2.2vw, 2rem);
}
.wny-local-header .wp-block-navigation-item__content {
	color: #16243a;
	font-size: .82rem;
	font-weight: 620;
}
.wny-local-header .wp-block-navigation-item__content:hover,
.wny-local-header .wp-block-navigation-item__content:focus-visible {
	color: #1759d6;
}

/* Hero */
.wny-support-home-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(2.7rem, 6vw, 5.3rem) 0 clamp(4.2rem, 8vw, 7rem);
	background:
		radial-gradient(circle at 16% 22%, rgba(56, 123, 245, .15), transparent 27rem),
		radial-gradient(circle at 84% 26%, rgba(245, 158, 11, .12), transparent 24rem),
		linear-gradient(180deg, #eaf4ff 0%, #f6fbff 58%, #ffffff 100%);
	border-bottom: 1px solid #e7edf5;
}
.wny-support-home-hero::before {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 42%;
	background:
		linear-gradient(135deg, transparent 0 21%, rgba(30, 99, 196, .06) 21.2% 22.2%, transparent 22.4% 100%),
		linear-gradient(24deg, transparent 0 44%, rgba(14, 116, 144, .06) 44.2% 45.2%, transparent 45.4% 100%);
	pointer-events: none;
}
.wny-support-home-hero__inner {
	position: relative;
	z-index: 1;
	text-align: center;
}
.wny-support-home-eyebrow {
	margin: 0 0 .55rem !important;
	color: #102a4c;
	font-size: .95rem;
	font-weight: 720;
}
.wny-support-home-title {
	max-width: 900px;
	margin: 0 auto .7rem !important;
	color: #092643;
	font-size: clamp(2.35rem, 4.8vw, 4.7rem);
	font-weight: 820;
	letter-spacing: -.045em;
	line-height: .98;
}
.wny-support-home-lede {
	max-width: 720px;
	margin: 0 auto !important;
	color: #526071;
	font-size: clamp(1rem, 1.2vw, 1.2rem);
	line-height: 1.55;
}
.wny-support-home-search {
	max-width: 760px;
	margin: 1.65rem auto 0 !important;
}
.wny-support-home-search .wp-block-search__inside-wrapper {
	display: flex;
	min-height: 58px;
	padding: 4px;
	border: 1px solid #aebacc;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(22, 56, 96, .12);
}
.wny-support-home-search .wp-block-search__input {
	min-width: 0;
	border: 0 !important;
	border-radius: 7px !important;
	padding: 0 1rem !important;
	background: transparent;
	color: #263548;
	font-size: 1rem;
	box-shadow: none !important;
	outline: 0;
}
.wny-support-home-search .wp-block-search__button {
	min-width: 116px;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: #082f53 !important;
	color: #fff !important;
	font-size: .92rem;
	font-weight: 760;
}
.wny-support-popular {
	justify-content: center !important;
	gap: .45rem !important;
	margin-top: 1rem !important;
}
.wny-support-popular p {
	margin: 0 !important;
}
.wny-support-popular__label {
	color: #24364b;
	font-size: .82rem;
}
.wny-support-chip a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: .25rem .8rem;
	border: 1px solid #cbd6e5;
	border-radius: 8px;
	background: rgba(255,255,255,.86);
	color: #23364d;
	font-size: .78rem;
	font-weight: 700;
	box-shadow: 0 2px 7px rgba(17, 41, 72, .04);
}
.wny-support-chip a:hover,
.wny-support-chip a:focus-visible {
	border-color: #6b91dc;
	color: #1759d6;
}

/* Primary support actions */
.wny-support-options-wrap {
	position: relative;
	z-index: 3;
	margin-top: clamp(-3rem, -5vw, -2rem);
	padding-bottom: clamp(3.8rem, 6vw, 5.5rem);
}
.wny-support-options {
	gap: .9rem !important;
	align-items: stretch !important;
	margin: 0 !important;
	padding: .55rem;
	border: 1px solid #d9e1ea;
	border-radius: 18px;
	background: rgba(255,255,255,.95);
	box-shadow: 0 18px 44px rgba(20, 49, 84, .10);
}
.wny-support-options > .wp-block-column {
	display: flex;
	min-width: 0;
	margin: 0 !important;
}
.wny-support-option {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 310px;
	padding: 1.55rem 1.35rem 1.35rem !important;
	border: 1px solid transparent;
	border-radius: 14px;
	text-align: center;
	box-sizing: border-box;
}
.wny-support-option--articles { background: linear-gradient(180deg,#f2f7ff,#edf5ff); }
.wny-support-option--sales { background: linear-gradient(180deg,#f1fbf4,#eaf8ef); }
.wny-support-option--totalcare { background: linear-gradient(180deg,#f6f1ff,#f0eaff); }
.wny-support-option--booking { background: linear-gradient(180deg,#fff8ee,#fff2e3); }

.wny-support-option__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 1rem !important;
	border-radius: 50%;
	color: #fff;
	font-size: 1rem;
	font-weight: 850;
	letter-spacing: -.02em;
	box-shadow: 0 8px 20px rgba(32, 58, 88, .14);
}
.wny-support-option--articles .wny-support-option__icon { background: #1f68ed; }
.wny-support-option--sales .wny-support-option__icon { background: #149448; }
.wny-support-option--totalcare .wny-support-option__icon { background: #6734dc; }
.wny-support-option--booking .wny-support-option__icon { background: #ff7a00; }

.wny-support-option h3 {
	margin: 0 0 .55rem !important;
	color: #101c2c;
	font-size: 1.3rem;
	font-weight: 790;
	letter-spacing: -.025em;
}
.wny-support-option > p:not(.wny-support-option__icon) {
	margin: 0 !important;
	color: #435267;
	font-size: .92rem;
	line-height: 1.55;
}
.wny-support-option__actions {
	width: 100%;
	margin-top: auto !important;
	padding-top: 1.15rem;
}
.wny-support-option__actions .wp-block-button {
	width: 100%;
}
.wny-support-option__actions .wp-block-button__link {
	width: 100%;
	box-sizing: border-box;
	padding: .82rem .9rem;
	border: 0;
	border-radius: 8px;
	color: #fff !important;
	font-size: .88rem;
	font-weight: 760;
}
.wny-support-option--articles .wp-block-button__link { background: #1f68ed !important; }
.wny-support-option--sales .wp-block-button__link { background: #149448 !important; }
.wny-support-option--totalcare .wp-block-button__link { background: #6734dc !important; }
.wny-support-option--booking .wp-block-button__link { background: #ef6c00 !important; }

/* Section headings */
.wny-support-section-label {
	margin: 0 0 .45rem !important;
	color: #184878;
	font-size: .76rem;
	font-weight: 820;
	letter-spacing: .075em;
	text-transform: uppercase;
}
.wny-support-section-title {
	max-width: 920px;
	margin: 0 !important;
	color: #102a43;
	font-size: clamp(1.8rem, 2.6vw, 2.65rem);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.08;
}
.wny-support-section-copy {
	margin: .55rem 0 0 !important;
	color: #647286;
	font-size: .98rem;
}

/* Knowledge-base topics */
.wny-support-topics-section {
	padding: 0 0 clamp(4rem, 7vw, 6rem);
	background: #fff;
}
.wny-support-topic-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0,1fr)) !important;
	gap: 2rem 2.3rem !important;
	margin-top: 2.4rem !important;
}
.wny-support-topic {
	display: grid !important;
	grid-template-columns: 44px minmax(0,1fr);
	gap: .95rem !important;
	align-items: start;
	margin: 0 !important;
}
.wny-support-topic__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin: 0 !important;
	border-radius: 10px;
	background: #eef4ff;
	color: #0b5bd3;
	font-size: 1.25rem;
	font-weight: 800;
}
.wny-support-topic__body {
	margin: 0 !important;
}
.wny-support-topic h3 {
	margin: 0 0 .28rem !important;
	font-size: 1rem;
	font-weight: 780;
	line-height: 1.25;
}
.wny-support-topic h3 a {
	color: #0b5bd3;
}
.wny-support-topic p {
	margin: 0 !important;
	color: #59687b;
	font-size: .86rem;
	line-height: 1.55;
}

/* Latest articles */
.wny-support-latest-section {
	padding: clamp(3.4rem, 6vw, 5.2rem) 0;
	border-top: 1px solid #e2e8f0;
	background: #f9fbfd;
}
.wny-support-section-head {
	gap: 1.5rem !important;
	margin-bottom: 1.5rem !important;
}
.wny-support-view-all {
	margin: 0 !important;
	font-size: .86rem;
	font-weight: 700;
	white-space: nowrap;
}
.wny-support-latest-query .wp-block-post-template {
	gap: 1rem !important;
}
.wny-support-article-card {
	height: 100%;
	min-height: 190px;
	padding: 1.3rem !important;
	border: 1px solid #d7dee8;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 2px 7px rgba(16, 42, 67, .03);
}
.wny-support-article-card h3 {
	margin: 0 0 .65rem !important;
	font-size: 1rem;
	line-height: 1.35;
}
.wny-support-article-card h3 a {
	color: #12283f;
}
.wny-support-article-card .wp-block-post-excerpt {
	margin: 0 !important;
	color: #5a6879;
	font-size: .86rem;
}
.wny-support-article-card .wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: .8rem;
	color: #0b5bd3;
	font-weight: 700;
}
.wny-support-empty {
	padding: 1.4rem !important;
	border: 1px dashed #bfc9d6;
	border-radius: 10px;
	background: #fff;
}
.wny-support-empty h3 {
	margin: 0 0 .35rem !important;
	font-size: 1rem;
}
.wny-support-empty p {
	margin: 0 !important;
	color: #617083;
	font-size: .88rem;
}

/* Contact bar */
.wny-support-cta-section {
	padding: 0 0 clamp(3.6rem, 6vw, 5rem);
	background: #f9fbfd;
}
.wny-support-contact-bar {
	gap: 1.5rem !important;
	padding: 1.4rem 1.7rem !important;
	border: 1px solid #d9e4f5;
	border-radius: 12px;
	background: linear-gradient(90deg,#edf5ff,#f5f9ff);
}
.wny-support-contact-bar__copy {
	margin: 0 !important;
}
.wny-support-contact-bar h3 {
	margin: 0 0 .2rem !important;
	color: #102a43;
	font-size: 1.25rem;
}
.wny-support-contact-bar p {
	margin: 0 !important;
	color: #526176;
	font-size: .9rem;
}
.wny-support-contact-button .wp-block-button__link {
	padding: .8rem 1.15rem;
	border-radius: 7px;
	background: #083d77 !important;
	color: #fff !important;
	font-size: .86rem;
	font-weight: 760;
	white-space: nowrap;
}

/* Tablet */
@media (max-width: 980px) {
	.wny-support-options {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
	.wny-support-options > .wp-block-column {
		width: auto !important;
	}
	.wny-support-option {
		min-height: 280px;
	}
	.wny-support-topic-grid {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	}
}

/* Mobile */
@media (max-width: 640px) {
	.wny-support-home-inner {
		width: min(100% - 28px, 1180px) !important;
	}
	.wny-local-header__inner {
		min-height: 44px;
	}
	.wny-support-home-hero {
		padding-top: 2.35rem;
		padding-bottom: 4.3rem;
	}
	.wny-support-home-title {
		font-size: clamp(2rem, 10vw, 3rem);
	}
	.wny-support-home-search .wp-block-search__inside-wrapper {
		min-height: 54px;
	}
	.wny-support-home-search .wp-block-search__button {
		min-width: 88px;
		padding-inline: .8rem;
	}
	.wny-support-popular__label {
		width: 100%;
		text-align: center;
	}
	.wny-support-options-wrap {
		margin-top: -2.3rem;
	}
	.wny-support-options {
		grid-template-columns: 1fr !important;
		padding: .45rem;
	}
	.wny-support-option {
		min-height: 0;
		padding: 1.35rem !important;
	}
	.wny-support-topic-grid {
		grid-template-columns: 1fr !important;
		gap: 1.3rem !important;
	}
	.wny-support-latest-query .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
	.wny-support-contact-bar {
		align-items: flex-start !important;
	}
	.wny-support-contact-bar .wp-block-buttons,
	.wny-support-contact-bar .wp-block-button,
	.wny-support-contact-bar .wp-block-button__link {
		width: 100%;
	}
}

/* Editor parity: keep homepage wide inside the Site Editor canvas too. */
.editor-styles-wrapper .wny-support-home-inner {
	width: min(1180px, calc(100% - 40px)) !important;
	max-width: none !important;
}
.editor-styles-wrapper .wny-support-options {
	align-items: stretch !important;
}


/* ==========================================================================
   0.2.2 portal polish
   ========================================================================== */

/* Break homepage sections out of the theme's normal constrained content column. */
body:is(.home,.front-page) .wp-site-blocks {
	overflow-x: clip;
}
body:is(.home,.front-page) .wp-site-blocks > .alignfull,
body:is(.home,.front-page) main > .alignfull,
body:is(.home,.front-page) .entry-content > .alignfull {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}
body:is(.home,.front-page) .wny-support-home-inner {
	width: min(1180px, calc(100vw - 48px)) !important;
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Hero gets a little Western New York atmosphere without using an image. */
body:is(.home,.front-page) .wny-support-home-hero {
	min-height: 390px;
	padding-top: clamp(3.6rem, 6vw, 5.8rem);
	padding-bottom: clamp(5.8rem, 9vw, 8.4rem);
	background:
		radial-gradient(circle at 17% 24%, rgba(105,176,255,.34), transparent 25rem),
		radial-gradient(circle at 87% 26%, rgba(255,177,77,.18), transparent 19rem),
		linear-gradient(180deg,#dceeff 0%,#eef8ff 45%,#f9fcff 72%,#ffffff 100%);
}
body:is(.home,.front-page) .wny-support-home-hero::after {
	content:"";
	position:absolute;
	left:-5vw;
	right:-5vw;
	bottom:-1px;
	height:150px;
	background:
		linear-gradient(166deg, transparent 0 39%, rgba(35,98,138,.08) 39.2% 47%, transparent 47.2%),
		linear-gradient(15deg, rgba(49,133,176,.09) 0 22%, transparent 22.3% 100%);
	clip-path: polygon(0 60%, 12% 47%, 23% 56%, 38% 37%, 52% 55%, 68% 34%, 83% 53%, 100% 39%, 100% 100%, 0 100%);
	pointer-events:none;
}
body:is(.home,.front-page) .wny-support-home-hero__inner {
	position:relative;
}
body:is(.home,.front-page) .wny-support-local-note {
	position:absolute;
	right:clamp(0rem, 2vw, 1.5rem);
	top:1rem;
	width:190px;
	margin:0 !important;
	transform:rotate(-5deg);
	text-align:left;
}
body:is(.home,.front-page) .wny-support-local-note p {
	margin:0 !important;
	color:#092d52;
	font-family:Georgia, "Times New Roman", serif;
	font-size:clamp(1.15rem,1.6vw,1.6rem);
	font-style:italic;
	font-weight:700;
	line-height:1.08;
	letter-spacing:-.025em;
}
body:is(.home,.front-page) .wny-support-local-note::after {
	content:"";
	display:block;
	width:92px;
	height:3px;
	margin:.6rem 0 0 1.6rem;
	border-radius:999px;
	background:#f58220;
	transform:rotate(-8deg);
}
body:is(.home,.front-page) .wny-support-home-eyebrow {
	font-size:1rem;
}
body:is(.home,.front-page) .wny-support-home-title {
	max-width:980px;
	font-size:clamp(2.8rem,5.2vw,5rem);
	text-wrap:balance;
}
body:is(.home,.front-page) .wny-support-home-lede {
	font-size:clamp(1.05rem,1.35vw,1.3rem);
}
body:is(.home,.front-page) .wny-support-home-search {
	max-width:820px;
}
body:is(.home,.front-page) .wny-support-home-search .wp-block-search__inside-wrapper {
	min-height:64px;
	border-radius:12px;
	box-shadow:0 18px 40px rgba(31,72,116,.16);
}
body:is(.home,.front-page) .wny-support-home-search .wp-block-search__button {
	min-width:126px;
	border-radius:9px !important;
	font-size:.96rem;
}

/* Larger, more tactile primary cards. */
body:is(.home,.front-page) .wny-support-options-wrap {
	margin-top:-4.25rem;
	padding-bottom:5rem;
}
body:is(.home,.front-page) .wny-support-options {
	gap:.8rem !important;
	padding:.65rem;
	border-radius:20px;
	box-shadow:0 20px 55px rgba(13,47,80,.14);
}
body:is(.home,.front-page) .wny-support-option {
	min-height:335px;
	padding:1.7rem 1.45rem 1.4rem !important;
	transition:transform .18s ease, box-shadow .18s ease;
}
body:is(.home,.front-page) .wny-support-option:hover {
	transform:translateY(-4px);
	box-shadow:0 16px 28px rgba(19,45,72,.08);
}
body:is(.home,.front-page) .wny-support-option__icon {
	width:62px;
	height:62px;
	font-size:0;
	background-repeat:no-repeat !important;
	background-position:center !important;
	background-size:30px 30px !important;
}
body:is(.home,.front-page) .wny-support-option--articles .wny-support-option__icon {
	background-color:#2167e8 !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M4 4v15.5'/%3E%3Cpath d='M6.5 2H20v15H6.5A2.5 2.5 0 0 0 4 19.5'/%3E%3C/svg%3E") !important;
}
body:is(.home,.front-page) .wny-support-option--sales .wny-support-option__icon {
	background-color:#15934a !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M8 10h.01M12 10h.01M16 10h.01'/%3E%3C/svg%3E") !important;
}
body:is(.home,.front-page) .wny-support-option--totalcare .wny-support-option__icon {
	background-color:#6b36df !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13a8 8 0 0 1 16 0'/%3E%3Cpath d='M18 19c0 1.1-.9 2-2 2h-3'/%3E%3Cpath d='M4 13v4a2 2 0 0 0 2 2h1v-8H6a2 2 0 0 0-2 2z'/%3E%3Cpath d='M20 13v4a2 2 0 0 1-2 2h-1v-8h1a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") !important;
}
body:is(.home,.front-page) .wny-support-option--booking .wny-support-option__icon {
	background-color:#ff7a00 !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3Cpath d='M8 15h.01M12 15h.01M16 15h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") !important;
}
body:is(.home,.front-page) .wny-support-option h3 {
	font-size:1.38rem;
}
body:is(.home,.front-page) .wny-support-option > p:not(.wny-support-option__icon) {
	font-size:.96rem;
	line-height:1.58;
}
body:is(.home,.front-page) .wny-support-option__actions .wp-block-button__link {
	padding:.9rem 1rem;
	border-radius:9px;
	font-size:.92rem;
	box-shadow:0 7px 15px rgba(0,0,0,.08);
}

/* Knowledge base should feel substantial, not like tiny text floating in space. */
body:is(.home,.front-page) .wny-support-topics-section {
	padding-top:.5rem;
	padding-bottom:5.4rem;
}
body:is(.home,.front-page) .wny-support-section-title {
	font-size:clamp(2rem,3vw,2.85rem);
}
body:is(.home,.front-page) .wny-support-section-copy {
	font-size:1rem;
}
body:is(.home,.front-page) .wny-support-topic-grid {
	gap:2.1rem 3rem !important;
	margin-top:2.7rem !important;
}
body:is(.home,.front-page) .wny-support-topic {
	grid-template-columns:52px minmax(0,1fr);
	gap:1rem !important;
}
body:is(.home,.front-page) .wny-support-topic__icon {
	width:48px;
	height:48px;
	border-radius:12px;
	font-size:1.35rem;
}
body:is(.home,.front-page) .wny-support-topic h3 {
	font-size:1.08rem;
}
body:is(.home,.front-page) .wny-support-topic p {
	font-size:.92rem;
	line-height:1.6;
}

/* Latest-help area gains a stronger visual boundary and better empty state. */
body:is(.home,.front-page) .wny-support-latest-section {
	padding:4.2rem 0;
	background:linear-gradient(180deg,#f8fbff,#f4f8fc);
}
body:is(.home,.front-page) .wny-support-section-head {
	margin-bottom:1.8rem !important;
}
body:is(.home,.front-page) .wny-support-empty {
	display:flex;
	align-items:center;
	gap:1rem;
	min-height:110px;
	padding:1.35rem 1.5rem !important;
	border-style:solid;
	border-color:#d9e1eb;
	box-shadow:0 5px 16px rgba(20,48,78,.04);
}
body:is(.home,.front-page) .wny-support-empty__mark {
	display:grid;
	place-items:center;
	flex:0 0 auto;
	width:52px;
	height:52px;
	margin:0 !important;
	border-radius:50%;
	background:#e9f2ff;
	color:#0b5bd3;
	font-size:1.35rem;
	font-weight:850;
}
body:is(.home,.front-page) .wny-support-empty__copy {
	margin:0 !important;
}
body:is(.home,.front-page) .wny-support-empty__copy h3 {
	font-size:1.05rem;
}
body:is(.home,.front-page) .wny-support-empty__copy p {
	max-width:760px;
}

/* Stronger contact strip. */
body:is(.home,.front-page) .wny-support-cta-section {
	padding:0 0 4.6rem;
	background:#f4f8fc;
}
body:is(.home,.front-page) .wny-support-contact-bar {
	min-height:102px;
	padding:1.5rem 1.8rem !important;
	border-color:#cedcf0;
	border-radius:14px;
	background:linear-gradient(90deg,#eaf3ff 0%,#f5f9ff 100%);
	box-shadow:0 8px 20px rgba(17,50,82,.05);
}
body:is(.home,.front-page) .wny-support-contact-bar h3 {
	font-size:1.35rem;
}
body:is(.home,.front-page) .wny-support-contact-button .wp-block-button__link {
	padding:.9rem 1.25rem;
	border-radius:8px;
}

/* Better breathing room under the small local navigation. */
body:is(.home,.front-page) .wny-local-header {
	position:relative;
	z-index:10;
	box-shadow:0 1px 0 rgba(13,42,69,.04);
}

/* Tablet */
@media (max-width: 980px) {
	body:is(.home,.front-page) .wny-support-home-inner {
		width:min(100% - 36px, 1180px) !important;
	}
	body:is(.home,.front-page) .wny-support-local-note {
		display:none;
	}
	body:is(.home,.front-page) .wny-support-options-wrap {
		margin-top:-3.2rem;
	}
	body:is(.home,.front-page) .wny-support-option {
		min-height:300px;
	}
}

/* Mobile */
@media (max-width: 640px) {
	body:is(.home,.front-page) .wp-site-blocks > .alignfull,
	body:is(.home,.front-page) main > .alignfull,
	body:is(.home,.front-page) .entry-content > .alignfull {
		width:100vw !important;
		max-width:100vw !important;
		margin-left:calc(50% - 50vw) !important;
		margin-right:calc(50% - 50vw) !important;
	}
	body:is(.home,.front-page) .wny-support-home-inner {
		width:min(100% - 28px, 1180px) !important;
	}
	body:is(.home,.front-page) .wny-support-home-hero {
		min-height:0;
		padding-top:2.8rem;
		padding-bottom:5.2rem;
	}
	body:is(.home,.front-page) .wny-support-home-title {
		font-size:clamp(2.2rem,11vw,3.25rem);
	}
	body:is(.home,.front-page) .wny-support-options-wrap {
		margin-top:-3.2rem;
		padding-bottom:3.6rem;
	}
	body:is(.home,.front-page) .wny-support-options {
		border-radius:16px;
	}
	body:is(.home,.front-page) .wny-support-option {
		min-height:0;
	}
	body:is(.home,.front-page) .wny-support-topic-grid {
		gap:1.45rem !important;
	}
	body:is(.home,.front-page) .wny-support-empty {
		align-items:flex-start;
	}
}


/* ==========================================================================
   0.2.3 — the Support page should feel like an application, not a blog.
   ========================================================================== */

body:is(.home,.front-page) .wny-support-home-inner,
body:is(.home,.front-page) .alignwide.wny-support-home-inner {
    width:min(1280px, calc(100vw - 56px)) !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.wny-support-home-inner.alignwide {
    width:min(1280px, calc(100vw - 56px)) !important;
    max-width:1280px !important;
    margin-inline:auto !important;
}
body:is(.home,.front-page) .wny-support-home-hero__inner { max-width:1080px !important; }
body:is(.home,.front-page) .wny-support-options-wrap .wny-support-home-inner,
body:is(.home,.front-page) .wny-support-topics-section .wny-support-home-inner,
body:is(.home,.front-page) .wny-support-latest-section .wny-support-home-inner,
body:is(.home,.front-page) .wny-support-cta-section .wny-support-home-inner { max-width:1280px !important; }
body:is(.home,.front-page) .wny-support-options { gap:1rem !important; padding:.8rem; }
body:is(.home,.front-page) .wny-support-option { min-height:360px; padding:1.9rem 1.55rem 1.5rem !important; }
body:is(.home,.front-page) .wny-support-option h3 { font-size:1.45rem; }
body:is(.home,.front-page) .wny-support-option > p:not(.wny-support-option__icon) { font-size:1rem; }
body:is(.home,.front-page) .wny-support-option__icon { width:68px; height:68px; background-size:34px 34px !important; }
body:is(.home,.front-page) .wny-support-topics-section { padding-top:1.25rem; }
body:is(.home,.front-page) .wny-support-topic-grid { gap:2.5rem 3.25rem !important; }
body:is(.home,.front-page) .wny-support-topic { grid-template-columns:58px minmax(0,1fr); }
body:is(.home,.front-page) .wny-support-topic__icon { width:54px; height:54px; font-size:0 !important; background-color:#f1f6ff; background-position:center; background-repeat:no-repeat; background-size:30px 30px; }
body:is(.home,.front-page) .wny-support-topic--getting .wny-support-topic__icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5bd3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.3-2 5-2 5s3.7-.5 5-2c.8-.9.8-2.3-.1-3.1-.8-.8-2.1-.8-2.9.1z'/%3E%3Cpath d='m12 15-3-3a22 22 0 0 1 2-3.9A12.8 12.8 0 0 1 22 2c0 2.7-.8 7.5-6.1 11a22 22 0 0 1-3.9 2z'/%3E%3Cpath d='M9 12H4s.6-3.3 2-4.4c1.6-1.2 5 0 5 0M12 15v5s3.3-.6 4.4-2c1.2-1.6 0-5 0-5'/%3E%3C/svg%3E"); }
body:is(.home,.front-page) .wny-support-topic--account .wny-support-topic__icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5bd3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 22a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
body:is(.home,.front-page) .wny-support-topic--websites .wny-support-topic__icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5bd3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); }
body:is(.home,.front-page) .wny-support-topic--hosting .wny-support-topic__icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5bd3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='6' rx='2'/%3E%3Crect x='3' y='14' width='18' height='6' rx='2'/%3E%3Cpath d='M7 7h.01M7 17h.01'/%3E%3C/svg%3E"); }
body:is(.home,.front-page) .wny-support-topic--services .wny-support-topic__icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5bd3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l2 3 3.5-.5.5 3.5 3 2-2 3 2 3-3 2-.5 3.5L14 21l-2 3-2-3-3.5.5L6 18l-3-2 2-3-2-3 3-2 .5-3.5L10 5l2-3z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
body:is(.home,.front-page) .wny-support-topic--mbos .wny-support-topic__icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5bd3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 8-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='m3 8 9 5 9-5M3 13l9 5 9-5M3 18l9 5 9-5'/%3E%3C/svg%3E"); }
body:is(.home,.front-page) .wny-support-topic--billing .wny-support-topic__icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5bd3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h9l5 5v15H6z'/%3E%3Cpath d='M14 2v6h6M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
body:is(.home,.front-page) .wny-support-topic--projects .wny-support-topic__icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5bd3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 2 2 4-4M4 12l2 2 4-4M4 18l2 2 4-4M13 6h7M13 12h7M13 18h7'/%3E%3C/svg%3E"); }
body:is(.home,.front-page) .wny-support-topic h3 { font-size:1.14rem; margin-bottom:.35rem !important; }
body:is(.home,.front-page) .wny-support-topic p { font-size:.95rem; line-height:1.58; }
body:is(.home,.front-page) .wny-support-starter-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:1rem !important; }
body:is(.home,.front-page) .wny-support-starter-card { min-height:205px; padding:1.5rem !important; border:1px solid #d7e1ec; border-radius:12px; background:#fff; box-shadow:0 7px 20px rgba(20,48,78,.05); }
body:is(.home,.front-page) .wny-support-starter-card__eyebrow { margin:0 0 .55rem !important; color:#285f9f; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
body:is(.home,.front-page) .wny-support-starter-card h3 { margin:0 0 .55rem !important; color:#102a43; font-size:1.08rem; }
body:is(.home,.front-page) .wny-support-starter-card > p:not(.wny-support-starter-card__eyebrow):not(.wny-support-starter-card__link) { margin:0 !important; color:#5d6d80; font-size:.9rem; line-height:1.55; }
body:is(.home,.front-page) .wny-support-starter-card__link { margin:1rem 0 0 !important; font-size:.88rem; font-weight:750; }
body:is(.home,.front-page) .wny-support-contact-bar { display:grid !important; grid-template-columns:58px minmax(0,1fr) auto; align-items:center !important; gap:1.2rem !important; }
body:is(.home,.front-page) .wny-support-contact-bar__mark { display:grid; place-items:center; width:52px; height:52px; margin:0 !important; border-radius:50%; background:#0b4b8c; color:#fff; font-size:1.35rem; font-weight:850; box-shadow:0 8px 18px rgba(11,75,140,.18); }
@media (max-width:980px){
 body:is(.home,.front-page) .wny-support-home-inner.alignwide{width:min(100% - 36px,1280px)!important;}
 body:is(.home,.front-page) .wny-support-starter-grid{grid-template-columns:1fr!important;}
 body:is(.home,.front-page) .wny-support-contact-bar{grid-template-columns:52px minmax(0,1fr);}
 body:is(.home,.front-page) .wny-support-contact-bar .wp-block-buttons{grid-column:1/-1;width:100%;}
 body:is(.home,.front-page) .wny-support-contact-bar .wp-block-button, body:is(.home,.front-page) .wny-support-contact-bar .wp-block-button__link{width:100%;}
}
@media (max-width:640px){
 body:is(.home,.front-page) .wny-support-home-inner.alignwide{width:min(100% - 28px,1280px)!important;}
 body:is(.home,.front-page) .wny-support-option{min-height:0;}
 body:is(.home,.front-page) .wny-support-contact-bar{grid-template-columns:1fr;}
 body:is(.home,.front-page) .wny-support-contact-bar__mark{margin-bottom:.25rem!important;}
}


/* ==========================================================================
   0.2.4 — static-front-page fix + final visual lift
   ========================================================================== */

body:is(.home,.front-page) .wny-support-home-hero {
	padding-top: clamp(3.2rem,5vw,4.7rem);
	padding-bottom: clamp(5.6rem,8vw,7.3rem);
}

body:is(.home,.front-page) .wny-support-home-hero__inner {
	max-width: 1120px !important;
}

body:is(.home,.front-page) .wny-support-home-title {
	max-width: 980px;
	margin-inline: auto !important;
	font-size: clamp(3rem,5vw,4.9rem);
}

body:is(.home,.front-page) .wny-support-home-search {
	max-width: 860px;
}

body:is(.home,.front-page) .wny-support-options-wrap {
	margin-top: -4.5rem;
}

body:is(.home,.front-page) .wny-support-options-wrap .wny-support-home-inner,
body:is(.home,.front-page) .wny-support-topics-section .wny-support-home-inner,
body:is(.home,.front-page) .wny-support-latest-section .wny-support-home-inner,
body:is(.home,.front-page) .wny-support-cta-section .wny-support-home-inner {
	width: min(1280px, calc(100vw - 64px)) !important;
	max-width: 1280px !important;
}

body:is(.home,.front-page) .wny-support-options {
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	width: 100% !important;
}

body:is(.home,.front-page) .wny-support-option {
	min-width: 0;
}

body:is(.home,.front-page) .wny-support-topics-section {
	padding-top: 1.7rem;
	padding-bottom: 5.6rem;
}

body:is(.home,.front-page) .wny-support-topic-grid {
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	width: 100% !important;
}

body:is(.home,.front-page) .wny-support-topic__icon {
	border: 1px solid #d9e6f7;
	box-shadow: 0 5px 14px rgba(28,72,120,.06);
}

body:is(.home,.front-page) .wny-support-latest-section {
	padding-top: 4.4rem;
	padding-bottom: 3.4rem;
}

body:is(.home,.front-page) .wny-support-starter-grid {
	width: 100% !important;
}

body:is(.home,.front-page) .wny-support-starter-card {
	min-height: 220px;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body:is(.home,.front-page) .wny-support-starter-card:hover {
	transform: translateY(-3px);
	border-color: #bfcfea;
	box-shadow: 0 14px 28px rgba(20,48,78,.08);
}

body:is(.home,.front-page) .wny-support-cta-section {
	padding-bottom: 4.8rem;
}

body:is(.home,.front-page) .wny-support-contact-bar {
	min-height: 112px;
}

@media (max-width: 980px) {
	body:is(.home,.front-page) .wny-support-options {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	}
	body:is(.home,.front-page) .wny-support-topic-grid {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	}
	body:is(.home,.front-page) .wny-support-options-wrap .wny-support-home-inner,
	body:is(.home,.front-page) .wny-support-topics-section .wny-support-home-inner,
	body:is(.home,.front-page) .wny-support-latest-section .wny-support-home-inner,
	body:is(.home,.front-page) .wny-support-cta-section .wny-support-home-inner {
		width: min(100% - 36px,1280px) !important;
	}
}

@media (max-width: 640px) {
	body:is(.home,.front-page) .wny-support-options {
		grid-template-columns: 1fr !important;
	}
	body:is(.home,.front-page) .wny-support-topic-grid {
		grid-template-columns: 1fr !important;
	}
	body:is(.home,.front-page) .wny-support-options-wrap .wny-support-home-inner,
	body:is(.home,.front-page) .wny-support-topics-section .wny-support-home-inner,
	body:is(.home,.front-page) .wny-support-latest-section .wny-support-home-inner,
	body:is(.home,.front-page) .wny-support-cta-section .wny-support-home-inner {
		width: min(100% - 28px,1280px) !important;
	}
}


/* ==========================================================================
   0.2.5 — WIDE RESPONSIVE LAYOUT RAILS
   Gutenberg's constrained layout was still capping inner application blocks
   at theme.json's 760px contentSize. The wrappers were wide; the grids were not.
   ========================================================================== */

body:is(.home,.front-page) {
	--wny-support-rail: min(1280px, calc(100vw - 64px));
}

body:is(.home,.front-page) .wny-support-home-inner {
	width: var(--wny-support-rail) !important;
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Escape the 760px content-size clamp inside constrained groups. */
body:is(.home,.front-page) .wny-support-home-inner > .wny-support-options,
body:is(.home,.front-page) .wny-support-home-inner > .wny-support-topic-grid,
body:is(.home,.front-page) .wny-support-home-inner > .wny-support-section-head,
body:is(.home,.front-page) .wny-support-home-inner > .wny-support-latest-query,
body:is(.home,.front-page) .wny-support-home-inner > .wny-support-starter-grid,
body:is(.home,.front-page) .wny-support-home-inner > .wny-support-contact-bar,
body:is(.home,.front-page) .wny-support-home-inner > .alignwide {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Desktop: wide four-column support application. */
body:is(.home,.front-page) .wny-support-options {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0,1fr)) !important;
	gap: 1rem !important;
	width: 100% !important;
	max-width: none !important;
	align-items: stretch !important;
}
body:is(.home,.front-page) .wny-support-options > .wp-block-column {
	width: auto !important;
	min-width: 0 !important;
	flex: none !important;
	margin: 0 !important;
}
body:is(.home,.front-page) .wny-support-option {
	min-height: 350px;
}

/* Desktop: wide four-column knowledge base. */
body:is(.home,.front-page) .wny-support-topic-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0,1fr)) !important;
	gap: 2.25rem 2.75rem !important;
	width: 100% !important;
	max-width: none !important;
}
body:is(.home,.front-page) .wny-support-topic {
	min-width: 0;
}

/* Keep lower homepage sections on the same rail. */
body:is(.home,.front-page) .wny-support-section-head,
body:is(.home,.front-page) .wny-support-latest-query,
body:is(.home,.front-page) .wny-support-starter-grid,
body:is(.home,.front-page) .wny-support-contact-bar {
	width: 100% !important;
	max-width: none !important;
}
body:is(.home,.front-page) .wny-support-starter-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}

/* Tablet: intentionally retain columns instead of WordPress' default stacking. */
@media (max-width: 1024px) {
	body:is(.home,.front-page) {
		--wny-support-rail: min(960px, calc(100vw - 40px));
	}
	body:is(.home,.front-page) .wny-support-options {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0,1fr)) !important;
	}
	body:is(.home,.front-page) .wny-support-options > .wp-block-column {
		width: auto !important;
		flex-basis: auto !important;
	}
	body:is(.home,.front-page) .wny-support-topic-grid {
		grid-template-columns: repeat(2, minmax(0,1fr)) !important;
		gap: 1.75rem 2.25rem !important;
	}
	body:is(.home,.front-page) .wny-support-starter-grid {
		grid-template-columns: repeat(2, minmax(0,1fr)) !important;
	}
	body:is(.home,.front-page) .wny-support-starter-card:last-child {
		grid-column: 1 / -1;
	}
	body:is(.home,.front-page) .wny-support-local-note {
		display: none;
	}
}

/* Small tablets still keep two columns. */
@media (min-width: 641px) and (max-width: 782px) {
	body:is(.home,.front-page) {
		--wny-support-rail: calc(100vw - 32px);
	}
	body:is(.home,.front-page) .wny-support-options,
	body:is(.home,.front-page) .wny-support-topic-grid {
		grid-template-columns: repeat(2, minmax(0,1fr)) !important;
	}
}

/* Phones stack. */
@media (max-width: 640px) {
	body:is(.home,.front-page) {
		--wny-support-rail: calc(100vw - 28px);
	}
	body:is(.home,.front-page) .wny-support-options,
	body:is(.home,.front-page) .wny-support-topic-grid,
	body:is(.home,.front-page) .wny-support-starter-grid {
		grid-template-columns: 1fr !important;
	}
	body:is(.home,.front-page) .wny-support-starter-card:last-child {
		grid-column: auto;
	}
	body:is(.home,.front-page) .wny-support-option {
		min-height: 0;
	}
}
