/* Foundation */
/* Naming of colors and fonts inspired by Uber Base (https://base.uber.com/6d2425e9f/p/8898fb-color-legacy/b/065744) */
:root {
	/* Color Primitives */
	--color-white: hsla(0, 0%, 100%, 1);
	--color-black: hsla(0, 0%, 0%, 1);
	--color-light_gray: hsla(0, 0%, 97%, 1);

	--color-red: #b4141e;
	--color-red-hover: #b4141e;

	/* Foundation Colors */
	--color-negative: var(--color-red-400);
	--color-warning: var(--color-yellow-400);
	--color-positive: var(--color-green-400);

	/* Core Colors */
	--color-background-primary: var(--color-white);
	--color-background-secondary: var(--color-light_gray);

	--color-content-primary: var(--color-black);
	--color-content-secondary: var(--color-gray-600);
	--color-content-tertiary: var(--color-gray-500);

	--color-border-transparent: color-mix(in hsl, var(--color-black) 8%, transparent);
	--color-border-selected: var(--color-content-primary);
	--color-border-transparent-inverse: color-mix(in hsl, var(--color-white) 8%, transparent);

	/* Shadows */
	--box-shadow: 0 1px 10px -calc(10rem / 16) rgba(0,0,0,0.1),
	              0 1.5px 20px -calc(10rem / 16) rgba(0,0,0,0.1),
	              0 2px 30px -calc(10rem / 16) rgba(0,0,0,0.1);
}
/* montserrat-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100;
  src: url('/assets/fonts/montserrat-v31-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-100italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100;
  src: url('/assets/fonts/montserrat-v31-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  src: url('/assets/fonts/montserrat-v31-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-200italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 200;
  src: url('/assets/fonts/montserrat-v31-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('/assets/fonts/montserrat-v31-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 300;
  src: url('/assets/fonts/montserrat-v31-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: url('/assets/fonts/montserrat-v31-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('/assets/fonts/montserrat-v31-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  src: url('/assets/fonts/montserrat-v31-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('/assets/fonts/montserrat-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  src: url('/assets/fonts/montserrat-v31-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('/assets/fonts/montserrat-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  src: url('/assets/fonts/montserrat-v31-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('/assets/fonts/montserrat-v31-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 800;
  src: url('/assets/fonts/montserrat-v31-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  src: url('/assets/fonts/montserrat-v31-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 900;
  src: url('/assets/fonts/montserrat-v31-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
:root {
	--duration-xsmall: 0s;
	--duration-small: 0s;
	--duration-medium: 0s;
	--duration-large: 0s;
	--duration-xlarge: 0s;
	--duration-rotate-loader: 0s;

	--ease-out: cubic-bezier(0.215, 0.610, 0.275, 1.000);
}
@media (prefers-reduced-motion: no-preference) {
:root {
		--duration-xsmall: 120ms;
		--duration-small: 160ms;
		--duration-medium: 200ms;
		--duration-large: 400ms;
		--duration-xlarge: 550ms;
		--duration-rotate-loader: 1000ms;
}
	}
* {
  box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	font-family: system-ui, sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-text-size-adjust: none;
  	-webkit-text-size-adjust: none;
  	text-size-adjust: none;
}
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}
body {
	min-block-size: 100%;
	min-block-size: 100dvb;
}
dialog {
	margin: auto;
	border: 0;
}
[popover] {
	border: 0;
}
a {
	color: inherit;
	text-underline-offset: 0.2ex;
}
img, picture, svg, video, canvas, audio, iframe, embed, object, summary {
	display: block;
}
img, picture, svg {
	max-inline-size: 100%;
	block-size: auto;
}
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}
iframe, fieldset {
	border: 0;
}
button {
	text-align: start;
}
button, summary {
	border: 0;
	cursor: pointer;
}
label {
	display: block;
}
input,
textarea,
button {
	font: inherit;
	line-height: inherit;
	color: inherit;
	border-radius: 0;
	border-width: 1px;
	border-style: solid;
	background-color: transparent;
}
input[type="date"],
input[type="time"] {
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	/* ::-webkit-calendar-picker-indicator {
		display: none;
	} */
}
input[type="date"]::-webkit-date-and-time-value, input[type="time"]::-webkit-date-and-time-value {
		text-align: inherit;
	}
textarea {
	resize: vertical;
	resize: block;
}
hr {
	border: none;
	border-block-start: 1px solid currentcolor;
	color: inherit;
	block-size: 0;
	overflow: visible;
}
table {
	border-collapse: collapse;
}
nav ul {
	list-style: none;
}
:disabled, [aria-disabled="true"] {
	cursor: not-allowed;
}
:focus-visible {
	outline: 2px solid Highlight;
	outline-offset: 2px;
}
[hidden]:not([hidden="until-found"]) {
	display: none !important;
}
/**
 * Each size should divide by 4.
 */
:root {
	/* Grid */
	--gap-inline: calc(40rem / 16);
	--gap-block: calc(40rem / 16);

	--height-header: 139px;

	/* Sizes */
	--max-width: calc(1600rem / 16);
	--max-width-content: calc(1074rem / 16);
	--max-width-text: calc(680rem / 16);

	/* Border */
	--border-radius-small: calc(4rem / 16);
	--border-radius-medium: calc(5rem / 16);
	--border-radius-large: calc(6rem / 16);

	/* space */
	--space-xxsmall: calc(5rem / 16);
	--space-xsmall: calc(9rem / 16);
	--space-small: calc(12rem / 16);
	--space-medium: calc(16rem / 16);
	--space-large: calc(24rem / 16);
	--space-xlarge: calc(32rem / 16);
	--space-xxlarge: calc(49rem / 16);
	--space-xxxlarge: calc(64rem / 16);
	--space-omega: calc(80rem / 16);
	--space-omega-plus: calc(130rem / 16);

  /* icon sizes */
  	--icon-size-xlarge: calc(180rem / 16);
	--icon-size-large: calc(170rem / 16);
  	--icon-size-medium: calc(112rem / 16);
	

	/* bullet point*/
	--bullet-size: calc(8rem / 16);
	--bullet-size-resume: calc(14rem / 16);

	/* padding */
	--padding-main: 0 12em;

	/* red_line */
	--red-line-size: 3px;
	--red-line: var(--red-line-size) solid var(--color-red);

	/* speciality tile */	
	--tile-size: 21rem;
  	--tile-gap: 2rem;
}
/**
 * Each size should divide by 4.
 */
:root {
	/* Font family */
	--font-family: 'Montserrat', sans-serif;

	/* Font size */
	--font-size-heading-large: calc(53rem / 16);
	--font-size-heading-medium: calc(40rem / 16);
	--font-size-heading-small: calc(30rem / 16);
	--font-size-heading-xsmall: calc(20rem / 16);

	--font-size-label-large: calc(20rem / 16);
	--font-size-label-medium: calc(16rem / 16);
	--font-size-label-small: calc(14rem / 16);
	--font-size-label-xsmall: calc(12rem / 16);

	--font-size-paragraphs-large: calc(20rem / 16);
	--font-size-paragraphs-medium: calc(16rem / 16);
	--font-size-paragraphs-small: calc(14rem / 16);
	--font-size-paragraphs-xsmall: calc(12rem / 16);

	--font-size: var(--font-size-paragraphs-medium);

	/* Line height */
	--line-height-heading-large: calc(67rem / 16);
	--line-height-heading-medium: calc(49rem / 16);
	--line-height-heading-small: calc(36rem / 16);
	--line-height-heading-xsmall: calc(41rem / 16);

	--line-height-label-large: calc(41rem / 16);
	--line-height-label-medium: calc(20rem / 16);
	--line-height-label-small: calc(16rem / 16);
	--line-height-label-xsmall: calc(16rem / 16);

	--line-height-paragraphs-large: calc(41rem / 16);
	--line-height-paragraphs-medium: calc(24rem / 16);
	--line-height-paragraphs-small: calc(14rem / 16);
	--line-height-paragraphs-xsmall: calc(12rem / 16);

	--line-height: var(--line-height-paragraphs-medium);

	/* Font */
	--font-heading-large: 700 var(--font-size-heading-large)/var(--line-height-heading-large) var(--font-family);
	--font-heading-medium: 700 var(--font-size-heading-medium)/var(--line-height-heading-medium) var(--font-family);
	--font-heading-small: 700 var(--font-size-heading-small)/var(--line-height-heading-small) var(--font-family);
	--font-heading-xsmall: 700 var(--font-size-heading-xsmall)/var(--line-height-heading-xsmall) var(--font-family);

	--font-label-large: 500 var(--font-size-label-large)/var(--line-height-label-large) var(--font-family);
	--font-label-medium: 500 var(--font-size-label-medium)/var(--line-height-label-medium) var(--font-family);
	--font-label-small: 500 var(--font-size-label-small)/var(--line-height-label-small) var(--font-family);
	--font-label-xsmall: 500 var(--font-size-label-xsmall)/var(--line-height-label-xsmall) var(--font-family);

	--font-paragraphs-large: 500 var(--font-size-paragraphs-large)/var(--line-height-paragraphs-large) var(--font-family);
	--font-paragraphs-medium: 600 var(--font-size-paragraphs-medium)/var(--line-height-paragraphs-medium) var(--font-family);
	--font-paragraphs-small: 400 var(--font-size-paragraphs-small)/var(--line-height-paragraphs-small) var(--font-family);
	--font-paragraphs-xsmall: 400 var(--font-size-paragraphs-xsmall)/var(--line-height-paragraphs-xsmall) var(--font-family);

	--font: var(--font-paragraphs-medium);

	/* Letter spacing */
	--leter-spacing-display: -0.003em;

	/* Other */
	--hyphenate-limit: 7;

}
@media (max-width: 620px) {
:root {
		--font-size-heading-large: calc(32rem / 16);
		--font-size-heading-medium: calc(27rem/ 16);
		--font-size-heading-small: calc(22rem/ 16);
		--font-size-heading-xsmall: calc(16rem/ 16);

		--font-size-paragraphs-large: calc(16rem / 16);

		--line-height-heading-large: calc(35rem / 16);
		--line-height-heading-medium: calc(32rem/ 16);
		--line-height-heading-small: calc(28rem/ 16);
		--line-height-heading-xsmall: calc(22rem/ 16);

		--line-height-paragraphs-large: calc(24rem / 16);

}
	}
/* HELPER/DEBUG */
/** DEBUG */
body[data-show-grid] {
	--_color: hsla(0, 0%, 0%, 5%);
	--_grid-vertical: calc(4rem / 16);
	--_grid-gap: var(--gap-inline);
	--_grid-column: calc((var(--max-width) - var(--_grid-gap) * 11) / 12);

	background:
		center/calc(var(--_grid-column) + var(--_grid-gap)) 100%
		linear-gradient(90deg, var(--_color) calc(var(--_grid-column) * 0.5), transparent calc(var(--_grid-column) * 0.5), transparent calc(var(--_grid-column) * 0.5 + var(--_grid-gap)), var(--_color) calc(var(--_grid-column) * 0.5 + var(--_grid-gap))),
		top/100% calc(var(--_grid-vertical) * 2)
		linear-gradient(transparent var(--_grid-vertical), var(--_color) var(--_grid-vertical));
}
/* Root */
html {
	font-family: var(--font-family);
  color: var(--color-content-primary);
  background-color: var(--color-background-primary);
	hyphens: auto;
	-webkit-hyphens: auto;
	-webkit-hyphenate-limit-after: var(--hyphenate-limit);
	-webkit-hyphenate-limit-before: var(--hyphenate-limit);
}
@supports (hyphenate-limit-chars: 16 8 8) {
html {
		hyphens: auto;
		hyphenate-limit-chars: calc(var(--hyphenate-limit) * 2) var(--hyphenate-limit) var(--hyphenate-limit);
}
	}
body {
	font: var(--font-paragraph-medium);
}
html[data-no-scroll],
html[data-no-scroll] :scope {
	overflow: hidden;
	block-size: 100%;
}
/* Atoms */
.a-nav-item {
	align-items: center;
    color: var(--color-white);
    display: flex;
    font: var(--font-label-large);
    gap: .5rem;
    padding: .5rem 2rem;
    text-decoration: none;
    transition: opacity .2s ease-in-out;
}
.a-nav-item[data-state="active"]::before {
		content: '';
		display: block;
		width: 12px;
		height: 12px;
		background: #fff;
	}
.a-nav-item[data-variant="secondary"] {

		color: var(--color-black);
		background: var(--color-light_gray);
	}
.a-nav-item[data-variant="secondary"][data-state="active"]::before {
			background: var(--color-red);
		}
.a-button {
	display: inline-block;
	padding: var(--space-small) var(--space-xxxlarge);
	margin-top: 2.5rem;
	color: var(--color-red);
	text-decoration: none;
	font-weight: 600;
	cursor: pointer;
	border: 3px solid var(--color-red);
	font-size: var(--font); 
	
}
.a-button:hover {
		background: var(--color-red);
		color: var(--color-white);
        transition: background 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
@media (max-width:840px){
.a-button {
		padding: var(--space-xsmall) var(--space-xlarge); 
	
}
	}
.a-heading{
    padding-top: 0.5em;
}
.a-heading :where(h1, h2){
        font: var(--font-heading-large);
        padding-bottom: 2rem;
        text-wrap-style: pretty;
    }
@media (max-width:840px) {
.a-heading :where(h1, h2){
            padding-bottom: 1rem;
    }
        }
.a-heading p{
        font: var(--font-label-large);
    }
.a-heading .nowrap{
        white-space: nowrap;
    }
.a-button-hamburger {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	flex-direction: column;
	gap: 5px;
	padding: 0;
	z-index: 1000;
}
@media (max-width: 1023px) {
.a-button-hamburger {
		display: flex;
}
	}
.a-button-hamburger > span {
		display: block;
		width: 25px;
		height: 3px;
		background: var(--color-white);
		border-radius: 2px;
		transition: all 0.3s ease-in-out;
	}
.a-button-hamburger.is-active >span:nth-child(1) {
			transform: translate(0, 8px) rotate(45deg);
		}
.a-button-hamburger.is-active >span:nth-child(2) {
			opacity: 0;
		}
.a-button-hamburger.is-active >span:nth-child(3) {
			transform: translate(0, -8px) rotate(-45deg);
		}
/* Molecules */
.m-home{
    padding-top: 6em;
    padding-bottom: 6em;
}
@media (max-width:840px) {
.m-home{
        padding-top: 4em;
        padding-bottom: 4em;
}
    }
@media (max-width:560px) {
.m-home{
        padding-top: 2rem;
        padding-bottom: 2rem;
}        
    }
.m-text{
    font: var(--font-paragraphs-large);

}
.m-text ul{
        padding-left: 0;
        list-style: none;
    }
:is(.m-text ul) li + li{
            margin-top: var(--space-small);
        }
.m-text ul li{
            position: relative;
            padding-left: calc(var(--bullet-size) + var(--space-xsmall));
        }
.m-text ul li::before{
            content: "";
            position: absolute;
            left: 0;
            top: 1rem;
            width: var(--bullet-size);
            height: var(--bullet-size);
            background-color: var(--color-red);
        }
.m-text p + ul{
        margin-top: var(--space-medium);
    }
.m-text h2 + ul {
        margin-bottom: var(--space-medium);
        margin-top: var(--space-medium);
    }
.m-text h4 + p {
        margin-top: var(--space-small);
    }
.m-text :where(h1, h2, h3, h4, h5, h6){
        color: var(--color-black);

    }
.m-text :where(h1, h2, h3, h4, h5, h6) strong{
            font-weight: inherit;
        }
.m-text :where(h1, h2, h3, h4, h5, h6) h1 {
		font: var(--font-heading-large);
	}
.m-text :where(h1, h2, h3, h4, h5, h6) h2 {
		font: var(--font-heading-medium);
	}
.m-text :where(h1, h2, h3, h4, h5, h6) h3 {
		font: var(--font-heading-small);
	}
@media (max-width: 620px) {
    .m-text ul li + li{
        margin-top: var(--space-xsmall);
    }

    .m-text ul li{
        padding-left: calc(var(--bullet-size) * 0.8 + var(--space-xsmall));
    }

    .m-text ul li::before{
        top: 0.6rem;
        width: calc(var(--bullet-size) * 0.8);
        height: calc(var(--bullet-size) * 0.8);
    }
}
.m-text__content{
    border-top: var(--red-line);
}
.m-mainnav {
	display: flex;
	align-items: center;
	height: 100%;
	margin: 0;
	padding: 0;
}
@media (max-width: 1023px) {
.m-mainnav {
		display: none;
		position: fixed;
		top: var(--height-header);
		left: 0;
		right: 0;
		flex-direction: column;
		background: var(--color-red);
		padding: 1rem 0;
		z-index: 999;
		max-height: calc(100vh - var(--height-header));
		overflow-y: auto;
}
	}
@media (max-width: 1023px) {
.m-mainnav[data-open="true"] {
			display: flex;
	}
		}
.m-mainnav ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	height: 100%;
	align-items: center;
}
@media (max-width: 1023px) {
.m-mainnav ul {
		flex-direction: column;
		gap: 1rem;
		padding: 0 1rem;
}
	}
.m-teaser {
  max-width: calc(var(--max-width-content) + var(--space-large) * 2);
  margin-inline: auto;
  padding-inline: var(--space-large);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-medium);
  align-items: end;
  padding-bottom: var(--space-xxxlarge);
  
}
@media(max-width:840px){
.m-teaser {
    grid-template-columns: 1fr;
    padding-bottom: var(--space-xxlarge);
    gap:var(--space-xxxlarge);
  
}
  }
.m-teaser__image {
  width: 90%;
  height: auto;
  align-items: center;
}
@media(max-width:840px){
.m-teaser__image {
    width: 100%;
}
  }
.m-speciality {
  --_background-color: var(--color-background-primary);

	padding: 3rem var(--padding-main);
	margin: 3rem 0;
  background-color: var(--_background-color); 
  padding-inline: var(--space-large);
  
}
.m-speciality[data-variant="home"] {
    --_background-color: var(--color-background-secondary);
  }
@media (max-width: 840px) {
.m-speciality {
		padding: 2rem 1.5rem;
    margin: 2rem 0;
  
}
	}
@media (max-width: 560px) {
.m-speciality {
		padding: 1rem 1rem;
    margin: 1rem 0;
  
}
	}
@media (max-width: 399px){
.m-speciality {
    padding: 1rem 2rem;
  
}
  }
.m-speciality__header {
  max-width: calc((3 * var(--tile-size)) + (2 * var(--tile-gap)));
  margin-inline: auto;
  padding-inline: var(--padding-main);
  padding-bottom: var(--space-small);
}
@media(max-width: 420px){
.m-speciality__header {
    padding-inline: 0;
}
  }
@media (max-width: 399px){
.m-speciality__header {
    text-align: center;
}
  }
.m-speciality__header h1{
    font: var(--font-heading-medium);
    padding-bottom: 2rem;
  }
.m-speciality ul {
  max-width: var(--max-width-content);
  margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4rem;
	list-style: none; 
}
@media (max-width: 1024px) {
.m-speciality ul {
		grid-template-columns: repeat(3, 1fr);
		gap: 3.5rem; 
}
	}
@media( max-width: 840px) {
.m-speciality ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem; 
}
  }
@media (max-width: 425px) {
.m-speciality ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem; 
}
  }
@media (max-width: 399px){
.m-speciality ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.25rem;
    justify-items: center; 
}
  }
.m-speciality li {
	position: relative;
}
@media (max-width: 640px) {
.m-speciality li {
    width: 100%;
    max-width: 15.5rem;
}
  }
@media (max-width: 400px) {
.m-speciality li {
    width: 106%;
    max-width: 18.5rem;
}
  }
.m-speciality a {
  aspect-ratio: 1 / 1;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
	padding: var(--space-medium);
	border: var(--red-line);
	text-decoration: none;
	color: var(--color-black);
  font: var(--font-heading-small);
	position: relative;
	transition: all 0.3s ease-in-out;
}
@media (max-width: 640px) {
.m-speciality a {
    padding: var(--space-small);
    font: var(--font-heading-xsmall);
}
  }
@media (max-width: 375px) {
.m-speciality a {
    font: var(--font-heading-small);
}
  }
.m-speciality a img {
    width: var(--icon-size-medium);
    position: absolute;
    top: var(--space-medium);
    right: var(--space-medium);

    width: var(--icon-size-medium);
    height: auto;
  }
@media (max-width: 900px) {
.m-speciality a img {
      width: calc(90rem / 16);
      height: calc(90rem / 16);
      top: var(--space-small);
      right: var(--space-small);
  }
    }
@media (max-width: 840px) {
.m-speciality a img {
      width: calc(120rem / 16);
      height: calc(120rem / 16);
      top: var(--space-small);
      right: var(--space-small);
  }
    }
@media (max-width: 586px) {
.m-speciality a img {
      width: calc(80rem / 16);
      height: calc(80rem / 16);
      top: var(--space-small);
      right: var(--space-small);
  }
    }
@media (max-width: 399px) {
.m-speciality a img {
      width: calc(90rem / 16);
      height: calc(90rem / 16);
      top: var(--space-small);
      right: var(--space-small);
  }
    }
.m-speciality__link-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: var(--space-xxsmall);
  margin-left: calc(var(--space-medium) * -1 - var(--red-line-size) - 0.1em);
  padding-block: var(--space-small);
  background-color: var(--_background-color);
  overflow: hidden;
}
.m-speciality__link-text span {
    font: var(--font-label-small);
    color: var(--color-content-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
.m-nav-secondary {
	background: var(--color-light_gray);
	overflow-x: auto;
	overflow-y: hidden;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	top: 0;
}
@media (max-width: 1200px) {
.m-nav-secondary {
		top: var(--height-header);
		left: 0;
		right: 0;
		justify-content: flex-start;
		padding-inline: 0.5rem;
		z-index: 998;
		width: 100%;
}
	}
@media (max-width: 560px) {
.m-nav-secondary {
		padding-inline: 0.5rem;
}
	}
.m-nav-secondary__box{
	max-width: var(--max-width-content);
	/* padding: 0.5rem 6rem; */
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-inline: auto;
	flex-basis: 100%;
}
@media (max-width: 1420px) {
.m-nav-secondary__box{
    padding-inline: 0.5rem;
}
  }
@media (max-width: 560px) {
.m-nav-secondary__box{
    padding-inline: 0.5rem;
}
  }
.m-nav-secondary ul {
	display: flex;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	white-space: nowrap;
	flex-wrap: nowrap;
}
.m-nav-secondary li {
	flex-shrink: 0;
}
.m-consultation{
    padding-top: 6em;
    padding-bottom: 6em;
}
@media (max-width:840px) {
.m-consultation{
        padding-top: 4em;
        padding-bottom: 4em;
}
    }
@media (max-width:560px) {
.m-consultation{
        padding-top: 2rem;
        padding-bottom: 2rem;
}        
    }
.m-consultation__info{
    background: var(--color-light_gray);
}
.m-consultation__block{
    max-width: var(--max-width-content);
    margin-inline: auto;
    padding-top: var(--space-omega);
    padding-bottom: var(--space-omega);
   
}
.m-consultation__block h2{ font: var(--font-heading-small);
        padding-bottom: 1rem;}
.m-consultation__block h3{
        font: var(--font-heading-small);
        padding-bottom: 1rem;
    }
.m-consultation__block h4{
        font: var(--font-heading-xsmall);
        padding-top: 2rem;
    }
.m-consultation__block p{
        padding-bottom: 1rem;
    }
@media(max-width:1122px){
.m-consultation__block{
        padding-inline: var(--space-large);
        margin: 0;
   
}
    }
@media (max-width: 840px) {
.m-consultation__block{
        padding-inline: var(--space-large);
        margin: 0;
   
}
    }
.m-consultation__resume{
    max-width: var(--max-width-content);
    margin-inline: auto;
    margin-top: 4rem;
}
@media(max-width:1122px){
.m-consultation__resume{
        padding-inline: var(--space-large);
        margin: 0;
        padding-top: 4rem;
}
    }
@media (max-width: 840px) {
.m-consultation__resume{
        padding-inline: var(--space-large);
        margin: 0;
        padding-top: 4rem;
}
        .m-consultation__resume p{
        padding-bottom: 1rem;
        }
    }
.m-consultation__resume h3{
        font: var(--font-heading-small);
        padding-bottom: 1rem;
    }
/* Vertical line */
.m-consultation__resume ul::before{
        content: "";
        position: absolute;
        top: 0.6em;
        bottom: 0.8em;
        left: 0;
        width: var(--red-line-size);
        background: var(--color-red);
    }
.m-consultation__resume ul{
        position: relative;
        margin: 0;
        padding-left: 0;
        list-style: none;
    }
:is(.m-consultation__resume ul) li + li{
            margin-top: var(--space-xlarge);
        }
.m-consultation__resume ul li{
            position: relative;
            padding-left: calc(var(--bullet-size) + var(--space-xsmall));
        }
.m-consultation__resume ul li::before{
            content: "";
            position: absolute;
            /* left: calc(var(--bullet-size-resume) / -2 - var(--red-line-size) / -2); */
            left: 0;
            top: 0.7rem;
            width: var(--bullet-size-resume);
            height: var(--bullet-size-resume);
            background-color: var(--color-red);
            translate: calc(var(--bullet-size-resume) / -2 - var(--red-line-size) / -2) 0;
        }
.m-contact{
    padding-top: 6em;
    padding-bottom: 6em;
}
@media (max-width:840px) {
.m-contact{
        padding-top: 4em;
        padding-bottom: 4em;
}
    }
@media (max-width:560px) {
.m-contact{
        padding-top: 2rem;
        padding-bottom: 2rem;
}        
    }
.m-contact__content{
    background-color: var(--color-background-secondary);
}
.m-contact__content h2{
        font: var(--font-heading-small);
        padding-bottom: 1rem;
    }
.m-contact__content h3{
        font: var(--font-heading-small);
        padding-bottom: 1rem;
    }
.m-contact_box{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: var(--max-width-content);
    gap: var(--space-medium);
    padding-top: var(--space-large);  
    padding-bottom: var(--space-medium);
    margin-inline: auto;
}
@media(max-width:1122px){
.m-contact_box{
        padding-inline: var(--space-large);
        margin: 0;
}
    }
@media(max-width: 840px){
.m-contact_box{
        grid-template-columns: 1fr;
        gap: var(--space-large);
}
        .m-contact_box h3{
            padding-bottom: 0.5rem;
        }
    }
.m-contact__social-media{
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: var(--space-small);
    padding-top: 0;
}
.m-contact__social-item{
    display: flex;
    gap: var(--space-medium);
    align-items: center;
    text-decoration: none;
    padding: var(--space-xsmall) 0;
}
.m-contact__social-item svg{
         max-width: var(--icon-size-medium);
    }
.m-container-special-field__header img{
        max-width: var(--icon-size-large);
        max-height: var(--icon-size-large);
        width: 100%;
        height: auto;
        display: block;
    }
.m-container-special-field__header{
    border-top: var(--red-line);
    max-width: var(--max-width-content);
    margin-inline: auto;
    margin-top: var(--space-xxxlarge);
    padding-top: var(--space-large);
    padding-bottom: var(--space-xxxlarge);
    display: flex;
    gap: var(--space-omega);
    align-items: flex-start;
}
.m-container-special-field__header h1{
      font: var(--font-heading-medium);
      padding-bottom: var(--space-small);
    }
@media(max-width: 1118px){
.m-container-special-field__header{
        margin-inline: var(--space-large);
}
    }
@media (max-width: 840px){
.m-container-special-field__header{
        padding-inline: var(--space-large);
}
   }
@media(max-width: 640px){
.m-container-special-field__header{
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: var(--space-small);
}
    }
.m-container-special-field__text{
  background-color: var(--color-background-secondary);
}
.m-container-special-field__textblock{
    padding-top: var(--space-xxxlarge);
    max-width: var(--max-width-content);
    margin: auto;
    padding-bottom: var(--space-xxxlarge);
    margin-bottom: var(--space-xxxlarge); 
}
.m-container-special-field__textblock h2{
    font: var(--font-heading-small);
    }
@media(max-width: 1118px){
.m-container-special-field__textblock{
        margin-inline: var(--space-large); 
}
    }
@media (max-width: 840px){
.m-container-special-field__textblock{
        padding-inline: var(--space-large); 
}
   }
.m-error{
    max-width: calc(var(--max-width-content) + var(--space-large) * 2);
    margin-inline: auto;
    padding-inline: var(--space-large);
    margin-top: 6rem;
    margin-bottom: 6rem;
   
}
.m-error h1{
        padding-bottom: 1rem;
    }
.m-error li{
        padding-top: 1rem;
    }
.m-impressum{
    max-width: calc(var(--max-width-content) + var(--space-large) * 2);
    margin-inline: auto;
    padding-inline: var(--space-large);
    margin-top: 6rem;
    margin-bottom: 6rem;
}
.m-impressum h2{
        padding-top: 1rem;
        font: var(--font-heading-small);
    }
.m-impressum h3{
        padding-top: 1rem;
    }
.m-impressum p{
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
@media (max-width:840px) {
.m-impressum{
        margin-top: 4rem;
        margin-bottom: 4rem;
}
    }
@media (max-width:560px) {
.m-impressum{
        margin-top: 2rem;
        margin-bottom: 2rem;
}
    }
.m-contact__information a{
        display: block;
        text-decoration: none;
        color: var(--color-text);
    }
.m-data-protection{
    max-width: calc(var(--max-width-content) + var(--space-large) * 2);
    margin-inline: auto;
    padding-inline: var(--space-large);
    margin-top: 6rem;
    margin-bottom: 6rem;
}
.m-data-protection h4{
        padding-top: 1rem;
    }
.m-data-protection p{
        padding-bottom: 1rem;
    }
@media (max-width:840px) {
.m-data-protection{
        margin-top: 4rem;
        margin-bottom: 4rem;
}
    }
@media (max-width:560px) {
.m-data-protection{
        margin-top: 2rem;
        margin-bottom: 2rem;
}
    }
/* Organisms */
.t-default{
  align-items: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}
@media (max-width: 560px) {
.t-default{
    padding: 1.5rem;
}
  }
@media (max-width: 480px) {
.t-default{
    padding: 0.5rem;
}
  }
.o-main {
  width: 100%;
  margin: 0 auto;
}
.o-header {
	background: var(--color-red);
}
.o-header__box {
  margin-inline: auto;
  height: var(--height-header);
  max-width: calc(var(--max-width-content) + var(--space-large) * 2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--space-large);
}
.o-header__logo {
	display: flex;
	align-items: center;
	height: 100%;
}
.o-header__logo a {
	display: flex;
	align-items: center;
	height: 100%;
}
.o-header__logo img {
	display: block;
	height: auto;
	max-height: 100%;
	width: auto;
}
@media(max-width: 1420px){
.o-header__logo img {
		max-height: 50%;
}
	}
@media(max-width: 560px){
.o-header__logo img {
		max-height: 45%;
}
	}
.o-footer {
	padding-inline: var(--space-large);
	
}
.o-footer__box {
	margin-inline: auto;
	max-width: var(--max-width-content);
	width: 100%;	
}
.o-footer__legal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;

	padding-top: var(--space-small);
	padding-bottom: var(--space-large);
	border-top: var(--red-line);
	margin: 0;
	width: 100%;
	
}
@media(max-width: 700px) {
.o-footer__legal {
	
}
		
	}
.o-footer__logo {
    max-width: 10rem;
}
@media(max-width: 840px){
.o-footer__logo {
		max-width: 8rem;
		transform: translateX(0);
}
	}
.o-footer__logo img {
		width: 100%;
		height: auto;
		display: block;
		transform: translateX(-10px);
	}
.o-footer__links {
	display: flex;
	gap: 2rem;
	margin-left: auto; 
	flex-wrap: wrap;
	justify-content: flex-end;
}
@media (max-width: 700px) {
.o-footer__links {
    	gap: 0.5rem;
}
	}
.o-footer__links a {
		text-decoration: none;
		color: var(--color-black);
		font-weight: 600;
		transition: opacity 0.2s ease-in-out;
	}
.o-footer__links a:hover {
			opacity: 0.7;
		}
@media(max-width: 700px) {
.o-footer__links a {
			
			font-size: var(--font-size-paragraphs-xsmall);
	}
		}

/*# sourceMappingURL=index.css.map */