/* Theme styles - extracted from WordPress and converted to local definitions */

/* CSS Variables - converted from WordPress presets */
:root {
	/* Aspect Ratios */
	--site--preset--aspect-ratio--square: 1;
	--site--preset--aspect-ratio--4-3: 4/3;
	--site--preset--aspect-ratio--3-4: 3/4;
	--site--preset--aspect-ratio--3-2: 3/2;
	--site--preset--aspect-ratio--2-3: 2/3;
	--site--preset--aspect-ratio--16-9: 16/9;
	--site--preset--aspect-ratio--9-16: 9/16;
	
	/* Colors */
	--site--preset--color--black: #000000;
	--site--preset--color--cyan-bluish-gray: #abb8c3;
	--site--preset--color--white: #ffffff;
	--site--preset--color--pale-pink: #f78da7;
	--site--preset--color--vivid-red: #cf2e2e;
	--site--preset--color--luminous-vivid-orange: #ff6900;
	--site--preset--color--luminous-vivid-amber: #fcb900;
	--site--preset--color--light-green-cyan: #7bdcb5;
	--site--preset--color--vivid-green-cyan: #00d084;
	--site--preset--color--pale-cyan-blue: #8ed1fc;
	--site--preset--color--vivid-cyan-blue: #0693e3;
	--site--preset--color--vivid-purple: #9b51e0;
	--site--preset--color--base: #FFFFFF;
	--site--preset--color--contrast: #111111;
	--site--preset--color--accent-1: #FFEE58;
	--site--preset--color--accent-2: #F6CFF4;
	--site--preset--color--accent-3: #503AA8;
	--site--preset--color--accent-4: #686868;
	--site--preset--color--accent-5: #FBFAF3;
	--site--preset--color--accent-6: color-mix(in srgb, currentColor 20%, transparent);
	
	/* Gradients */
	--site--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);
	--site--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);
	--site--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);
	--site--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);
	--site--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
	--site--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);
	--site--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);
	--site--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);
	--site--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);
	--site--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);
	--site--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);
	--site--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);
	
	/* Font Sizes */
	--site--preset--font-size--normal: 16px;
	--site--preset--font-size--huge: 42px;
	--site--preset--font-size--small: 0.875rem;
	--site--preset--font-size--medium: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.196), 1.125rem);
	--site--preset--font-size--large: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.392), 1.375rem);
	--site--preset--font-size--x-large: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.392), 2rem);
	--site--preset--font-size--xx-large: clamp(2.15rem, 2.15rem + ((1vw - 0.2rem) * 1.333), 3rem);
	
	/* Font Families */
	--site--preset--font-family--manrope: Manrope, sans-serif;
	--site--preset--font-family--fira-code: "Fira Code", monospace;
	
	/* Spacing */
	--site--preset--spacing--20: 10px;
	--site--preset--spacing--30: 20px;
	--site--preset--spacing--40: 30px;
	--site--preset--spacing--50: clamp(30px, 5vw, 50px);
	--site--preset--spacing--60: clamp(30px, 7vw, 70px);
	--site--preset--spacing--70: clamp(50px, 7vw, 90px);
	--site--preset--spacing--80: clamp(70px, 10vw, 140px);
	
	/* Shadows */
	--site--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
	--site--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
	--site--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
	--site--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
	--site--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
	
	/* Layout */
	--site--style--global--content-size: 645px;
	--site--style--global--wide-size: 1340px;
	--site--style--block-gap: 1.2rem;
	--site--style--root--padding-top: 0px;
	--site--style--root--padding-right: var(--site--preset--spacing--50);
	--site--style--root--padding-bottom: 0px;
	--site--style--root--padding-left: var(--site--preset--spacing--50);
}

/* Heading Styles */
h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
	padding: 1.25em 2.375em;
}

h1.has-text-align-left[style*="writing-mode"]:where([style*="vertical-lr"]),
h1.has-text-align-right[style*="writing-mode"]:where([style*="vertical-rl"]),
h2.has-text-align-left[style*="writing-mode"]:where([style*="vertical-lr"]),
h2.has-text-align-right[style*="writing-mode"]:where([style*="vertical-rl"]),
h3.has-text-align-left[style*="writing-mode"]:where([style*="vertical-lr"]),
h3.has-text-align-right[style*="writing-mode"]:where([style*="vertical-rl"]),
h4.has-text-align-left[style*="writing-mode"]:where([style*="vertical-lr"]),
h4.has-text-align-right[style*="writing-mode"]:where([style*="vertical-rl"]),
h5.has-text-align-left[style*="writing-mode"]:where([style*="vertical-lr"]),
h5.has-text-align-right[style*="writing-mode"]:where([style*="vertical-rl"]),
h6.has-text-align-left[style*="writing-mode"]:where([style*="vertical-lr"]),
h6.has-text-align-right[style*="writing-mode"]:where([style*="vertical-rl"]) {
	rotate: 180deg;
}

/* Paragraph Styles */
.is-small-text {
	font-size: 0.875em;
}

.is-regular-text {
	font-size: 1em;
}

.is-large-text {
	font-size: 2.25em;
}

.is-larger-text {
	font-size: 3em;
}

.has-drop-cap:not(:focus):first-letter {
	float: left;
	font-size: 8.4em;
	font-style: normal;
	font-weight: 100;
	line-height: 0.68;
	margin: 0.05em 0.1em 0 0;
	text-transform: uppercase;
}

body.rtl .has-drop-cap:not(:focus):first-letter {
	float: none;
	margin-left: 0.1em;
}

p.has-drop-cap.has-background {
	overflow: hidden;
}

:root :where(p.has-background) {
	padding: 1.25em 2.375em;
}

:where(p.has-text-color:not(.has-link-color)) a {
	color: inherit;
}

p.has-text-align-left[style*="writing-mode:vertical-lr"],
p.has-text-align-right[style*="writing-mode:vertical-rl"] {
	rotate: 180deg;
}

/* Spacer */
.block-spacer {
	clear: both;
}

/* Emoji Styles */
img.emoji {
	display: inline !important;
	border: none !important;
	box-shadow: none !important;
	height: 1em !important;
	width: 1em !important;
	margin: 0 0.07em !important;
	vertical-align: -0.1em !important;
	background: none !important;
	padding: 0 !important;
}

/* Site Blocks Container */
.site-blocks {
	padding-top: var(--site--style--root--padding-top);
	padding-bottom: var(--site--style--root--padding-bottom);
}

.site-blocks > .alignleft {
	float: left;
	margin-right: 2em;
}

.site-blocks > .alignright {
	float: right;
	margin-left: 2em;
}

.site-blocks > .aligncenter {
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
}

:where(.site-blocks) > * {
	margin-block-start: 1.2rem;
	margin-block-end: 0;
}

:where(.site-blocks) > :first-child {
	margin-block-start: 0;
}

:where(.site-blocks) > :last-child {
	margin-block-end: 0;
}

/* Layout Styles */
:root :where(.is-layout-flow) > :first-child {
	margin-block-start: 0;
}

:root :where(.is-layout-flow) > :last-child {
	margin-block-end: 0;
}

:root :where(.is-layout-flow) > * {
	margin-block-start: 1.2rem;
	margin-block-end: 0;
}

:root :where(.is-layout-constrained) > :first-child {
	margin-block-start: 0;
}

:root :where(.is-layout-constrained) > :last-child {
	margin-block-end: 0;
}

:root :where(.is-layout-constrained) > * {
	margin-block-start: 1.2rem;
	margin-block-end: 0;
}

:root :where(.is-layout-flex) {
	gap: 1.2rem;
}

:root :where(.is-layout-grid) {
	gap: 1.2rem;
}

.is-layout-flow > .alignleft {
	float: left;
	margin-inline-start: 0;
	margin-inline-end: 2em;
}

.is-layout-flow > .alignright {
	float: right;
	margin-inline-start: 2em;
	margin-inline-end: 0;
}

.is-layout-flow > .aligncenter {
	margin-left: auto !important;
	margin-right: auto !important;
}

.is-layout-constrained > .alignleft {
	float: left;
	margin-inline-start: 0;
	margin-inline-end: 2em;
}

.is-layout-constrained > .alignright {
	float: right;
	margin-inline-start: 2em;
	margin-inline-end: 0;
}

.is-layout-constrained > .aligncenter {
	margin-left: auto !important;
	margin-right: auto !important;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--site--style--global--content-size);
	margin-left: auto !important;
	margin-right: auto !important;
}

.is-layout-constrained > .alignwide {
	max-width: var(--site--style--global--wide-size);
}

body .is-layout-flex {
	display: flex;
}

.is-layout-flex {
	flex-wrap: wrap;
	align-items: center;
}

.is-layout-flex > :is(*, div) {
	margin: 0;
}

body .is-layout-grid {
	display: grid;
}

.is-layout-grid > :is(*, div) {
	margin: 0;
}

/* Typography */
body {
	background-color: var(--site--preset--color--base);
	color: var(--site--preset--color--contrast);
	font-family: var(--site--preset--font-family--manrope);
	font-size: var(--site--preset--font-size--large);
	font-weight: 300;
	letter-spacing: -0.1px;
	line-height: 1.4;
	margin: 0;
	padding: 16px;
}

/* Override for pages - now all pages use Manrope like index.html */
/* Keep Verdana only for body text on non-home pages if needed, but h2 always uses Manrope */
body:not(.home) {
	background-color: #FFFFFF;
	color: #111111;
}

/* Base link styles */
a {
	color: currentColor;
}

a:where(:not(.element-button)):not(.site-header a):not(.social-links a) {
	text-decoration: underline;
}

:root :where(a:where(:not(.element-button)):not(.site-header a):not(.social-links a):hover) {
	text-decoration: none;
}

/* Links without underline (info page, site-header) */
.site-header a,
.social-links a {
	text-decoration: none;
}

.site-header a:hover,
.social-links a:hover {
	text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
	letter-spacing: -0.1px;
	line-height: 1.125;
}

h1 {
	font-size: var(--site--preset--font-size--xx-large);
}

h2 {
	font-family: var(--site--preset--font-family--manrope);
	font-size: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.392), 2rem);
	font-weight: 400;
	letter-spacing: -0.1px;
	line-height: 1.125;
	margin: 0 0 1.2rem 0;
	text-align: left;
}

h3 {
	font-size: var(--site--preset--font-size--large);
}

h4 {
	font-size: var(--site--preset--font-size--medium);
}

h5 {
	font-size: var(--site--preset--font-size--small);
	letter-spacing: 0.5px;
}

h6 {
	font-size: var(--site--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
}

/* Button Styles */
:root :where(.element-button, .block-button__link) {
	background-color: var(--site--preset--color--contrast);
	border-width: 0;
	color: var(--site--preset--color--base);
	font-family: inherit;
	font-size: var(--site--preset--font-size--medium);
	line-height: inherit;
	padding-top: 1rem;
	padding-right: 2.25rem;
	padding-bottom: 1rem;
	padding-left: 2.25rem;
	text-decoration: none;
	cursor: pointer;
}

:root :where(.element-button:hover, .block-button__link:hover) {
	background-color: color-mix(in srgb, var(--site--preset--color--contrast) 85%, transparent);
	border-color: transparent;
	color: var(--site--preset--color--base);
}

:root :where(.element-button:focus, .block-button__link:focus) {
	outline-color: var(--site--preset--color--accent-4);
	outline-offset: 2px;
}

/* Caption Styles */
:root :where(.element-caption, .block-audio figcaption, .block-embed figcaption, .block-gallery figcaption, .block-image figcaption, .block-table figcaption, .block-video figcaption) {
	font-size: var(--site--preset--font-size--small);
	line-height: 1.4;
}

/* Utility Classes */
.has-regular-font-size {
	font-size: 1em;
}

.has-larger-font-size {
	font-size: 2.625em;
}

.has-normal-font-size {
	font-size: var(--site--preset--font-size--normal);
}

.has-huge-font-size {
	font-size: var(--site--preset--font-size--huge);
}

.has-text-align-center {
	text-align: center;
}

.has-text-align-left {
	text-align: left;
}

.has-text-align-right {
	text-align: right;
}

.aligncenter {
	clear: both;
}

.items-justified-left {
	justify-content: flex-start;
}

.items-justified-center {
	justify-content: center;
}

.items-justified-right {
	justify-content: flex-end;
}

.items-justified-space-between {
	justify-content: space-between;
}

/* Screen Reader Text */
.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #ddd;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.skip-link.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
	background-color: #eee;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Border Styles */
html :where(.has-border-color) {
	border-style: solid;
}

html :where([style*="border-top-color"]) {
	border-top-style: solid;
}

html :where([style*="border-right-color"]) {
	border-right-style: solid;
}

html :where([style*="border-bottom-color"]) {
	border-bottom-style: solid;
}

html :where([style*="border-left-color"]) {
	border-left-style: solid;
}

html :where([style*="border-width"]) {
	border-style: solid;
}

html :where([style*="border-top-width"]) {
	border-top-style: solid;
}

html :where([style*="border-right-width"]) {
	border-right-style: solid;
}

html :where([style*="border-bottom-width"]) {
	border-bottom-style: solid;
}

html :where([style*="border-left-width"]) {
	border-left-style: solid;
}

/* Image Styles */
html :where(img[class*="image-"]) {
	height: auto;
	max-width: 100%;
}

:where(figure) {
	margin: 0 0 1em;
}

/* Color Classes */
.has-black-color { color: var(--site--preset--color--black) !important; }
.has-cyan-bluish-gray-color { color: var(--site--preset--color--cyan-bluish-gray) !important; }
.has-white-color { color: var(--site--preset--color--white) !important; }
.has-pale-pink-color { color: var(--site--preset--color--pale-pink) !important; }
.has-vivid-red-color { color: var(--site--preset--color--vivid-red) !important; }
.has-luminous-vivid-orange-color { color: var(--site--preset--color--luminous-vivid-orange) !important; }
.has-luminous-vivid-amber-color { color: var(--site--preset--color--luminous-vivid-amber) !important; }
.has-light-green-cyan-color { color: var(--site--preset--color--light-green-cyan) !important; }
.has-vivid-green-cyan-color { color: var(--site--preset--color--vivid-green-cyan) !important; }
.has-pale-cyan-blue-color { color: var(--site--preset--color--pale-cyan-blue) !important; }
.has-vivid-cyan-blue-color { color: var(--site--preset--color--vivid-cyan-blue) !important; }
.has-vivid-purple-color { color: var(--site--preset--color--vivid-purple) !important; }
.has-base-color { color: var(--site--preset--color--base) !important; }
.has-contrast-color { color: var(--site--preset--color--contrast) !important; }
.has-accent-1-color { color: var(--site--preset--color--accent-1) !important; }
.has-accent-2-color { color: var(--site--preset--color--accent-2) !important; }
.has-accent-3-color { color: var(--site--preset--color--accent-3) !important; }
.has-accent-4-color { color: var(--site--preset--color--accent-4) !important; }
.has-accent-5-color { color: var(--site--preset--color--accent-5) !important; }
.has-accent-6-color { color: var(--site--preset--color--accent-6) !important; }

.has-black-background-color { background-color: var(--site--preset--color--black) !important; }
.has-cyan-bluish-gray-background-color { background-color: var(--site--preset--color--cyan-bluish-gray) !important; }
.has-white-background-color { background-color: var(--site--preset--color--white) !important; }
.has-pale-pink-background-color { background-color: var(--site--preset--color--pale-pink) !important; }
.has-vivid-red-background-color { background-color: var(--site--preset--color--vivid-red) !important; }
.has-luminous-vivid-orange-background-color { background-color: var(--site--preset--color--luminous-vivid-orange) !important; }
.has-luminous-vivid-amber-background-color { background-color: var(--site--preset--color--luminous-vivid-amber) !important; }
.has-light-green-cyan-background-color { background-color: var(--site--preset--color--light-green-cyan) !important; }
.has-vivid-green-cyan-background-color { background-color: var(--site--preset--color--vivid-green-cyan) !important; }
.has-pale-cyan-blue-background-color { background-color: var(--site--preset--color--pale-cyan-blue) !important; }
.has-vivid-cyan-blue-background-color { background-color: var(--site--preset--color--vivid-cyan-blue) !important; }
.has-vivid-purple-background-color { background-color: var(--site--preset--color--vivid-purple) !important; }
.has-base-background-color { background-color: var(--site--preset--color--base) !important; }
.has-contrast-background-color { background-color: var(--site--preset--color--contrast) !important; }
.has-accent-1-background-color { background-color: var(--site--preset--color--accent-1) !important; }
.has-accent-2-background-color { background-color: var(--site--preset--color--accent-2) !important; }
.has-accent-3-background-color { background-color: var(--site--preset--color--accent-3) !important; }
.has-accent-4-background-color { background-color: var(--site--preset--color--accent-4) !important; }
.has-accent-5-background-color { background-color: var(--site--preset--color--accent-5) !important; }
.has-accent-6-background-color { background-color: var(--site--preset--color--accent-6) !important; }

.has-black-border-color { border-color: var(--site--preset--color--black) !important; }
.has-cyan-bluish-gray-border-color { border-color: var(--site--preset--color--cyan-bluish-gray) !important; }
.has-white-border-color { border-color: var(--site--preset--color--white) !important; }
.has-pale-pink-border-color { border-color: var(--site--preset--color--pale-pink) !important; }
.has-vivid-red-border-color { border-color: var(--site--preset--color--vivid-red) !important; }
.has-luminous-vivid-orange-border-color { border-color: var(--site--preset--color--luminous-vivid-orange) !important; }
.has-luminous-vivid-amber-border-color { border-color: var(--site--preset--color--luminous-vivid-amber) !important; }
.has-light-green-cyan-border-color { border-color: var(--site--preset--color--light-green-cyan) !important; }
.has-vivid-green-cyan-border-color { border-color: var(--site--preset--color--vivid-green-cyan) !important; }
.has-pale-cyan-blue-border-color { border-color: var(--site--preset--color--pale-cyan-blue) !important; }
.has-vivid-cyan-blue-border-color { border-color: var(--site--preset--color--vivid-cyan-blue) !important; }
.has-vivid-purple-border-color { border-color: var(--site--preset--color--vivid-purple) !important; }
.has-base-border-color { border-color: var(--site--preset--color--base) !important; }
.has-contrast-border-color { border-color: var(--site--preset--color--contrast) !important; }
.has-accent-1-border-color { border-color: var(--site--preset--color--accent-1) !important; }
.has-accent-2-border-color { border-color: var(--site--preset--color--accent-2) !important; }
.has-accent-3-border-color { border-color: var(--site--preset--color--accent-3) !important; }
.has-accent-4-border-color { border-color: var(--site--preset--color--accent-4) !important; }
.has-accent-5-border-color { border-color: var(--site--preset--color--accent-5) !important; }
.has-accent-6-border-color { border-color: var(--site--preset--color--accent-6) !important; }

/* Gradient Classes */
.has-vivid-cyan-blue-to-vivid-purple-gradient-background { background: var(--site--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important; }
.has-light-green-cyan-to-vivid-green-cyan-gradient-background { background: var(--site--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important; }
.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { background: var(--site--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important; }
.has-luminous-vivid-orange-to-vivid-red-gradient-background { background: var(--site--preset--gradient--luminous-vivid-orange-to-vivid-red) !important; }
.has-very-light-gray-to-cyan-bluish-gray-gradient-background { background: var(--site--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important; }
.has-cool-to-warm-spectrum-gradient-background { background: var(--site--preset--gradient--cool-to-warm-spectrum) !important; }
.has-blush-light-purple-gradient-background { background: var(--site--preset--gradient--blush-light-purple) !important; }
.has-blush-bordeaux-gradient-background { background: var(--site--preset--gradient--blush-bordeaux) !important; }
.has-luminous-dusk-gradient-background { background: var(--site--preset--gradient--luminous-dusk) !important; }
.has-pale-ocean-gradient-background { background: var(--site--preset--gradient--pale-ocean) !important; }
.has-electric-grass-gradient-background { background: var(--site--preset--gradient--electric-grass) !important; }
.has-midnight-gradient-background { background: var(--site--preset--gradient--midnight) !important; }

/* Font Size Classes */
.has-small-font-size { font-size: var(--site--preset--font-size--small) !important; }
.has-medium-font-size { font-size: var(--site--preset--font-size--medium) !important; }
.has-large-font-size { font-size: var(--site--preset--font-size--large) !important; }
.has-x-large-font-size { font-size: var(--site--preset--font-size--x-large) !important; }
.has-xx-large-font-size { font-size: var(--site--preset--font-size--xx-large) !important; }

/* Font Family Classes */
.has-manrope-font-family { font-family: var(--site--preset--font-family--manrope) !important; }
.has-fira-code-font-family { font-family: var(--site--preset--font-family--fira-code) !important; }

/* Additional Utility Classes */
.has-very-light-gray-background-color { background-color: #eee; }
.has-very-dark-gray-background-color { background-color: #313131; }
.has-very-light-gray-color { color: #eee; }
.has-very-dark-gray-color { color: #313131; }
.has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { background: linear-gradient(135deg, #00d084, #0693e3); }
.has-purple-crush-gradient-background { background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe); }
.has-hazy-dawn-gradient-background { background: linear-gradient(135deg, #faaca8, #dad0ec); }
.has-subdued-olive-gradient-background { background: linear-gradient(135deg, #fafae1, #67a671); }
.has-atomic-cream-gradient-background { background: linear-gradient(135deg, #fdd79a, #004a59); }
.has-nightshade-gradient-background { background: linear-gradient(135deg, #330968, #31cdcf); }
.has-midnight-gradient-background { background: linear-gradient(135deg, #020381, #2874fc); }

#end-resizable-editor-section {
	display: none;
}

/* ============================================
   General Page Design Styles
   ============================================ */

/* Base Reset */
* {
	box-sizing: border-box;
}

/* Image Optimization */
img:is([sizes="auto" i], [sizes^="auto," i]) {
	contain-intrinsic-size: 3000px 1500px;
}

/* Body Base Styles - Merged from all pages */
/* Note: Base body styles are defined in Typography section above */

/* Container Styles */
.container {
	margin: 0 auto;
}

/* Container for info page */
.container.info-page {
	max-width: 100%;
	min-height: calc(100vh - 10vh);
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 8vh;
	padding-bottom: clamp(70px, 10vw, 140px);
	padding-left: clamp(30px, 3vw, 40px);
	padding-right: clamp(30px, 3vw, 40px);
	box-sizing: border-box;
	margin-top: 0;
	width: 100%;
}

/* Container for projekte page */
.container.projekte-page {
	max-width: 645px;
	min-height: calc(100vh - 10vh);
	padding-top: clamp(30px, 5vw, 50px);
	padding-bottom: clamp(30px, 5vw, 50px);
	padding-left: clamp(30px, 5vw, 50px);
	padding-right: clamp(30px, 5vw, 50px);
	box-sizing: border-box;
	margin: 0 auto;
	margin-top: 5vh;
}

/* Content Wrapper (info page) */
.content-wrapper {
	display: flex;
	align-items: flex-start;
	gap: clamp(30px, 5vw, 60px);
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

@media (max-width: 781px) {
	.content-wrapper {
		flex-direction: column;
	}
}

/* Image Column (info page) */
.image-column {
	flex: 1;
}

.image-column img {
	width: 100%;
	height: auto;
	display: block;
}

/* Text Column (info page) */
.text-column {
	flex: 1;
	display: flex;
	flex-direction: column;
	text-align: left;
}

.text-column .mission-statement {
	margin: 0 0 2.4rem 0;
	font-size: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.392), 1.375rem);
	line-height: 1.4;
}

.text-column .team-member {
	margin: 0 0 1.2rem 0;
	font-size: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.392), 1.375rem);
	line-height: 1.4;
}

.text-column .team-member:first-of-type {
	margin-top: 2.4rem;
}

.text-column .team-member:last-child {
	margin-bottom: 2.4rem;
}

.text-column .team-member strong {
	font-weight: bold;
	text-transform: uppercase;
	display: block;
	margin-bottom: 0.2rem;
}

.text-column .contact-item {
	margin: 0 0 1.2rem 0;
	font-size: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.392), 1.375rem);
	line-height: 1.4;
}

.text-column .contact-item:last-child {
	margin-bottom: 0;
}

.text-column .contact-item strong {
	font-weight: bold;
	text-transform: uppercase;
	display: block;
	margin-bottom: 0.2rem;
}

.text-column table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

.text-column table tr {
	margin-bottom: 2rem;
}

.text-column table tr td {
	padding-bottom: 2rem;
	vertical-align: top;
	font-size: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.392), 1.375rem);
	line-height: 1.4;
}

.text-column table tr:last-child td {
	padding-bottom: 0;
}

.text-column table tr td strong {
	font-weight: bold;
	text-transform: uppercase;
	display: block;
	margin-bottom: 0.2rem;
}

/* Content (projekte page) */
.content {
	margin-top: 1.2rem;
	text-align: left;
}

/* Site Header - Common across pages */
.site-header {
	margin-bottom: 1.2rem;
}

.site-header a {
	font-size: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.392), 2rem);
	font-weight: 400;
	letter-spacing: -0.1px;
	line-height: 1.125;
	text-decoration: none;
}

/* Typography - Merged and consolidated */
/* Note: h2 and p base styles are defined in Typography section above */
/* Additional paragraph styles for specific pages */
p {
	font-size: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.392), 1.375rem);
	line-height: 1.4;
	margin: 0 0 1.2rem 0;
}

strong {
	font-weight: 600;
}

/* Links - Merged styles */
/* Note: Base link styles are defined above in Typography section */

/* Social Links (info page) */
.social-links {
	list-style: none;
	padding: 0;
	margin: 1.2rem 0 0 0;
	display: flex;
	gap: 10px;
}

.social-links li {
	margin: 0;
}

.social-links a {
	display: inline-block;
	text-decoration: none;
}

.social-links svg {
	width: 24px;
	height: 24px;
}

/* Utility Classes */
.margin-16 {
	margin: 16px;
}

.margin-off {
	margin: 0px;
}

