/* Header */

.site-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 99999;
    block-size: 70px;
    padding-block: 10px;
    background: var(--c-paper);
    border-bottom: var(--b-thin) var(--c-ink-1);
    box-shadow: 0 8px 30px -22px #1b1a1c66;
}

.site-header__content {
    inline-size: 100%;
    block-size: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Logo */

.logo--mobile {
    block-size: 50px;
    inline-size: auto;
}

/* Hero */

.hero--home {
    position: relative;
    inline-size: 100%;
    min-block-size: 100dvh;
    overflow: hidden;
}

.hero__media {
    position: absolute;
    inset: 0;
}

.hero__image {
    object-fit: cover;
    object-position: center;
    will-change: transform;
    inline-size: 100%;
    block-size: 100%;
    position: absolute;
    inset: 0;
    transform: scale(1);
}

.hero__scrim {
    background:
        linear-gradient(#0000 22%,
            #1413143b 45%,
            #141314c0 74%,
            #141314ff 100%),
        linear-gradient(90deg,
            #141314f7 0%,
            #14131463 45%,
            #0000 80%);
    position: absolute;
    inset: 0;
}

.hero__content {
    z-index: 2;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 30px;
    display: flex;
    position: absolute;
    inset: 0;
}

.hero__display {
    color: var(--c-paper);
}

.hero__text {
    font: var(--font-intro);
    color: var(--c-paper-muted);
    margin-block-end: calc(var(--spacing) * 10);
}

.hero__languages {
    font: var(--font-small);
    color: var(--c-paper-muted);
    margin-block-start: calc(var(--spacing) * 8);
}

.hero__languages-list {
    color: var(--c-paper);
}

@media (min-width: 768px){
	
	.hero__content {
		padding-bottom: clamp(.25rem, 7vh, 5.5rem);
	}
	.hero__body {
		max-inline-size: 42rem;
	}
	.hero__header--about,
	.hero__header--contact {
		max-width: 42rem;
	}
}


@media (min-width: 1024px){
	.hero__header--services {
		display: flex;
		flex-direction: row;
		gap: calc(var(--spacing) * 16);
	}

	.hero__header--services > div {
		flex: 1;
		min-width: 0;
	}
	

}

/* Info Bar */

.info-bar {
    padding-block: calc(var(--spacing) * 7);
}

.info-bar__content {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: .5rem;
}

.info-bar__text {
    font: var(--font-caption);
    text-transform: uppercase;
    color: color-mix(in oklab, var(--c-ink) 80%, transparent);
    letter-spacing: .2em;
}

@media (min-width: 768px){
	.info-bar__content {
		flex-direction: row;
		gap: 1rem;
	}
}

/* Claim */

.claim__content {
    text-align: center;
    width: 100%;
    max-width: 58rem;
    padding-inline: var(--spacing-inline);
    margin-inline: auto;
}

.claim__text {
    font: var(--font-headline);
    line-height: 1.25;
    color: var(--c-ink);
}

.claim__caption {
	margin-block-start: calc(var(--spacing) * 8);
	margin-block-end: calc(var(--spacing) * 12);
	color: var(--c-paper-muted);
}

.process_header {
	text-align: center;
}

/* expertise */

@media (min-width: 768px){
	
	.expertise__header {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-content: flex-end;
	}
	
	.expertise__link {
		align-self: flex-end;
	}
}

/* Partners */

.partners {
    margin-block-start: calc(var(--spacing) * 8);
    padding-block-start: calc(var(--spacing) * 8);
    border-top: var(--b-thin) var(--b-color-1);
}

.partners__title {
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: calc(var(--spacing) * 4);
}

.partners__media {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 4);
}

.partners__item {
    padding: calc(var(--spacing) * 3) calc(var(--spacing) * 6);
    background-color: var(--c-paper);
    border: var(--b-thin) var(--b-color-1);
    border-radius: 3px;
}

.partners__img {
    height: calc(var(--spacing) * 11);
    width: auto;
}


/* About */

.about__body {
	padding-block-end: calc(var(--spacing) * 8);
}

.about__aside {
	position: relative;
	z-index: 1;
	background: var(--c-accent-1);
	padding: calc(var(--spacing) * 9);
}

.about__aside::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.1;
  background-image: url('../img/bg-logo.svg');
  background-size: calc(var(--spacing) * 45);
  background-position: right calc(var(--spacing) * -4) top calc(var(--spacing) * 0);
  background-repeat: no-repeat;
}

.description__term {
	font: var(--font-text);
	font-family: var(--ff-serif);
	color: var(--c-accent-2);
}

.description__details {
	font: var(--font-intro);
	color: var(--c-paper);
}

.about__diamond {
	margin-block: calc(var(--spacing) * 6);
}

@media (min-width: 1024px){
	.section__content {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}

	.section__header {
		width: 35%;
		hyphens: auto;
		overflow-wrap: break-word;
	}
	.section__body {width: 60%;}
	
	.about__content {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
	
	.about__body {width: 56%;}
.about__aside {width: 40%;}
	
	
}










/* Footer */

.site-footer {
    background: var(--c-ink);
    padding-block: calc(var(--spacing) * 20) calc(var(--spacing) * 10);
    font: var(--font-small);
    color: var(--c-paper-muted);
}

.site-footer__content {
    display: grid;
    gap: calc(var(--spacing) * 12);
}

.site-footer__logo {
    block-size: calc(var(--spacing) * 40);
    margin-block-end: calc(var(--spacing) * 6);
}

.site-footer__title {
    font: var(--font-lead);
    font-family: var(--ff-serif);
    color: var(--c-accent-2);
    margin-block-end: calc(var(--spacing) * 2);

}

.site-footer__address {
    display: grid;
    gap: calc(var(--spacing) * 2);
}

.site-footer__label {
    display: inline-block;
    width: 60px;
}

.footer__nav li>a:hover {
    color: var(--c-accent-2);
}

.site-footer__link {
    transition: transform .5s var(--ease-out-soft);
}

.site-footer__link:hover {
    color: var(--c-accent-2);
}




.footer__nav li {
	display: flex;
	margin-block-end: calc(var(--spacing) * 2);
}

.footer__nav a {
	display: inline-flex;
	align-items: center;
}

.footer__nav a::before {
	content: "\e800";
	font-family: var(--ff-brand);
	font-weight: bold;
	color: var(--c-accent-2);
	font-size: 0.35rem;
	display: inline-block;
	transform: rotate(45deg);
	margin-inline-end: 0.5rem;
}


/* Meta */

.meta__content {
    padding-block-start: calc(var(--spacing) * 8);
    display: flex;
    justify-content: space-between;
    align-content: center;
}

.developer {
    color: var(--developer);
    transition: transform .5s var(--ease-out-soft);
}

.developer:hover {
    color: var(--c-accent-2);
}

@media (min-width: 768px){
	
	.site-footer__content {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
	}

	.site-footer__brand--full {
		grid-column: 1 / -1;
	}
	
	.site-footer__brand-content {
		max-width: 400px;
		margin-inline: auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		padding-block-end: 4rem;	
	}

}








/* Contact */

.grid--contact {
  display: grid;
  grid-template-columns: 1fr;	
	border: var(--b-thin) var(--b-color-1);
}


@media (min-width: 1024px){
	.contact__content {
		display: flex;
    flex-direction: column;
    gap: 2rem;
	}
	.contact__content > div {
		width: 100%;
    min-width: 0;
	}

	.contact__content {
		display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
	}
	
	.contact__content > div:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .contact__content > div:nth-child(2) {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .contact__content > div:nth-child(3) {
        grid-column: 2;
        grid-row: 1;
    }
	

}

.contact__address {
	margin-block-end: calc(var(--spacing) * 6);
}

.contact__label {
	display: inline-block;
	inline-size: 70px;
} 

.contact__email {
	margin-block: calc(var(--spacing) * 3);
}

.contact__email .link {
	text-transform: none !important;
}

.contact__map {
	margin-block: calc(var(--spacing) * 12);
}

.google__map {
	width: 100%;
	height: calc(var(--spacing) * 72);
	border: var(--b-thin) var(--b-color-1) !important;
}

.maplibregl-ctrl-bottom-right {
	display: none !important;
}


/* Contact Form */

.contact__form {
	padding: calc(var(--spacing) * 7);
	background: var(--c-paper-accent-2);
	border: var(--b-thin) var(--b-color-1);
	border-radius: .25rem;
}

.contact__wpform {
	margin-block-start: calc(var(--spacing) * 6);
}


.imprint__content {
	max-inline-size: 680px;
	margin-inline: auto;
}
	
.imprint__text {
	margin-block-end: 1rem;
}

.imprint__link:hover {
	color: var(--c-accent-1);
}

/* Steuer Upload */

.upload_text {
  padding: calc(var(--spacing) * 7);
  border: var(--b-thin) var(--b-color-1);
  border-radius: .25rem;
}

.upload__form {
  padding: calc(var(--spacing) * 7);
  background: var(--c-paper-accent-2);
  border: var(--b-thin) var(--b-color-1);
  border-radius: .25rem;
  margin-block-start: calc(var(--spacing) * 12);
}

.upload__email.link {
  text-transform: none !important;
}

.upload__info {
	margin-block-start: calc(var(--spacing) * 12);
}

.upload__note {
	text-align: center;
}

