.sthp-home, .sthp-home * { box-sizing: border-box; }
.sthp-home { --navy: #1f3a5f; --orange: #f97316; --green: #2f6f57; --gray: #4b5563; --light-gray: #d1d5db; --white: #fff; color: var(--gray); font-size: 1rem; line-height: 1.6; }
.sthp-home h1, .sthp-home h2, .sthp-home h3, .sthp-home p { margin-top: 0; }
.sthp-home h1, .sthp-home h2, .sthp-home h3 { color: var(--navy); line-height: 1.08; }
.sthp-home__hero { position: relative; min-height: clamp(32rem, 70vh, 48rem); overflow: hidden; background: var(--navy); color: var(--white); }
.sthp-home__hero-video, .sthp-home__hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.sthp-home__hero-video { display: block; object-fit: cover; }
.sthp-home__hero-overlay { background: linear-gradient(90deg, rgb(31 58 95 / 90%) 0%, rgb(31 58 95 / 62%) 53%, rgb(31 58 95 / 18%) 100%); }
.sthp-home__hero-copy { position: relative; z-index: 1; display: flex; width: min(100% - 2rem, 76rem); min-height: inherit; flex-direction: column; justify-content: center; margin-inline: auto; padding-block: 5rem; }
.sthp-home__hero h1 { max-width: 16ch; margin-bottom: 1.25rem; color: var(--white); font-size: clamp(2.35rem, 5.2vw, 4.6rem); letter-spacing: -.035em; text-transform: uppercase; }
.sthp-home__hero-copy > p:not(.sthp-home__eyebrow) { max-width: 38rem; font-size: clamp(1.1rem, 2vw, 1.3rem); }
.sthp-home__eyebrow { margin-bottom: .55rem; color: var(--green); font-size: .82rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.sthp-home__hero .sthp-home__eyebrow, .sthp-home__service-band .sthp-home__eyebrow, .sthp-home__final-cta .sthp-home__eyebrow { color: var(--white); }
.sthp-home__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.2rem; }
.sthp-home__button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; padding: .75rem 1.3rem; border: 2px solid var(--orange); border-radius: .5rem; background: var(--orange); color: #172b49; font-weight: 800; text-align: center; text-decoration: none; }
.sthp-home__button:hover { background: var(--white); color: var(--navy); }
.sthp-home__button--secondary { border-color: var(--white); background: transparent; color: var(--white); }
.sthp-home__section, .sthp-home__testimonial, .sthp-home__final-cta, .sthp-home__footer { width: min(100% - 2rem, 76rem); margin-inline: auto; padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.sthp-home__section > header { max-width: 48rem; margin-bottom: 2rem; }
.sthp-home h2 { margin-bottom: .8rem; font-size: clamp(2rem, 4.5vw, 3.4rem); }
.sthp-home__trusted { padding-block: 2.8rem; text-align: center; }
.sthp-home__trusted ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 1.5rem 0 0; padding: 1px; background: var(--light-gray); list-style: none; }
.sthp-home__trusted li { display: grid; min-height: 6.5rem; place-items: center; padding: 1rem; background: var(--white); color: var(--navy); font-weight: 850; line-height: 1.2; }
.sthp-home__steps { border: 1px solid var(--light-gray); border-radius: .75rem; background: rgb(209 213 219 / 24%); padding: clamp(1.5rem, 4vw, 3rem); }
.sthp-home__steps > header { margin-bottom: 1.5rem; }
.sthp-home__steps > header h2 { margin-bottom: .4rem; font-size: clamp(1.8rem, 3.2vw, 2.6rem); }
.sthp-home__steps-support { margin-bottom: 0; font-size: 1rem; }
.sthp-home__steps ol { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
.sthp-home__why ul { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.sthp-home__steps li { display: grid; grid-template-columns: 3rem 1fr; align-items: center; gap: .25rem 1rem; padding: .85rem 0; }
.sthp-home__steps .sthp-home__step-number { grid-column: 1; grid-row: 2; color: var(--green); font-size: 1rem; font-weight: 850; }
.sthp-home__steps li strong { grid-column: 2; grid-row: 2; color: var(--navy); font-size: 1.15rem; }
.sthp-home__steps li:first-child .sthp-home__step-number, .sthp-home__steps li:first-child strong { grid-row: 1; }
.sthp-home__steps .sthp-home__step-arrow { grid-column: 2; grid-row: 1; color: var(--orange); font-size: 1.5rem; font-weight: 900; line-height: 1; }
.sthp-home #certifications, .sthp-home #equipment-services, .sthp-home #latest-blog { scroll-margin-top: 2rem; }
.sthp-home__course-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.sthp-home__course { display: flex; height: 100%; min-height: 22rem; flex-direction: column; align-items: stretch; padding: 1rem; border: 1px solid var(--light-gray); border-radius: .75rem; color: var(--gray); text-decoration: none; }
.sthp-home__course:hover { border-color: var(--orange); box-shadow: 0 .75rem 2rem rgb(31 58 95 / 12%); }
.sthp-home__course-art { display: grid; width: 100%; min-height: 10rem; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; justify-items: center; gap: .35rem; margin-bottom: 1rem; }
.sthp-home__course-equipment { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; margin: 0; color: var(--navy); font-size: .72rem; font-weight: 700; line-height: 1.2; text-align: center; }
.sthp-home__course-equipment img { display: block; width: min(100%, 7.5rem); height: 6.25rem; object-fit: contain; }
/* Keep equipment names available to screen readers without taking up icon space. */
.sthp-home__course-equipment figcaption { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.sthp-home__course-art--count-1 { grid-template-columns: 1fr; }
.sthp-home__course-art--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sthp-home__course-art--count-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sthp-home__course > div { min-width: 0; width: 100%; }
.sthp-home__course h3 { margin-bottom: .5rem; font-size: 1.3rem; }
.sthp-home__course p { margin-bottom: .7rem; }
.sthp-home__course div > span, .sthp-home__text-link { color: var(--navy); font-weight: 800; }
.sthp-home__center { margin: 1.5rem 0 0; text-align: center; }
.sthp-home__service-band { padding: clamp(3.5rem, 9vw, 7rem) max(1rem, calc((100vw - 76rem) / 2)); background: var(--navy); color: var(--white); }
.sthp-home__service-band > div { max-width: 46rem; }
.sthp-home__service-band h2 { color: var(--white); }
.sthp-home__service-band p.sthp-home__services-copy { color: var(--white); }
.sthp-home__service-band .sthp-home__button { margin-top: .75rem; }
.sthp-home__why > header { margin-inline: auto; text-align: center; }
.sthp-home__why > header h2 { font-size: clamp(1.65rem, 2.8vw, 2.4rem); }
.sthp-home__why li { border-top: 1px solid var(--light-gray); padding: .75rem 0; background: transparent; }
.sthp-home__why strong, .sthp-home__why span { display: block; }
.sthp-home__why strong { margin-bottom: .35rem; color: var(--navy); font-size: 1.25rem; }
.sthp-home__testimonial { display: grid; gap: 2rem; width: 100%; padding-inline: max(1rem, calc((100vw - 76rem) / 2)); background: rgb(209 213 219 / 30%); }
.sthp-home__testimonial blockquote { margin: 1.5rem 0 0; color: var(--navy); font-size: clamp(1.2rem, 2.5vw, 1.6rem); }
.sthp-home__testimonial cite { color: var(--green); font-size: 1rem; font-style: normal; font-weight: 800; }
.sthp-home__reviews { align-self: center; padding: 2rem; border: 2px dashed var(--light-gray); border-radius: .75rem; background: var(--white); text-align: center; }
.sthp-home__reviews strong { color: var(--navy); font-size: 1.3rem; }
.sthp-home__reviews p { margin-bottom: 0; }
.sthp-home__blog article { max-width: 50rem; padding: 2rem; border-left: 4px solid var(--orange); background: rgb(209 213 219 / 25%); }
.sthp-home__blog article h3 { font-size: clamp(1.4rem, 3vw, 2rem); }
.sthp-home__blog article h3 a { color: var(--navy); }
.sthp-home__blog-date { color: var(--green); font-size: .9rem; font-weight: 800; }
.sthp-home__final-cta { width: 100%; padding-inline: max(1rem, calc((100vw - 76rem) / 2)); background: var(--navy); color: var(--white); text-align: center; }
.sthp-home__final-cta h2 { color: var(--white); }
.sthp-home__footer { display: grid; gap: .5rem; }
.sthp-home__footer strong { color: var(--navy); font-size: 1.4rem; }
.sthp-home__footer p { max-width: 38rem; margin-bottom: .5rem; }
.sthp-home__footer nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.sthp-home__footer a { color: var(--navy); font-weight: 750; }
.sthp-home a:focus-visible { outline: 4px solid var(--navy); outline-offset: 4px; }
.sthp-home__hero a:focus-visible, .sthp-home__service-band a:focus-visible, .sthp-home__final-cta a:focus-visible { outline-color: var(--white); }
@media (min-width: 48rem) {
	.sthp-home__trusted ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.sthp-home__course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sthp-home__why ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sthp-home__testimonial { grid-template-columns: 2fr 1fr; }
}
@media (max-width: 47.99rem) {
	.sthp-home__hero { min-height: clamp(32rem, 72svh, 40rem); }
	.sthp-home__hero h1 { max-width: 13ch; font-size: clamp(2.25rem, 10vw, 3.4rem); }
	.sthp-home__hero-overlay { background: linear-gradient(0deg, rgb(31 58 95 / 94%), rgb(31 58 95 / 30%)); }
	.sthp-home__hero-copy { justify-content: flex-end; }
	.sthp-home__actions, .sthp-home__actions .sthp-home__button { width: 100%; }
}

@media (min-width: 64rem) { .sthp-home__why > header h2 { white-space: nowrap; } }
