@font-face {
	font-family: "Nunito";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/nunito-latin.woff2") format("woff2");
}

:root {
	--ss-forest: #183b31;
	--ss-teal: #168c86;
	--ss-paper: #f7f4ea;
	--ss-gold: #ebb44c;
	--ss-coral: #e56b3f;
	--ss-ink: #102c25;
	--ss-white: #fff;
	--ss-line: rgba(24, 59, 49, 0.16);
	--ss-shadow: 0 18px 50px rgba(24, 59, 49, 0.1);
	--ss-radius: 18px;
	--ss-width: 1180px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}

body {
	margin: 0;
	background: var(--ss-paper);
	color: var(--ss-ink);
	font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; height: auto; }
a { color: var(--ss-teal); text-underline-offset: 0.18em; }
a:hover { color: var(--ss-forest); }

h1,
h2,
h3 {
	color: var(--ss-forest);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 0 0 0.7em;
}

h1 { font-size: clamp(2.65rem, 4.6vw, 4.6rem); }
h2 { font-size: clamp(2rem, 3.5vw, 3.35rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.2em; }

:focus-visible {
	outline: 3px solid var(--ss-gold);
	outline-offset: 4px;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	display: block;
	height: auto;
	left: 16px;
	top: 16px;
	width: auto;
	z-index: 100000;
}

.skip-link {
	background: var(--ss-paper);
	color: var(--ss-forest);
	padding: 12px 18px;
}

.ssm-wrap {
	margin-inline: auto;
	max-width: var(--ss-width);
	padding-inline: 28px;
	width: 100%;
}

.ssm-header {
	background: var(--ss-white);
	border-bottom: 1px solid var(--ss-line);
	position: relative;
	z-index: 100;
}

.ssm-header__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-inline: auto;
	max-width: calc(var(--ss-width) + 56px);
	min-height: 88px;
	padding: 16px 28px;
}

.ssm-brand { display: block; flex: 0 1 330px; }
.ssm-brand img { width: min(330px, 48vw); }

.ssm-menu {
	align-items: center;
	display: flex;
	gap: 12px 34px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ssm-menu a {
	color: var(--ss-forest);
	font-size: 1rem;
	font-weight: 800;
	text-decoration: none;
}

.ssm-menu a:hover { color: var(--ss-teal); }
.ssm-menu .menu-highlight a {
	background: var(--ss-teal);
	border-radius: 9px;
	box-shadow: 0 7px 20px rgba(22, 140, 134, 0.2);
	color: var(--ss-white);
	display: inline-flex;
	padding: 12px 18px;
	transition: all .2s ease-in-out;
}
.ssm-menu .menu-highlight a:hover { background: var(--ss-forest); color: var(--ss-white); }

.ssm-menu-toggle {
	background: transparent;
	border: 0;
	cursor: pointer;
	display: none;
	padding: 10px;
}
.ssm-menu-toggle span[aria-hidden] { background: var(--ss-forest); display: block; height: 2px; margin: 5px 0; width: 26px; }

.ssm-main { overflow: clip; }
.ssm-entry > * { margin-block: 0; }
.school-strides-marketing .wp-block-group > .wp-block-group__inner-container { display: contents; }

.ssm-hero { background: var(--ss-paper); }
.ssm-hero__content { align-items: center; display: flex; min-height: 720px; }
.ssm-hero__copy { max-width: 50%; padding-block: clamp(70px, 9vw, 100px); }
.ssm-lede { font-size: clamp(1.13rem, 1.7vw, 1.35rem); line-height: 1.55; max-width: 670px; }
.ssm-eyebrow {
	color: var(--ss-teal);
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin-bottom: 18px;
	text-transform: uppercase;
}
.ssm-eyebrow--light { color: #72d1cc; }

.ssm-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 18px 28px; margin: 34px 0; }
.ssm-button,
.wp-block-button.ssm-button-block .wp-block-button__link {
	align-items: center;
	background: var(--ss-teal);
	border: 2px solid var(--ss-teal);
	border-radius: 9px;
	color: var(--ss-white);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	padding: 13px 22px;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.ssm-button:hover,
.wp-block-button.ssm-button-block .wp-block-button__link:hover { background: var(--ss-forest); border-color: var(--ss-forest); color: var(--ss-white); transform: translateY(-2px); }
.ssm-button--paper { background: var(--ss-paper); border-color: var(--ss-paper); color: var(--ss-forest); }
.ssm-button--paper:hover { background: var(--ss-gold); border-color: var(--ss-gold); color: var(--ss-forest); }
.ssm-text-link { color: var(--ss-forest); font-weight: 800; text-decoration-thickness: 2px; }

.ssm-trust-list,
.ssm-check-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 26px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ssm-trust-list p,
.ssm-check-list p { align-items: center; display: flex; font-size: 1.3rem; font-weight: 700; gap: 9px; margin: 0; }
.ssm-trust-list p::before,
.ssm-check-list p::before,
.ssm-benefit-list p::before {
	align-items: center;
	background: var(--ss-teal);
	border-radius: 50%;
	color: white;
	content: "✓";
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: 800;
	height: 24px;
	justify-content: center;
	width: 24px;
}

.ssm-hero-cover {
	background-color: var(--ss-forest);
	color: var(--ss-ink);
	margin: 0;
	min-height: 720px !important;
	overflow: hidden;
}
.ssm-hero-cover h1 { color: var(--ss-forest); }
.ssm-hero-cover .ssm-eyebrow { color: var(--ss-teal); }
.ssm-hero-cover .ssm-text-link { color: var(--ss-forest); }
.ssm-hero-cover .wp-block-cover__background {
	background: linear-gradient(90deg, #f7f4ea 0%, rgba(247, 244, 234, 0.98) 37%, rgba(247, 244, 234, 0.82) 49%, rgba(247, 244, 234, 0.2) 67%, rgba(247, 244, 234, 0) 78%) !important;
	opacity: 1 !important;
}
.ssm-hero-cover .wp-block-cover__inner-container { max-width: none; padding: 0; position: relative; width: 100%; z-index: 2; }

.ssm-section { padding-block: clamp(75px, 9vw, 120px); }
.ssm-problem { background: var(--ss-forest); color: var(--ss-white); }
.ssm-problem h2,
.ssm-example h2 { color: var(--ss-white); }
.ssm-problem__grid { align-items: center; display: grid; gap: clamp(50px, 9vw, 120px); grid-template-columns: 0.92fr 1.08fr; }
.ssm-problem__grid > div:first-child,
.ssm-problem__grid > .wp-block-group__inner-container > div:first-child { max-width: 580px; }
.ssm-problem__grid > div:first-child p:last-child,
.ssm-problem__grid > .wp-block-group__inner-container > div:first-child p:last-child { color: #a7e1dc; font-weight: 800; margin-bottom: 0; }
.ssm-benefit-list { border-left: 1px solid rgba(255, 255, 255, 0.3); list-style: none; margin: 0; padding: 0 0 0 clamp(35px, 6vw, 72px); }
.ssm-benefit-list p { align-items: center; border-bottom: 1px solid rgba(255, 255, 255, 0.2); display: flex; font-size: clamp(1rem, 1.8vw, 1.25rem); font-weight: 800; gap: 16px; margin: 0; padding: 17px 0; }
.ssm-benefit-list p:first-child { padding-top: 0; }
.ssm-benefit-list p:last-child { border-bottom: 0; }
.ssm-benefit-list p::before { flex: 0 0 30px; height: 30px; width: 30px; }

.ssm-capabilities { background: #fffdf8; }
.ssm-section-heading { margin: 0 auto 48px; text-align: center; }
.ssm-section-heading h2 { margin-bottom: 0; }
.ssm-card-grid { display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ssm-card { background: var(--ss-white); border: 1px solid var(--ss-line); border-radius: var(--ss-radius); box-shadow: var(--ss-shadow); padding: 32px 28px; }
.ssm-card .ssm-card-number { align-items: center; background: rgba(235, 180, 76, 0.2); border-radius: 50%; color: var(--ss-forest); display: inline-flex; font-size: 0.78rem; font-weight: 800; height: 48px; justify-content: center; margin-bottom: 25px; width: 48px; }
.ssm-card h3 { margin-bottom: 13px; }
.ssm-card p { font-size: 1rem; margin: 0; }

.ssm-purpose { background: linear-gradient(120deg, #f4ecda, var(--ss-paper)); }
.ssm-purpose__grid { display: grid; gap: 24px; grid-template-columns: 1fr 1fr; }
.ssm-purpose__copy,
.ssm-example { background-color: var(--ss-white); border-radius: var(--ss-radius); padding: clamp(36px, 5vw, 64px); }
.ssm-purpose__copy { border: 1px solid rgba(24, 59, 49, 0.12); }
.ssm-purpose__copy h2 { max-width: 13ch; }
.ssm-purpose__copy p:last-child { color: var(--ss-teal); margin-bottom: 0; }
.ssm-example { background: var(--ss-forest); color: var(--ss-white); position: relative; overflow: hidden; }
//.ssm-example::after { background: url("../images/school-strides-mark.svg") no-repeat center / contain; content: ""; filter: brightness(0) invert(1); height: 190px; opacity: 0.05; position: absolute; width: 270px; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.ssm-example h2,
.ssm-example p { position: relative; z-index: 1; }
.ssm-example p:not(.ssm-eyebrow) { max-width: 540px; }

.ssm-request { background: #fffdf8; }
.ssm-request__grid { align-items: start; display: grid; gap: clamp(45px, 7vw, 90px); grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr); }
.ssm-request__intro { padding-top: 25px; }
.ssm-request__intro h2 { max-width: 10ch; }
.ssm-check-list { display: grid; gap: 12px; margin: 28px 0; }
.ssm-small { color: #52645e; font-size: 1rem; }
.ssm-form-card { background: var(--ss-white); border: 1px solid var(--ss-line); border-radius: var(--ss-radius); box-shadow: var(--ss-shadow); padding: clamp(26px, 4vw, 48px); }

.ssm-form-card .gform_wrapper .gform_description { color: #52645e; display: block; font-size: 0.9rem; margin-bottom: 25px; }
.ssm-form-card .gform_wrapper .gfield_label { color: var(--ss-forest); font-size: 0.9rem; font-weight: 800; }
.ssm-form-card .gform_wrapper input[type="text"],
.ssm-form-card .gform_wrapper input[type="email"],
.ssm-form-card .gform_wrapper select,
.ssm-form-card .gform_wrapper textarea {
	background: #fff;
	border: 1px solid rgba(24, 59, 49, 0.28);
	border-radius: 7px;
	color: var(--ss-ink);
	font-family: inherit;
	font-size: 1rem;
	padding: 12px 14px;
}
.ssm-form-card .gform_wrapper input:focus,
.ssm-form-card .gform_wrapper select:focus,
.ssm-form-card .gform_wrapper textarea:focus { border-color: var(--ss-teal); box-shadow: 0 0 0 3px rgba(22, 140, 134, 0.16); outline: none; }
body .ssm-form-card .gform_wrapper .gform_button {
	background: var(--ss-teal) !important;
	border: 0 !important;
	border-radius: 8px;
	color: var(--ss-white) !important;
	cursor: pointer;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 800;
	min-height: 50px;
	padding: 12px 24px;
	width: 100% !important;
}
body .ssm-form-card .gform_wrapper .gform_button:hover { background: var(--ss-forest) !important; color: var(--ss-white) !important; }

.ssm-page-shell { min-height: 65vh; padding: clamp(65px, 8vw, 105px) 28px; }
.ssm-page { margin-inline: auto; max-width: 800px; }
.ssm-page h1 { max-width: 15ch; }
.ssm-page__content h2 { font-size: clamp(1.55rem, 2.5vw, 2.15rem); margin-top: 2em; }

.ssm-footer { background: #0f3028; color: rgba(255, 255, 255, 0.78); padding-block: 48px; }
.ssm-footer__inner { align-items: start; display: grid; gap: 60px; grid-template-columns: 280px 1fr; margin-inline: auto; max-width: var(--ss-width); padding-inline: 28px; }
.ssm-footer__brand img { width: 280px; }
.ssm-footer__copy { justify-self: end; max-width: 700px; }
.ssm-footer__copy p { font-size: 0.82rem; margin-bottom: 0.7em; }
.ssm-footer a { color: var(--ss-white); font-weight: 800; }

@media (max-width: 980px) {
	.ssm-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ssm-request__grid { grid-template-columns: 1fr; }
	.ssm-request__intro { max-width: 680px; padding-top: 0; }
	.ssm-request__intro h2 { max-width: none; }
}

@media (max-width: 760px) {
	body { font-size: 17px; }
	.ssm-header__inner { min-height: 76px; }
	.ssm-brand { flex-basis: 245px; }
	.ssm-menu-toggle { display: block; }
	.ssm-navigation { background: var(--ss-paper); border-bottom: 1px solid var(--ss-line); box-shadow: 0 15px 25px rgba(24, 59, 49, 0.08); display: none; left: 0; padding: 20px 28px 28px; position: absolute; right: 0; top: 100%; }
	.ssm-navigation.is-open { display: block; }
	.ssm-menu { align-items: stretch; display: grid; gap: 8px; }
	.ssm-menu a { display: block; padding: 10px 0; }
	.ssm-menu .menu-highlight a { justify-content: center; margin-top: 6px; text-align: center; }
	.ssm-problem__grid,
	.ssm-purpose__grid { grid-template-columns: 1fr; }
	.ssm-benefit-list { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.3); padding: 42px 0 0; }
	.ssm-footer__inner { grid-template-columns: 1fr; gap: 32px; }
	.ssm-footer__copy { justify-self: start; }
}

@media (max-width: 540px) {
	.ssm-wrap { padding-inline: 20px; }
	.ssm-header__inner { padding-inline: 20px; }
	.ssm-card-grid { grid-template-columns: 1fr; }
	.ssm-card { padding: 27px 24px; }
	.ssm-hero-cover { background: var(--ss-paper); min-height: 0 !important; }
	.ssm-hero-cover .wp-block-cover__background { display: none; }
	.ssm-hero-cover .wp-block-cover__image-background {
		border-radius: var(--ss-radius);
		bottom: 20px;
		height: 350px;
		left: 20px;
		object-position: 58% center;
		top: auto;
		width: calc(100% - 40px);
	}
	.ssm-hero__content { min-height: 0; padding-bottom: 390px; }
	.ssm-hero__copy { max-width: 100%; padding-block: 60px 20px; }
	.ssm-trust-list { display: grid; gap: 11px; }
	.ssm-purpose__copy,
	.ssm-example { padding: 32px 26px; }
	.ssm-form-card { padding: 24px 20px; }
	.ssm-footer__inner { padding-inline: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
