/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 20 2026 | 22:20:40 */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400&family=Manrope:wght@300;400;500;600;700;800&display=swap');

@media screen and (max-width: 1440px) and (min-width: 1200px){
	body {zoom: 0.9;}
}

/* ============ STEMS Bridge Academy – Home ============ */
body { font-family: Manrope, sans-serif; -webkit-font-smoothing: antialiased; }
.stems-hl { color: #008489; }

/* Eyebrow: teal line + uppercase label */
.stems-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 12px; }
.stems-eyebrow .elementor-heading-title::before { content: ""; width: 28px; height: 1.5px; background: currentColor; flex: none; }

/* Text editor */
.elementor-widget-text-editor p { margin: 0; }
.elementor-widget-text-editor p + p { margin-top: 12px; }

/* Buttons with SVG arrow */
.stems-btn .elementor-button { display: inline-flex; align-items: center; transition: background-color .2s, color .2s; }
.stems-btn .elementor-button-content-wrapper { align-items: center; }
.stems-btn .elementor-button-icon { display: inline-flex; }
.stems-btn .elementor-button-icon svg { width: 16px; height: 16px; }
.stems-btn .elementor-button-icon svg,
.stems-btn .elementor-button-icon svg * { fill: none !important; stroke: currentColor; }
.stems-header-btn .elementor-button-icon svg { width: 15px; height: 15px; }
.stems-link .elementor-button { padding: 0 !important; }

/* Column helpers */
.col-stack > .elementor-widget-wrap { flex-direction: column !important; flex-wrap: nowrap !important; }
.col-stack > .elementor-widget-wrap > .elementor-element { width: 100%; }
.mt-auto { margin-top: auto !important; }
.elementor-column > .elementor-widget-wrap { position: relative; }

/* ---------- Header ---------- */
.stems-header { z-index: 20; }
.stems-nav .elementor-nav-menu--main .elementor-item { white-space: nowrap; }

/* ---------- Hero ---------- */
.stems-hero { position: relative; }
.stems-hero::before { content: ""; position: absolute; left: calc(50% + 77px); top: 0; bottom: 0; width: 1px; background: #EEF2F5; }
.stems-hero::after { content: ""; position: absolute; left: calc(50% + 77px); right: 0; top: 0; height: 1px; background: #EEF2F5; }
.stems-hero > .elementor-container { position: relative; z-index: 1; }
.hero-lead { max-width: 590px; }
.stems-pillars { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 32px; font: 500 15px/20px Manrope, sans-serif; letter-spacing: -0.3px; color: #073052; }
.stems-pillars span { color: #008489; margin-right: 9px; }

.hero-img { position: relative; z-index: 1; }
.hero-img img { display: block; width: 100%; border-radius: 80px 0 40px 0; }
.hero-deco { position: absolute !important; top: 0; right: 0; bottom: 0; left: 32px; width: auto !important; pointer-events: none; }
.hero-ring { position: absolute; left: -69px; top: -22px; width: 140px; height: 140px; border: 1.5px solid #008489; border-radius: 50%; z-index: 0; }
.hero-ring i { position: absolute; left: 50%; top: 0; bottom: 0; border-left: 1px dashed #008489; opacity: .8; }
.hero-ring b { position: absolute; top: 50%; left: 0; right: 0; border-top: 1px dashed #008489; opacity: .8; }
.hero-badge { position: absolute; top: 24px; right: 16px; z-index: 2; display: flex; align-items: center; gap: 9px; height: 32px; padding: 0 16px; background: #fff; border-radius: 999px; box-shadow: 0 6px 18px rgba(7, 48, 82, .12); font: 600 12px/1 Manrope, sans-serif; color: #073052; }
.hero-badge span { width: 7px; height: 7px; border-radius: 50%; background: #008489; }
.hero-math { position: absolute; left: -22px; bottom: -23px; z-index: 2; width: 224px; height: 91px; box-sizing: border-box; padding: 20px 24px; background: #073052; border-radius: 16px; box-shadow: 0 24px 48px rgba(7, 48, 82, .28); color: #fff; }
.hero-math .m { font: 400 22px/26px "JetBrains Mono", monospace; letter-spacing: 1px; white-space: nowrap; }
.hero-math .s { margin-top: 10px; font: 500 12px/14px Manrope, sans-serif; letter-spacing: 3px; opacity: .85; white-space: nowrap; }

/* ---------- Potential ---------- */
.r20 img { display: block; width: 100%; border-radius: 20px; }
.ring-deco { position: absolute !important; top: -23px; right: -24px; width: 112px !important; height: 112px; z-index: 2; pointer-events: none; }
.ring-deco .ring { display: block; width: 112px; height: 112px; border: 1.5px solid #008489; border-radius: 50%; box-sizing: border-box; }

/* ---------- Services ---------- */
.svc > .elementor-element-populated { border-radius: 28px; overflow: hidden; }
.svc-photo > .elementor-element-populated::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 48, 82, .08) 0%, rgba(7, 48, 82, .5) 45%, rgba(7, 48, 82, .97) 100%); z-index: 0; }
.svc-photo > .elementor-element-populated > .elementor-element { position: relative; z-index: 1; }
.svc-desc { max-width: 440px; }
.svc-go { display: inline-flex; width: 32px; height: 32px; border-radius: 50%; background: #008489; color: #fff; align-items: center; justify-content: center; }
.svc-top { display: flex; justify-content: space-between; align-items: flex-start; }
.svc-n { font: 700 14px/18px Manrope, sans-serif; color: #008489; }
.svc-sym { font: 400 28px/1 "JetBrains Mono", monospace; color: #008489; word-spacing: 4px; }
.svc-net { margin: 6px 14px 0 0; }
.svc-split > .elementor-element-populated { border: 1px solid #E3E9ED; background: #fff; padding: 0 !important; }
.svc-split .elementor-inner-section, .svc-split .elementor-inner-section > .elementor-container { height: 100%; }

/* ---------- Stages ---------- */
.stage-img img { display: block; width: 100%; height: 387px; object-fit: cover; border-radius: 22px; }
.stage-meta { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #D9E1E6; margin-top: 20px; padding-top: 20px; color: #008489; font: 700 13px/16px Manrope, sans-serif; }
.stage-meta svg { margin-right: 4px; }
.stage-desc { max-width: 270px; }

/* ---------- Subjects ---------- */
.subj-card > .elementor-element-populated { background-color: #F5F8FA; border: 1px solid #E1E8ED; border-radius: 20px; overflow: hidden; }
.subj-math > .elementor-element-populated { border: 0; }
.subj-math > .elementor-element-populated::before { content: ""; position: absolute; inset: 0; background: rgba(7, 48, 82, .78); z-index: 0; }
.subj-math > .elementor-element-populated > .elementor-element { position: relative; z-index: 1; }
.subj-top { display: flex; justify-content: space-between; align-items: flex-start; }
.subj-ic { width: 48px; height: 48px; border-radius: 12px; background: #fff; color: #008489; display: inline-flex; align-items: center; justify-content: center; }
.subj-ic--teal { background: #008489; color: #fff; }
.subj-sym { font: 400 22px/1 "JetBrains Mono", monospace; color: #008489; opacity: .6; margin-top: 4px; }
.subj-formula { font: 400 36px/1 "JetBrains Mono", monospace; color: #fff; margin-top: 4px; white-space: nowrap; }
.subj-desc { max-width: 260px; }

/* ---------- Consulting ---------- */
.consult-col > .elementor-element-populated { max-width: 696px; }
.aud-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #DFE6EB; border-radius: 14px; background: #fff; overflow: hidden; }
.aud-grid div { height: 57px; display: flex; align-items: center; gap: 12px; padding: 0 22px; font: 600 17px/1 Manrope, sans-serif; color: #073052; border-bottom: 1px solid #E6ECEF; }
.aud-grid div:nth-child(odd) { border-right: 1px solid #E6ECEF; }
.aud-grid div:nth-child(n+3) { border-bottom: 0; }
.aud-grid div::before { content: "Σ"; color: #008489; font-weight: 500; }

/* ---------- College ---------- */
.cc-list { border-top: 1px solid #E3E9ED; }
.cc-row { display: grid; grid-template-columns: 64px 144px 1fr; padding: 21px 0; border-bottom: 1px solid #E3E9ED; font: 400 17px/24px Manrope, sans-serif; color: #4D6070; }
.cc-row .n { color: #008489; font: 700 15px/24px Manrope, sans-serif; }
.cc-row strong { color: #073052; font-weight: 700; }
.r24 { position: relative; }
.r24::before { content: ""; position: absolute; left: 8px; top: 8px; right: -40px; bottom: -40px; background: #073052; border-radius: 24px; z-index: 0; }
.r24 img { position: relative; z-index: 1; display: block; width: 100%; border-radius: 24px; }

/* ---------- Steps ---------- */
.step-circle { position: relative; z-index: 1; width: 62px; height: 62px; box-sizing: border-box; margin: 0 auto; border: 2px solid #008489; border-radius: 50%; background: #F5F8FA; display: flex; align-items: center; justify-content: center; font: 700 17px/1 Manrope, sans-serif; color: #008489; }
.steps .step:not(:last-child) > .elementor-widget-wrap::after { content: ""; position: absolute; top: 31px; left: calc(50% + 35px); width: 388px; border-top: 1.5px dashed #93CACD; }
@media (max-width: 1359px) { .steps .step:not(:last-child) > .elementor-widget-wrap::after { width: calc(100% - 60px); } }
.step-desc { max-width: 300px; margin-left: auto; margin-right: auto; }

/* ---------- Human-centered ---------- */
.hf-img img { display: block; width: 100%; border-radius: 0 90px 0 30px; }
.stems-pills { display: flex; gap: 16px; }
.stems-pills span { flex: 1; height: 64px; display: flex; align-items: center; justify-content: center; background: #DCF4F5; border-radius: 14px; font: 700 16px/1 Manrope, sans-serif; color: #073052; }

/* ---------- CTA ---------- */
.stems-cta { overflow: hidden; }
.stems-cta > .elementor-container, .stems-cta .elementor-column, .stems-cta .elementor-column > .elementor-widget-wrap { position: static; }
.stems-cta .elementor-widget:not(.cta-deco-wrap) { position: relative; z-index: 1; }
.cta-deco-wrap { position: absolute !important; inset: 0; width: auto !important; pointer-events: none; z-index: 0; }
.cta-deco { position: absolute; inset: 0; width: 100%; height: 100%; }
.cta-lead { max-width: 560px; margin-left: auto; margin-right: auto; }

/* ---------- Footer ---------- */
.stems-flinks .elementor-icon-list-icon { display: none !important; }
.stems-fcontact p { margin: 0 0 12px; }
.stems-fcontact p + p { margin-top: 0; }
.stems-fcontact strong { color: #fff; font-weight: 600; }
.stems-copy > .elementor-container { border-top: 1px solid rgba(255, 255, 255, .1); }
.stems-copy strong { color: #fff; font-weight: 700; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.stems-hero::before, .stems-hero::after { display: none; }
	.hero-deco { left: 0; }
	.hero-math { left: 12px; }
	.hero-ring { left: -20px; }
	.ring-deco { right: -8px; }
	.r24::before { right: -16px; bottom: -16px; }
	.stage-img img { height: auto; aspect-ratio: 310 / 387; }
}
@media (max-width: 767px) {
	.hero-ring { display: none; }
	.hero-badge { top: 14px; right: 12px; }
	.hero-math { width: 200px; height: auto; padding: 16px 18px; bottom: -18px; }
	.hero-math .m { font-size: 19px; }
	.hero-img img { border-radius: 48px 0 28px 0; }
	.steps .step > .elementor-widget-wrap::after { display: none; }
	.cc-row { grid-template-columns: 44px 1fr; }
	.cc-row .d { grid-column: 2; margin-top: 4px; }
	.aud-grid { grid-template-columns: 1fr; }
	.aud-grid div:nth-child(odd) { border-right: 0; }
	.aud-grid div:nth-child(-n+3) { border-bottom: 1px solid #E6ECEF; }
	.stems-pills { gap: 10px; }
	.stems-pills span { font-size: 14px; height: 54px; }
	.subj-formula { font-size: 28px; }
	.hf-img img { border-radius: 0 56px 0 20px; }
}

/* ---------- Fixes after visual review ---------- */
.stems-footer { border-top: 1px solid rgba(255, 255, 255, .08); }
.stems-flinks .elementor-icon-list-text { letter-spacing: -0.3px; }
.svc-row--1 .svc > .elementor-element-populated { min-height: 460px; }
.svc-row--2 .svc > .elementor-element-populated { min-height: 346px; }
.hero-lead, .cta-lead, .svc-desc, .stage-desc, .subj-desc, .step-desc { max-width: none !important; }
.hero-lead p { max-width: 590px; }
.cta-lead p { max-width: 560px; margin: 0 auto; }
.svc-desc p { max-width: 440px; }
.stage-desc p { max-width: 270px; }
.step-desc p { max-width: 300px; margin: 0 auto; }
@media (max-width: 767px) {
	.svc-row .svc > .elementor-element-populated { min-height: 0; }
	.svc-row--1 .svc-photo > .elementor-element-populated { min-height: 420px; }
}
.subj-card > .elementor-element-populated { min-height: 219px; }
.subj-math > .elementor-element-populated { min-height: 459px; }
@media (max-width: 767px) { .subj-math > .elementor-element-populated { min-height: 380px; } }
.steps .step:not(:last-child) > .elementor-widget-wrap::after { border-top: 1.5px dashed rgba(0, 132, 137, .55); }

/* ============ Hover effects ============ */
.stems-btn .elementor-button { transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.stems-btn .elementor-button-icon { transition: transform .25s ease; }
.stems-btn .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
.stems-btn:not(.stems-link) .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(7, 48, 82, .18); }

/* nav underline */
.stems-nav .elementor-nav-menu--main .elementor-item { position: relative; transition: color .2s ease; }
.stems-nav .elementor-nav-menu--main .elementor-item::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 2px; height: 2px; border-radius: 2px; background: #008489; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; opacity: 1 !important; }
.stems-nav .elementor-nav-menu--main .elementor-item:hover::after { transform: scaleX(1); }

/* image zoom inside rounded frames */
.r20, .hf-img, .stage-img, .hero-img { overflow: hidden; }
.r20 { border-radius: 20px; }
.hf-img { border-radius: 0 90px 0 30px; }
.stage-img { border-radius: 22px; }
.hero-img { border-radius: 80px 0 40px 0; }
.r20 img, .hf-img img, .stage-img img, .hero-img img, .r24 img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.r20:hover img, .hf-img:hover img, .stage:hover .stage-img img, .hero-img:hover img { transform: scale(1.05); }
.r24 img { transition: transform .4s ease; }
.r24::before { transition: transform .4s ease; }
.cc-media:hover .r24 img { transform: translate(-6px, -6px); }
.cc-media:hover .r24::before { transform: translate(4px, 4px); }

/* service cards */
.svc > .elementor-element-populated { transition: transform .35s ease, box-shadow .35s ease, background-color .35s ease; }
.svc:hover > .elementor-element-populated { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(7, 48, 82, .16); }
.svc-photo > .elementor-element-populated { background-size: 100% auto; transition: transform .35s ease, box-shadow .35s ease, background-size .6s ease; }
.svc-go { transition: transform .3s ease, background-color .3s ease; }
.svc:hover .svc-go { transform: rotate(45deg); background: #fff; color: #008489; }
.svc-net circle { transition: transform .4s ease; transform-origin: center; transform-box: fill-box; }
.svc:hover .svc-net circle { transform: scale(1.35); }

/* stages */
.stage .elementor-heading-title { transition: color .25s ease; }
.stage:hover .elementor-heading-title { color: #008489 !important; }
.stage-meta { transition: border-color .25s ease; }
.stage:hover .stage-meta { border-color: #008489; }
.stage-meta svg { transition: transform .25s ease; }
.stage:hover .stage-meta svg { transform: translate(3px, -3px); }

/* subject cards */
.subj-card > .elementor-element-populated { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background-color .3s ease; }
.subj-card:hover > .elementor-element-populated { transform: translateY(-5px); border-color: rgba(0, 132, 137, .45); background-color: #fff; box-shadow: 0 18px 36px rgba(7, 48, 82, .10); }
.subj-math:hover > .elementor-element-populated { background-color: transparent; }
.subj-ic { transition: background-color .3s ease, color .3s ease, transform .3s ease; }
.subj-card:not(.subj-math):hover .subj-ic { background: #008489; color: #fff; transform: rotate(-6deg); }
.subj-sym { transition: opacity .3s ease; }
.subj-card:hover .subj-sym { opacity: 1; }

/* consulting audiences */
.aud-grid div { transition: background-color .25s ease, color .25s ease; }
.aud-grid div:hover { background: #DCF4F5; }

/* college rows */
.cc-row { transition: background-color .25s ease, padding .25s ease; }
.cc-row:hover { background: #F5F8FA; padding-left: 12px; padding-right: 12px; }

/* steps */
.step-circle { transition: background-color .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease; }
.step:hover .step-circle { background: #008489; color: #fff; transform: scale(1.08); box-shadow: 0 0 0 8px rgba(0, 132, 137, .12); }

/* pills */
.stems-pills span { transition: background-color .25s ease, color .25s ease, transform .25s ease; cursor: default; }
.stems-pills span:hover { background: #008489; color: #fff; transform: translateY(-3px); }

/* hero pillars */
.stems-pillars li { transition: color .2s ease; cursor: default; }
.stems-pillars li:hover { color: #008489; }

/* footer links */
.stems-flinks .elementor-icon-list-item a { transition: transform .2s ease; display: inline-flex; }
.stems-flinks .elementor-icon-list-item:hover a { transform: translateX(4px); }
.stems-flinks .elementor-icon-list-text { transition: color .2s ease; }

@media (prefers-reduced-motion: reduce) {
	.stems-btn .elementor-button, .svc > .elementor-element-populated, .subj-card > .elementor-element-populated, .r20 img, .hf-img img, .stage-img img, .hero-img img { transition: none !important; }
}
@media (max-width: 1024px) {
	.steps .step > .elementor-widget-wrap::after { display: none; }
}
@media (max-width: 1024px) { .consult-img > .elementor-element-populated { min-height: 480px; } }
@media (max-width: 767px) {
	.consult-img > .elementor-element-populated { min-height: 300px; }
	.svc-split-img > .elementor-element-populated { min-height: 260px; }
	.hero-math { left: 0; }
}

/* ============ Smooth card hovers (gentle lift, soft easing both ways) ============ */
:root { --stems-ease: cubic-bezier(.22, .61, .36, 1); }
.svc > .elementor-element-populated,
.svc-photo > .elementor-element-populated,
.subj-card > .elementor-element-populated {
	transition: transform .6s var(--stems-ease), box-shadow .6s var(--stems-ease), border-color .5s ease, background-color .5s ease !important;
	will-change: transform;
}
.svc:hover > .elementor-element-populated { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(7, 48, 82, .12); }
.subj-card:hover > .elementor-element-populated { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(7, 48, 82, .08); }

/* inner details follow a beat later for a layered feel */
.svc-go, .subj-ic, .subj-sym, .svc-net circle { transition-duration: .5s !important; transition-timing-function: var(--stems-ease) !important; }
.svc:hover .svc-go, .subj-card:not(.subj-math):hover .subj-ic { transition-delay: .08s; }
.svc .stems-btn .elementor-button-icon { transition: transform .5s var(--stems-ease); }
.svc:hover .stems-btn .elementor-button-icon { transform: translateX(4px); }

/* stage cards: smooth image zoom + text colour */
.stage-img img { transition: transform .9s var(--stems-ease) !important; }
.stage:hover .stage-img img { transform: scale(1.04); }
.stage .elementor-heading-title, .stage-meta, .stage-meta svg { transition-duration: .45s !important; transition-timing-function: var(--stems-ease) !important; }

/* pills, steps, rows: softer too */
.stems-pills span { transition: background-color .45s ease, color .45s ease, transform .5s var(--stems-ease) !important; }
.stems-pills span:hover { transform: translateY(-2px); }
.step-circle { transition: background-color .45s ease, color .45s ease, transform .5s var(--stems-ease), box-shadow .5s var(--stems-ease) !important; }
.step:hover .step-circle { transform: scale(1.05); }
.cc-row { transition: background-color .45s ease, padding .5s var(--stems-ease) !important; }
.aud-grid div { transition: background-color .45s ease !important; }

/* ============ Inner pages ============ */
.stems-crumbs { display: flex; align-items: center; gap: 10px; font: 500 14px/20px Manrope, sans-serif; color: #4D6070; }
.stems-crumbs a { color: #4D6070; text-decoration: none; transition: color .3s ease; }
.stems-crumbs a:hover { color: #008489; }
.stems-crumbs span { opacity: .5; }
.stems-crumbs em { font-style: normal; color: #008489; font-weight: 600; }

/* page hero image normalised to the Home hero frame */
.stems-hero--page .hero-img img { aspect-ratio: 560 / 600; object-fit: cover; }

/* compact hero */
.stems-hero--compact { position: relative; overflow: hidden; }
.stems-hero--compact > .elementor-container, .stems-hero--compact .elementor-column, .stems-hero--compact .elementor-widget-wrap { position: static; }
.stems-hero--compact .elementor-widget:not(.compact-deco) { position: relative; z-index: 1; }
.compact-deco { position: absolute !important; inset: 0; width: auto !important; pointer-events: none; }
.compact-ring { position: absolute; right: 8%; top: 50%; width: 360px; height: 360px; margin-top: -180px; border: 1.5px dashed rgba(0, 132, 137, .35); border-radius: 50%; }
.compact-ring--sm { right: calc(8% + 70px); width: 220px; height: 220px; margin-top: -110px; border-style: solid; border-color: rgba(0, 132, 137, .3); }
.compact-lead p { max-width: 640px; }

/* card grids wrap on tablet */
@media (max-width: 1024px) { .card-grid > .elementor-container { flex-wrap: wrap; } }

/* contact */
.info-cards { display: grid; gap: 14px; }
.info-card { display: flex; align-items: center; gap: 16px; padding: 18px 20px; background: #F5F8FA; border: 1px solid #E1E8ED; border-radius: 16px; transition: border-color .45s ease, background-color .45s ease, transform .5s var(--stems-ease); }
.info-card:hover { background: #fff; border-color: rgba(0, 132, 137, .45); transform: translateY(-2px); }
.info-card:hover .subj-ic { background: #008489; color: #fff; }
.info-card small { display: block; font: 600 12px/16px Manrope, sans-serif; letter-spacing: 2px; text-transform: uppercase; color: #008489; margin-bottom: 4px; }
.info-card a, .info-card p { margin: 0; font: 600 17px/24px Manrope, sans-serif; color: #073052; text-decoration: none; }
.info-card a:hover { color: #008489; }
.form-card > .elementor-element-populated { background: #fff; border: 1px solid #E1E8ED; border-radius: 28px; box-shadow: 0 24px 60px rgba(7, 48, 82, .08); }

.stems-form .elementor-field-group { margin-bottom: 18px; }
.stems-form .elementor-field-label { font: 600 14px/20px Manrope, sans-serif; color: #073052; margin-bottom: 8px; }
.stems-form .elementor-field-textual, .stems-form select.elementor-field { font: 400 16px/24px Manrope, sans-serif !important; color: #073052; background: #F5F8FA !important; border: 1px solid #DCE4E9 !important; border-radius: 14px !important; padding: 13px 16px !important; min-height: 52px; transition: border-color .3s ease, box-shadow .3s ease, background-color .3s ease; }
.stems-form .elementor-field-textual:focus, .stems-form select.elementor-field:focus { outline: none; background: #fff !important; border-color: #008489 !important; box-shadow: 0 0 0 4px rgba(0, 132, 137, .12); }
.stems-form .elementor-field-textual::placeholder { color: #8A99A6; }
.stems-form .elementor-mark-required .elementor-field-label::after { color: #008489; }
.stems-form .elementor-button { font: 600 16px/20px Manrope, sans-serif; background: #008489 !important; color: #fff !important; border-radius: 999px !important; min-height: 56px; transition: background-color .4s ease, transform .5s var(--stems-ease), box-shadow .5s var(--stems-ease); }
.stems-form .elementor-button:hover { background: #073052 !important; transform: translateY(-2px); box-shadow: 0 12px 24px rgba(7, 48, 82, .18); }
.stems-form .elementor-message { font: 500 15px/22px Manrope, sans-serif; margin-top: 12px; }

/* FAQ toggle */
.stems-faq .elementor-toggle-item { background: #F5F8FA; border: 1px solid #E1E8ED; border-radius: 18px; margin-bottom: 14px; overflow: hidden; transition: border-color .45s ease, background-color .45s ease, box-shadow .5s var(--stems-ease); }
.stems-faq .elementor-toggle-item:hover { border-color: rgba(0, 132, 137, .4); background: #fff; }
.stems-faq .elementor-toggle-item:has(.elementor-active) { background: #fff; border-color: rgba(0, 132, 137, .5); box-shadow: 0 14px 32px rgba(7, 48, 82, .08); }
.stems-faq .elementor-tab-title { padding: 22px 26px !important; border: 0 !important; }
.stems-faq .elementor-tab-title a { color: inherit; text-decoration: none; }
.stems-faq .elementor-toggle-icon { width: 30px; height: 30px; border-radius: 50%; background: #DCF4F5; display: inline-flex !important; align-items: center; justify-content: center; margin-left: 16px; font-size: 12px; transition: background-color .4s ease, color .4s ease; }
.stems-faq .elementor-active .elementor-toggle-icon { background: #008489; }
.stems-faq .elementor-active .elementor-toggle-icon i { color: #fff !important; }
.stems-faq .elementor-tab-content { padding: 0 26px 24px !important; border: 0 !important; }
.stems-faq .elementor-tab-content p { margin: 0; }

/* legal text */
.stems-legal { max-width: 860px; }
.stems-legal h2 { font: 700 28px/34px Manrope, sans-serif; letter-spacing: -0.6px; color: #073052; margin: 44px 0 14px; }
.stems-legal h2:first-child { margin-top: 0; }
.stems-legal p, .stems-legal li { margin: 0 0 14px; }
.stems-legal ul { padding-left: 22px; margin: 0 0 14px; }
.stems-legal li::marker { color: #008489; }
.stems-legal a { color: #008489; text-decoration: underline; text-underline-offset: 3px; }

/* footer contact links */
.stems-fcontact a { color: inherit; text-decoration: none; transition: color .3s ease; }
.stems-fcontact a:hover { color: #fff; }

@media (max-width: 767px) {
	.compact-ring { width: 220px; height: 220px; margin-top: -110px; right: -60px; }
	.compact-ring--sm { display: none; }
	.stems-faq .elementor-tab-title { padding: 18px 18px !important; }
	.stems-faq .elementor-tab-content { padding: 0 18px 20px !important; }
	.stems-legal h2 { font-size: 23px; line-height: 29px; }
}
@media (max-width: 1024px) { .form-card { margin-top: 40px; } }
