/* ==========================================================================
   Sai Green Elements – section widgets.
   Sizes and colours follow the Figma file (desktop 1440px).
   ========================================================================== */

.elementor-widget-container:has(> .sge-section),
.elementor-widget-container:has(> .sge-strip),
.elementor-widget-container:has(> .sge-cta),
.elementor-widget-container:has(> .sge-banner) { margin: 0; padding: 0; }

.sge-section,
.sge-strip,
.sge-cta,
.sge-banner {
	--sge-green: #12994f;
	--sge-teal: #008e77;
	--sge-navy: #0f3557;
	--sge-ink: #06223e;
	--sge-muted: #5b6b78;
	--sge-grey: #818181;
	--sge-border: #e2e8ed;
	--sge-orange: #ff8500;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.sge-section { position: relative; padding: 64px 0; }
.sge-section *,
.sge-section *::before,
.sge-section *::after { box-sizing: border-box; }

.sge-container {
	width: min(var(--sge-width, 1248px), 100% - 48px);
	margin-inline: auto;
}

/* Heading -------------------------------------------------------------- */
.sge-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 38px; }
.sge-head--center { justify-content: center; text-align: center; }
.sge-head__titles { display: flex; flex-direction: column; gap: 8px; }
.sge-head--center .sge-head__titles { align-items: center; }
.sge-eyebrow { margin: 0; font-size: 18px; font-weight: 600; line-height: normal; color: var(--sge-green); }
.sge-title { margin: 0; font-size: 30px; font-weight: 700; line-height: 1.2; color: var(--sge-navy); }
.sge-subtitle { margin: 0; font-size: 15px; line-height: 1.5; color: var(--sge-muted); }
.sge-head__link { flex: none; }

/* Links & buttons -------------------------------------------------------- */
.sge-arrow-link {
	display: inline-flex; align-items: center; gap: 7px;
	font-size: 18px; font-weight: 600; line-height: normal; color: var(--sge-green); text-decoration: none;
}
.sge-arrow-link span { font-weight: 500; transition: transform .2s; }
.sge-arrow-link:hover { color: #0d7a3e; }
.sge-arrow-link:hover span { transform: translateX(3px); }

.sge-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	border: 0; cursor: pointer; text-decoration: none; text-align: center; line-height: normal;
	font-family: inherit; transition: background-color .2s, color .2s, box-shadow .2s;
}
.sge-btn--green { padding: 13px 22px; border-radius: 4px; background: var(--sge-green); color: #fff; font-size: 14px; font-weight: 500; }
.sge-btn--green:hover { background: #0d7a3e; color: #fff; }
.sge-btn--teal { min-height: 55px; padding: 12px 52px; border-radius: 30px; background: #01876c; color: #fff; font-size: 18px; }
.sge-btn--teal:hover { background: #006b55; color: #fff; }
.sge-btn--orange { min-height: 37px; padding: 9px 28px; border-radius: 49px; background: var(--sge-orange); color: #fff; font-size: 14px; }
.sge-btn--orange:hover { background: #e67700; color: #fff; }
.sge-btn--ghost { min-height: 37px; padding: 9px 26px; border-radius: 49px; background: rgba(255, 255, 255, .35); color: #fff; font-size: 14px; }
.sge-btn--ghost:hover { background: rgba(255, 255, 255, .5); color: #fff; }
.sge-btn:focus-visible,
.sge-arrow-link:focus-visible,
.sge-pill:focus-visible { outline: 2px solid var(--sge-orange); outline-offset: 2px; }

/* Page banner ------------------------------------------------------------ */
.sge-banner {
	position: relative; display: flex; align-items: flex-start; justify-content: center;
	min-height: 237px; overflow: hidden; color: #fff; text-align: center; background: #0f3557;
}
.sge-banner .sge-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.sge-banner__overlay { position: absolute; inset: 0; background: rgba(5, 97, 146, .69); }
.sge-banner__inner { position: relative; padding: 81px 0 40px; }
.sge-banner__title { margin: 0; color: #fff; font-size: 40px; font-weight: 700; line-height: 1.15; }
.sge-banner__crumbs { margin-top: 14px; font-size: 20px; font-weight: 700; display: flex; justify-content: center; gap: 8px; }
.sge-banner__crumbs a { color: #fff; text-decoration: none; }
.sge-banner__crumbs a:hover { text-decoration: underline; }
.sge-banner__text { margin: 14px 0 0; font-size: 20px; font-weight: 700; }

/* Feature strip ---------------------------------------------------------- */
.sge-strip { background: #061f3d; color: #fff; }
.sge-strip__list { display: flex; justify-content: center; align-items: center; min-height: 103px; margin: 0; padding: 0 24px; list-style: none; }
.sge-strip__item { display: flex; align-items: center; height: 86px; padding: 0 46px; }
.sge-strip__item + .sge-strip__item { border-left: 1px solid rgba(255, 255, 255, .75); }
.sge-strip__inner { display: flex; align-items: center; gap: 20px; color: inherit; text-decoration: none; }
.sge-strip__icon { display: flex; flex: none; }
.sge-strip__icon img { display: block; width: auto; height: 40px; }
.sge-strip__text strong { display: block; font-size: 15px; font-weight: 700; line-height: 20px; }
.sge-strip__text small { display: block; font-size: 9px; line-height: 13px; }

/* Image + text ----------------------------------------------------------- */
.sge-it__row { display: flex; align-items: center; gap: 64px; }
.sge-it--img-right .sge-it__row { flex-direction: row-reverse; }
.sge-it__media { flex: 0 0 609px; margin: 0; min-width: 0; }
.sge-it__img { height: 421px; border-radius: 29px; overflow: hidden; background: #e8eef3; }
.sge-it .sge-it__img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: 0; }
.sge-it__caption { margin-top: 23px; }
.sge-it__caption strong { display: block; font-size: 18px; font-weight: 600; color: var(--sge-ink); }
.sge-it__caption span { display: block; margin-top: 10px; font-size: 14px; color: #607486; }
.sge-it__copy { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.sge-it__title { margin: 0; font-size: 30px; font-weight: 700; line-height: 45px; color: var(--sge-navy); }
.sge-it__meta { margin: 0; }
.sge-it__meta--location { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; color: #33475b; }
.sge-it__meta--location::before { content: "◉"; font-size: 11px; color: var(--sge-green); }
.sge-it__meta--role { margin-top: -6px; font-size: 18px; color: #02896f; }
.sge-it__body { font-size: 15px; line-height: 25px; color: var(--sge-muted); }
.sge-it__body > :first-child { margin-top: 0; }
.sge-it__body > :last-child { margin-bottom: 0; }
.sge-it__body p { margin: 0 0 25px; }
.sge-it__body ul { margin: 0 0 25px; padding-left: 22px; }
.sge-it__stats { display: flex; gap: 44px; margin: 0; padding: 14px 0 6px; }
.sge-it__stats dt { font-size: 22px; font-weight: 700; color: var(--sge-navy); }
.sge-it__stats dd { margin: 4px 0 0; font-size: 10px; line-height: 15px; color: var(--sge-muted); }
.sge-it .sge-btn--green { margin-top: 0; }

/* "Image touches page edge": the image runs to the edge of a centred 1440px frame (the Figma
   artboard). At 1440 it touches the screen edge exactly as designed; on wider screens the whole
   block stays centred with the rest of the page, and the text column stays on the 1248px grid. */
.sge-it--bleed > .sge-container { width: 100%; max-width: 1440px; margin-inline: auto; }
.sge-it--bleed.sge-it--img-left > .sge-container { padding-left: 0; padding-right: max(24px, calc((100% - 1248px) / 2)); }
.sge-it--bleed.sge-it--img-right > .sge-container { padding-right: 0; padding-left: max(24px, calc((100% - 1248px) / 2)); }
.sge-it--bleed .sge-it__media { flex-shrink: 1; }

/* Cards: shared ----------------------------------------------------------- */
.sge-cards {
	--sge-gap: 24px;
	--sge-n: var(--sge-cols, var(--sge-cols-default));
	display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: var(--sge-gap);
}
.sge-card {
	position: relative; display: flex; flex-direction: column;
	flex: 0 0 var(--sge-card-w, calc((100% - (var(--sge-n) - 1) * var(--sge-gap)) / var(--sge-n)));
	min-width: 0; margin: 0;
}
.sge-card__title { margin: 0; font-weight: 700; line-height: normal; color: var(--sge-navy); }
.sge-card__subtitle { margin: 0; }
.sge-card__text { margin: 0; }
.sge-card img { display: block; max-width: 100%; height: auto; }

/* image (Solutions) */
.sge-cards--image .sge-card { background: #fff; border: 1px solid var(--sge-border); border-radius: 15px; overflow: hidden; }
.sge-cards--image .sge-card__media { height: 202px; overflow: hidden; background: #e8eef3; }
.sge-cards--image .sge-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sge-cards--image .sge-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; flex: 1; padding: 18px; }
.sge-cards--image .sge-card__title { font-size: 15px; }
.sge-cards--image .sge-card__text { font-size: 12px; line-height: 19px; color: var(--sge-muted); flex: 1; }
.sge-cards--image .sge-arrow-link { font-size: 12px; }

/* icon (Why Sai Green) */
.sge-cards--icon .sge-card,
.sge-cards--stat .sge-card,
.sge-cards--step .sge-card {
	background: #fff; border-radius: 16px; box-shadow: 0 0 2px 1px rgba(183, 183, 183, .25);
}
.sge-cards--icon .sge-card { min-height: 261px; padding: 41px 29px 28px; }
.sge-card__tile {
	display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 7px;
	background: linear-gradient(-45.3deg, #056192 7.58%, #008170 93.74%);
}
.sge-card__tile img { width: 35px; height: 35px; }
.sge-cards--icon .sge-card__title { margin-top: 17px; font-size: 18px; color: #000; }
.sge-cards--icon .sge-card__text { margin-top: 10px; font-size: 12px; line-height: 1.5; color: var(--sge-grey); max-width: 167px; }

/* stat (What makes us different) */
.sge-cards--stat .sge-card { min-height: 182px; padding: 35px 10px 24px; align-items: center; text-align: center; }
.sge-cards--stat .sge-card__icon img { height: 36px; width: auto; }
.sge-cards--stat .sge-card__title { margin-top: 10px; font-size: 18px; color: #000; }
.sge-cards--stat .sge-card__text { margin-top: 4px; font-size: 12px; line-height: 1.5; color: var(--sge-grey); max-width: 167px; }

/* step (process) */
.sge-cards--step .sge-card { min-height: 240px; padding: 20px 29px 24px; align-items: center; text-align: center; }
.sge-card__number { font-size: 47px; font-weight: 800; line-height: 57px; color: var(--sge-orange); }
.sge-cards--step .sge-card__icon { margin-top: 7px; height: 39px; display: flex; align-items: center; }
.sge-cards--step .sge-card__icon img { max-height: 39px; width: auto; }
.sge-cards--step .sge-card__title { margin-top: 8px; font-size: 15px; font-weight: 600; color: #000; }
.sge-cards--step .sge-card__text { margin-top: 8px; font-size: 12px; line-height: 1.5; color: var(--sge-grey); max-width: 167px; }

/* number (Careers) */
.sge-cards--number .sge-card { min-height: 220px; padding: 24px; background: #fff; border: 1px solid #e3e8ee; border-radius: 16px; }
.sge-card__badge {
	display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
	width: 44px; height: 44px; border-radius: 8px; background: #e7f5f1; color: var(--sge-teal); font-size: 16px; font-weight: 600;
}
.sge-cards--number .sge-card__title { margin-top: 20px; font-size: 20px; font-weight: 600; color: var(--sge-ink); }
.sge-cards--number .sge-card__text { margin-top: 15px; font-size: 14px; line-height: 17px; color: #607486; max-width: 250px; }

/* tile (Areas of expertise) */
.sge-cards--tile .sge-card {
	min-height: 81px; padding: 16px; align-items: center; justify-content: center; text-align: center;
	background: #f3f7fa; border-radius: 12px;
}
.sge-cards--tile .sge-card__title { font-size: 16px; font-weight: 600; color: var(--sge-ink); }

/* row (Services list) */
.sge-cards--row { flex-direction: column; gap: 20px; }
.sge-cards--row .sge-card {
	flex: none; flex-direction: row; align-items: center; min-height: 147px;
	padding: 19px 40px 19px 0; background: #f8f8f8; border-radius: 20px; scroll-margin-top: 120px;
}
.sge-cards--row .sge-card__icon { flex: 0 0 132px; display: flex; justify-content: center; }
.sge-cards--row .sge-card__icon img { max-width: 80px; max-height: 84px; width: auto; }
.sge-cards--row .sge-card__title { font-size: 20px; font-weight: 600; line-height: 28px; color: #000; }
.sge-cards--row .sge-card__text { margin-top: 4px; font-size: 18px; line-height: 25px; color: #000; }

/* csr */
.sge-cards--csr .sge-card__media { height: 175px; overflow: hidden; background: #cbd5e1; }
.sge-cards--csr .sge-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sge-cards--csr .sge-card__title { margin-top: 12px; font-size: 18px; color: var(--sge-navy); }
.sge-cards--csr .sge-card__text { margin-top: 6px; font-size: 14px; color: var(--sge-muted); }

/* team */
.sge-cards--team { --sge-gap: 50px; row-gap: 44px; }
.sge-cards--team .sge-card { margin-top: 29px; padding: 0 24px 24px; background: #fff; border: 1px solid #e3e8ee; border-radius: 12px; }
.sge-card__photo { align-self: center; margin-top: -29px; border-radius: 20px; overflow: hidden; }
.sge-card__photo img { max-width: 100%; height: auto; }
.sge-cards--team .sge-card__title { margin-top: 21px; font-size: 20px; font-weight: 600; color: var(--sge-ink); }
.sge-cards--team .sge-card__subtitle { margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--sge-teal); }

/* feature (Vision / Mission) */
.sge-cards--feature { --sge-gap: 60px; justify-content: space-between; }
.sge-cards--feature .sge-card__icon img { width: auto; height: auto; }
.sge-cards--feature .sge-card__title { margin-top: 8px; font-size: 24px; color: var(--sge-green); }
.sge-cards--feature .sge-card__subtitle { margin-top: 8px; font-size: 18px; font-weight: 700; color: var(--sge-navy); }
.sge-cards--feature .sge-card__text { margin-top: 8px; max-width: 560px; font-size: 15px; line-height: 29px; color: var(--sge-muted); }

/* Call to action --------------------------------------------------------- */
.sge-cta {
	display: flex; align-items: center; min-height: 275px; padding: 48px 0;
	background: linear-gradient(90deg, var(--sge-cta-from, #068771) 0%, var(--sge-cta-to, #045d97) 100%);
	color: #fff; text-align: center;
}
.sge-cta__inner { display: flex; flex-direction: column; align-items: center; }
.sge-cta__title { margin: 0; color: #fff; font-size: 35px; font-weight: 700; line-height: normal; }
.sge-cta__text { margin: 12px 0 0; max-width: 973px; font-size: 16px; line-height: 1.5; }
.sge-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 37px; margin-top: 11px; }

/* FAQ ---------------------------------------------------------------------- */
.sge-faq { display: flex; flex-direction: column; gap: 25px; max-width: 1008px; margin-inline: auto; }
.sge-faq__item { border: 1px solid #e5e5e5; border-radius: 10px; background: #fff; }
.sge-faq__q {
	position: relative; display: block; padding: 32px 72px 32px 32px; cursor: pointer; list-style: none;
	font-size: 18px; line-height: 29px; color: #000;
}
.sge-faq__q::-webkit-details-marker { display: none; }
.sge-faq__q::after {
	content: ""; position: absolute; right: 52px; top: 50%; margin-top: -3px;
	border: 5px solid transparent; border-top: 6px solid #b5b5b5; border-bottom: 0;
	transition: transform .2s;
}
.sge-faq__item[open] .sge-faq__q { padding-bottom: 12px; font-size: 16px; font-weight: 700; }
.sge-faq__item[open] .sge-faq__q::after { border-top-color: #000; }
.sge-faq__q:focus-visible { outline: 2px solid var(--sge-orange); outline-offset: -2px; border-radius: 10px; }
.sge-faq__a { padding: 0 72px 32px 32px; font-size: 16px; line-height: 26px; color: #000; }
.sge-faq__a > :first-child { margin-top: 0; }
.sge-faq__a > :last-child { margin-bottom: 0; }

/* Projects grid (Poppins, as in Figma) ----------------------------------- */
.sge-projects-band,
.sge-contact-band { font-family: "Poppins", "Inter", system-ui, sans-serif; }
.sge-projects-band .sge-eyebrow { font-size: 11px; font-weight: 700; color: var(--sge-teal); }
.sge-projects-band .sge-title { font-size: 30px; color: var(--sge-ink); }
.sge-projects-band .sge-head { margin-bottom: 28px; gap: 6px; }
.sge-projects__filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 33px; }
.sge-pill {
	min-height: 31px; padding: 0 19px; border: 1px solid #e1e8ed; border-radius: 999px; background: #fff;
	font: 400 11px/29px "Poppins", "Inter", sans-serif; color: var(--sge-muted); cursor: pointer; transition: .2s;
}
.sge-pill:hover { border-color: var(--sge-teal); color: var(--sge-teal); }
.sge-pill.is-active { background: var(--sge-teal); border-color: var(--sge-teal); color: #fff; }
.sge-projects__groups { display: flex; flex-direction: column; gap: 56px; }
.sge-projects__group { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 20px; }
.sge-projects__group[hidden],
.sge-project[hidden] { display: none; }
.sge-projects__group { align-items: stretch; }
.sge-project {
	display: flex; flex-direction: column; flex: 0 0 248px; padding: 7px 7px 22px;
	background: #fff; border-radius: 12px; box-shadow: 0 4px 16px rgba(6, 34, 62, .07);
}
.sge-project__img { height: 164px; border-radius: 6px; overflow: hidden; background: #e8eef3; }
.sge-project__img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.sge-project__body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 0 17px; }
.sge-project__loc { margin: 26px 0 0; font-size: 8px; font-weight: 700; color: var(--sge-teal); }
.sge-project__title { margin: 6px 0 0; font-size: 13px; font-weight: 600; line-height: 1.45; color: var(--sge-ink); }
.sge-project__desc,
.sge-project__status { margin: 6px 0 0; font-size: 10px; line-height: 16px; color: var(--sge-muted); }
.sge-project__desc p { margin: 0; }
.sge-project__status { margin-top: 0; }
.sge-project__status strong { font-weight: 600; }
/* Button sits at the bottom so buttons line up across a row; at least 14px below the text. */
.sge-project__body > :nth-last-child(2) { margin-bottom: 14px; }
.sge-project .sge-project__btn { margin-top: auto; min-height: 33px; padding: 7px 23px; font-size: 10px; }
.sge-projects__none,
.sge-projects__empty { text-align: center; color: var(--sge-muted); }

/* Contact ---------------------------------------------------------------- */
.sge-contact { display: flex; align-items: flex-start; gap: 58px; }
.sge-contact__card { flex: 0 0 560px; min-height: 671px; padding: 75px 39px 48px; border: 1px solid #000; border-radius: 30px; }
.sge-contact__eyebrow { margin: 0; font-size: 14px; color: #22825b; }
.sge-contact__title { margin: 10px 0 0; font-size: 38px; font-weight: 700; line-height: 1.25; color: #000; }
.sge-contact__list { margin: 60px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 32px; }
.sge-contact__list li { display: flex; align-items: center; gap: 22px; font-size: 16px; color: #000; }
.sge-contact__list strong { display: block; font-weight: 600; }
.sge-contact__list a { color: #000; text-decoration: none; }
.sge-contact__list a:hover { color: #22825b; }
.sge-contact__icon { flex: 0 0 36px; display: flex; justify-content: center; }
.sge-contact__icon img { max-width: 36px; max-height: 36px; width: auto; }
.sge-contact__form-wrap { flex: 1; min-width: 0; padding-top: 20px; }
.sge-contact__form-title { margin: 0; font-size: 32px; font-weight: 700; color: #000; }
.sge-contact__form-text { margin: 18px 0 0; font-size: 20px; color: #8d8d8d; }

/* Forms -------------------------------------------------------------------- */
.sge-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sge-form { position: relative; }
.sge-field { margin: 0; }
.sge-req { color: #c0392b; }
.sge-form__notice { margin: 20px 0 0; padding: 12px 16px; border-radius: 6px; font-size: 15px; }
.sge-form__notice--ok { background: #e7f5ee; color: #0d6b3b; }
.sge-form__notice--error { background: #fdecea; color: #a12a1f; }

/* line style (Contact) */
.sge-form--line { display: flex; flex-direction: column; gap: 36px; margin-top: 41px; }
.sge-form--line label { display: block; font-size: 12px; color: #8d8d8d; }
.sge-form--line input,
.sge-form--line textarea {
	display: block; width: 100%; min-height: 40px; padding: 8px 0; border: 0; border-bottom: 1px solid #c6c6c6; border-radius: 0;
	background: transparent; font: 15px/1.5 "Poppins", "Inter", sans-serif; color: #000; resize: vertical;
}
.sge-form--line input:focus,
.sge-form--line textarea:focus { outline: 0; border-bottom-color: #22825b; box-shadow: 0 1px 0 #22825b; }
.sge-form--line textarea::placeholder { color: #8d8d8d; }
.sge-form--line .sge-form__submit {
	align-self: flex-start; min-width: 258px; min-height: 62px; margin-top: -5px; border-radius: 4px;
	background: #22825b; font: 500 18px "Poppins", "Inter", sans-serif; box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
}
.sge-form--line .sge-form__submit:hover { background: #1b6b4a; }

/* box style (Careers) */
.sge-careers { display: flex; align-items: flex-start; gap: 138px; }
.sge-careers__intro { flex: 0 0 378px; padding-top: 29px; }
.sge-careers__title { margin: 0; font-size: 30px; font-weight: 700; line-height: 1.2; color: var(--sge-ink); }
.sge-careers__text { margin: 21px 0 0; font-size: 16px; line-height: 19px; color: #607486; max-width: 312px; }
.sge-careers__note { margin: 12px 0 0; font-size: 14px; color: #607486; }
.sge-careers__form-wrap { flex: 1; min-width: 0; }
.sge-form--box { display: grid; grid-template-columns: 1fr 1fr; gap: 39px 22px; }
.sge-form--box .sge-field--full { grid-column: 1 / -1; }
.sge-form--box label { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 600; color: var(--sge-ink); }
.sge-form--box input[type="text"],
.sge-form--box input[type="email"],
.sge-form--box select,
.sge-file {
	display: flex; align-items: center; width: 100%; height: 48px; padding: 0 15px;
	border: 1px solid #e2e8ed; border-radius: 6px; background: #fff;
	font: 14px "Inter", sans-serif; color: var(--sge-ink);
}
.sge-form--box select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a94a0'/%3E%3C/svg%3E") no-repeat right 15px center; }
.sge-form--box select:invalid { color: #8a94a0; }
.sge-form--box input::placeholder { color: #8a94a0; }
.sge-form--box input:focus,
.sge-form--box select:focus,
.sge-file:focus-within { outline: 0; border-color: var(--sge-teal); box-shadow: 0 0 0 3px rgba(0, 142, 119, .15); }
.sge-file { position: relative; cursor: pointer; color: #8a94a0; }
.sge-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.sge-file.has-file { color: var(--sge-ink); }
.sge-field__hint { display: block; margin-top: 6px; font-size: 12px; color: #8a94a0; }
.sge-field--check { margin-top: -18px; }
.sge-field--check label { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 12px; font-weight: 400; color: #607486; }
.sge-field--check input { width: 15px; height: 15px; margin: 0; accent-color: var(--sge-teal); }
.sge-form--box .sge-form__submit { min-width: 188px; min-height: 47px; margin-top: -12px; font-size: 16px; font-weight: 700; }

/* Careers intro button (larger orange pill with glow) */
.sge-it .sge-btn--orange { min-height: 31px; padding: 4px 46px; font-size: 16px; font-weight: 600; box-shadow: 0 3px 8px rgba(255, 133, 0, .35); }

/* Responsive ------------------------------------------------------------- */
/* Elementor prints widget size settings with a higher-specificity selector, so the responsive
   overrides below that must beat those desktop sizes use !important. */
@media (max-width: 1100px) {
	.sge-strip__item { padding: 0 24px; }
	.sge-it__media { flex-basis: 48% !important; }
	.sge-careers { gap: 48px; }
	.sge-contact__card { flex-basis: 44%; }
}

@media (max-width: 1024px) {
	.sge-card { flex-basis: calc((100% - (var(--sge-n) - 1) * var(--sge-gap)) / var(--sge-n)); }
	.sge-cards--icon .sge-card,
	.sge-cards--stat .sge-card,
	.sge-cards--step .sge-card { min-height: 0; }
	.sge-strip__list { flex-wrap: wrap; padding: 12px 24px; }
	.sge-strip__item { height: 72px; flex: 0 0 50%; justify-content: center; }
	.sge-strip__item + .sge-strip__item { border-left: 0; }
	.sge-careers { flex-direction: column; }
	.sge-careers__intro { flex-basis: auto; padding-top: 0; }
	.sge-careers__form-wrap { width: 100%; }
	.sge-contact { flex-direction: column; }
	.sge-contact__card { flex-basis: auto; width: 100%; min-height: 0; }
	.sge-contact__form-wrap { width: 100%; }
}

@media (max-width: 767px) {
	.sge-head { flex-direction: column; align-items: flex-start; }
	.sge-head--center { align-items: center; }
	.sge-title { font-size: 24px; }
	.sge-eyebrow { font-size: 16px; }
	.sge-banner { min-height: 180px; }
	.sge-banner__title { font-size: 28px; }
	.sge-banner__crumbs,
	.sge-banner__text { font-size: 16px; }
	.sge-strip__item { flex-basis: 100%; height: 60px; justify-content: flex-start; padding: 0; }
	.sge-it__row,
	.sge-it--img-right .sge-it__row { flex-direction: column; align-items: stretch; gap: 28px !important; }
	.sge-it__media { flex: none !important; }
	.sge-it__img { height: 240px !important; }
	.sge-it__copy { max-width: none !important; }
	.sge-it__title { font-size: 24px; line-height: 1.3; }
	.sge-it--bleed > .sge-container { padding-inline: 24px !important; }
	.sge-it__stats { gap: 24px; }
	.sge-cards--row .sge-card { flex-direction: column; align-items: flex-start; padding: 24px; }
	.sge-cards--row .sge-card__icon { flex: none; justify-content: flex-start; margin-bottom: 12px; }
	.sge-cards--row .sge-card__title { font-size: 18px; }
	.sge-cards--row .sge-card__text { font-size: 15px; line-height: 23px; }
	.sge-cards--feature { gap: 40px; }
	.sge-cta__title { font-size: 26px; }
	.sge-cta__buttons { gap: 14px; }
	.sge-faq__q { padding: 22px 48px 22px 20px; font-size: 16px; line-height: 24px; }
	.sge-faq__q::after { right: 22px; }
	.sge-faq__a { padding: 0 20px 22px; font-size: 15px; }
	.sge-contact__card { padding: 36px 24px; }
	.sge-contact__title { font-size: 30px; }
	.sge-contact__list { margin-top: 32px; }
	.sge-contact__form-title { font-size: 26px; }
	.sge-contact__form-text { font-size: 16px; }
	.sge-form--line .sge-form__submit { width: 100%; }
	.sge-form--box { grid-template-columns: 1fr; gap: 22px; }
	.sge-field--check { margin-top: 0; }
	.sge-form--box .sge-form__submit { margin-top: 0; width: 100%; }
}
