body {
  --font-base: var(--font-condensed);
  font-family: var(--font-base);
  font-size: var(--text-size-base);
  line-height: var(--leading);
  background: var(--color-global-bg);
  color: var(--color-global-text);
}

/* copy */
strong {
	font-weight: var(--font-weight-bold);
}
p {
	/*
	  word-wrap: break-word;
  overflow-wrap: break-word;
*/
-webkit-hyphens: auto;
   -moz-hyphens: auto;
        hyphens: auto;

	-webkit-hyphenate-limit-before: 2; /* For Safari */
  -webkit-hyphenate-limit-after: 2; /* For Safari */
  -ms-hyphenate-limit-chars: auto;
  hyphenate-limit-chars: auto;
}
.tpl-contact p {
	hyphens: unset;
}

/* headlines */
h1, 
h2, 
.teaser h3 {
	font-family: var(--font-wide);
	font-weight: 100;
	word-spacing: 100vw;
	font-size: var(--text-size-headline);
	letter-spacing: 1px;
}
@media screen and (max-width: 29.938em) {
  h1, 
  h2, 
  .teaser h3 {
  	--text-size-headline: 11vw;
  }
}
h3, 
h4 {
  font-size: var(--text-size-base);
  line-height: var(--leading);
}
.teaser h3 {
	--leading: 1.1;
}
.copy h2/*
.tpl-product h2,
.tpl-service h2*/ {
	--flow-space: 3em;
	font-family: var(--font-condensed);
	font-weight: bold;
	word-spacing: normal;
	font-size: var(--text-size-base);
	letter-spacing: unset;
}
.tpl-service main h1 {
	margin-block-start: var(--flow-space);
}

.tpl-service main h3 {
	--flow-space: 2em;
}  
.tpl-service main h4 + p {
	--flow-space: 0;
}

/* navigation */
nav {
	font-family: var(--font-standard);
}
nav ul {
  font-size: var(--text-size-navigation);
}
@media screen and (max-width: 47.938em) {
  nav ul {
  	/*font-family: var(--font-condensed);*/
	font-family: var(--font-wide);
  	color: var(--color-dark);
	/*font-weight: var(--font-weight-bold);*/
  }
}
@media screen and (max-width: 47.938em) and (orientation: portrait) {
  nav ul {
  	--text-size-navigation: 4.5vh;
  }
}
@media screen and (max-width: 47.938em) and (orientation: landscape) {
  nav ul {
  	--text-size-navigation: 4.5vw;
  }
}

/* gallery */
figcaption > * {
  font-size: var(--text-size-figcaption);
}
@media screen and (min-width: 48em) {
	figcaption > * {
	  line-height: 1.3;
	}
}

/* links */
a {
  text-decoration: none;
}
main p a,
a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
main p a:hover,
a[aria-current="page"]:hover {
  text-decoration-color: #fff;
}
main .teaser p a {
	text-decoration: none;
}
/*
main:not(:has(.teaser)) p a,
a[aria-current="page"] {
  text-decoration: underline solid currentColor 1px;
  text-underline-offset: 3px;
}
main:not(:has(.teaser)) p a:hover,
a[aria-current="page"]:hover {
  text-decoration: underline solid #fff 1px;
}
*/

/* Footer */
footer {
  font-size: var(--text-size-navigation);
}
.footer > * > *:first-child {
	font-weight: var(--font-weight-bold);
}
.footer > * > *:last-child {
	color: var(--color-dark);
	font-weight: var(--font-weight-bold);
	font-style: italic;
}

/* color */

.teaser,
.tpl-product main,
.tpl-article main {
	color: var(--color-primary-shade);
}
/* ORIG
.teaser h3 a,
.teaser p,
.tpl-product article > h1,
.tpl-product article > h2,
.tpl-product article > p {
	color: var(--color-primary-shade);
}
.tpl-article *:where(h1, h2, p, td) {
	color: var(--color-person-shade);
}
*/
.tpl-location main {
	color: var(--color-dark);
}
.tpl-location main .location-stuttgart {
	--color-dark: var(--color-stuttgart-shade);
}
.tpl-location main .location-holzgerlingen {
	--color-dark: var(--color-holzgerlingen-shade);
}
/* ORIG
.location *:where(h1, h2, p) {
	color: var(--color-dark);
}
.location-stuttgart *:where(h1, h2, p) {
	color: var(--color-stuttgart-shade);
}
.location-holzgerlingen *:where(h1, h2, p) {
	color: var(--color-holzgerlingen-shade);
}
*/