:root {
	--sga-navy: #102b45;
	--sga-navy-deep: #0b1e30;
	--sga-gold: #aa8152;
	--sga-gold-soft: #eadcc9;
	--sga-cream: #f7f5f0;
	--sga-paper: #ffffff;
	--sga-gray-green: #596567;
	--sga-light: #f2f4f3;
	--sga-text: #17212a;
	--sga-muted: #707a7b;
	--sga-line: #cfd5d4;
	--sga-white: #ffffff;
	--sga-success: #2d6849;
	--sga-danger: #9c2f2f;
}

html {
	scroll-behavior: smooth;
}

body.sga-landingpage,
body.sga-landingpage .site,
body.sga-landingpage .site-content,
body.sga-landingpage .ast-container,
body.sga-landingpage #primary,
body.sga-landingpage .site-main,
body.sga-landingpage article,
body.sga-landingpage .entry-content,
body.sga-landingpage .elementor,
body.sga-landingpage .elementor-element.sga-page {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.sga-landingpage #masthead,
body.sga-landingpage .site-header,
body.sga-landingpage #colophon,
body.sga-landingpage .site-footer,
body.sga-landingpage .entry-header,
body.sga-landingpage .post-navigation,
body.sga-landingpage .comments-area,
body.sga-landingpage .ast-breadcrumbs-wrapper {
	display: none !important;
}

body.sga-modal-open {
	overflow: hidden;
}

.sga-page,
.sga-page * {
	box-sizing: border-box;
}

.sga-page {
	font-family: Georgia, "Times New Roman", serif;
	color: var(--sga-text);
	font-size: 16px;
	line-height: 1.6;
	background: var(--sga-white);
}

.sga-page p,
.sga-page blockquote,
.sga-page h1,
.sga-page h2,
.sga-page h3,
.sga-page ul {
	margin-top: 0;
	margin-bottom: 0;
}

.sga-page a {
	text-decoration: none;
}

.sga-page .elementor-widget-text-editor p:last-child,
.sga-page .elementor-widget-heading .elementor-heading-title {
	margin-bottom: 0;
}

.sga-page .elementor-widget-heading .elementor-heading-title,
.sga-page .elementor-button,
.sga-page label,
.sga-page input,
.sga-page select,
.sga-page textarea,
.sga-page .elementor-accordion-title {
	font-family: Arial, Helvetica, sans-serif;
}

.sga-page .elementor-button {
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.sga-page .elementor-button:hover,
.sga-page .elementor-button:focus-visible {
	transform: translateY(-1px);
}

.sga-page .sga-link-button .elementor-button {
	min-height: 0;
}

.sga-section-shell {
	position: relative;
	width: 100%;
}

.sga-inner {
	width: min(1280px, calc(100% - 56px));
	margin: 0 auto;
}

.sga-section {
	padding: 108px 0;
}

.sga-section-inner {
	gap: 54px !important;
}

.sga-eyebrow p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1.35;
	text-transform: uppercase;
}

.sga-heading-light .elementor-heading-title,
.sga-page .sga-heading-light {
	color: #fff !important;
}

.sga-split-heading {
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 70px !important;
}

.sga-split-intro {
	max-width: 470px;
	margin-left: auto;
}

.sga-section-link .elementor-button {
	color: var(--sga-navy);
}

/* Header */
.sga-header {
	z-index: 30;
	padding: 17px 0 15px;
	background: #fff;
	border-bottom: 2px solid var(--sga-gold);
}

.sga-header-inner {
	min-height: 62px;
}

.sga-header-logo {
	flex: 0 0 auto;
}

.sga-header-logo img,
.sga-footer-logo img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.sga-header-response {
	margin-left: auto;
	gap: 9px !important;
	align-items: center !important;
}

.sga-header-response-dot {
	width: auto !important;
	flex: 0 0 auto;
}

.sga-header-response-dot p {
	color: var(--sga-gold-soft);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1;
}

.sga-header-response-text p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 1.25;
	color: #5e6670;
}

.sga-header-phone {
	gap: 0 !important;
	align-items: flex-start !important;
}

.sga-header-phone-label p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 1.3px;
	line-height: 1.2;
	color: #5e6670;
}

.sga-header-phone-number .elementor-button {
	font-size: 15px;
	font-weight: 800;
	color: var(--sga-navy);
	padding: 2px 0 0;
}

.sga-header-cta .elementor-button {
	min-height: 46px;
	padding: 13px 22px;
}

/* Hero */
.sga-hero {
	min-height: 825px;
	padding: 74px 0 68px;
	background-color: var(--sga-navy-deep);
	background-position: center center !important;
	background-size: cover !important;
}

.sga-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(4, 25, 42, .97) 0%, rgba(5, 30, 50, .94) 48%, rgba(9, 35, 57, .78) 72%, rgba(12, 41, 65, .62) 100%),
		linear-gradient(180deg, rgba(6, 24, 39, .12), rgba(6, 24, 39, .32));
}

.sga-hero-inner {
	position: relative;
	z-index: 1;
}

.sga-hero-copy {
	gap: 24px !important;
	padding-top: 4px;
}

.sga-hero-copy .sga-h1 {
	max-width: 740px;
}

.sga-hero-text {
	max-width: 700px;
}

.sga-hero-proofs {
	margin-top: 3px;
}

.sga-proof-card {
	min-height: 90px;
	align-items: flex-start !important;
	gap: 10px !important;
	padding: 15px 14px;
	background: rgba(255, 255, 255, .075);
	border: 1px solid rgba(255, 255, 255, .12);
}

.sga-proof-icon {
	flex: 0 0 auto;
	width: auto !important;
	margin-top: 2px;
}

.sga-proof-copy {
	gap: 0 !important;
}

.sga-proof-label p,
.sga-proof-value p {
	color: #fff;
	font-size: 13px;
	line-height: 1.35;
}

.sga-proof-label p {
	font-weight: 400;
	color: rgba(255, 255, 255, .82);
}

.sga-proof-value p {
	font-weight: 700;
}

.sga-hero-actions {
	margin-top: 3px;
}

.sga-hero-actions .elementor-widget-button {
	width: auto;
}

.sga-hero-actions .elementor-button {
	min-height: 52px;
	padding: 15px 22px;
}

.sga-hero-note p {
	font-size: 13px;
	color: rgba(255, 255, 255, .58);
}

.sga-hero-form-card {
	box-shadow: 0 24px 60px rgba(2, 15, 25, .22);
}

/* Form widget */
.sga-inquiry-form-widget,
.sga-form-wrap {
	width: 100%;
}

.sga-form-wrap {
	padding: 34px 34px 31px;
	background: #fff;
}

.sga-form-heading {
	margin-bottom: 24px;
}

.sga-form-kicker {
	margin: 0 0 16px !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.7px;
	color: var(--sga-gold);
	text-transform: uppercase;
}

.sga-form-heading h2 {
	margin: 0 0 11px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 31px;
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -.5px;
	color: var(--sga-text);
}

.sga-form-heading > p:last-child {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #68717a;
}

.sga-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px 14px;
}

.sga-field,
.sga-checkbox {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
}

.sga-field > span,
.sga-checkbox > span {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--sga-text);
}

.sga-field > span small {
	display: block;
	margin-top: 4px;
	font-size: 10px;
	font-weight: 400;
	color: #717a82;
}

.sga-field input,
.sga-field select,
.sga-field textarea {
	width: 100%;
	margin: 0;
	padding: 10px 13px;
	border: 1px solid var(--sga-line);
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1.35;
	color: var(--sga-text);
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.sga-field input:focus,
.sga-field select:focus,
.sga-field textarea:focus {
	border-color: var(--sga-gold);
	box-shadow: 0 0 0 2px rgba(184, 137, 79, .12);
}

.sga-field input::placeholder,
.sga-field textarea::placeholder {
	color: #9ba3aa;
	opacity: 1;
}

.sga-field select {
	appearance: auto;
}

.sga-field textarea {
	min-height: 78px;
	resize: vertical;
}

.sga-field-full {
	grid-column: 1 / -1;
}

.sga-checkbox {
	flex-direction: row;
	align-items: flex-start;
	gap: 10px;
	padding-top: 1px;
}

.sga-checkbox input {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
}

.sga-checkbox > span {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.45;
	color: #5f6870;
}

.sga-checkbox a,
.sga-form-note a {
	color: #0e4c7c;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sga-form-submit {
	width: 100%;
	min-height: 53px;
	margin-top: 16px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 0;
	border-radius: 0;
	background: var(--sga-navy);
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}

.sga-form-submit:hover,
.sga-form-submit:focus-visible {
	background: var(--sga-navy-deep);
	transform: translateY(-1px);
}

.sga-form-note {
	margin: 11px 0 0;
	font-size: 10px;
	line-height: 1.45;
	color: #777f86;
}

.sga-form-message {
	margin: -4px 0 18px;
	padding: 11px 13px;
	font-size: 13px;
	line-height: 1.45;
	border: 1px solid;
}

.sga-form-success {
	color: var(--sga-success);
	background: #eef7f2;
	border-color: #bfdcca;
}

.sga-form-error {
	color: var(--sga-danger);
	background: #fbefef;
	border-color: #e4bcbc;
}

.sga-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Trust strip */
.sga-trust-strip {
	background: var(--sga-navy);
}

.sga-trust-inner {
	width: min(1280px, 100%);
}

.sga-trust-item {
	min-height: 122px;
	align-items: center !important;
	gap: 19px !important;
	padding: 28px 27px;
	border-left: 1px solid rgba(255, 255, 255, .13);
}

.sga-trust-item:last-child {
	border-right: 1px solid rgba(255, 255, 255, .13);
}

.sga-trust-number p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.3px;
	color: var(--sga-gold-soft);
}

.sga-trust-copy {
	gap: 2px !important;
}

.sga-trust-title .elementor-heading-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}

.sga-trust-text p {
	font-size: 12px;
	line-height: 1.45;
	color: rgba(255, 255, 255, .72);
}

/* Occasion section */
.sga-occasions {
	padding: 112px 0 102px;
	background: var(--sga-cream);
}

.sga-occasion-grid {
	border-top: 1px solid #d6dbdc;
	border-left: 1px solid #d6dbdc;
}

.sga-occasion-card {
	min-height: 300px;
	padding: 31px 31px 27px;
	gap: 18px !important;
	background: rgba(255, 255, 255, .42);
	border-right: 1px solid #d6dbdc;
	border-bottom: 1px solid #d6dbdc;
}

.sga-card-number p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 1.3px;
	color: #7b858d;
}

.sga-occasion-title .elementor-heading-title {
	font-size: 21px;
	font-weight: 400;
	line-height: 1.25;
	color: var(--sga-text);
}

.sga-occasion-text p {
	font-size: 15px;
	line-height: 1.62;
	color: #5d6871;
}

.sga-card-link {
	margin-top: auto;
}

.sga-card-link .elementor-button {
	justify-content: space-between;
	width: 100%;
	font-size: 12px;
	font-weight: 700;
	color: var(--sga-navy);
}

.sga-guidance-banner {
	align-items: center !important;
	justify-content: space-between !important;
	gap: 38px !important;
	margin-top: 36px;
	padding: 28px 38px;
	background: #fff;
	border-left: 4px solid var(--sga-navy);
	box-shadow: 0 20px 48px rgba(26, 42, 55, .11);
}

.sga-guidance-title-wrap {
	gap: 5px !important;
}

.sga-eyebrow-small p {
	font-size: 10px;
	letter-spacing: 1.8px;
	color: #59646d;
}

.sga-guidance-title .elementor-heading-title {
	font-size: 21px;
	font-weight: 400;
	line-height: 1.25;
	color: var(--sga-text);
}

.sga-guidance-text {
	width: 35% !important;
}

.sga-guidance-text p {
	font-size: 15px;
	line-height: 1.55;
	color: #5f6971;
}

.sga-guidance-button {
	width: 245px !important;
	flex: 0 0 245px;
}

.sga-guidance-button .elementor-button {
	width: 100%;
	min-height: 55px;
}

/* Personal section */
.sga-personal {
	padding: 112px 0 118px;
	background: var(--sga-gray-green);
}

.sga-personal-inner {
	align-items: center !important;
	justify-content: space-between !important;
	gap: 76px !important;
}

.sga-personal-copy {
	gap: 27px !important;
}

.sga-personal-text p {
	max-width: 690px;
	font-size: 16px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .8);
}

.sga-personal-fact {
	align-items: center !important;
	gap: 28px !important;
	padding: 17px 0;
	border-top: 1px solid rgba(255, 255, 255, .18);
}

.sga-personal-fact:last-of-type {
	border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.sga-personal-fact-label {
	width: 140px !important;
	flex: 0 0 140px;
}

.sga-personal-fact-label p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 1.2px;
	color: rgba(255, 255, 255, .6);
}

.sga-personal-fact-value p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
}

.sga-personal-actions {
	justify-content: flex-start !important;
	gap: 18px !important;
}

.sga-personal-actions .elementor-widget-button {
	width: auto;
}

.sga-personal-phone .elementor-button {
	font-size: 15px;
	font-weight: 800;
	padding: 12px 0;
}

.sga-personal-card {
	gap: 0 !important;
	background: #fff;
	box-shadow: 0 28px 64px rgba(17, 34, 43, .18);
}

.sga-personal-image-wrap {
	position: relative;
	overflow: hidden;
}

.sga-personal-image,
.sga-personal-image .elementor-widget-container,
.sga-personal-image img {
	width: 100%;
	height: 100%;
}

.sga-personal-image img {
	display: block;
	object-fit: cover;
}

.sga-personal-image-wrap::after {
	content: "";
	position: absolute;
	inset: 42% 0 0;
	z-index: 1;
	background: linear-gradient(180deg, transparent, rgba(3, 22, 36, .9));
	pointer-events: none;
}

.sga-personal-image-caption {
	position: absolute !important;
	left: 28px;
	right: 24px;
	bottom: 20px;
	z-index: 2;
	gap: 1px !important;
}

.sga-personal-name .elementor-heading-title {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
}

.sga-personal-role p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: rgba(255, 255, 255, .78);
}

.sga-personal-card > .elementor-element:not(.sga-personal-image-wrap) {
	margin-left: 30px;
	margin-right: 30px;
}

.sga-personal-card .sga-stars {
	margin-top: 27px;
}

.sga-personal-testimonial blockquote {
	padding: 0;
	border: 0;
	font-size: 17px;
	font-style: normal;
	line-height: 1.58;
	color: #16283a;
}

.sga-testimonial-author {
	margin-top: 3px;
	margin-bottom: 28px;
}

.sga-testimonial-author p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: var(--sga-text);
}

.sga-testimonial-author span {
	font-size: 12px;
	color: #7b8389;
}

/* Why section */
.sga-why {
	padding: 112px 0 106px;
	background: var(--sga-navy-deep);
}

.sga-why-inner {
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 80px !important;
}

.sga-why-copy {
	gap: 26px !important;
}

.sga-why-copy .elementor-button {
	min-height: 54px;
	padding-left: 24px;
	padding-right: 24px;
}

.sga-why-rows {
	gap: 0 !important;
}

.sga-why-row {
	align-items: flex-start !important;
	gap: 28px !important;
	padding: 31px 0 30px;
	border-top: 1px solid rgba(255, 255, 255, .15);
}

.sga-why-row:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.sga-why-number {
	width: 44px !important;
	flex: 0 0 44px;
}

.sga-why-number p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	letter-spacing: 1.4px;
	color: rgba(255, 255, 255, .48);
}

.sga-why-row-copy {
	gap: 10px !important;
}

.sga-why-row-title .elementor-heading-title {
	font-size: 23px;
	font-weight: 400;
	line-height: 1.25;
	color: #fff;
}

.sga-why-row-text p {
	font-size: 15px;
	line-height: 1.62;
	color: rgba(255, 255, 255, .68);
}

/* Process */
.sga-process {
	padding: 105px 0 115px;
	background: #fff;
}

.sga-process-inner {
	align-items: center !important;
	gap: 22px !important;
}

.sga-eyebrow-center,
.sga-center-heading,
.sga-process-intro {
	text-align: center;
}

.sga-process-intro {
	max-width: 760px;
}

.sga-process-intro p {
	font-size: 16px;
	line-height: 1.65;
	color: #68717a;
}

.sga-process-grid {
	width: 100%;
	margin-top: 47px;
	border-top: 1px solid var(--sga-line);
	border-left: 1px solid var(--sga-line);
}

.sga-process-card {
	min-height: 285px;
	padding: 38px 38px 34px;
	gap: 24px !important;
	border-right: 1px solid var(--sga-line);
	border-bottom: 1px solid var(--sga-line);
}

.sga-process-card-title .elementor-heading-title {
	font-size: 22px;
	font-weight: 400;
	color: var(--sga-text);
}

.sga-process-card-text p {
	font-size: 15px;
	line-height: 1.62;
	color: #5d6871;
}

/* Services */
.sga-services {
	padding: 112px 0 116px;
	background: var(--sga-light);
}

.sga-services-intro-wrap {
	gap: 13px !important;
}

.sga-services-intro-wrap .sga-split-intro {
	width: 100% !important;
	max-width: 440px;
	margin-left: 0;
}

.sga-services-grid {
	gap: 18px !important;
}

.sga-service-card {
	min-height: 282px;
	padding: 33px 36px 29px;
	gap: 17px !important;
	background: #fff;
	border-top: 3px solid var(--sga-gold);
	box-shadow: 0 18px 42px rgba(33, 49, 58, .08);
	transition: transform .2s ease, box-shadow .2s ease;
}

.sga-service-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 54px rgba(33, 49, 58, .12);
}

.sga-service-title .elementor-heading-title {
	font-size: 23px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--sga-text);
}

.sga-service-summary p {
	font-size: 15px;
	line-height: 1.62;
	color: #5d6871;
}

.sga-service-detail-source,
.sga-certificate-detail-source {
	display: none !important;
}

/* Qualification */
.sga-qualifications {
	padding: 108px 0 112px;
	background: linear-gradient(180deg, #fbf7ef 0%, #f8f4ec 100%);
}

.sga-qualification-card {
	min-height: 280px;
	padding: 28px 27px;
	gap: 16px !important;
	background: #fff;
	border-top: 3px solid var(--sga-gold);
	box-shadow: 0 16px 40px rgba(30, 45, 55, .07);
}

.sga-qualification-top {
	justify-content: space-between !important;
	align-items: center !important;
}

.sga-qualification-icon {
	width: auto !important;
}

.sga-qualification-title .elementor-heading-title {
	font-size: 21px;
	font-weight: 400;
	color: var(--sga-text);
}

.sga-qualification-subtitle p {
	font-size: 15px;
	line-height: 1.55;
	color: #5c676f;
}

/* FAQ */
.sga-faq {
	padding: 108px 0 114px;
	background: #eef3f5;
}

.sga-faq-inner {
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 88px !important;
}

.sga-faq-copy {
	gap: 24px !important;
}

.sga-faq-text p {
	font-size: 16px;
	line-height: 1.65;
	color: #5f6972;
}

.sga-faq-accordion {
	width: 58% !important;
}

.sga-faq-accordion .elementor-accordion-item {
	border: 0 !important;
	border-top: 1px solid #cfd7db !important;
}

.sga-faq-accordion .elementor-accordion-item:last-child {
	border-bottom: 1px solid #cfd7db !important;
}

.sga-faq-accordion .elementor-tab-title {
	min-height: 76px;
	padding: 22px 0 !important;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
	color: var(--sga-text) !important;
}

.sga-faq-accordion .elementor-accordion-icon {
	order: 2;
	width: 31px !important;
	height: 31px;
	margin-left: 20px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid #d3b88f;
}

.sga-faq-accordion .elementor-accordion-icon svg {
	width: 11px;
	height: 11px;
}

.sga-faq-accordion .elementor-tab-content {
	padding: 0 58px 24px 0 !important;
	border: 0 !important;
	font-size: 15px;
	line-height: 1.7;
	color: #5e6972;
}

/* Final CTA */
.sga-final-cta-section {
	padding: 82px 0 88px;
	background: var(--sga-navy);
}

.sga-final-cta-inner {
	justify-content: space-between !important;
	align-items: center !important;
	gap: 70px !important;
}

.sga-final-cta-copy {
	gap: 22px !important;
}

.sga-final-cta-actions {
	gap: 10px !important;
}

.sga-final-cta-actions .elementor-widget-button,
.sga-final-cta-actions .elementor-button {
	width: 100%;
}

.sga-final-cta-actions .elementor-button {
	min-height: 54px;
}

/* Footer */
.sga-footer {
	padding: 57px 0 0;
	background: var(--sga-cream);
}

.sga-footer-inner {
	padding-bottom: 49px;
}

.sga-footer-brand {
	gap: 20px !important;
}

.sga-footer-text p {
	font-size: 14px;
	line-height: 1.65;
	color: #5f6970;
}

.sga-footer-title .elementor-heading-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--sga-text);
}

.sga-footer-column {
	gap: 9px !important;
}

.sga-footer-phone .elementor-button,
.sga-footer-email .elementor-button {
	justify-content: flex-start;
	font-size: 14px;
	font-weight: 700;
	color: #0e4c7c;
	text-align: left;
}

.sga-footer-email .elementor-button {
	white-space: normal;
	word-break: break-word;
}

.sga-footer-legal {
	gap: 15px !important;
	flex-direction: row !important;
	align-items: center !important;
	margin-top: 5px;
}

.sga-footer-legal-link {
	width: auto !important;
}

.sga-footer-legal-link .elementor-button {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 12px;
	font-weight: 400;
	color: #5f6970;
}

.sga-footer-bottom {
	padding: 19px 0 21px;
	border-top: 1px solid #dedbd4;
}

.sga-footer-small p {
	font-size: 11px;
	line-height: 1.4;
	color: #7e817e;
}

/* Modals built from native Elementor containers and widgets */
.sga-service-modal,
.sga-certificate-modal {
	position: fixed !important;
	inset: 0;
	z-index: 999999;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 28px;
	background: rgba(8, 27, 43, .82);
	backdrop-filter: blur(5px);
}

.sga-service-modal.is-open,
.sga-certificate-modal.is-open {
	display: flex !important;
}

.sga-modal-panel {
	position: relative;
	width: min(850px, 100%) !important;
	max-height: calc(100vh - 56px);
	overflow-y: auto;
	gap: 22px !important;
	padding: 48px 54px 50px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .28);
}

.sga-certificate-modal-panel {
	width: min(650px, 100%) !important;
	align-items: flex-start !important;
}

.sga-modal-close,
.sga-certificate-modal-close {
	position: absolute !important;
	top: 18px;
	right: 18px;
	z-index: 2;
	width: 44px !important;
	height: 44px;
}

.sga-modal-close .elementor-button,
.sga-certificate-modal-close .elementor-button {
	width: 44px;
	height: 44px;
	min-height: 44px;
	padding: 0;
	font-size: 25px;
	font-weight: 400;
	color: #5b666e;
	background: #f1f2ef;
}

.sga-modal-eyebrow {
	padding-right: 55px;
}

.sga-modal-title .elementor-heading-title {
	font-size: 46px;
	font-weight: 400;
	line-height: 1.1;
	color: var(--sga-text);
}

.sga-modal-suitable {
	padding: 12px 18px;
	background: #e7efe0;
}

.sga-modal-suitable p {
	font-size: 15px;
	line-height: 1.55;
	color: #43633f;
}

.sga-modal-body p {
	margin: 0 0 5px;
	font-size: 16px;
	line-height: 1.65;
	color: #59646d;
}

.sga-modal-request {
	width: auto !important;
	align-self: flex-start;
}

.sga-modal-request .elementor-button {
	min-height: 54px;
	padding: 15px 24px;
}

.sga-certificate-modal-subtitle p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: var(--sga-navy);
}

@media (max-width: 1100px) {
	.sga-header-response {
		display: none !important;
	}

	.sga-header-phone {
		margin-left: auto;
	}

	.sga-hero {
		min-height: 0;
		padding: 70px 0 76px;
	}

	.sga-hero-inner,
	.sga-personal-inner,
	.sga-why-inner,
	.sga-faq-inner,
	.sga-final-cta-inner {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.sga-hero-copy,
	.sga-hero-form-card,
	.sga-personal-copy,
	.sga-personal-card,
	.sga-why-copy,
	.sga-why-rows,
	.sga-faq-copy,
	.sga-faq-accordion,
	.sga-final-cta-copy,
	.sga-final-cta-actions {
		width: 100% !important;
	}

	.sga-personal-card {
		max-width: 620px;
		margin: 0 auto;
	}

	.sga-trust-inner {
		flex-wrap: wrap !important;
	}

	.sga-trust-item {
		width: 50% !important;
		border-bottom: 1px solid rgba(255, 255, 255, .13);
	}

	.sga-qualifications-grid {
		gap: 16px !important;
	}

	.sga-qualification-card {
		width: calc(50% - 8px) !important;
	}

	.sga-footer-inner {
		flex-wrap: wrap !important;
	}

	.sga-footer-brand {
		width: 100% !important;
	}

	.sga-footer-column {
		width: calc(33.333% - 30px) !important;
	}
}

@media (max-width: 767px) {
	.sga-inner {
		width: min(100% - 36px, 1280px);
	}

	.sga-section,
	.sga-occasions,
	.sga-personal,
	.sga-why,
	.sga-process,
	.sga-services,
	.sga-qualifications,
	.sga-faq {
		padding-top: 72px;
		padding-bottom: 76px;
	}

	.sga-header {
		padding: 12px 0;
	}

	.sga-header-inner {
		flex-direction: row !important;
		gap: 12px !important;
	}

	.sga-header-phone {
		display: none !important;
	}

	.sga-header-logo {
		width: 185px !important;
	}

	.sga-header-cta {
		width: auto !important;
		margin-left: auto;
	}

	.sga-header-cta .elementor-button {
		min-height: 42px;
		padding: 11px 14px;
		font-size: 11px;
	}

	.sga-hero {
		padding: 58px 0 62px;
		background-position: 70% center !important;
	}

	.sga-hero::before {
		background: rgba(5, 27, 45, .91);
	}

	.sga-hero-inner {
		gap: 43px !important;
	}

	.sga-hero-proofs,
	.sga-hero-actions {
		flex-direction: column !important;
	}

	.sga-proof-card,
	.sga-hero-actions .elementor-widget-button,
	.sga-hero-actions .elementor-button {
		width: 100% !important;
	}

	.sga-form-wrap {
		padding: 27px 22px 25px;
	}

	.sga-form-heading h2 {
		font-size: 28px;
	}

	.sga-form-grid {
		grid-template-columns: 1fr;
	}

	.sga-field-full {
		grid-column: auto;
	}

	.sga-trust-item {
		width: 100% !important;
		border-right: 1px solid rgba(255, 255, 255, .13);
	}

	.sga-split-heading,
	.sga-guidance-banner,
	.sga-personal-actions,
	.sga-process-grid,
	.sga-footer-bottom {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.sga-split-heading {
		gap: 28px !important;
	}

	.sga-title-wrap,
	.sga-split-intro,
	.sga-services-intro-wrap {
		width: 100% !important;
		max-width: none;
		margin-left: 0;
	}

	.sga-occasion-card {
		width: 100% !important;
		min-height: 255px;
	}

	.sga-guidance-banner {
		gap: 24px !important;
		padding: 26px 23px;
	}

	.sga-guidance-title-wrap,
	.sga-guidance-text,
	.sga-guidance-button {
		width: 100% !important;
		flex: 0 0 auto;
	}

	.sga-personal-fact {
		align-items: flex-start !important;
	}

	.sga-personal-fact-label {
		width: 110px !important;
		flex-basis: 110px;
	}

	.sga-personal-actions .elementor-widget-button,
	.sga-personal-actions .elementor-button {
		width: 100%;
	}

	.sga-why-inner {
		gap: 55px !important;
	}

	.sga-process-grid {
		border-left: 1px solid var(--sga-line);
	}

	.sga-process-card {
		width: 100% !important;
		min-height: 240px;
	}

	.sga-service-card,
	.sga-qualification-card {
		width: 100% !important;
	}

	.sga-service-card {
		min-height: 260px;
		padding: 29px 25px 26px;
	}

	.sga-faq-inner {
		gap: 45px !important;
	}

	.sga-faq-accordion {
		width: 100% !important;
	}

	.sga-faq-accordion .elementor-tab-title {
		font-size: 16px;
	}

	.sga-faq-accordion .elementor-tab-content {
		padding-right: 0 !important;
	}

	.sga-final-cta-section {
		padding: 68px 0 72px;
	}

	.sga-final-cta-inner {
		gap: 38px !important;
	}

	.sga-footer-inner {
		flex-direction: column !important;
		gap: 34px !important;
	}

	.sga-footer-brand,
	.sga-footer-column {
		width: 100% !important;
	}

	.sga-footer-bottom {
		gap: 8px !important;
	}

	.sga-modal-panel {
		padding: 42px 25px 30px;
	}

	.sga-modal-title .elementor-heading-title {
		font-size: 34px;
	}
}


/* -------------------------------------------------------------------------
 * V2.4.0 – source-exact layer from the supplied ChatGPT Sites repository.
 * ---------------------------------------------------------------------- */
.sga-inner {
	width: min(1240px, calc(100% - 48px));
}

.sga-page .sga-h1 .elementor-heading-title {
	font-size: clamp(48px, 5.2vw, 72px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.035em !important;
}

.sga-page .sga-h2 .elementor-heading-title {
	font-size: clamp(42px, 4.6vw, 62px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.035em !important;
}

.sga-skip-link {
	position: fixed !important;
	left: 16px;
	top: -80px;
	z-index: 1000000;
	width: auto !important;
	padding: 0;
	background: #fff;
	box-shadow: 0 24px 70px rgba(6, 26, 42, .18);
}

.sga-skip-link:focus-within {
	top: 12px;
}

.sga-skip-link .elementor-button {
	min-height: 0;
	padding: 12px 18px;
	color: var(--sga-navy);
	background: #fff;
	font-weight: 700;
}

.sga-header {
	padding: 0;
	border-bottom: 1px solid rgba(16, 43, 69, .1);
	box-shadow: inset 0 -3px 0 var(--sga-gold);
}

.sga-header-inner {
	min-height: 82px;
}

.sga-header-response-dot p {
	width: 9px;
	height: 9px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--sga-gold);
	box-shadow: 0 0 0 4px var(--sga-gold-soft);
	color: transparent;
}

.sga-hero {
	min-height: 760px;
	padding: 74px 0 66px;
}

.sga-hero::before {
	background:
		linear-gradient(90deg, rgba(8, 28, 46, .96) 0%, rgba(10, 31, 50, .90) 46%, rgba(13, 38, 60, .60) 70%, rgba(13, 38, 60, .38) 100%),
		linear-gradient(0deg, rgba(4, 17, 29, .25), rgba(4, 17, 29, .25));
}

.sga-proof-card {
	min-height: 76px;
	padding: 15px 14px 14px;
	background: rgba(255,255,255,.07);
	border-color: rgba(255,255,255,.18);
	backdrop-filter: blur(3px);
}

.sga-form-wrap {
	padding: 34px;
}

.sga-form-kicker::before {
	content: "✓";
	display: inline-grid;
	place-items: center;
	width: 20px;
	height: 20px;
	margin-right: 7px;
	border-radius: 50%;
	background: var(--sga-gold-soft);
	color: var(--sga-gold);
	font-size: 12px;
}

.sga-field input,
.sga-field select {
	min-height: 46px;
}

.sga-field textarea {
	min-height: 78px;
}

.sga-client-error {
	margin: 12px 0 0;
	padding: 10px 12px;
	border: 1px solid #e4bcbc;
	background: #fbefef;
	color: var(--sga-danger);
	font-size: 12px;
	line-height: 1.45;
}

.sga-client-error[hidden] {
	display: none !important;
}

.sga-faq {
	position: relative;
	border-top: 4px solid var(--sga-gold);
	background: #edf1f2;
}

.sga-faq::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(120deg, rgba(255,255,255,.48), transparent 48%);
}

.sga-faq > .e-con-inner,
.sga-faq > .elementor-element,
.sga-faq .sga-faq-inner {
	position: relative;
}

/* Exact certificate grid and enlargement dialog. */
.sga-qualifications {
	padding: 108px 0 112px;
	border-top: 1px solid rgba(170,129,82,.18);
	background: linear-gradient(135deg, rgba(234,220,201,.44), rgba(247,245,240,.94) 48%, rgba(255,255,255,.9));
}

.sga-qualifications-grid {
	gap: 18px !important;
	align-items: flex-start !important;
}

.sga-qualification-card {
	min-width: 0;
	min-height: 0;
	padding: 0;
	gap: 8px !important;
	border: 0;
	background: transparent;
	box-shadow: none;
	cursor: zoom-in;
}

.sga-certificate-frame {
	position: relative;
	aspect-ratio: .73;
	padding: 12px;
	overflow: hidden;
	display: grid !important;
	place-items: center;
	background: var(--sga-light);
	border: 1px solid #e3e7e6;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sga-certificate-image,
.sga-certificate-image .elementor-widget-container,
.sga-certificate-image a,
.sga-certificate-image img {
	width: 100%;
	height: 100%;
}

.sga-certificate-image img {
	display: block;
	object-fit: cover;
	object-position: top center;
}

.sga-certificate-zoom {
	position: absolute !important;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	width: 34px !important;
	height: 34px;
	border-radius: 50%;
	display: grid !important;
	place-items: center;
	background: var(--sga-navy);
	pointer-events: none;
}

.sga-certificate-zoom p {
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
}

.sga-qualification-card:hover .sga-certificate-frame,
.sga-qualification-card:focus-within .sga-certificate-frame {
	border-color: #23557f;
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(16,43,69,.12);
}

.sga-qualification-title {
	margin-top: 8px;
}

.sga-qualification-title .elementor-heading-title {
	color: var(--sga-navy-deep);
	font-family: Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
}

.sga-qualification-caption p {
	color: #596567;
	font-size: 13px;
	line-height: 1.5;
}

.sga-qualification-note {
	margin-top: 36px;
	padding: 28px 32px;
	gap: 34px !important;
	align-items: center !important;
	border-left: 4px solid var(--sga-gold);
	background: var(--sga-cream);
}

.sga-qualification-note-title {
	width: 26% !important;
}

.sga-qualification-note-title .elementor-heading-title {
	color: var(--sga-navy-deep);
	font-size: 18px;
	font-weight: 700;
}

.sga-qualification-note-text {
	width: 45% !important;
}

.sga-qualification-note-text p {
	color: #596567;
	line-height: 1.6;
}

.sga-qualification-note-link {
	width: auto !important;
	margin-left: auto;
}

.sga-certificate-modal-panel {
	width: min(720px, 100%) !important;
	padding: 28px;
	gap: 18px !important;
}

.sga-certificate-modal-image,
.sga-certificate-modal-image .elementor-widget-container,
.sga-certificate-modal-image img {
	width: 100%;
}

.sga-certificate-modal-image img {
	display: block;
	max-height: calc(100vh - 190px);
	object-fit: contain;
	background: var(--sga-light);
}

.sga-certificate-modal-caption {
	gap: 4px !important;
	padding-right: 54px;
}

.sga-certificate-modal-title .elementor-heading-title {
	color: var(--sga-navy-deep);
	font-size: 19px;
	font-weight: 700;
}

.sga-certificate-modal-subtitle p {
	color: #596567;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 14px;
	font-weight: 400;
}

/* Fixed mobile CTA from the source page. */
.sga-mobile-action-bar {
	display: none !important;
}

/* Legal pages from the supplied source project. */
.sga-legal-page {
	min-height: 100vh;
	background: var(--sga-cream);
}

.sga-legal-page .sga-inner {
	width: min(980px, calc(100% - 48px));
}

.sga-legal-header {
	background: #fff;
	border-bottom: 1px solid rgba(16,43,69,.12);
}

.sga-legal-header-inner {
	min-height: 82px;
	justify-content: space-between !important;
}

.sga-legal-logo {
	width: 300px !important;
}

.sga-legal-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.sga-legal-back {
	width: auto !important;
}

.sga-legal-back .elementor-button {
	color: var(--sga-navy);
	font-size: 14px;
	font-weight: 700;
}

.sga-legal-hero {
	padding: 74px 0 58px;
	border-bottom: 5px solid var(--sga-gold);
	background: var(--sga-navy);
}

.sga-legal-hero-inner {
	gap: 14px !important;
}

.sga-legal-kicker p {
	color: #d6b487;
	font-family: Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.sga-legal-title .elementor-heading-title {
	color: #fff;
	font-size: clamp(42px, 6vw, 66px);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.035em;
}

.sga-legal-main {
	padding: 72px 0 88px;
}

.sga-legal-card {
	padding: 48px;
	gap: 0 !important;
	background: #fff;
	box-shadow: 0 20px 55px rgba(11,30,48,.08);
}

.sga-legal-section {
	gap: 14px !important;
}

.sga-legal-section + .sga-legal-section {
	margin-top: 38px;
	padding-top: 34px;
	border-top: 1px solid #e3e7e6;
}

.sga-legal-section-title .elementor-heading-title {
	color: var(--sga-navy);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.25;
}

.sga-legal-section-body p,
.sga-legal-section-body address,
.sga-legal-section-body li {
	color: #596567;
	font-style: normal;
	line-height: 1.75;
}

.sga-legal-section-body a {
	color: #173d61;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sga-legal-footer {
	padding: 28px 0;
	background: var(--sga-navy-deep);
}

.sga-legal-footer-inner {
	justify-content: space-between !important;
}

.sga-legal-footer-text p,
.sga-legal-footer-link .elementor-button {
	color: rgba(255,255,255,.72);
	font-family: Arial, sans-serif;
	font-size: 13px;
}

.sga-legal-links {
	width: auto !important;
	gap: 18px !important;
}

.sga-legal-footer-link {
	width: auto !important;
}

.sga-legal-footer-link .elementor-button {
	color: #fff;
}

@media (max-width: 1120px) {
	.sga-qualifications-grid {
		flex-wrap: wrap !important;
	}
	.sga-qualification-card {
		width: calc(33.333% - 12px) !important;
	}
	.sga-qualification-note {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px !important;
	}
	.sga-qualification-note-title,
	.sga-qualification-note-text,
	.sga-qualification-note-link {
		width: 100% !important;
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	.sga-inner {
		width: min(100% - 32px, 1240px);
	}

	.sga-page .sga-h1 .elementor-heading-title {
		font-size: 42px !important;
	}

	.sga-page .sga-h2 .elementor-heading-title {
		font-size: 38px !important;
	}

	.sga-header-inner {
		min-height: 68px;
	}

	.sga-qualifications-grid {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 14px !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		padding-bottom: 14px;
	}

	.sga-qualification-card {
		flex: 0 0 min(78vw, 280px) !important;
		width: min(78vw, 280px) !important;
		scroll-snap-align: start;
	}

	.sga-qualification-note {
		margin-top: 24px;
		padding: 24px 22px;
	}

	.sga-service-modal,
	.sga-certificate-modal {
		padding: 12px;
		align-items: flex-end !important;
	}

	.sga-modal-panel,
	.sga-certificate-modal-panel {
		max-height: calc(100dvh - 24px);
	}

	.sga-certificate-modal-panel {
		padding: 16px;
	}

	.sga-mobile-action-bar {
		position: fixed !important;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99990;
		display: flex !important;
		flex-direction: row !important;
		gap: 0 !important;
		background: #fff;
		border-top: 1px solid var(--sga-line);
		box-shadow: 0 -10px 30px rgba(11,30,48,.12);
	}

	.sga-mobile-call,
	.sga-mobile-request {
		width: auto !important;
	}

	.sga-mobile-call {
		flex: .7 1 0;
	}

	.sga-mobile-request {
		flex: 1.3 1 0;
	}

	.sga-mobile-action-bar .elementor-button {
		width: 100%;
		min-height: 58px;
		padding: 0 12px;
		border: 0;
		border-radius: 0;
		font-size: 14px;
		font-weight: 700;
	}

	.sga-mobile-call .elementor-button {
		color: var(--sga-navy);
		background: #fff;
	}

	.sga-mobile-request .elementor-button {
		color: #fff;
		background: var(--sga-navy);
	}

	.sga-footer {
		padding-bottom: 58px;
	}

	.sga-legal-page .sga-inner {
		width: min(100% - 32px, 980px);
	}

	.sga-legal-header-inner {
		min-height: 68px;
		flex-direction: row !important;
	}

	.sga-legal-logo {
		width: min(225px, 68vw) !important;
	}

	.sga-legal-back .elementor-button-text {
		font-size: 0;
	}

	.sga-legal-back .elementor-button-text::after {
		content: "Zurück";
		font-size: 13px;
	}

	.sga-legal-hero {
		padding: 52px 0 42px;
	}

	.sga-legal-main {
		padding: 34px 0 52px;
	}

	.sga-legal-card {
		padding: 28px 22px;
	}

	.sga-legal-footer-inner {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 22px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sga-page *,
	.sga-page *::before,
	.sga-page *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* -------------------------------------------------------------------------
 * V2.5.1 – live WordPress proportion and interaction corrections.
 *
 * Elementor versions and optimized-DOM settings can ignore a container's
 * imported percentage width in wrapped flex layouts. The source page uses
 * deterministic CSS grids for the affected areas. These final rules restore
 * the approved desktop proportions while keeping every item a native,
 * editable Elementor container or widget.
 * ---------------------------------------------------------------------- */

/* Use the exact source photograph rather than a visually similar substitute. */
.sga-hero {
	background-image: url("https://schaffer-gutachter.de/wp-content/uploads/2024/11/iStock-1294027158.jpg") !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

/* Bewertungsanlässe: two rows with three equal cards, as in the source. */
.sga-occasion-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 0 !important;
	align-items: stretch !important;
	width: 100% !important;
}

.sga-occasion-grid > .sga-occasion-card,
.sga-occasion-grid .sga-occasion-card {
	--width: 100% !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
}

/* Sachverständigenbereich: source-like text/card ratio and portrait size. */
.sga-personal-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
	gap: 90px !important;
	align-items: center !important;
	justify-content: stretch !important;
}

.sga-personal-inner > .sga-personal-copy,
.sga-personal-inner > .sga-personal-card {
	--width: 100% !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

.sga-personal-card {
	justify-self: end !important;
	max-width: 510px !important;
}

.sga-personal-image-wrap {
	min-height: 300px;
}

.sga-personal-image,
.sga-personal-image .elementor-widget-container,
.sga-personal-image a,
.sga-personal-image img {
	min-height: 300px !important;
	height: 300px !important;
}

.sga-personal-image img {
	aspect-ratio: 3 / 2;
	object-fit: cover !important;
	object-position: center 36% !important;
}

/* Ablauf: exact three-column line construction and vertical rhythm. */
.sga-process-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 0 !important;
	align-items: stretch !important;
	width: 100% !important;
	border-top: 1px solid var(--sga-line) !important;
	border-left: 0 !important;
}

.sga-process-grid > .sga-process-card,
.sga-process-grid .sga-process-card {
	--width: 100% !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 280px !important;
	padding: 34px 38px !important;
	gap: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--sga-line) !important;
	background: transparent !important;
	flex: none !important;
}

.sga-process-grid > .sga-process-card:first-child {
	border-left: 1px solid var(--sga-line) !important;
}

.sga-process-card-title {
	margin-top: 58px !important;
	margin-bottom: 12px !important;
}

.sga-process-card-title .elementor-heading-title {
	font-size: 27px !important;
	line-height: 1.25 !important;
}

.sga-process-card-text p {
	font-size: 16px !important;
	line-height: 1.7 !important;
}

/* Leistungen: two compact cards per row; number in its own narrow column. */
.sga-services-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: stretch !important;
	width: 100% !important;
}

.sga-services-grid > .sga-service-card,
.sga-services-grid .sga-service-card {
	--width: 100% !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 285px !important;
	padding: 30px !important;
	display: grid !important;
	grid-template-columns: 46px minmax(0, 1fr) !important;
	grid-template-rows: auto 1fr auto !important;
	column-gap: 18px !important;
	row-gap: 0 !important;
	align-items: start !important;
	flex: none !important;
}

.sga-service-card > .sga-card-number {
	grid-column: 1 !important;
	grid-row: 1 / 4 !important;
	padding-top: 5px;
}

.sga-service-card > .sga-service-title {
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 0 10px !important;
}

.sga-service-card > .sga-service-summary {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

.sga-service-card > .sga-card-link {
	grid-column: 2 !important;
	grid-row: 3 !important;
	align-self: end !important;
	justify-self: start !important;
	width: auto !important;
	margin-top: 18px !important;
}

.sga-service-card > .sga-card-link .elementor-button {
	width: auto !important;
	justify-content: flex-start !important;
	gap: 14px !important;
}

.sga-service-title .elementor-heading-title {
	font-size: 26px !important;
}

.sga-service-summary p {
	line-height: 1.7 !important;
}

/* Zertifikate: five small cards alongside one another on desktop. */
.sga-qualifications-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: start !important;
	width: 100% !important;
}

.sga-qualifications-grid > .sga-qualification-card,
.sga-qualifications-grid .sga-qualification-card {
	--width: 100% !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
}

.sga-certificate-frame {
	width: 100% !important;
	aspect-ratio: .73 !important;
}

/* FAQ: retain the neutral source palette in all Elementor states. */
.sga-faq {
	background: #edf1f2 !important;
	--e-global-color-accent: #173d61;
}

.sga-faq-accordion .elementor-accordion-item,
.sga-faq-accordion .elementor-tab-title,
.sga-faq-accordion .elementor-tab-title:hover,
.sga-faq-accordion .elementor-tab-title:focus,
.sga-faq-accordion .elementor-tab-title.elementor-active,
.sga-faq-accordion .elementor-tab-title[aria-expanded="true"],
.sga-faq-accordion .elementor-tab-content {
	background: transparent !important;
}

.sga-faq-accordion .elementor-tab-title,
.sga-faq-accordion .elementor-tab-title:hover,
.sga-faq-accordion .elementor-tab-title:focus,
.sga-faq-accordion .elementor-tab-title.elementor-active,
.sga-faq-accordion .elementor-accordion-title,
.sga-faq-accordion .elementor-accordion-title:hover,
.sga-faq-accordion .elementor-accordion-title:focus {
	color: var(--sga-text) !important;
}

.sga-faq-accordion .elementor-accordion-icon,
.sga-faq-accordion .elementor-tab-title:hover .elementor-accordion-icon,
.sga-faq-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
	border-color: rgba(170,129,82,.52) !important;
	background: rgba(255,255,255,.58) !important;
	color: var(--sga-navy) !important;
}

.sga-faq-accordion .elementor-accordion-icon i,
.sga-faq-accordion .elementor-accordion-icon svg,
.sga-faq-accordion .elementor-accordion-icon svg path {
	color: var(--sga-navy) !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.sga-faq-accordion .elementor-tab-content,
.sga-faq-accordion .elementor-tab-content p {
	color: #596567 !important;
}

/* The service modal must show every paragraph read from the editable source
 * widgets and retain source proportions. */
.sga-modal-body .elementor-widget-container,
.sga-modal-body {
	display: block !important;
}

.sga-modal-body p {
	margin: 0 0 6px !important;
	color: #596567 !important;
	font-size: 16px !important;
	line-height: 1.62 !important;
}

.sga-modal-body p:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 1120px) {
	.sga-personal-inner {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 460px) !important;
		gap: 54px !important;
	}

	.sga-qualifications-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 860px) {
	.sga-occasion-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.sga-personal-inner {
		grid-template-columns: 1fr !important;
		gap: 42px !important;
	}

	.sga-personal-card {
		justify-self: start !important;
		max-width: 620px !important;
	}

	.sga-process-grid {
		grid-template-columns: 1fr !important;
		border-top: 1px solid var(--sga-line) !important;
	}

	.sga-process-grid > .sga-process-card,
	.sga-process-grid .sga-process-card {
		min-height: 0 !important;
		border-left: 1px solid var(--sga-line) !important;
		border-bottom: 1px solid var(--sga-line) !important;
	}

	.sga-process-card-title {
		margin-top: 34px !important;
	}
}

@media (max-width: 600px) {
	.sga-hero {
		background-position: 66% center !important;
	}

	.sga-occasion-grid,
	.sga-services-grid {
		grid-template-columns: 1fr !important;
	}

	.sga-personal-card {
		max-width: none !important;
	}

	.sga-personal-image-wrap,
	.sga-personal-image,
	.sga-personal-image .elementor-widget-container,
	.sga-personal-image a,
	.sga-personal-image img {
		min-height: 0 !important;
		height: auto !important;
	}

	.sga-personal-image img {
		aspect-ratio: 4 / 3;
		object-position: center 35% !important;
	}

	.sga-process-grid > .sga-process-card,
	.sga-process-grid .sga-process-card {
		padding: 28px 24px !important;
	}

	.sga-process-card-title {
		margin-top: 26px !important;
	}

	.sga-process-card-title .elementor-heading-title,
	.sga-service-title .elementor-heading-title {
		font-size: 23px !important;
	}

	.sga-services-grid > .sga-service-card,
	.sga-services-grid .sga-service-card {
		min-height: 0 !important;
		padding: 26px 22px !important;
		grid-template-columns: 34px minmax(0, 1fr) !important;
	}

	.sga-qualifications-grid {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 14px !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		padding-bottom: 14px;
	}

	.sga-qualifications-grid > .sga-qualification-card,
	.sga-qualifications-grid .sga-qualification-card {
		flex: 0 0 min(78vw, 280px) !important;
		width: min(78vw, 280px) !important;
		scroll-snap-align: start;
	}
}

/* -------------------------------------------------------------------------
 * V2.5.1 – Farb- und Typografieabgleich mit der freigegebenen Quellseite.
 *
 * Elementor kann die in der Website hinterlegten globalen Farben und
 * Typografien mit höherer Selektorspezifität auf importierte Widgets legen.
 * Diese seitenbezogenen Regeln setzen deshalb nur innerhalb der Schaffer-
 * Landingpage die Originalpalette und die ursprünglichen Schriftproportionen
 * durch. Andere WordPress-Seiten bleiben vollständig unberührt.
 * ---------------------------------------------------------------------- */
body.sga-landingpage .sga-page,
.elementor-editor-active .sga-page {
	--e-global-color-primary: #0b1e30;
	--e-global-color-secondary: #102b45;
	--e-global-color-text: #17212a;
	--e-global-color-accent: #173d61;
	--e-global-typography-primary-font-family: "Lato", Arial, Helvetica, sans-serif;
	--e-global-typography-secondary-font-family: "Lora", Georgia, "Times New Roman", serif;
	--e-global-typography-text-font-family: "Lora", Georgia, "Times New Roman", serif;
	--e-global-typography-accent-font-family: "Lato", Arial, Helvetica, sans-serif;
	color: #17212a;
	font-family: "Lora", Georgia, "Times New Roman", serif;
}

body.sga-landingpage .sga-page .elementor-widget-heading .elementor-heading-title,
.elementor-editor-active .sga-page .elementor-widget-heading .elementor-heading-title,
body.sga-landingpage .sga-page .elementor-button,
.elementor-editor-active .sga-page .elementor-button,
body.sga-landingpage .sga-page .elementor-accordion-title,
.elementor-editor-active .sga-page .elementor-accordion-title {
	font-family: "Lato", Arial, Helvetica, sans-serif !important;
}

/* Hauptüberschriften – identische Desktop-Skalierung wie im Quellprojekt. */
body.sga-landingpage .sga-h1 .elementor-heading-title,
.elementor-editor-active .sga-h1 .elementor-heading-title {
	font-size: clamp(48px, 5.2vw, 72px) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	letter-spacing: -.035em !important;
}

body.sga-landingpage .sga-h2 .elementor-heading-title,
.elementor-editor-active .sga-h2 .elementor-heading-title {
	color: #17212a !important;
	font-size: clamp(40px, 4.4vw, 62px) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	letter-spacing: -.035em !important;
}

body.sga-landingpage .sga-heading-light .elementor-heading-title,
.elementor-editor-active .sga-heading-light .elementor-heading-title,
body.sga-landingpage .sga-personal .sga-h2 .elementor-heading-title,
.elementor-editor-active .sga-personal .sga-h2 .elementor-heading-title,
body.sga-landingpage .sga-why .sga-h2 .elementor-heading-title,
.elementor-editor-active .sga-why .sga-h2 .elementor-heading-title,
body.sga-landingpage .sga-final-cta-section .sga-h2 .elementor-heading-title,
.elementor-editor-active .sga-final-cta-section .sga-h2 .elementor-heading-title {
	color: #fff !important;
}

/* Kleine Abschnittsüberschriften. */
body.sga-landingpage .sga-eyebrow p,
.elementor-editor-active .sga-eyebrow p {
	color: #23557f !important;
	font-family: "Lato", Arial, Helvetica, sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: .15em !important;
	text-transform: uppercase;
}

body.sga-landingpage .sga-hero .sga-eyebrow p,
.elementor-editor-active .sga-hero .sga-eyebrow p {
	color: #d8e2e8 !important;
	font-size: 12px !important;
	letter-spacing: .13em !important;
}

body.sga-landingpage .sga-eyebrow-light p,
.elementor-editor-active .sga-eyebrow-light p {
	color: #b9cbd7 !important;
}

/* Fließtexte: Serifenschrift und Originalgrau statt Elementor-Globalstil. */
body.sga-landingpage .sga-hero-text p,
body.sga-landingpage .sga-split-intro p,
body.sga-landingpage .sga-occasion-text p,
body.sga-landingpage .sga-guidance-text p,
body.sga-landingpage .sga-personal-text p,
body.sga-landingpage .sga-personal-testimonial blockquote,
body.sga-landingpage .sga-body-light p,
body.sga-landingpage .sga-why-row-text p,
body.sga-landingpage .sga-process-intro p,
body.sga-landingpage .sga-process-card-text p,
body.sga-landingpage .sga-service-summary p,
body.sga-landingpage .sga-qualification-caption p,
body.sga-landingpage .sga-qualification-note-text p,
body.sga-landingpage .sga-faq-text p,
body.sga-landingpage .sga-faq-accordion .elementor-tab-content,
body.sga-landingpage .sga-faq-accordion .elementor-tab-content p,
body.sga-landingpage .sga-modal-suitable p,
body.sga-landingpage .sga-modal-body p,
body.sga-landingpage .sga-footer-text p,
.elementor-editor-active .sga-hero-text p,
.elementor-editor-active .sga-split-intro p,
.elementor-editor-active .sga-occasion-text p,
.elementor-editor-active .sga-guidance-text p,
.elementor-editor-active .sga-personal-text p,
.elementor-editor-active .sga-personal-testimonial blockquote,
.elementor-editor-active .sga-body-light p,
.elementor-editor-active .sga-why-row-text p,
.elementor-editor-active .sga-process-intro p,
.elementor-editor-active .sga-process-card-text p,
.elementor-editor-active .sga-service-summary p,
.elementor-editor-active .sga-qualification-caption p,
.elementor-editor-active .sga-qualification-note-text p,
.elementor-editor-active .sga-faq-text p,
.elementor-editor-active .sga-faq-accordion .elementor-tab-content,
.elementor-editor-active .sga-faq-accordion .elementor-tab-content p,
.elementor-editor-active .sga-modal-suitable p,
.elementor-editor-active .sga-modal-body p,
.elementor-editor-active .sga-footer-text p {
	font-family: "Lora", Georgia, "Times New Roman", serif !important;
}

body.sga-landingpage .sga-split-intro p,
.elementor-editor-active .sga-split-intro p,
body.sga-landingpage .sga-faq-text p,
.elementor-editor-active .sga-faq-text p {
	color: #596567 !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
}

/* Vertrauensleiste. */
body.sga-landingpage .sga-trust-title .elementor-heading-title,
.elementor-editor-active .sga-trust-title .elementor-heading-title {
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

body.sga-landingpage .sga-trust-text p,
.elementor-editor-active .sga-trust-text p {
	color: rgba(255,255,255,.65) !important;
	font-family: "Lora", Georgia, "Times New Roman", serif !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

/* Bewertungsanlässe und Zwischen-CTA. */
body.sga-landingpage .sga-occasion-title .elementor-heading-title,
.elementor-editor-active .sga-occasion-title .elementor-heading-title {
	color: #0b1e30 !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: -.015em !important;
}

body.sga-landingpage .sga-occasion-text p,
.elementor-editor-active .sga-occasion-text p {
	color: #596567 !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}

body.sga-landingpage .sga-guidance-title .elementor-heading-title,
.elementor-editor-active .sga-guidance-title .elementor-heading-title {
	color: #0b1e30 !important;
	font-size: 26px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
}

body.sga-landingpage .sga-guidance-text p,
.elementor-editor-active .sga-guidance-text p {
	color: #596567 !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* Persönlicher Sachverständigenbereich. */
body.sga-landingpage .sga-personal-text p,
.elementor-editor-active .sga-personal-text p {
	color: rgba(255,255,255,.78) !important;
	font-size: 17px !important;
	line-height: 1.72 !important;
}

body.sga-landingpage .sga-personal-name .elementor-heading-title,
.elementor-editor-active .sga-personal-name .elementor-heading-title {
	color: #fff !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

body.sga-landingpage .sga-personal-role p,
.elementor-editor-active .sga-personal-role p {
	color: rgba(255,255,255,.78) !important;
	font-family: "Lato", Arial, Helvetica, sans-serif !important;
	font-size: 13px !important;
}

body.sga-landingpage .sga-personal-testimonial blockquote,
.elementor-editor-active .sga-personal-testimonial blockquote {
	color: #0b1e30 !important;
	font-size: 18px !important;
	line-height: 1.58 !important;
}

/* Dunkler Mehrwertbereich. */
body.sga-landingpage .sga-why-row-title .elementor-heading-title,
.elementor-editor-active .sga-why-row-title .elementor-heading-title {
	color: #fff !important;
	font-size: 25px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: -.015em !important;
}

body.sga-landingpage .sga-why-copy .sga-body-light p,
.elementor-editor-active .sga-why-copy .sga-body-light p {
	color: rgba(255,255,255,.73) !important;
	font-size: 17px !important;
	line-height: 1.72 !important;
}

body.sga-landingpage .sga-why-row-text p,
.elementor-editor-active .sga-why-row-text p {
	color: rgba(255,255,255,.68) !important;
	font-size: 16px !important;
	line-height: 1.68 !important;
}

/* Ablauf. */
body.sga-landingpage .sga-process-intro p,
.elementor-editor-active .sga-process-intro p {
	color: #596567 !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
}

body.sga-landingpage .sga-process-card-title .elementor-heading-title,
.elementor-editor-active .sga-process-card-title .elementor-heading-title {
	color: #0b1e30 !important;
	font-size: 27px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: -.015em !important;
}

body.sga-landingpage .sga-process-card-text p,
.elementor-editor-active .sga-process-card-text p {
	color: #596567 !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

/* Leistungsraster. */
body.sga-landingpage .sga-service-title .elementor-heading-title,
.elementor-editor-active .sga-service-title .elementor-heading-title {
	color: #0b1e30 !important;
	font-size: 26px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: -.015em !important;
}

body.sga-landingpage .sga-service-summary p,
.elementor-editor-active .sga-service-summary p {
	color: #596567 !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

/* Zertifikate. */
body.sga-landingpage .sga-qualification-title .elementor-heading-title,
.elementor-editor-active .sga-qualification-title .elementor-heading-title {
	color: #0b1e30 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

body.sga-landingpage .sga-qualification-caption p,
.elementor-editor-active .sga-qualification-caption p {
	color: #596567 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

body.sga-landingpage .sga-qualification-note-title .elementor-heading-title,
.elementor-editor-active .sga-qualification-note-title .elementor-heading-title {
	color: #0b1e30 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

body.sga-landingpage .sga-qualification-note-text p,
.elementor-editor-active .sga-qualification-note-text p {
	color: #596567 !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* FAQ inklusive geöffnetem und Hover-Zustand. */
body.sga-landingpage .sga-faq-accordion .elementor-accordion-title,
body.sga-landingpage .sga-faq-accordion .elementor-tab-title,
body.sga-landingpage .sga-faq-accordion .elementor-tab-title:hover,
body.sga-landingpage .sga-faq-accordion .elementor-tab-title:focus,
body.sga-landingpage .sga-faq-accordion .elementor-tab-title.elementor-active,
.elementor-editor-active .sga-faq-accordion .elementor-accordion-title,
.elementor-editor-active .sga-faq-accordion .elementor-tab-title,
.elementor-editor-active .sga-faq-accordion .elementor-tab-title:hover,
.elementor-editor-active .sga-faq-accordion .elementor-tab-title:focus,
.elementor-editor-active .sga-faq-accordion .elementor-tab-title.elementor-active {
	color: #0b1e30 !important;
	font-family: "Lato", Arial, Helvetica, sans-serif !important;
	font-size: 21px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}

body.sga-landingpage .sga-faq-accordion .elementor-tab-content,
body.sga-landingpage .sga-faq-accordion .elementor-tab-content p,
.elementor-editor-active .sga-faq-accordion .elementor-tab-content,
.elementor-editor-active .sga-faq-accordion .elementor-tab-content p {
	color: #596567 !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
}

/* Leistungsmodal. */
body.sga-landingpage .sga-modal-title .elementor-heading-title,
.elementor-editor-active .sga-modal-title .elementor-heading-title {
	color: #0b1e30 !important;
	font-size: clamp(34px, 5vw, 50px) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	letter-spacing: -.03em !important;
}

body.sga-landingpage .sga-modal-suitable p,
.elementor-editor-active .sga-modal-suitable p {
	color: #3f633d !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
}

body.sga-landingpage .sga-modal-body p,
.elementor-editor-active .sga-modal-body p {
	color: #596567 !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
}

/* Links und Schaltflächen dürfen nicht die globale hellblaue Akzentfarbe erben. */
body.sga-landingpage .sga-card-link .elementor-button,
body.sga-landingpage .sga-section-link .elementor-button,
body.sga-landingpage .sga-qualification-note-link .elementor-button,
.elementor-editor-active .sga-card-link .elementor-button,
.elementor-editor-active .sga-section-link .elementor-button,
.elementor-editor-active .sga-qualification-note-link .elementor-button {
	color: #173d61 !important;
}

@media (max-width: 600px) {
	body.sga-landingpage .sga-h1 .elementor-heading-title,
	.elementor-editor-active .sga-h1 .elementor-heading-title {
		font-size: clamp(38px, 11vw, 50px) !important;
	}

	body.sga-landingpage .sga-h2 .elementor-heading-title,
	.elementor-editor-active .sga-h2 .elementor-heading-title {
		font-size: clamp(35px, 10.8vw, 46px) !important;
	}

	body.sga-landingpage .sga-process-card-title .elementor-heading-title,
	body.sga-landingpage .sga-service-title .elementor-heading-title,
	.elementor-editor-active .sga-process-card-title .elementor-heading-title,
	.elementor-editor-active .sga-service-title .elementor-heading-title {
		font-size: 23px !important;
	}

	body.sga-landingpage .sga-faq-accordion .elementor-accordion-title,
	body.sga-landingpage .sga-faq-accordion .elementor-tab-title,
	.elementor-editor-active .sga-faq-accordion .elementor-accordion-title,
	.elementor-editor-active .sga-faq-accordion .elementor-tab-title {
		font-size: 18px !important;
	}
}

/* -------------------------------------------------------------------------
 * V2.5.2 – final source-match corrections for the occasion grid and the
 * testimonial card. These are CSS-only safeguards and do not require a new
 * Elementor import.
 * ---------------------------------------------------------------------- */

/* Bewertungsanlässe: restore the source shell, heading grid and exact inner
 * card rhythm. Elementor's generated container CSS had removed the visible
 * card padding and collapsed the intended space between number and title. */
body.sga-landingpage .sga-occasions .sga-inner,
.elementor-editor-active .sga-occasions .sga-inner {
	width: min(1240px, calc(100% - 48px)) !important;
}

body.sga-landingpage .sga-occasions .sga-section-inner,
.elementor-editor-active .sga-occasions .sga-section-inner {
	gap: 0 !important;
}

body.sga-landingpage .sga-occasions .sga-split-heading,
.elementor-editor-active .sga-occasions .sga-split-heading {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr) !important;
	align-items: end !important;
	gap: 80px !important;
	width: 100% !important;
}

body.sga-landingpage .sga-occasions .sga-title-wrap,
body.sga-landingpage .sga-occasions .sga-split-intro,
.elementor-editor-active .sga-occasions .sga-title-wrap,
.elementor-editor-active .sga-occasions .sga-split-intro {
	--width: 100% !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.sga-landingpage .sga-occasions .sga-occasion-grid,
.elementor-editor-active .sga-occasions .sga-occasion-grid {
	margin-top: 58px !important;
}

body.sga-landingpage .sga-occasion-grid > .sga-occasion-card,
body.sga-landingpage .sga-occasion-grid .sga-occasion-card,
.elementor-editor-active .sga-occasion-grid > .sga-occasion-card,
.elementor-editor-active .sga-occasion-grid .sga-occasion-card {
	min-height: 300px !important;
	padding: 30px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	background: rgba(255, 255, 255, .45) !important;
}

body.sga-landingpage .sga-occasion-card .sga-card-number,
body.sga-landingpage .sga-occasion-card .sga-occasion-text,
body.sga-landingpage .sga-occasion-card .sga-card-link,
.elementor-editor-active .sga-occasion-card .sga-card-number,
.elementor-editor-active .sga-occasion-card .sga-occasion-text,
.elementor-editor-active .sga-occasion-card .sga-card-link {
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.sga-landingpage .sga-occasion-card .sga-occasion-title,
.elementor-editor-active .sga-occasion-card .sga-occasion-title {
	width: 100% !important;
	margin: 45px 0 12px !important;
}

body.sga-landingpage .sga-occasion-card .sga-card-link,
.elementor-editor-active .sga-occasion-card .sga-card-link {
	margin-top: auto !important;
	padding-top: 30px !important;
}

body.sga-landingpage .sga-occasions .sga-guidance-banner,
.elementor-editor-active .sga-occasions .sga-guidance-banner {
	margin-top: 34px !important;
}

/* Testimonial: the source aligns stars, quote and author to one vertical
 * axis. Browser blockquote defaults had added an unwanted horizontal indent. */
body.sga-landingpage .sga-personal .sga-inner,
.elementor-editor-active .sga-personal .sga-inner {
	width: min(1240px, calc(100% - 48px)) !important;
}

body.sga-landingpage .sga-personal-card,
.elementor-editor-active .sga-personal-card {
	background: #f7f5f0 !important;
}

body.sga-landingpage .sga-personal-card > .elementor-element:not(.sga-personal-image-wrap),
.elementor-editor-active .sga-personal-card > .elementor-element:not(.sga-personal-image-wrap) {
	width: auto !important;
	margin-left: 38px !important;
	margin-right: 38px !important;
}

body.sga-landingpage .sga-personal-card .sga-stars,
.elementor-editor-active .sga-personal-card .sga-stars {
	margin-top: 34px !important;
}

body.sga-landingpage .sga-personal-card .sga-stars p,
.elementor-editor-active .sga-personal-card .sga-stars p {
	margin: 0 !important;
}

body.sga-landingpage .sga-personal-testimonial,
.elementor-editor-active .sga-personal-testimonial,
body.sga-landingpage .sga-personal-testimonial .elementor-widget-container,
.elementor-editor-active .sga-personal-testimonial .elementor-widget-container {
	padding: 0 !important;
}

body.sga-landingpage .sga-personal-testimonial blockquote,
.elementor-editor-active .sga-personal-testimonial blockquote {
	margin: 22px 0 26px !important;
	padding: 0 !important;
	border: 0 !important;
	text-indent: 0 !important;
}

body.sga-landingpage .sga-testimonial-author,
.elementor-editor-active .sga-testimonial-author {
	margin-top: 0 !important;
	margin-bottom: 38px !important;
}

@media (max-width: 860px) {
	body.sga-landingpage .sga-occasions .sga-split-heading,
	.elementor-editor-active .sga-occasions .sga-split-heading {
		grid-template-columns: 1fr !important;
		gap: 42px !important;
	}
}

@media (max-width: 600px) {
	body.sga-landingpage .sga-occasions .sga-inner,
	body.sga-landingpage .sga-personal .sga-inner,
	.elementor-editor-active .sga-occasions .sga-inner,
	.elementor-editor-active .sga-personal .sga-inner {
		width: min(1240px, calc(100% - 36px)) !important;
	}

	body.sga-landingpage .sga-occasion-grid > .sga-occasion-card,
	body.sga-landingpage .sga-occasion-grid .sga-occasion-card,
	.elementor-editor-active .sga-occasion-grid > .sga-occasion-card,
	.elementor-editor-active .sga-occasion-grid .sga-occasion-card {
		min-height: 250px !important;
		padding: 26px 24px !important;
	}

	body.sga-landingpage .sga-occasion-card .sga-occasion-title,
	.elementor-editor-active .sga-occasion-card .sga-occasion-title {
		margin-top: 34px !important;
	}

	body.sga-landingpage .sga-personal-card > .elementor-element:not(.sga-personal-image-wrap),
	.elementor-editor-active .sga-personal-card > .elementor-element:not(.sga-personal-image-wrap) {
		margin-left: 24px !important;
		margin-right: 24px !important;
	}

	body.sga-landingpage .sga-personal-card .sga-stars,
	.elementor-editor-active .sga-personal-card .sga-stars {
		margin-top: 30px !important;
	}

	body.sga-landingpage .sga-testimonial-author,
	.elementor-editor-active .sga-testimonial-author {
		margin-bottom: 30px !important;
	}
}

/* V2.5.2 precision layer: remaining source typography and spacing values. */
body.sga-landingpage .sga-occasions,
.elementor-editor-active .sga-occasions {
	padding-top: 112px !important;
	padding-bottom: 112px !important;
}

body.sga-landingpage .sga-occasion-card .sga-card-number p,
.elementor-editor-active .sga-occasion-card .sga-card-number p {
	font-family: "Lato", Arial, Helvetica, sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: .14em !important;
	color: #707a7b !important;
}

body.sga-landingpage .sga-occasion-card .sga-card-link .elementor-button,
.elementor-editor-active .sga-occasion-card .sga-card-link .elementor-button {
	width: 100% !important;
	font-size: 13px !important;
	justify-content: space-between !important;
}

body.sga-landingpage .sga-occasion-card .sga-card-link .elementor-button-content-wrapper,
.elementor-editor-active .sga-occasion-card .sga-card-link .elementor-button-content-wrapper {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

body.sga-landingpage .sga-personal-card,
.elementor-editor-active .sga-personal-card {
	box-shadow: 0 24px 70px rgba(6, 26, 42, .18) !important;
}

body.sga-landingpage .sga-personal-image-caption,
.elementor-editor-active .sga-personal-image-caption {
	left: 32px !important;
	right: 32px !important;
	bottom: 26px !important;
	gap: 4px !important;
}

body.sga-landingpage .sga-personal-card .sga-stars,
.elementor-editor-active .sga-personal-card .sga-stars {
	margin-bottom: 0 !important;
	padding: 0 !important;
}

body.sga-landingpage .sga-personal-card .sga-stars .elementor-widget-container,
body.sga-landingpage .sga-personal-card .sga-stars p,
.elementor-editor-active .sga-personal-card .sga-stars .elementor-widget-container,
.elementor-editor-active .sga-personal-card .sga-stars p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
}

body.sga-landingpage .sga-testimonial-author .elementor-widget-container,
body.sga-landingpage .sga-testimonial-author p,
.elementor-editor-active .sga-testimonial-author .elementor-widget-container,
.elementor-editor-active .sga-testimonial-author p {
	margin: 0 !important;
	padding: 0 !important;
	font-family: "Lato", Arial, Helvetica, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
}

body.sga-landingpage .sga-testimonial-author strong,
body.sga-landingpage .sga-testimonial-author span,
.elementor-editor-active .sga-testimonial-author strong,
.elementor-editor-active .sga-testimonial-author span {
	display: block !important;
}

body.sga-landingpage .sga-testimonial-author span,
.elementor-editor-active .sga-testimonial-author span {
	margin-top: 4px !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	color: #707a7b !important;
}

@media (max-width: 600px) {
	body.sga-landingpage .sga-occasions,
	.elementor-editor-active .sga-occasions {
		padding-top: 66px !important;
		padding-bottom: 66px !important;
	}
}

/* V2.5.3: restrained official DEKRA D3 trust proof in the personal section. */
body.sga-landingpage .sga-personal-dekra-proof,
.elementor-editor-active .sga-personal-dekra-proof {
	max-width: 590px;
	align-items: center !important;
	gap: 20px !important;
	padding: 16px 20px !important;
	border: 1px solid rgba(255, 255, 255, .18);
	background: rgba(11, 30, 48, .20);
}

body.sga-landingpage .sga-personal-dekra-seal,
.elementor-editor-active .sga-personal-dekra-seal {
	width: 76px !important;
	min-width: 76px !important;
	max-width: 76px !important;
	flex: 0 0 76px !important;
}

body.sga-landingpage .sga-personal-dekra-seal .elementor-widget-container,
body.sga-landingpage .sga-personal-dekra-seal a,
body.sga-landingpage .sga-personal-dekra-seal img,
.elementor-editor-active .sga-personal-dekra-seal .elementor-widget-container,
.elementor-editor-active .sga-personal-dekra-seal a,
.elementor-editor-active .sga-personal-dekra-seal img {
	display: block;
	width: 100% !important;
	height: auto !important;
}

body.sga-landingpage .sga-personal-dekra-copy,
.elementor-editor-active .sga-personal-dekra-copy {
	min-width: 0;
	gap: 5px !important;
}

body.sga-landingpage .sga-personal-dekra-eyebrow p,
.elementor-editor-active .sga-personal-dekra-eyebrow p {
	margin: 0 !important;
	font-family: "Lato", Arial, Helvetica, sans-serif !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: .14em !important;
	color: rgba(255, 255, 255, .66) !important;
}

body.sga-landingpage .sga-personal-dekra-title .elementor-heading-title,
.elementor-editor-active .sga-personal-dekra-title .elementor-heading-title {
	margin: 0 !important;
	font-family: "Lato", Arial, Helvetica, sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.28 !important;
	color: #ffffff !important;
}

body.sga-landingpage .sga-personal-dekra-text p,
.elementor-editor-active .sga-personal-dekra-text p {
	margin: 0 !important;
	font-family: "Lora", Georgia, serif !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	color: rgba(255, 255, 255, .76) !important;
}

@media (max-width: 600px) {
	body.sga-landingpage .sga-personal-dekra-proof,
	.elementor-editor-active .sga-personal-dekra-proof {
		gap: 14px !important;
		padding: 14px 15px !important;
	}

	body.sga-landingpage .sga-personal-dekra-seal,
	.elementor-editor-active .sga-personal-dekra-seal {
		width: 62px !important;
		min-width: 62px !important;
		max-width: 62px !important;
		flex-basis: 62px !important;
	}

	body.sga-landingpage .sga-personal-dekra-title .elementor-heading-title,
	.elementor-editor-active .sga-personal-dekra-title .elementor-heading-title {
		font-size: 14px !important;
	}
}
