@font-face{font-family:"Helvetica Neue LT Std";src:url("../fonts/HelveticaNeueLTStd-Thin.otf") format("opentype");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue LT Std";src:url("../fonts/HelveticaNeueLTStd-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue LT Std";src:url("../fonts/HelveticaNeueLTStd-Roman.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue LT Std";src:url("../fonts/HelveticaNeueLTStd-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue LT Std";src:url("../fonts/HelveticaNeueLTStd-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}

:root {
	--color-white: #ffffff;
	--color-bg: #ffffff;
	--color-bg-alt: #ECEEF1;
	--color-nav: #D9DDE3;
	--color-dark: #727F92;
	--color-footer: #596371;
	--color-accent: #AD2226;
	--color-accent-hover: #8c1b1e;
	--color-accent-active: #701618;
	--color-accent-subtle: #f4e0e0;
	--color-fg: #1a1a1c;
	--color-fg-secondary: #5f6a7a;
	--color-fg-muted: #8b93a0;
	--color-fg-on-accent: #ffffff;
	--color-fg-on-footer: #f4f5f7;
	--color-fg-on-footer-muted: #aeb5c0;
	--color-border: #dde1e7;
	--color-border-strong: #c3c9d1;
	--surface-card: #ffffff;
	--font-base: "Helvetica Neue LT Std",Helvetica,Arial,sans-serif;
	--radius-sm: 2px;
	--radius-md: 4px;
	--radius-lg: 8px;
	--container-max: 1200px;
	--shadow-md: 0 4px 16px rgba(20,22,26,.08);
	--bs-body-font-family: var(--font-base);
	--bs-body-color: var(--color-fg);
	--bs-body-bg: var(--color-bg);
	--bs-link-color: var(--color-accent);
	--bs-link-hover-color: var(--color-accent-hover);
	--bs-nav-link-color: var(--color-fg);
	--bs-border-color: var(--color-border);
	--bs-border-radius: var(--radius-md);
}


html {
	-webkit-font-smoothing: antialiased;
	scroll-behavior: smooth;
}





body { 
	font-size: 16px;
	font-weight: 300;
}

h1, h2, h3, h4 {
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.1;
	margin: 0;
}

p {
	margin: 0;
}
ul {
	font-size: clamp(1rem, 0.9618rem + 0.1912vw, 1.125rem);

}
a { text-decoration: none; }

img,svg {
	display: block;
	max-width: 100%;
}

.container-gpa {
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

.gpa-section { padding: 80px 0; }
.gpa-section-sub { padding: 0; 
background: var(--color-dark);
}

.eyebrow {
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--color-accent);
	display: block;
}

.section-title {
	font-size: 2.25rem;
	margin-top: 12px;
}

@media (min-width:992px) {
	.section-title { font-size: 2.5rem; }
}

.section-desc {
	margin-top: 16px;
	color: var(--color-fg-secondary);
	font-size: clamp(1rem, 0.8853rem + 0.5736vw, 1.375rem) !important;
	font-weight: 300;
	line-height: 1.4;
	max-width: 640px;
}

/* Mobilenenu */
@media (max-width:991.98px) {
	:root{--mm-ocd-width:80%;--mm-ocd-min-width:200px;--mm-ocd-max-width:440px}body.mm-ocd-opened{overflow-y:hidden;-ms-scroll-chaining:none;overscroll-behavior:none}.mm-ocd{position:fixed;top:0;right:0;bottom:100%;left:0;z-index:9999;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:contain;background:rgba(0,0,0,0);-webkit-transition-property:bottom,background-color;-o-transition-property:bottom,background-color;transition-property:bottom,background-color;-webkit-transition-duration:0s,.3s;-o-transition-duration:0s,.3s;transition-duration:0s,.3s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-delay:.45s,.15s;-o-transition-delay:.45s,.15s;transition-delay:.45s,.15s}.mm-ocd--open{bottom:0;background:rgba(0,0,0,.25);-webkit-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s}.mm-ocd__content{position:absolute;top:0;bottom:0;z-index:2;width:var(--mm-ocd-width);min-width:var(--mm-ocd-min-width);max-width:var(--mm-ocd-max-width);background:#fff;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.mm-ocd--left .mm-ocd__content{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mm-ocd--right .mm-ocd__content{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mm-ocd--open .mm-ocd__content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mm-ocd__backdrop{position:absolute;top:0;bottom:0;z-index:3;width:clamp(calc(100% - var(--mm-ocd-max-width)),calc(100% - var(--mm-ocd-width)),calc(100% - var(--mm-ocd-min-width)));background:rgba(3,2,1,0)}.mm-ocd--left .mm-ocd__backdrop{right:0}.mm-ocd--right .mm-ocd__backdrop{left:0}.mm-spn,.mm-spn a,.mm-spn li,.mm-spn span,.mm-spn ul{display:block;padding:0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}:root{--mm-spn-item-height:50px;--mm-spn-item-indent:20px;--mm-spn-line-height:24px;--mm-spn-panel-offset:30%}.mm-spn{width:100%;height:100%;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;overflow:hidden;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.mm-spn ul{-webkit-overflow-scrolling:touch;position:fixed;top:0;left:100%;bottom:0;z-index:2;width:calc(100% + var(--mm-spn-panel-offset));padding-right:var(--mm-spn-panel-offset);line-height:var(--mm-spn-line-height);overflow:visible;overflow-y:auto;background:inherit;-webkit-transition:left .3s ease 0s;-o-transition:left .3s ease 0s;transition:left .3s ease 0s;cursor:default}.mm-spn ul:after{content:"";display:block;height:var(--mm-spn-item-height)}.mm-spn>ul{left:0}.mm-spn ul.mm-spn--open{left:0}.mm-spn ul.mm-spn--parent{left:calc(-1 * var(--mm-spn-panel-offset));overflow:visible}.mm-spn li{position:relative;background:inherit;cursor:pointer}.mm-spn li:before{content:"";display:block;position:absolute;top:calc(var(--mm-spn-item-height)/ 2);right:calc(var(--mm-spn-item-height)/ 2);z-index:0;width:10px;height:10px;border-top:2px solid;border-right:2px solid;-webkit-transform:rotate(45deg) translate(0,-50%);-ms-transform:rotate(45deg) translate(0,-50%);transform:rotate(45deg) translate(0,-50%);opacity:.4}.mm-spn li:after{content:"";display:block;margin-left:var(--mm-spn-item-indent);border-top:1px solid;opacity:.15}.mm-spn a,.mm-spn span{position:relative;z-index:1;padding:calc((var(--mm-spn-item-height) - var(--mm-spn-line-height))/ 2) var(--mm-spn-item-indent)}.mm-spn a{background:inherit;color:inherit;text-decoration:none}.mm-spn a:not(:last-child){width:calc(100% - var(--mm-spn-item-height))}.mm-spn a:not(:last-child):after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;border-right:1px solid;opacity:.15}.mm-spn span{background:0 0}.mm-spn.mm-spn--navbar{cursor:pointer}.mm-spn.mm-spn--navbar:before{content:"";display:block;position:absolute;top:calc(var(--mm-spn-item-height)/ 2);left:var(--mm-spn-item-indent);width:10px;height:10px;margin-top:2px;border-top:2px solid;border-left:2px solid;-webkit-transform:rotate(-45deg) translate(50%,-50%);-ms-transform:rotate(-45deg) translate(50%,-50%);transform:rotate(-45deg) translate(50%,-50%);opacity:.4}.mm-spn.mm-spn--navbar.mm-spn--main{cursor:default}.mm-spn.mm-spn--navbar.mm-spn--main:before{content:none;display:none}.mm-spn.mm-spn--navbar:after{content:attr(data-mm-spn-title);display:block;position:absolute;top:0;left:0;right:0;height:var(--mm-spn-item-height);padding:0 calc(var(--mm-spn-item-indent) * 2);line-height:var(--mm-spn-item-height);opacity:.4;text-align:center;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.mm-spn.mm-spn--navbar.mm-spn--main:after{padding-left:var(--mm-spn-item-indent)}.mm-spn.mm-spn--navbar ul{top:calc(var(--mm-spn-item-height) + 1px)}.mm-spn.mm-spn--navbar ul:before{content:"";display:block;position:fixed;top:inherit;z-index:2;width:100%;border-top:1px solid currentColor;opacity:.15}.mm-spn.mm-spn--light{color:#444;background:#f3f3f3}.mm-spn.mm-spn--dark{color:#ddd;background:#333}.mm-spn.mm-spn--vertical{overflow-y:auto}.mm-spn.mm-spn--vertical ul{width:100%;padding-right:0;position:static}.mm-spn.mm-spn--vertical ul ul{display:none;padding-left:var(--mm-spn-item-indent)}.mm-spn.mm-spn--vertical ul ul:after{height:calc(var(--mm-spn-item-height)/ 2)}.mm-spn.mm-spn--vertical ul.mm-spn--open{display:block}.mm-spn.mm-spn--vertical li.mm-spn--open:before{-webkit-transform:rotate(135deg) translate(-50%,0);-ms-transform:rotate(135deg) translate(-50%,0);transform:rotate(135deg) translate(-50%,0)}.mm-spn.mm-spn--vertical ul ul li:last-child:after{content:none;display:none}
	#mobil { display: block !important; }
	.mm-spn.mm-spn--navbar.mm-spn--main:after { text-align: left; }
	.mm-spn.mm-spn--light {
		color: var(--color-fg);
		background: var(--color-bg-alt) !important;
	}
	.mm-spn a { color: var(--color-fg); }
	.mm-spn.mm-spn--navbar ul { top: 0; }
	.mm-spn.mm-spn--navbar.mm-spn--main:after,
	.mm-spn.mm-spn--navbar ul:before { content: none; }
	
	.ham {
	  cursor: pointer;
	  -webkit-tap-highlight-color: transparent;
	  transition: transform 400ms;
	  -moz-user-select: none;
	  -webkit-user-select: none;
	  -ms-user-select: none;
	  user-select: none;
	  margin-top: -10px;
	}
	.hamRotate.active {
	  transform: rotate(45deg);
	}
	.hamRotate180.active {
	  transform: rotate(180deg);
	}
	.line {
	  fill:none;
	  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
	  stroke:#000;
	  stroke-width:4;
	  stroke-linecap:round;
	}
	.ham .top {
	  stroke-dasharray: 40 121;
	}
	.ham .bottom {
	  stroke-dasharray: 40 121;
	}
	.ham.active .top {
	  stroke-dashoffset: -68px;
	}
	.ham.active .bottom {
	  stroke-dashoffset: -68px;
	}
} 

/* Desktop Menue */
.navbar-gpa {
	background: var(--color-nav);
	border-bottom: 1px solid var(--color-border);
	padding-top: 16px;
	padding-bottom: 16px;
    height:100px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}
.navbar-gpa.shrink {
    height:50px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

.navbar-gpa .navbar-nav {
    padding-top: 12px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
	gap: 4px;
}
.navbar-gpa.shrink .navbar-nav {
    padding-top: 4px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

.navbar-gpa .nav-link {
	color: var(--color-fg);
	font-size: 1rem;
	padding: 10px 0;
	line-height: 2rem;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}
.navbar-gpa.shrink .nav-link {
	font-size: .9375rem;
}

@media (min-width:992px) {
	.navbar-gpa .navbar-nav {
		gap: 32px;
		flex-direction: row;
		align-items: center;
	}
	
	.navbar-gpa .nav-link { padding: 0; }
}

.navbar-gpa .nav-link:hover { color: var(--color-accent); }
.navbar-gpa .nav-link.active { color: var(--color-accent); }

.nav-icon-link {
	display: inline-flex;
	align-items: center;
}

.navbar-gpa .navbar-brand {
	margin: 0;
	padding: 0px !important;
}

.navbar-gpa .navbar-brand img {
	height: 40px;
	width: auto;
    max-height: 100px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}
.navbar-gpa.shrink .navbar-brand img {
	height: 28px;
	width: auto;
    max-height: 60px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

.nav-cta {
	margin-top: 16px;
	display: inline-block;
}

@media (min-width:992px) {
	.nav-cta { margin: 0 0 0 8px; }
}

@media (min-width: 992px) {
  body {
    overflow: auto !important;
  }
  .mt-navbar-adjust {
    height: calc(100% - var(--top-navbar-height));
    margin-top: var(--top-navbar-height);
  }
  main {
    margin-left: 270px;
  }
  .offcanvas-backdrop::before {
    display: none;
  }
  .offcanvas {
    transform: none;
    visibility: visible !important;
    transition: none !important;
  }
  .offcanvas-header {
    display: none;
  }
}





.gp-square {
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--color-accent);
	vertical-align: baseline;
	margin-left: 0.1em;
}


@media (max-width:991.98px) {
	#home > .row {
		margin: 0;
		padding: 0;
		--bs-gutter-x: 0;
	}
	#home > .row>* {
		margin: 0;
		padding: 0;
	}
}
@media (min-width:992px) {
	#home > .row {
		--bs-gutter-x: 0;
		min-height: 80vH;
		background-image: url('../../images/hero-graf-pfeil-advisory.png');
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
	}
}

.hero-copy {
	padding: 56px 24px;
	background: var(--color-dark);
}

@media (min-width:992px) {
	.hero-copy {
		padding: 96px 64px;
		background: transparent;
	}
}

.hero-title {
	font-size: clamp(1.125rem, 0.7159rem + 2.0455vw, 2.25rem);
	font-size: clamp(1.125rem, 0.7808rem + 1.7208vw, 2.25rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.1;
	color: #fff;
	font-weight: 300;
}
.hero-title span {
	font-weight: 500;
}
@media (min-width:992px) {
	.hero-title {
		font-size: 2.25rem;
	}
}

.hero-desc {
	margin-top: 24px;
	font-size: 1.1875rem;
	color: var(--color-fg-secondary);
	font-weight: 300;
	line-height: 1.4;
	max-width: 520px;
}

.hero-media {
	min-height: 50vh;
	background-image: url('../../images/hero-graf-pfeil-advisory-mobile.png');
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
/* 	padding: 24px; */
	text-align: center;
}

.hero-media span {
	color: var(--color-fg-secondary);
	font-size: clamp(1rem, 0.9618rem + 0.1912vw, 1.125rem);
}

@media (min-width:992px) {
	.hero-media { display: none; }
}

.btn-gpa-primary {
	background: var(--color-accent);
	border: 1px solid var(--color-accent);
	color: #fff;
	font-weight: 500;
	padding: .75rem 1.5rem .5rem 1.5rem;
	border-radius: var(--radius-sm);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.btn-gpa-primary svg {
	margin-bottom: 0.15rem;
}

.btn-gpa-primary:hover {
	background: var(--color-accent-hover);
	border-color: var(--color-accent-hover);
	color: #fff;
}

.btn-gpa-secondary {
	background: transparent;
	border: 1px solid var(--color-border-strong);
	color: var(--color-fg);
	font-weight: 500;
	padding: .75rem 1.5rem .5rem 1.5rem;
	border-radius: var(--radius-sm);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.btn-gpa-secondary:hover {
	border-color: var(--color-fg);
	color: var(--color-fg);
}

#kontakt-cta .btn-gpa-primary {
	margin-top: 16px;
	border: 2px solid var(--color-accent) !important;
	color: #fff !important;
	background: transparent;
}
#kontakt-cta .btn-gpa-primary::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'%3E%3C/path%3E%3C/svg%3E") !important;
}
#kontakt-cta .btn-gpa-primary:hover {
	background: var(--color-accent);
}


.gpa-card {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--surface-card);
	height: 100%;
}

.gpa-card .card-body { padding: 28px; }

.gpa-card-num {
	color: var(--color-accent);
	font-weight: 500;
	font-size: .8125rem;
	letter-spacing: .08em;
}

.gpa-card-title {
	margin-top: 12px;
	font-size: 1.1875rem;
	font-weight: 500;
}

.gpa-card-text {
	margin-top: 8px;
	color: var(--color-fg-secondary);
	font-size: clamp(1rem, 0.9618rem + 0.1912vw, 1.125rem);
	line-height: 1.3;
}

.gpa-card-link {
	margin-top: 16px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--color-fg);
	font-size: clamp(1rem, 0.9618rem + 0.1912vw, 1.125rem);
	font-weight: 500;
}

a.gpa-card {
	display: block;
	text-decoration: none;
	transition: box-shadow .2s,border-color .2s;
}

a.gpa-card:hover {
	box-shadow: var(--shadow-md);
	border-color: var(--color-border-strong);
}

.accordion-button {
    color: var(--color-fg);
	font-weight: 500;
	font-size: 1.25rem;
	padding: 1rem 1.25rem 0.5rem 1.25rem;
}

.accordion-button:not(.collapsed) {
    color: var(--color-fg);
    background-color: var(--color-nav);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-body {
	color: var(--color-fg-secondary);
}
.accordion-body strong {
	color: var(--color-fg);
	margin-top: 14px;
	font-size: 1.0625rem;
	font-weight: 500;
}


.icon-list-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--color-border);
}

.icon-list-item .icon-wrap {
	flex: 0 0 auto;
	color: var(--color-accent);
}

.team-avatar {
	aspect-ratio: 1;
	background: var(--color-bg-alt);
	border-radius: var(--radius-md);
}

.team-name {
	margin-top: 16px;
	font-weight: 500;
	font-size: 1.0625rem;
}

.team-role {
	color: var(--color-fg-secondary);
	font-size: .875rem;
	margin-top: 2px;
}

.gpa-badge {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px 3px 12px;
	border-radius: 999px;
	background: var(--color-accent);
	color: var(--color-white);
	font-size: .8125rem;
	font-weight: 500;
}

.footer-gpa {
	background: var(--color-footer);
	color: var(--color-fg-on-footer);
	padding: 64px 0 32px;
}

.footer-gpa a {
	color: var(--color-fg-on-footer);
	text-decoration: none;
}
.footer-gpa a:hover { color: #fff; }

.footer-gpa .footer-heading {
	font-size: .8125rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--color-fg-on-footer-muted);
	margin-bottom: 12px;
}

.footer-gpa .footer-content,
.footer-gpa ul.footer-content {
	font-size: .9375rem;
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0px;
}
.footer-gpa .col-6.col-md-3 ul {
	width: fit-content;
	float: right;
}
.footer-gpa .col-6.col-md-3 .footer-heading {
	padding-right: 44px;
}
.footer-gpa .col-6.col-md-3 ul li {
	text-align: left;
}

.footer-bottom {
	font-size: 0.6875rem;
	border-top: 1px solid rgba(255,255,255,.15);
	margin-top: 48px;
	padding-top: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	color: var(--color-fg-on-footer-muted);
	font-size: .8125rem;
}

.section-dark { background: var(--color-dark); }
.section-dark .section-title,.section-dark p { color: #fff; }
.section-dark .section-desc { color: rgba(255,255,255,.75); }
.section-dark .eyebrow { color: #fff; }

.plain-card {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--surface-card);
	padding: 28px;
	height: 100%;
}

.plain-card-num {
	color: var(--color-accent);
	font-weight: 700;
	font-size: 2.25rem;
	line-height: 1;
	letter-spacing: -0.02em;
}

.plain-card-title {
	margin-top: 14px;
	font-size: 1.0625rem;
	font-weight: 500;
}

.plain-card-text {
	margin-top: 10px;
	color: var(--color-fg-secondary);
	font-size: 1.0625rem
	line-height: 1.3;
}

.footer-gpa .footer-contact {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: .9375rem;
}

.leistung-group-title {
	font-size: 1.0625rem;
	font-weight: 500;
}

.leistung-list {
	margin-top: 10px;
	padding-left: 18px;
	color: var(--color-fg-secondary);
	font-size: 1.0625rem;
	line-height: 1.3;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .875rem;
	color: var(--color-fg-secondary);
}

.back-link svg { transform: rotate(180deg); }
.back-link:hover { color: var(--color-fg); }


/* ============================================================
   V2 — alternative Gestaltung: Schmuckelemente
   Farben, Schrift, Seitenaufteilung und Texte unverändert.
   ============================================================ */

.gpa-section { padding: 104px 0; }

/* Hero -------------------------------------------------- */
#home .hero-copy { position: relative; width: 100%; }
#home .hero-copy .hero-edge {
	position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
	background: var(--color-accent);
}
.hero-rule {
	display: block; width: 56px; height: 2px;
	background: var(--color-accent); margin-bottom: 28px;
}
.hero-marks { display: none; }

@media (min-width:992px) {
	#home .hero-copy {
		background: linear-gradient(90deg, rgba(89,99,113,.94) 0%, rgba(114,127,146,.88) 78%, rgba(114,127,146,0) 100%);
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
	}
	.hero-rule { margin-bottom: 36px; }
	.hero-marks {
		display: flex; gap: 6px;
		position: absolute; left: 64px; bottom: 40px;
	}
	.hero-marks i { display: block; width: 8px; height: 8px; }
	.hero-marks i:first-child { background: var(--color-accent); }
	.hero-marks i:last-child { background: rgba(255,255,255,.55); }
	#home { position: relative; }
}

/* Sektionskopf mit römischer Nummerierung --------------- */
.sec-head {
/* 	border-top: 1px solid var(--color-fg); */
/* 	padding-top: 28px; */
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 24px;
	align-items: start;
}
.sec-num {
	/* padding-top: 8px; */
	font-size: 20px;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: .2em;
	color: var(--color-accent);
	line-height: 1.1;
}
.sec-head .section-title { margin-top: 0; }
.sec-head .section-desc { max-width: 760px; }

@media (max-width:767.98px) {
	.gpa-section { padding: 64px 0; }
	.sec-head { grid-template-columns: 1fr; gap: 12px; }
	.sec-num { padding-top: 0; }
}

/* Aufzählung mit Quadrat-Marker ------------------------- */
.rule-list {
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
	max-width: 820px;
	border-top: 1px solid var(--color-border);
	font-size: 1rem;
}
.rule-list li {
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 16px;
	align-items: start;
	padding: 20px 0;
	border-bottom: 1px solid var(--color-border);
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1.45;
	color: var(--color-fg);
	text-wrap: pretty;
}
.rule-list li::before {
	content: "";
	display: block;
	width: 8px; height: 8px;
	background: var(--color-accent);
	margin-top: .55em;
}

/* Offenes Rasternetz statt Karten ----------------------- */
.net-grid {
	margin-top: 64px;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1px;
	background: var(--color-border-strong);
	border: 1px solid var(--color-border-strong);
}
.net-cell {
	background: var(--color-bg-alt);
	padding: 36px 32px 40px;
	transition: background .18s ease;
}
.net-cell:hover { background: var(--color-white); }
.net-num {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.net-num span {
	font-size: 2.75rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--color-accent);
}
.net-num i {
	display: block;
	width: 8px; height: 8px;
	background: var(--color-accent);
}
.net-title {
	margin-top: 24px;
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.005em;
}
.net-text {
	margin-top: 12px;
	font-size: 1.0625rem;
	font-weight: 300;
	line-height: 1.4;
	color: var(--color-fg-secondary);
	text-wrap: pretty;
}

@media (max-width:991.98px) { .net-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width:575.98px) { .net-grid { grid-template-columns: 1fr; } }

/* Leistungsspalten -------------------------------------- */
.svc-grid {
	margin-top: 64px;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 40px;
}
.svc-rule { display: block; width: 32px; height: 2px; background: var(--color-accent); }
.svc-grid .leistung-group-title { margin-top: 20px; letter-spacing: -.005em; }
.svc-grid .leistung-list {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	border-top: 1px solid var(--color-border);
	gap: 0;
}
.svc-grid .leistung-list li {
	padding: 14px 0;
	border-bottom: 1px solid var(--color-border);
	line-height: 1.35;
	text-wrap: pretty;
}

@media (max-width:991.98px) { .svc-grid { grid-template-columns: repeat(2,1fr); gap: 32px; } }
@media (max-width:575.98px) { .svc-grid { grid-template-columns: 1fr; } }

/* Zitatrahmen mit Eckwinkeln ---------------------------- */
.quote-frame {
	margin-top: 36px;
	position: relative;
	padding: 44px 48px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
}
/* 
.quote-frame::before,
.quote-frame::after {
	content: "";
	position: absolute;
	width: 22px; height: 22px;
}
.quote-frame::before {
	left: -1px; top: -1px;
	border-left: 2px solid var(--color-accent);
	border-top: 2px solid var(--color-accent);
}
.quote-frame::after {
	right: -1px; bottom: -1px;
	border-right: 2px solid var(--color-accent);
	border-bottom: 2px solid var(--color-accent);
}
 */
.quote-frame p { max-width: 70ch; }

@media (max-width:575.98px) { .quote-frame { padding: 32px 24px; } }

/* Kontakt-Sektion --------------------------------------- */
#kontakt.section-dark { position: relative; padding: 120px 0; }
#kontakt.section-dark::before {
	content: "";
	position: absolute; left: 0; right: 0; top: 0;
	height: 2px; background: var(--color-accent);
}
.cta-marks {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-bottom: 28px;
}
.cta-marks em { display: block; width: 44px; height: 1px; background: rgba(255,255,255,.45); }
.cta-marks i { display: block; width: 8px; height: 8px; background: var(--color-accent); }
#kontakt .section-title { max-width: 22ch; margin: 0 auto; font-weight: 300; }
#kontakt .section-desc { max-width: 62ch; }

/* Buttons ----------------------------------------------- */
.btn-gpa-primary,
.btn-gpa-secondary {
	font-size: 15px;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.btn-gpa-secondary svg { stroke: var(--color-accent); }

/* Footer ------------------------------------------------ */
.footer-gpa .footer-heading {
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255,255,255,.18);
	letter-spacing: .2em;
	font-size: 11px;
}
.footer-claim {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-size: 11px;
	color: var(--color-fg-on-footer);
}
.footer-claim i { display: block; margin: 4px 0 0 -6px; width: 3px; height: 3px; background: var(--color-accent); }
