/* ==========================================================================
   SaaSGenX theme styles
   Tokens come from theme.json (--wp--preset--color--*, font families).
   ========================================================================== */

:root {
	--sgx-navy: var(--wp--preset--color--navy, #132853);
	--sgx-navy-600: var(--wp--preset--color--navy-600, #1F3365);
	--sgx-pink: var(--wp--preset--color--pink, #EE2F6F);
	--sgx-cyan: var(--wp--preset--color--cyan, #19B7CC);
	--sgx-muted: var(--wp--preset--color--muted, #F2F4F7);
	--sgx-border: var(--wp--preset--color--border, #DFE3EC);
	--sgx-muted-fg: var(--wp--preset--color--muted-foreground, #606D85);
	--sgx-heading: var(--wp--preset--font-family--heading, Montserrat, sans-serif);
	--sgx-body: var(--wp--preset--font-family--body, Barlow, sans-serif);
	--sgx-radius: 8px;
	--sgx-radius-lg: 16px;
	--sgx-header-h: 80px;
	--sgx-glow: radial-gradient(circle at 85% 100%, rgba(238, 48, 113, 0.28), rgba(0, 0, 0, 0) 55%);
	--sgx-section-y: clamp(5rem, 9vw, 7rem);
	--sgx-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--sgx-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--sgx-arrow-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--sgx-header-h) + 16px); }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

/* Top-level template blocks stack with no gaps. */
.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }
.sgx-main > *,
.sgx-landing-content > * { margin-block-start: 0; }
.sgx-landing-content > .alignfull + .alignfull,
.sgx-main > .alignfull + .alignfull { margin-block-start: 0; }

:where(.wp-site-blocks) :focus-visible { outline: 2px solid var(--sgx-cyan); outline-offset: 3px; border-radius: 4px; }

/* ----------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */
.sgx-site-header {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 50;
}
.admin-bar .sgx-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .sgx-site-header { top: 0; position: absolute; } }

.sgx-header {
	background: transparent;
	transition: background-color .3s ease, box-shadow .3s ease;
}
.sgx-scrolled .sgx-header,
.sgx-header:focus-within {
	background: var(--sgx-navy);
	box-shadow: 0 10px 30px -12px rgba(9, 19, 42, .45);
}
.sgx-header__inner { min-height: var(--sgx-header-h); gap: 2rem; }
.sgx-header__nav { gap: 2rem; }

.sgx-brand { gap: .5rem; }
.sgx-brand .wp-block-site-logo img { height: auto; display: block; }
.sgx-brand:has(.wp-block-site-logo img) .wp-block-site-title { display: none; }
.sgx-wordmark,
.sgx-wordmark a {
	font-family: var(--sgx-heading);
	font-weight: 800;
	font-size: 1.375rem;
	letter-spacing: -0.03em;
	color: #fff !important;
	text-decoration: none;
	line-height: 1;
	margin: 0;
}

.sgx-nav,
.sgx-nav a {
	color: rgba(255, 255, 255, .82);
	font-family: var(--sgx-body);
	font-weight: 500;
	font-size: .9375rem;
	text-decoration: none;
}
.sgx-nav a:hover,
.sgx-nav .current-menu-item > a { color: #fff; }
.sgx-nav .wp-block-navigation__container { gap: 2rem; }
.sgx-nav .wp-block-navigation__responsive-container-open,
.sgx-nav .wp-block-navigation__responsive-container-close { color: #fff; }
.sgx-nav .sgx-nav-cta-mobile { display: none; }

/* Mobile overlay menu */
.sgx-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--sgx-navy) !important;
	color: #fff !important;
	padding: 1.5rem;
}
.sgx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 1.25rem;
	align-items: flex-start;
}
.sgx-nav .wp-block-navigation__responsive-container.is-menu-open a {
	font-family: var(--sgx-heading);
	font-weight: 700;
	font-size: 1.5rem;
	color: #fff;
}
.sgx-nav .wp-block-navigation__responsive-container.is-menu-open .sgx-nav-cta-mobile { display: block; }
.sgx-nav .wp-block-navigation__responsive-container.is-menu-open .sgx-nav-cta-mobile a { color: var(--sgx-pink); }

@media (max-width: 599px) {
	.sgx-header__cta { display: none !important; }
	.sgx-header__inner { min-height: 64px; }
}

/* ----------------------------------------------------------------------------
   Buttons
   ------------------------------------------------------------------------- */
.wp-block-button__link { transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; text-decoration: none; }
.wp-block-button.sgx-btn-lg > .wp-block-button__link { padding: 1rem 1.75rem; font-size: .9375rem; }
.wp-block-button.sgx-btn-glow > .wp-block-button__link { box-shadow: 0 10px 15px -3px rgba(238, 47, 111, .3), 0 4px 6px -4px rgba(238, 47, 111, .3); }
.wp-block-button.sgx-btn-arrow > .wp-block-button__link::after {
	content: "";
	width: 1rem; height: 1rem;
	background: currentColor;
	-webkit-mask: var(--sgx-arrow) center / contain no-repeat;
	mask: var(--sgx-arrow) center / contain no-repeat;
	transition: transform .2s ease;
}
.wp-block-button.sgx-btn-arrow > .wp-block-button__link:hover::after { transform: translateX(3px); }

.wp-block-button.is-style-outline-navy > .wp-block-button__link {
	background: transparent;
	color: var(--sgx-navy);
	border: 2px solid var(--sgx-navy);
	padding: calc(.875rem - 2px) calc(1.5rem - 2px);
}
.wp-block-button.is-style-outline-navy > .wp-block-button__link:hover { background: var(--sgx-navy); color: #fff; }

.wp-block-button.is-style-outline-light > .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 2px solid rgba(255, 255, 255, .4);
	padding: calc(.875rem - 2px) calc(1.5rem - 2px);
}
.wp-block-button.is-style-outline-light > .wp-block-button__link:hover { border-color: #fff; background: transparent; color: #fff; }
.sgx-header__cta .wp-block-button.is-style-outline-light > .wp-block-button__link { padding: 8px 18px; font-size: .875rem; line-height: 1.43; }

.wp-block-button.is-style-text-link > .wp-block-button__link {
	background: transparent;
	color: rgba(255, 255, 255, .8);
	padding: .25rem 0;
	font-family: var(--sgx-body);
	font-weight: 500;
	font-size: .9375rem;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-color: rgba(255, 255, 255, .4);
}
.wp-block-button.is-style-text-link > .wp-block-button__link:hover { color: #fff; text-decoration-color: #fff; background: transparent; }

/* ----------------------------------------------------------------------------
   Shared type helpers
   ------------------------------------------------------------------------- */
.sgx-eyebrow {
	font-family: var(--sgx-body);
	font-weight: 700;
	font-size: .875rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sgx-pink);
	margin: 0;
}
.sgx-eyebrow--cyan { color: var(--sgx-cyan); }
.sgx-pill {
	display: inline-block;
	width: fit-content;
	font-family: var(--sgx-body);
	font-weight: 600;
	font-size: .75rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sgx-cyan);
	background: rgba(25, 183, 204, .1);
	border: 1px solid rgba(25, 183, 204, .35);
	border-radius: 999px;
	padding: .375rem .875rem;
	margin: 0;
	line-height: 1.4;
}
.sgx-muted { color: var(--sgx-muted-fg); }
.sgx-center { text-align: center; justify-content: center; }
.sgx-fineprint { text-align: center; color: var(--sgx-muted-fg); font-size: .9375rem; margin-top: 2.5rem !important; }

.has-pink-color { color: var(--sgx-pink) !important; }

/* ----------------------------------------------------------------------------
   Sections
   ------------------------------------------------------------------------- */
.sgx-section { padding-top: var(--sgx-section-y); padding-bottom: var(--sgx-section-y); }
.sgx-section--tight { padding-top: clamp(3rem, 6vw, 4.5rem); padding-bottom: clamp(3rem, 6vw, 4.5rem); }
.sgx-section--navy { background: var(--sgx-navy); color: #fff; padding-top: clamp(5rem, 8vw, 6rem); padding-bottom: clamp(5rem, 8vw, 6rem); }
.sgx-section--muted { background: var(--sgx-muted); }
.sgx-section--navy :where(h1, h2, h3, h4) { color: #fff; }

.sgx-section-head { text-align: center; margin-bottom: clamp(2.5rem, 5vw, 3.5rem); }
.sgx-section-head > * + * { margin-top: .75rem; }
.sgx-section-head h2 { margin: .75rem 0 0; }

/* ----------------------------------------------------------------------------
   Hero (navy + pink glow)
   ------------------------------------------------------------------------- */
.sgx-hero {
	position: relative;
	overflow: hidden;
	background: var(--sgx-glow), var(--sgx-navy);
	color: #fff;
	padding-top: calc(var(--sgx-header-h) + clamp(3rem, 7vw, 6rem));
	padding-bottom: clamp(3.5rem, 7vw, 5.5rem);
}
.sgx-hero :where(h1, h2, h3) { color: #fff; }
.sgx-hero__inner > * + * { margin-top: 1.5rem; }
.sgx-hero__title {
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.06;
	letter-spacing: -0.025em;
	font-weight: 800;
	margin-bottom: 0;
	max-width: 15ch;
}
.sgx-hero--page .sgx-hero__title { max-width: 20ch; }
.sgx-hero__lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.625;
	color: rgba(255, 255, 255, .8);
	max-width: 560px;
}
.sgx-hero--home { padding-bottom: clamp(4rem, 8vw, 7rem); }
.sgx-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: center;
}
.sgx-hero__copy > * { margin: 0; }
.sgx-hero--home .sgx-hero__title mark { display: block; }
.sgx-hero__grid > *, .sgx-steps > *, .sgx-plans > *, .sgx-selfserve > *, .sgx-outcomes > *, .sgx-post-kicker > * { margin-block: 0 !important; }
.sgx-hero__copy .sgx-hero__title { margin-top: 1.5rem; }
.sgx-hero__copy .sgx-hero__lead { margin-top: 1.5rem; }
.sgx-hero__actions { margin-top: 2.25rem !important; gap: 1.25rem 1.75rem; align-items: center; }
.sgx-hero__note {
	margin-top: 2.25rem !important;
	font-size: .875rem;
	color: rgba(255, 255, 255, .62);
	padding-left: 1.125rem;
	position: relative;
	max-width: 520px;
}
.sgx-hero__note::before {
	content: "";
	position: absolute; left: 0; top: .5em;
	width: 6px; height: 6px; border-radius: 50%;
	background: var(--sgx-cyan);
}
@media (max-width: 960px) {
	.sgx-hero__grid { grid-template-columns: 1fr; }
	.sgx-hero__title { max-width: none; }
}

/* Pipeline chart card */
.sgx-chart {
	margin: 0;
	background: #fff;
	color: var(--sgx-navy);
	border-radius: var(--sgx-radius-lg);
	padding: 1.75rem;
	box-shadow: 0 30px 60px -20px rgba(4, 10, 28, .55);
}
.sgx-chart p { margin: 0; }
.sgx-chart__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.sgx-chart__title { font-family: var(--sgx-heading); font-weight: 700; font-size: 1.25rem; letter-spacing: -0.01em; }
.sgx-chart__sub { font-size: .8125rem; color: var(--sgx-muted-fg); margin-top: .25rem !important; }
.sgx-chart__tag, .sgx-chart__flag {
	font-size: .6875rem; font-weight: 700; color: var(--sgx-pink);
	background: rgba(238, 47, 111, .1);
	border-radius: 999px; padding: .25rem .625rem; white-space: nowrap;
}
.sgx-chart__plot {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: clamp(.5rem, 1.6vw, 1rem);
	align-items: end;
	height: clamp(200px, 26vw, 290px);
	margin-top: 1.5rem;
	padding-top: 1.75rem;
}
.sgx-chart__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: .5rem; position: relative; }
.sgx-chart__bar { display: block; width: 100%; height: var(--h); background: var(--c); border-radius: 4px 4px 2px 2px; transform-origin: bottom; animation: sgx-grow .9s cubic-bezier(.2, .8, .2, 1) both; }
.sgx-chart__col:nth-child(2) .sgx-chart__bar { animation-delay: .06s; }
.sgx-chart__col:nth-child(3) .sgx-chart__bar { animation-delay: .12s; }
.sgx-chart__col:nth-child(4) .sgx-chart__bar { animation-delay: .18s; }
.sgx-chart__col:nth-child(5) .sgx-chart__bar { animation-delay: .24s; }
.sgx-chart__col:nth-child(6) .sgx-chart__bar { animation-delay: .3s; }
.sgx-chart__label { font-size: .6875rem; font-weight: 600; color: var(--sgx-muted-fg); letter-spacing: .04em; }
.sgx-chart__flag { position: absolute; top: calc(-1.75rem); right: 0; }
.sgx-chart__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .625rem; margin-top: 1.25rem; }
.sgx-chart__tile { border: 1px solid var(--sgx-border); background: #F8F9FB; border-radius: var(--sgx-radius); padding: .75rem; font-size: .75rem; line-height: 1.4; color: var(--sgx-muted-fg); }
.sgx-chart__tile strong { display: block; font-size: .6875rem; text-transform: uppercase; letter-spacing: .05em; color: var(--sgx-navy); margin-bottom: .25rem; }
@keyframes sgx-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { .sgx-chart__bar { animation: none; } html { scroll-behavior: auto; } }
@media (max-width: 480px) {
	.sgx-chart { padding: 1.25rem; }
	.sgx-chart__tiles { grid-template-columns: 1fr; }
	.sgx-chart__flag { font-size: .625rem; }
}

/* ----------------------------------------------------------------------------
   Problem + equation
   ------------------------------------------------------------------------- */
.sgx-problem .sgx-statement {
	font-family: var(--sgx-heading);
	font-weight: 800;
	font-size: clamp(1.625rem, 3.4vw, 2.375rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--sgx-navy);
	margin-top: 1.25rem;
}
.sgx-equation { background: var(--sgx-navy-600); color: #fff; padding-top: clamp(3rem, 6vw, 4rem); padding-bottom: clamp(3rem, 6vw, 4rem); }
.sgx-equation__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; flex-wrap: wrap; text-align: center; }
.sgx-equation__row > * { margin: 0 !important; }
.sgx-equation__term { font-family: var(--sgx-heading); font-weight: 800; font-size: clamp(1.5rem, 2.8vw, 1.875rem); line-height: 1.2; letter-spacing: -0.02em; flex: 1 1 0; min-width: 8ch; }
.sgx-equation__term--result { color: var(--sgx-pink); }
.sgx-equation__op { font-family: var(--sgx-heading); font-weight: 800; font-size: 2rem; color: var(--sgx-cyan); line-height: 1; }
.sgx-equation__op--eq { color: var(--sgx-pink); }
@media (max-width: 720px) {
	.sgx-equation__row { flex-direction: column; }
	.sgx-equation__term { min-width: 0; }
}

/* ----------------------------------------------------------------------------
   Grids & cards
   ------------------------------------------------------------------------- */
.sgx-grid { display: grid; gap: 2rem; }
.sgx-grid > * { margin: 0 !important; }
.sgx-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sgx-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { .sgx-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .sgx-grid--2, .sgx-grid--3 { grid-template-columns: 1fr; } }

.sgx-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--sgx-border);
	border-radius: var(--sgx-radius);
	padding: clamp(1.75rem, 3.5vw, 2.5rem);
	display: flex;
	flex-direction: column;
}
.sgx-card > * { margin: 0; }
.sgx-card > * + * { margin-top: 1rem; }
.sgx-card--navy { background: var(--sgx-navy-600); border-color: var(--sgx-navy-600); color: #fff; }
.sgx-card--navy :where(h2, h3) { color: #fff; }
.sgx-card--navy .sgx-price { color: #fff; }
.sgx-card__title { font-size: clamp(1.5rem, 2.6vw, 1.875rem); font-weight: 800; letter-spacing: -0.02em; margin-top: .75rem !important; }
.sgx-card__text { color: var(--sgx-muted-fg); font-size: 1rem; line-height: 1.65; }
.sgx-card--navy .sgx-card__text { color: rgba(255, 255, 255, .75); }
.sgx-card__actions { margin-top: auto !important; padding-top: 2rem; }
.sgx-card__actions .wp-block-button { width: 100%; }

.sgx-price { font-family: var(--sgx-heading); font-weight: 800; font-size: 2rem; letter-spacing: -0.02em; color: var(--sgx-navy); line-height: 1.1; margin-top: 1.5rem !important; }
.sgx-price__unit { font-family: var(--sgx-body); font-weight: 600; font-size: 1.125rem; letter-spacing: 0; color: rgba(155, 168, 196, 1); }
.sgx-card:not(.sgx-card--navy) .sgx-price__unit { color: var(--sgx-muted-fg); }
.sgx-price__setup { font-size: .875rem; color: var(--sgx-muted-fg); margin-top: .25rem !important; }
.sgx-card--navy .sgx-price__setup { color: rgba(255, 255, 255, .6); }

.sgx-badge {
	position: absolute;
	top: 0; right: 1.5rem;
	transform: translateY(-50%);
	margin: 0 !important;
	background: var(--sgx-cyan);
	color: var(--sgx-navy);
	font-weight: 700;
	font-size: .75rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: .3rem .75rem;
	line-height: 1.2;
}
.sgx-badge--center { right: auto; left: 50%; transform: translate(-50%, -50%); }

/* Checklists */
.is-style-checklist, .is-style-checklist-pink { list-style: none; padding-left: 0; margin-top: 1.5rem !important; }
.is-style-checklist li, .is-style-checklist-pink li { position: relative; padding-left: 1.875rem; font-size: .9375rem; line-height: 1.5; }
.is-style-checklist li + li, .is-style-checklist-pink li + li { margin-top: .75rem; }
.is-style-checklist li::before, .is-style-checklist-pink li::before {
	content: "";
	position: absolute; left: 0; top: .2em;
	width: 1.05rem; height: 1.05rem;
	background: var(--sgx-cyan);
	-webkit-mask: var(--sgx-check) center / contain no-repeat;
	mask: var(--sgx-check) center / contain no-repeat;
}
.is-style-checklist-pink li::before { background: var(--sgx-pink); }
.sgx-card:not(.sgx-card--navy) .is-style-checklist li { color: var(--sgx-navy); }

/* ----------------------------------------------------------------------------
   CTA box (free review etc.)
   ------------------------------------------------------------------------- */
.sgx-cta-box {
	background: var(--sgx-navy-600);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 12px;
	padding: clamp(2.5rem, 6vw, 3.75rem) clamp(1.5rem, 5vw, 3rem);
	text-align: center;
}
.sgx-cta-box > * { margin-left: auto !important; margin-right: auto !important; }
.sgx-cta-box > * + * { margin-top: 1rem; }
.sgx-cta-box__title { font-size: clamp(1.75rem, 3.4vw, 2.375rem); max-width: 22ch; margin-top: .75rem !important; color: #fff; }
.sgx-cta-box__text { color: rgba(255, 255, 255, .75); font-size: 1.125rem; max-width: 620px; }
.sgx-cta-box__actions { justify-content: center; margin-top: 2rem !important; gap: 1rem; }

/* ----------------------------------------------------------------------------
   Blueprint steps
   ------------------------------------------------------------------------- */
.sgx-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 1.5rem; position: relative; }
.sgx-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 28px; height: 2px; background: #E8EBF1; }
.sgx-step { position: relative; text-align: center; }
.sgx-step > * { margin: 0; }
.sgx-step__num {
	width: 56px; height: 56px; border-radius: 50%;
	display: grid; place-items: center;
	margin: 0 auto 1.75rem !important;
	background: var(--sgx-navy); color: #fff;
	font-family: var(--sgx-heading); font-weight: 800; font-size: 1.125rem;
	box-shadow: 0 0 0 8px #fff;
}
.sgx-step .sgx-eyebrow { font-size: .8125rem; }
.sgx-step__title { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.01em; margin-top: .375rem !important; }
.sgx-step__text { color: var(--sgx-muted-fg); font-size: .9375rem; line-height: 1.6; margin-top: .75rem !important; }
@media (max-width: 900px) {
	.sgx-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sgx-steps::before { display: none; }
}
@media (max-width: 520px) { .sgx-steps { grid-template-columns: 1fr; } }

/* ----------------------------------------------------------------------------
   Pricing page
   ------------------------------------------------------------------------- */
.sgx-tiers { align-items: start; }
.sgx-tier--featured { margin-top: -1rem !important; box-shadow: 0 30px 60px -25px rgba(19, 40, 83, .55); }
.sgx-tier .sgx-card__title { margin-top: 0 !important; font-size: 1.625rem; }
.sgx-tier .sgx-card__text { font-size: .9375rem; }
.sgx-tier .sgx-price { font-size: 2.25rem; }
.sgx-tier__group { font-weight: 700; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--sgx-cyan); margin-top: 1.75rem !important; }
.sgx-tier__group--pink { color: var(--sgx-pink); }
.sgx-tier .is-style-checklist, .sgx-tier .is-style-checklist-pink { margin-top: .75rem !important; }
.sgx-tier li { font-size: .9375rem; }
.sgx-tier--featured .is-style-checklist li { color: rgba(255, 255, 255, .9); }
@media (max-width: 960px) {
	.sgx-tiers { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto !important; }
	.sgx-tier--featured { margin-top: 1rem !important; }
}

.sgx-selfserve { flex-direction: row; align-items: center; gap: 2rem; flex-wrap: wrap; }
.sgx-selfserve > * + * { margin-top: 0; }
.sgx-selfserve__intro { flex: 1 1 220px; }
.sgx-selfserve__intro > * { margin: 0; }
.sgx-selfserve__intro .sgx-card__title { margin-top: .375rem !important; font-size: 1.5rem; }
.sgx-plans { display: flex; gap: .75rem; flex: 2 1 380px; }
.sgx-plan { flex: 1; border: 1px solid var(--sgx-border); border-radius: var(--sgx-radius); padding: 1rem 1.125rem; background: var(--sgx-muted); }
.sgx-plan > * { margin: 0; }
.sgx-plan__name { font-weight: 700; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--sgx-muted-fg); }
.sgx-plan__price { font-family: var(--sgx-heading); font-weight: 800; font-size: 1.5rem; margin-top: .25rem !important; }
.sgx-plan__price .sgx-price__unit { font-size: .875rem; }
.sgx-selfserve__actions { flex: 0 0 auto; }
@media (max-width: 600px) { .sgx-plans { flex-direction: column; } }

/* FAQ (core Details block) */
.sgx-faq { border-bottom: 1px solid var(--sgx-border); padding: 1.25rem 0; margin-block: 0 !important; }
.sgx-faq:first-of-type { border-top: 1px solid var(--sgx-border); }
.sgx-faq summary {
	cursor: pointer; list-style: none;
	font-family: var(--sgx-heading); font-weight: 700; font-size: 1.0625rem;
	display: flex; justify-content: space-between; gap: 1rem; align-items: center;
}
.sgx-faq summary::-webkit-details-marker { display: none; }
.sgx-faq summary::after { content: "+"; font-size: 1.5rem; line-height: 1; color: var(--sgx-pink); transition: transform .2s ease; }
.sgx-faq[open] summary::after { transform: rotate(45deg); }
.sgx-faq p { color: var(--sgx-muted-fg); margin: .75rem 0 0; }
.sgx-faq + .wp-block-buttons { margin-top: 2.5rem !important; }

/* ----------------------------------------------------------------------------
   Stack page
   ------------------------------------------------------------------------- */
.sgx-tool .sgx-tool__title { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.01em; }
.sgx-tool .sgx-tool__tag { font-size: .75rem; margin-top: .5rem !important; }
.sgx-tool:hover { border-color: rgba(238, 47, 111, .35); box-shadow: 0 18px 40px -24px rgba(19, 40, 83, .35); }
.sgx-tool { transition: border-color .2s ease, box-shadow .2s ease; }
.sgx-outcomes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.sgx-outcomes > * { margin: 0 !important; }
.sgx-outcome {
	background: var(--sgx-navy-600);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--sgx-radius);
	padding: 1.5rem 1.25rem 1.5rem 3.25rem;
	position: relative;
	font-family: var(--sgx-heading); font-weight: 700; font-size: 1rem; line-height: 1.35;
}
.sgx-outcome::before {
	content: ""; position: absolute; left: 1.25rem; top: 1.6rem; width: 1.15rem; height: 1.15rem;
	background: var(--sgx-cyan);
	-webkit-mask: var(--sgx-check) center / contain no-repeat;
	mask: var(--sgx-check) center / contain no-repeat;
}
@media (max-width: 1100px) { .sgx-outcomes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .sgx-outcomes { grid-template-columns: 1fr; } }
.sgx-process { counter-reset: none; }
.sgx-process__item { display: flex; align-items: center; gap: 1.25rem; padding: 1.125rem 0; border-bottom: 1px solid var(--sgx-border); margin: 0 !important; }
.sgx-process__item:first-child { border-top: 1px solid var(--sgx-border); }
.sgx-process__item > * { margin: 0 !important; }
.sgx-process__item .sgx-step__num { width: 44px; height: 44px; flex: 0 0 44px; font-size: 1rem; box-shadow: none; }
.sgx-process__text { font-family: var(--sgx-heading); font-weight: 700; font-size: 1.125rem; }

/* ----------------------------------------------------------------------------
   About + Demo
   ------------------------------------------------------------------------- */
.sgx-founder { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(2rem, 5vw, 3.5rem); align-items: center; }
.sgx-founder > * { margin: 0 !important; }
.sgx-founder__copy > * { margin: 0; }
.sgx-founder__copy h2 { margin-top: .5rem; font-size: clamp(2rem, 4vw, 2.75rem); }
.sgx-founder__role { color: var(--sgx-muted-fg); font-weight: 600; margin-top: .25rem !important; }
.sgx-founder__copy .sgx-card__text { margin-top: 1.25rem; font-size: 1.0625rem; }
.sgx-founder__media .wp-block-image img,
.sgx-avatar { width: 220px; height: 220px; border-radius: var(--sgx-radius-lg); object-fit: cover; }
.sgx-avatar {
	display: grid; place-items: center; margin: 0;
	background: var(--sgx-glow), var(--sgx-navy);
	color: #fff; font-family: var(--sgx-heading); font-weight: 800; font-size: 3.5rem; letter-spacing: -0.03em;
}
@media (max-width: 640px) { .sgx-founder { grid-template-columns: 1fr; } }

.sgx-video {
	aspect-ratio: 16 / 9;
	border-radius: var(--sgx-radius-lg);
	background: var(--sgx-glow), var(--sgx-navy);
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	color: #fff; padding: 2rem;
	box-shadow: 0 30px 60px -30px rgba(19, 40, 83, .6);
}
.sgx-video > * { margin: 0; }
.sgx-video__title { font-family: var(--sgx-heading); font-weight: 800; font-size: clamp(1.375rem, 3vw, 1.875rem); }
.sgx-video__text { color: rgba(255, 255, 255, .7); margin-top: .5rem !important; }
.sgx-video::before {
	content: ""; width: 72px; height: 72px; border-radius: 50%; margin-bottom: 1.5rem;
	background: var(--sgx-pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") 55% 50% / 28px no-repeat;
	box-shadow: 0 10px 25px -5px rgba(238, 47, 111, .5);
}
.sgx-video .wp-block-embed, .sgx-video iframe, .sgx-video video { width: 100%; height: 100%; }

/* ----------------------------------------------------------------------------
   Blog
   ------------------------------------------------------------------------- */
.sgx-post-grid.wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
@media (max-width: 960px) { .sgx-post-grid.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .sgx-post-grid.wp-block-post-template { grid-template-columns: 1fr; } }
.sgx-post-card {
	height: 100%;
	display: flex; flex-direction: column;
	border: 1px solid var(--sgx-border);
	border-radius: var(--sgx-radius);
	overflow: hidden;
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.sgx-post-card:hover { box-shadow: 0 20px 40px -24px rgba(19, 40, 83, .4); transform: translateY(-2px); }
.sgx-post-card > * { margin: 0 !important; }
.sgx-post-card__image { background: var(--sgx-muted); }
.sgx-post-card__image img { display: block; width: 100%; }
.sgx-post-card__image:empty { display: none; }
.sgx-post-card__body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.sgx-post-card__body > * { margin: 0; }
.sgx-post-card__cat, .sgx-post-card__cat a {
	font-weight: 700; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase;
	color: var(--sgx-pink); text-decoration: none;
}
.sgx-post-card__title { font-size: 1.25rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; margin-top: .625rem !important; }
.sgx-post-card__title a { color: var(--sgx-navy); text-decoration: none; }
.sgx-post-card__title a:hover { color: var(--sgx-pink); }
.sgx-post-card__excerpt { color: var(--sgx-muted-fg); font-size: .9375rem; line-height: 1.6; margin-top: .75rem !important; }
.sgx-post-card__excerpt p { margin: 0; }
.sgx-post-card__date { margin-top: auto !important; padding-top: 1rem; font-size: .8125rem; color: var(--sgx-muted-fg); }

.sgx-pagination { margin-top: 3.5rem !important; gap: .5rem; font-weight: 600; }
.sgx-pagination a, .sgx-pagination .page-numbers { color: var(--sgx-navy); text-decoration: none; padding: .5rem .875rem; border-radius: var(--sgx-radius); border: 1px solid var(--sgx-border); }
.sgx-pagination .page-numbers.current { background: var(--sgx-navy); color: #fff; border-color: var(--sgx-navy); }

.sgx-search { max-width: 520px; margin-top: 2rem !important; }
.sgx-search .wp-block-search__input { border-radius: var(--sgx-radius); border: 1px solid rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .06); color: #fff; padding: .75rem 1rem; font: inherit; }
.sgx-search .wp-block-search__button { margin-left: .5rem; }

/* Single post */
.sgx-hero--post { padding-bottom: clamp(3rem, 6vw, 4.5rem); }
.sgx-hero--post > * { margin-top: 0; }
.sgx-post-kicker { gap: .75rem 1rem; align-items: center; }
.sgx-post-kicker > * { margin: 0 !important; }
.sgx-back a { display: inline-flex; align-items: center; gap: .375rem; color: rgba(255, 255, 255, .75); text-decoration: none; font-size: .875rem; font-weight: 500; }
.sgx-back a::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--sgx-arrow-left) center / contain no-repeat; mask: var(--sgx-arrow-left) center / contain no-repeat; }
.sgx-back a:hover { color: #fff; }
.sgx-pill--terms a { color: inherit; text-decoration: none; }
.sgx-pill--terms .wp-block-post-terms__separator { opacity: .6; }
.sgx-post-title { font-size: clamp(2rem, 4.2vw, 2.875rem) !important; line-height: 1.12 !important; max-width: var(--wp--style--global--content-size, 800px) !important; margin-top: 1.25rem !important; }
.sgx-post-meta { gap: .5rem 1.25rem; margin-top: 1.5rem !important; font-size: .875rem; color: rgba(255, 255, 255, .7); }
.sgx-post-meta > * { margin: 0 !important; }
.sgx-post-meta__date::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: .375rem; vertical-align: -2px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat; }
.sgx-article { padding-bottom: var(--sgx-section-y); }
.sgx-article__image { margin-top: 0 !important; }
.sgx-article__image img { border-radius: 0 0 var(--sgx-radius-lg) var(--sgx-radius-lg); display: block; width: 100%; }
.sgx-article > .sgx-prose { margin-top: clamp(2.5rem, 5vw, 3.5rem); }

/* Long-form reading styles (posts + legal pages) */
.sgx-prose { font-size: 1.125rem; line-height: 1.75; color: #24365F; }
.sgx-prose > * + * { margin-top: 1.25em; }
.sgx-prose :where(h2) { font-size: clamp(1.5rem, 3vw, 1.875rem); margin-top: 2em; line-height: 1.2; }
.sgx-prose :where(h3) { font-size: clamp(1.25rem, 2.4vw, 1.5rem); margin-top: 1.75em; line-height: 1.25; }
.sgx-prose :where(h4) { margin-top: 1.5em; }
.sgx-prose :where(a:not(.wp-element-button)) { color: var(--sgx-pink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.sgx-prose :where(a:not(.wp-element-button)):hover { color: var(--sgx-navy); }
.sgx-prose :where(ul, ol) { padding-left: 1.25em; }
.sgx-prose :where(li + li) { margin-top: .5em; }
.sgx-prose :where(li)::marker { color: var(--sgx-pink); }
.sgx-prose :where(blockquote) { border-left: 4px solid var(--sgx-pink); padding: .25em 0 .25em 1.25em; margin-left: 0; font-family: var(--sgx-heading); font-weight: 600; font-size: 1.25rem; line-height: 1.5; color: var(--sgx-navy); }
.sgx-prose :where(figure img) { border-radius: var(--sgx-radius); }
.sgx-prose :where(figcaption) { font-size: .875rem; color: var(--sgx-muted-fg); text-align: center; }
.sgx-prose :where(table) { width: 100%; border-collapse: collapse; font-size: 1rem; }
.sgx-prose :where(th, td) { border: 1px solid var(--sgx-border); padding: .625rem .75rem; text-align: left; }
.sgx-prose :where(th) { background: var(--sgx-muted); font-weight: 700; }
.sgx-prose :where(code) { background: var(--sgx-muted); padding: .1em .35em; border-radius: 4px; font-size: .9em; }
.sgx-prose :where(hr) { border: 0; border-top: 1px solid var(--sgx-border); }

/* ----------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */
.sgx-footer { background: var(--sgx-navy); color: #fff; padding-top: 4rem; padding-bottom: 2.5rem; }
.sgx-footer__top { display: flex; justify-content: space-between; gap: 3rem; flex-wrap: wrap; }
.sgx-footer__top > * { margin: 0 !important; }
.sgx-footer__brand { max-width: 400px; }
.sgx-footer__brand > * { margin: 0; }
.sgx-brand--footer .wp-block-site-logo img { width: min(284px, 70vw) !important; }
.sgx-brand--footer .sgx-wordmark, .sgx-brand--footer .sgx-wordmark a { font-size: 2.5rem; }
.sgx-footer__desc { color: rgba(255, 255, 255, .7); font-size: .9375rem; line-height: 1.65; margin-top: 1.5rem !important; }
.sgx-social { margin-top: 2rem !important; gap: .5rem; }
.sgx-social .wp-social-link { background: transparent !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .25); border-radius: var(--sgx-radius) !important; }
.sgx-social .wp-social-link a { padding: .65rem; }
.sgx-social .wp-social-link svg { width: 20px; height: 20px; }
.sgx-social .wp-social-link:hover { border-color: #fff; transform: none; }
.sgx-footer__links { display: grid; grid-template-columns: repeat(3, minmax(100px, auto)); gap: .75rem 2.5rem; align-content: start; }
.sgx-footer__links p { margin: 0; }
.sgx-footer__links a { color: rgba(255, 255, 255, .78); text-decoration: none; font-size: .9375rem; font-weight: 500; }
.sgx-footer__links a:hover { color: #fff; }
.sgx-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 3rem !important; padding-top: 2rem; }
.sgx-footer__copy { margin: 0; font-size: .875rem; color: rgba(255, 255, 255, .6); }
@media (max-width: 600px) { .sgx-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ----------------------------------------------------------------------------
   Editor niceties
   ------------------------------------------------------------------------- */
.editor-styles-wrapper .sgx-site-header { position: relative; }
.editor-styles-wrapper .sgx-header { background: var(--sgx-navy); }
.editor-styles-wrapper .sgx-hero { padding-top: clamp(3rem, 7vw, 6rem); }
