/* * Tales Ebner - Arte & Educação 
 * Mobile-First Stylesheet
 */

/** ================================================================ **\
  * ================================================================ *
  * Reset
  * ================================================================ *
\** ================================================================ **/

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, sup, summary, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
	background: transparent;
	border: 0;
	font-size: 100%;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

body { line-height: 1; }

	html { font-size: 62.50%; }

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root {
	color-scheme: light;

	/* Palette */
	--art-bg: #FDFBF7;
	--surface: #FFFFFF;
	--surface-alt: #F4EFEA;
	--text: #1E1E20;
	--text-muted: #4E4F52;
	--accent: #A88B67;
	--accent-strong: #D47E6A;
	--course-signin-online: #D47E6A;
	--course-signin-presential: #2D5A7B;
	--border: #E8DDD3;
	--inverse: #FFFFFF;
	--button-bg: #1E1E20;
	--button-fg: #FDFBF7;
	--footer-bg: #1E1E20;
	--footer-fg: #F4EFEA;
	--charcoal: var(--text);
	--graphite: var(--text-muted);
	--sepia: var(--accent);
	--terracota: var(--accent-strong);
	--cream: var(--surface-alt);
	--white: var(--surface);

	/* Typography */
	--font-sans: 'Inter', system-ui, -apple-system, sans-serif;
	--font-serif: 'Playfair Display', Georgia, serif;

	/* Spacing */
	--space-xs: .8rem;
	--space-sm: 1.6rem;
	--space-md: 3.2rem;
	--space-lg: 6.4rem;
	--space-xl: 9.6rem;

	/* Effects */
	--transition: .3s cubic-bezier(.25, .8, .25, 1);
	--shadow-subtle: 0 .4rem 1.2rem rgba(168, 139, 103, .24);
	--shadow-hover: 0 .8rem 2.4rem rgba(168, 139, 103, .32);
	
	/* Gradient Border */
	--gradient-art: linear-gradient(to right, var(--accent), var(--accent-strong));
}

html[data-theme="light"] {
	color-scheme: light;
}

html[data-theme="dark"] {
	color-scheme: dark;
	--art-bg: #121215;
	--surface: #1B1B20;
	--surface-alt: #23232A;
	--text: #F3EFE8;
	--text-muted: #B9B4AA;
	--accent: #D9B58A;
	--accent-strong: #F48A76;
	--border: #37343C;
	--inverse: #121215;
	--button-bg: #F3EFE8;
	--button-fg: #121215;
	--footer-bg: #0E0E12;
	--footer-fg: #F3EFE8;
	--shadow-subtle: 0 .8rem 1.6rem rgba(0, 0, 0, .48);
	--shadow-hover: 0 1.2rem 3.2rem rgba(0, 0, 0, .58);
}

@media (prefers-color-scheme: dark) {
	html[data-theme="system"] {
		color-scheme: dark;
		--art-bg: #121215;
		--surface: #1B1B20;
		--surface-alt: #23232A;
		--text: #F3EFE8;
		--text-muted: #B9B4AA;
		--accent: #D9B58A;
		--accent-strong: #F48A76;
		--course-signin-online: #D47E6A;
		--course-signin-presential: #2D5A7B;
		--course-signin-online: #D47E6A;
		--course-signin-presential: #2D5A7B;
		--border: #37343C;
		--inverse: #121215;
		--button-bg: #F3EFE8;
		--button-fg: #121215;
		--footer-bg: #0E0E12;
		--footer-fg: #F3EFE8;
		--shadow-subtle: 0 .8rem 1.6rem rgba(0, 0, 0, .48);
		--shadow-hover: 0 1.2rem 3.2rem rgba(0, 0, 0, .58);
	}
}

/* Reset & Base */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-sans);
	background-color: var(--art-bg);
	color: var(--text-muted);
	line-height: 1.6;
	overflow-x: hidden;
	/* Soft grain artistic background */
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E");
}

html[data-theme="dark"] body {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
	html[data-theme="system"] body {
		background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");
	}
}

/* Typography */
h1, h2, h3, h4, h5, h6, .title {
	font-family: var(--font-serif);
	color: var(--text);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: var(--space-xs);
}

h1 { font-size: 4rem; }
h2 { font-size: 3.2rem; }
h3 { font-size: 2.8rem; }
h4 { font-size: 2rem; }

p, .paragraph {
	margin-bottom: var(--space-sm);
	font-size: 2rem;
	font-weight: 300;
}

strong, b { font-weight: 600; color: var(--text); }

a,
a:link,
a:visited {
	border-bottom: .2rem solid var(--course-signin-presential);
	color: var(--course-signin-presential);
	text-decoration: none;
	transition: all .2s ease-out;
}

a:focus,
a:hover,
a:active {
	border-color: var(--accent-strong);
	color: var(--accent-strong);
}

.item__anchor--external::after,
.item__anchor--external:link::after,
.item__anchor--external:visited::after {
	background: url(../../images/external-link.svg) no-repeat scroll center center / 1.6rem 1.6rem transparent;
	content: '';
	display: inline-block;
	height: 1.6rem;
	margin-left: .4rem;
	vertical-align: middle;
	width: 1.6rem;
}

.item__anchor--external:focus::after,
.item__anchor--external:hover::after,
.item__anchor--external:active::after {
	background-image: url(../../images/external-link-hover.svg);
}



.item__anchor--instagram,
.item__anchor--instagram:link,
.item__anchor--instagram:visited,
.item__anchor--instagram:focus,
.item__anchor--instagram:hover,
.item__anchor--instagram:active {
	outline: 0 transparent;
}

.item__anchor--instagram,
.item__anchor--instagram:link,
.item__anchor--instagram:visited {
	background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjYxNiAzLjA5MDkyQzkuMjMyOCAzLjE1NjE4IDguMjg4MjEgMy4zNzY5MiA3LjQ2MjQ1IDMuNzAxNEM2LjYwNzgyIDQuMDM0NDYgNS44ODM0NSA0LjQ4MTQgNS4xNjI3MiA1LjIwNDczQzQuNDQyIDUuOTI4MDUgMy45OTgxNyA2LjY1MjkzIDMuNjY3NDUgNy41MDg4NUMzLjM0NzM4IDguMzM2NDQgMy4xMzA1NCA5LjI4MTggMy4wNjk0NCAxMC42NjU4QzMuMDA4MzQgMTIuMDQ5OCAyLjk5NDgyIDEyLjQ5NDYgMy4wMDE1OCAxNi4wMjQ5QzMuMDA4MzQgMTkuNTU1MiAzLjAyMzk0IDE5Ljk5NzcgMy4wOTEwMiAyMS4zODQ2QzMuMTU3MDYgMjIuNzY3NSAzLjM3NzAyIDIzLjcxMTkgMy43MDE1MSAyNC41Mzc5QzQuMDM1MDkgMjUuMzkyNSA0LjQ4MTUyIDI2LjExNjYgNS4yMDUxIDI2LjgzNzZDNS45Mjg2OSAyNy41NTg2IDYuNjUzMDYgMjguMDAxMyA3LjUxMTA3IDI4LjMzMjZDOC4zMzc4OCAyOC42NTIxIDkuMjgzNTEgMjguODcgMTAuNjY3MiAyOC45MzA2QzEyLjA1MSAyOC45OTEyIDEyLjQ5NjQgMjkuMDA1MiAxNi4wMjU2IDI4Ljk5ODRDMTkuNTU0OSAyOC45OTE3IDE5Ljk5OTMgMjguOTc2MSAyMS4zODU4IDI4LjkxMDNDMjIuNzcyNCAyOC44NDQ1IDIzLjcxMTggMjguNjIzIDI0LjUzODEgMjguMzAwMUMyNS4zOTI3IDI3Ljk2NTcgMjYuMTE3NCAyNy41MjAxIDI2LjgzNzggMjYuNzk2MkMyNy41NTgzIDI2LjA3MjQgMjguMDAxOSAyNS4zNDcgMjguMzMyMyAyNC40OTA2QzI4LjY1MjcgMjMuNjYzOCAyOC44NzAzIDIyLjcxODEgMjguOTMwMyAyMS4zMzU0QzI4Ljk5MDkgMTkuOTQ3OCAyOS4wMDUyIDE5LjUwNDggMjguOTk4NSAxNS45NzVDMjguOTkxNyAxMi40NDUyIDI4Ljk3NTggMTIuMDAyNyAyOC45MTAxIDEwLjYxNjRDMjguODQ0MyA5LjIzMDA2IDI4LjYyNDEgOC4yODg2IDI4LjI5OTggNy40NjIwNUMyNy45NjU3IDYuNjA3NDMgMjcuNTE5OCA1Ljg4Mzg1IDI2Ljc5NjUgNS4xNjIzNUMyNi4wNzMyIDQuNDQwODQgMjUuMzQ3MiAzLjk5NzU0IDI0LjQ5MTEgMy42Njc4NkMyMy42NjM3IDMuMzQ3OCAyMi43MTg2IDMuMTI5NjYgMjEuMzM0OSAzLjA2OTg2QzE5Ljk1MTIgMy4wMTAwNiAxOS41MDU4IDIuOTk0NzIgMTUuOTc1MiAzLjAwMTQ4QzEyLjQ0NDYgMy4wMDgyNCAxMi4wMDI2IDMuMDIzMzIgMTAuNjE2IDMuMDkwOTJaTTEwLjc2NzkgMjYuNTkxOUM5LjUwMDM1IDI2LjUzNjggOC44MTIxMiAyNi4zMjYyIDguMzUzNDggMjYuMTQ5OUM3Ljc0NjExIDI1LjkxNTkgNy4zMTM0NiAyNS42MzMgNi44NTYzOCAyNS4xODAzQzYuMzk5MyAyNC43Mjc3IDYuMTE4NDkgMjQuMjkzNSA1Ljg4MTM3IDIzLjY4NzRDNS43MDMyNyAyMy4yMjg4IDUuNDg4NzcgMjIuNTQxMyA1LjQyOTQ5IDIxLjI3MzhDNS4zNjUwMSAxOS45MDM5IDUuMzUxNDggMTkuNDkyNiA1LjM0Mzk0IDE2LjAyMThDNS4zMzY0IDEyLjU1MTEgNS4zNDk2NiAxMi4xNDAzIDUuNDA5NzMgMTAuNzY5OEM1LjQ2MzgxIDkuNTAzMzIgNS42NzU3MSA4LjgxNDMyIDUuODUxNzMgOC4zNTU5NEM2LjA4NTczIDcuNzQ3OCA2LjM2NzU4IDcuMzE1OTMgNi44MjEyOCA2Ljg1OTExQzcuMjc0OTggNi40MDIyOSA3LjcwNzg5IDYuMTIwOTcgOC4zMTQ0NyA1Ljg4Mzg1QzguNzcyNiA1LjcwNDk3IDkuNDYwMDUgNS40OTIyOSAxMC43MjcgNS40MzE5N0MxMi4wOTggNS4zNjY5NyAxMi41MDg4IDUuMzUzOTcgMTUuOTc5MSA1LjM0NjQzQzE5LjQ0OTMgNS4zMzg4OSAxOS44NjEyIDUuMzUxODkgMjEuMjMyNyA1LjQxMjIxQzIyLjQ5OTIgNS40NjczMyAyMy4xODg0IDUuNjc3MTUgMjMuNjQ2MyA1Ljg1NDIxQzI0LjI1MzkgNi4wODgyMSAyNC42ODYzIDYuMzY5MjcgMjUuMTQzMSA2LjgyMzc1QzI1LjYgNy4yNzgyMyAyNS44ODE2IDcuNzA5NTggMjYuMTE4NyA4LjMxNzQ2QzI2LjI5NzggOC43NzQyOCAyNi41MTA1IDkuNDYxNDYgMjYuNTcwMyAxMC43MjkyQzI2LjYzNTYgMTIuMTAwMiAyNi42NTA0IDEyLjUxMTMgMjYuNjU2NiAxNS45ODEyQzI2LjY2MjkgMTkuNDUxMiAyNi42NTA2IDE5Ljg2MzMgMjYuNTkwNiAyMS4yMzMzQzI2LjUzNTIgMjIuNTAwOCAyNi4zMjUxIDIzLjE4OTIgMjYuMTQ4NiAyMy42NDg0QzI1LjkxNDYgMjQuMjU1NSAyNS42MzI1IDI0LjY4ODQgMjUuMTc4NSAyNS4xNDVDMjQuNzI0NSAyNS42MDE1IDI0LjI5MjIgMjUuODgyOSAyMy42ODUzIDI2LjEyQzIzLjIyNzcgMjYuMjk4NiAyMi41Mzk1IDI2LjUxMTggMjEuMjczNSAyNi41NzIxQzE5LjkwMjUgMjYuNjM2NiAxOS40OTE3IDI2LjY1MDEgMTYuMDIwMiAyNi42NTc3QzEyLjU0ODYgMjYuNjY1MiAxMi4xMzkxIDI2LjY1MTIgMTAuNzY4MSAyNi41OTE5TTIxLjM2NTggOS4wNTE5NkMyMS4zNjYzIDkuMzYwNTIgMjEuNDU4NCA5LjY2MiAyMS42MzAyIDkuOTE4MjdDMjEuODAyMSAxMC4xNzQ1IDIyLjA0NjEgMTAuMzc0MSAyMi4zMzE0IDEwLjQ5MTdDMjIuNjE2NyAxMC42MDkyIDIyLjkzMDQgMTAuNjM5NiAyMy4yMzI5IDEwLjU3ODhDMjMuNTM1NSAxMC41MTgxIDIzLjgxMzIgMTAuMzY5IDI0LjAzMSAxMC4xNTA0QzI0LjI0ODcgOS45MzE4NCAyNC4zOTY4IDkuNjUzNTggMjQuNDU2NCA5LjM1MDgzQzI0LjUxNjEgOS4wNDgwOCAyNC40ODQ2IDguNzM0NDYgMjQuMzY2IDguNDQ5NjFDMjQuMjQ3MyA4LjE2NDc2IDI0LjA0NjkgNy45MjE0OSAyMy43OSA3Ljc1MDU3QzIzLjUzMzEgNy41Nzk2NCAyMy4yMzEzIDcuNDg4NzQgMjIuOTIyNyA3LjQ4OTM1QzIyLjUwOTEgNy40OTAxOCAyMi4xMTI3IDcuNjU1MjYgMjEuODIwNyA3Ljk0ODI5QzIxLjUyODggOC4yNDEzMiAyMS4zNjUxIDguNjM4MzEgMjEuMzY1OCA5LjA1MTk2Wk05LjMyNTExIDE2LjAxM0M5LjMzMjM5IDE5LjY5OTggMTIuMzI2NiAyMi42ODE3IDE2LjAxMjYgMjIuNjc0N0MxOS42OTg3IDIyLjY2NzcgMjIuNjgyNyAxOS42NzM4IDIyLjY3NTcgMTUuOTg3QzIyLjY2ODcgMTIuMzAwMiAxOS42NzM3IDkuMzE3NDIgMTUuOTg3MiA5LjMyNDdDMTIuMzAwNiA5LjMzMTk4IDkuMzE4MDkgMTIuMzI2NyA5LjMyNTExIDE2LjAxM1pNMTEuNjY2NyAxNi4wMDgzQzExLjY2NSAxNS4xNTEyIDExLjkxNzUgMTQuMzEyOSAxMi4zOTIyIDEzLjU5OTNDMTIuODY3IDEyLjg4NTcgMTMuNTQyNyAxMi4zMjkgMTQuMzMzOSAxMS45OTk0QzE1LjEyNTEgMTEuNjY5OSAxNS45OTYyIDExLjU4MjMgMTYuODM3MSAxMS43NDc5QzE3LjY3ODEgMTEuOTEzNCAxOC40NTEgMTIuMzI0NiAxOS4wNTgzIDEyLjkyOTVDMTkuNjY1NSAxMy41MzQzIDIwLjA3OTggMTQuMzA1NiAyMC4yNDg3IDE1LjE0NTlDMjAuNDE3NSAxNS45ODYyIDIwLjMzMzQgMTYuODU3NiAyMC4wMDcgMTcuNjUwMUMxOS42ODA2IDE4LjQ0MjYgMTkuMTI2NSAxOS4xMjA1IDE4LjQxNDggMTkuNTk4MUMxNy43MDMxIDIwLjA3NTYgMTYuODY1OCAyMC4zMzE0IDE2LjAwODcgMjAuMzMzMUMxNS40Mzk2IDIwLjMzNDMgMTQuODc1OSAyMC4yMjM0IDE0LjM0OTcgMjAuMDA2N0MxMy44MjM0IDE5Ljc5IDEzLjM0NTEgMTkuNDcxNyAxMi45NDE4IDE5LjA3MDFDMTIuNTM4NiAxOC42Njg1IDEyLjIxODUgMTguMTkxNCAxMS45OTk3IDE3LjY2NkMxMS43ODA5IDE3LjE0MDcgMTEuNjY3NyAxNi41Nzc0IDExLjY2NjcgMTYuMDA4M1oiIGZpbGw9IiMyRDVBN0IiLz4KPC9zdmc+) no-repeat scroll 0rem 0rem / 3.2rem 3.2rem transparent;
	border: none;
	border-radius: var(--space-sm);
	display: inline-block;
	height: 3.2rem;
	margin: 0 auto;
	min-height: 3.2rem;
	overflow: hidden;
	padding: 0;
	text-indent: 100%;
	white-space: nowrap;
	width: 3.2rem;
}

.item__anchor--instagram:focus,
.item__anchor--instagram:hover,
.item__anchor--instagram:active {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjYxNiAzLjA5MDkyQzkuMjMyOCAzLjE1NjE4IDguMjg4MjEgMy4zNzY5MiA3LjQ2MjQ1IDMuNzAxNEM2LjYwNzgyIDQuMDM0NDYgNS44ODM0NSA0LjQ4MTQgNS4xNjI3MiA1LjIwNDczQzQuNDQyIDUuOTI4MDUgMy45OTgxNyA2LjY1MjkzIDMuNjY3NDUgNy41MDg4NUMzLjM0NzM4IDguMzM2NDQgMy4xMzA1NCA5LjI4MTggMy4wNjk0NCAxMC42NjU4QzMuMDA4MzQgMTIuMDQ5OCAyLjk5NDgyIDEyLjQ5NDYgMy4wMDE1OCAxNi4wMjQ5QzMuMDA4MzQgMTkuNTU1MiAzLjAyMzk0IDE5Ljk5NzcgMy4wOTEwMiAyMS4zODQ2QzMuMTU3MDYgMjIuNzY3NSAzLjM3NzAyIDIzLjcxMTkgMy43MDE1MSAyNC41Mzc5QzQuMDM1MDkgMjUuMzkyNSA0LjQ4MTUyIDI2LjExNjYgNS4yMDUxIDI2LjgzNzZDNS45Mjg2OSAyNy41NTg2IDYuNjUzMDYgMjguMDAxMyA3LjUxMTA3IDI4LjMzMjZDOC4zMzc4OCAyOC42NTIxIDkuMjgzNTEgMjguODcgMTAuNjY3MiAyOC45MzA2QzEyLjA1MSAyOC45OTEyIDEyLjQ5NjQgMjkuMDA1MiAxNi4wMjU2IDI4Ljk5ODRDMTkuNTU0OSAyOC45OTE3IDE5Ljk5OTMgMjguOTc2MSAyMS4zODU4IDI4LjkxMDNDMjIuNzcyNCAyOC44NDQ1IDIzLjcxMTggMjguNjIzIDI0LjUzODEgMjguMzAwMUMyNS4zOTI3IDI3Ljk2NTcgMjYuMTE3NCAyNy41MjAxIDI2LjgzNzggMjYuNzk2MkMyNy41NTgzIDI2LjA3MjQgMjguMDAxOSAyNS4zNDcgMjguMzMyMyAyNC40OTA2QzI4LjY1MjcgMjMuNjYzOCAyOC44NzAzIDIyLjcxODEgMjguOTMwMyAyMS4zMzU0QzI4Ljk5MDkgMTkuOTQ3OCAyOS4wMDUyIDE5LjUwNDggMjguOTk4NSAxNS45NzVDMjguOTkxNyAxMi40NDUyIDI4Ljk3NTggMTIuMDAyNyAyOC45MTAxIDEwLjYxNjRDMjguODQ0MyA5LjIzMDA2IDI4LjYyNDEgOC4yODg2IDI4LjI5OTggNy40NjIwNUMyNy45NjU3IDYuNjA3NDMgMjcuNTE5OCA1Ljg4Mzg1IDI2Ljc5NjUgNS4xNjIzNUMyNi4wNzMyIDQuNDQwODQgMjUuMzQ3MiAzLjk5NzU0IDI0LjQ5MTEgMy42Njc4NkMyMy42NjM3IDMuMzQ3OCAyMi43MTg2IDMuMTI5NjYgMjEuMzM0OSAzLjA2OTg2QzE5Ljk1MTIgMy4wMTAwNiAxOS41MDU4IDIuOTk0NzIgMTUuOTc1MiAzLjAwMTQ4QzEyLjQ0NDYgMy4wMDgyNCAxMi4wMDI2IDMuMDIzMzIgMTAuNjE2IDMuMDkwOTJaTTEwLjc2NzkgMjYuNTkxOUM5LjUwMDM1IDI2LjUzNjggOC44MTIxMiAyNi4zMjYyIDguMzUzNDggMjYuMTQ5OUM3Ljc0NjExIDI1LjkxNTkgNy4zMTM0NiAyNS42MzMgNi44NTYzOCAyNS4xODAzQzYuMzk5MyAyNC43Mjc3IDYuMTE4NDkgMjQuMjkzNSA1Ljg4MTM3IDIzLjY4NzRDNS43MDMyNyAyMy4yMjg4IDUuNDg4NzcgMjIuNTQxMyA1LjQyOTQ5IDIxLjI3MzhDNS4zNjUwMSAxOS45MDM5IDUuMzUxNDggMTkuNDkyNiA1LjM0Mzk0IDE2LjAyMThDNS4zMzY0IDEyLjU1MTEgNS4zNDk2NiAxMi4xNDAzIDUuNDA5NzMgMTAuNzY5OEM1LjQ2MzgxIDkuNTAzMzIgNS42NzU3MSA4LjgxNDMyIDUuODUxNzMgOC4zNTU5NEM2LjA4NTczIDcuNzQ3OCA2LjM2NzU4IDcuMzE1OTMgNi44MjEyOCA2Ljg1OTExQzcuMjc0OTggNi40MDIyOSA3LjcwNzg5IDYuMTIwOTcgOC4zMTQ0NyA1Ljg4Mzg1QzguNzcyNiA1LjcwNDk3IDkuNDYwMDUgNS40OTIyOSAxMC43MjcgNS40MzE5N0MxMi4wOTggNS4zNjY5NyAxMi41MDg4IDUuMzUzOTcgMTUuOTc5MSA1LjM0NjQzQzE5LjQ0OTMgNS4zMzg4OSAxOS44NjEyIDUuMzUxODkgMjEuMjMyNyA1LjQxMjIxQzIyLjQ5OTIgNS40NjczMyAyMy4xODg0IDUuNjc3MTUgMjMuNjQ2MyA1Ljg1NDIxQzI0LjI1MzkgNi4wODgyMSAyNC42ODYzIDYuMzY5MjcgMjUuMTQzMSA2LjgyMzc1QzI1LjYgNy4yNzgyMyAyNS44ODE2IDcuNzA5NTggMjYuMTE4NyA4LjMxNzQ2QzI2LjI5NzggOC43NzQyOCAyNi41MTA1IDkuNDYxNDYgMjYuNTcwMyAxMC43MjkyQzI2LjYzNTYgMTIuMTAwMiAyNi42NTA0IDEyLjUxMTMgMjYuNjU2NiAxNS45ODEyQzI2LjY2MjkgMTkuNDUxMiAyNi42NTA2IDE5Ljg2MzMgMjYuNTkwNiAyMS4yMzMzQzI2LjUzNTIgMjIuNTAwOCAyNi4zMjUxIDIzLjE4OTIgMjYuMTQ4NiAyMy42NDg0QzI1LjkxNDYgMjQuMjU1NSAyNS42MzI1IDI0LjY4ODQgMjUuMTc4NSAyNS4xNDVDMjQuNzI0NSAyNS42MDE1IDI0LjI5MjIgMjUuODgyOSAyMy42ODUzIDI2LjEyQzIzLjIyNzcgMjYuMjk4NiAyMi41Mzk1IDI2LjUxMTggMjEuMjczNSAyNi41NzIxQzE5LjkwMjUgMjYuNjM2NiAxOS40OTE3IDI2LjY1MDEgMTYuMDIwMiAyNi42NTc3QzEyLjU0ODYgMjYuNjY1MiAxMi4xMzkxIDI2LjY1MTIgMTAuNzY4MSAyNi41OTE5TTIxLjM2NTggOS4wNTE5NkMyMS4zNjYzIDkuMzYwNTIgMjEuNDU4NCA5LjY2MiAyMS42MzAyIDkuOTE4MjdDMjEuODAyMSAxMC4xNzQ1IDIyLjA0NjEgMTAuMzc0MSAyMi4zMzE0IDEwLjQ5MTdDMjIuNjE2NyAxMC42MDkyIDIyLjkzMDQgMTAuNjM5NiAyMy4yMzI5IDEwLjU3ODhDMjMuNTM1NSAxMC41MTgxIDIzLjgxMzIgMTAuMzY5IDI0LjAzMSAxMC4xNTA0QzI0LjI0ODcgOS45MzE4NCAyNC4zOTY4IDkuNjUzNTggMjQuNDU2NCA5LjM1MDgzQzI0LjUxNjEgOS4wNDgwOCAyNC40ODQ2IDguNzM0NDYgMjQuMzY2IDguNDQ5NjFDMjQuMjQ3MyA4LjE2NDc2IDI0LjA0NjkgNy45MjE0OSAyMy43OSA3Ljc1MDU3QzIzLjUzMzEgNy41Nzk2NCAyMy4yMzEzIDcuNDg4NzQgMjIuOTIyNyA3LjQ4OTM1QzIyLjUwOTEgNy40OTAxOCAyMi4xMTI3IDcuNjU1MjYgMjEuODIwNyA3Ljk0ODI5QzIxLjUyODggOC4yNDEzMiAyMS4zNjUxIDguNjM4MzEgMjEuMzY1OCA5LjA1MTk2Wk05LjMyNTExIDE2LjAxM0M5LjMzMjM5IDE5LjY5OTggMTIuMzI2NiAyMi42ODE3IDE2LjAxMjYgMjIuNjc0N0MxOS42OTg3IDIyLjY2NzcgMjIuNjgyNyAxOS42NzM4IDIyLjY3NTcgMTUuOTg3QzIyLjY2ODcgMTIuMzAwMiAxOS42NzM3IDkuMzE3NDIgMTUuOTg3MiA5LjMyNDdDMTIuMzAwNiA5LjMzMTk4IDkuMzE4MDkgMTIuMzI2NyA5LjMyNTExIDE2LjAxM1pNMTEuNjY2NyAxNi4wMDgzQzExLjY2NSAxNS4xNTEyIDExLjkxNzUgMTQuMzEyOSAxMi4zOTIyIDEzLjU5OTNDMTIuODY3IDEyLjg4NTcgMTMuNTQyNyAxMi4zMjkgMTQuMzMzOSAxMS45OTk0QzE1LjEyNTEgMTEuNjY5OSAxNS45OTYyIDExLjU4MjMgMTYuODM3MSAxMS43NDc5QzE3LjY3ODEgMTEuOTEzNCAxOC40NTEgMTIuMzI0NiAxOS4wNTgzIDEyLjkyOTVDMTkuNjY1NSAxMy41MzQzIDIwLjA3OTggMTQuMzA1NiAyMC4yNDg3IDE1LjE0NTlDMjAuNDE3NSAxNS45ODYyIDIwLjMzMzQgMTYuODU3NiAyMC4wMDcgMTcuNjUwMUMxOS42ODA2IDE4LjQ0MjYgMTkuMTI2NSAxOS4xMjA1IDE4LjQxNDggMTkuNTk4MUMxNy43MDMxIDIwLjA3NTYgMTYuODY1OCAyMC4zMzE0IDE2LjAwODcgMjAuMzMzMUMxNS40Mzk2IDIwLjMzNDMgMTQuODc1OSAyMC4yMjM0IDE0LjM0OTcgMjAuMDA2N0MxMy44MjM0IDE5Ljc5IDEzLjM0NTEgMTkuNDcxNyAxMi45NDE4IDE5LjA3MDFDMTIuNTM4NiAxOC42Njg1IDEyLjIxODUgMTguMTkxNCAxMS45OTk3IDE3LjY2NkMxMS43ODA5IDE3LjE0MDcgMTEuNjY3NyAxNi41Nzc0IDExLjY2NjcgMTYuMDA4M1oiIGZpbGw9IiNENDdFNkEiLz4KPC9zdmc+);
}

.item__anchor--instagram:focus {
	box-shadow: 0 0 0 .4rem #f0f;
}

.item__anchor--instagram:focus,
.item__anchor--instagram:hover {
	background-color: #0f0;
}

.item__anchor--instagram:active {
	background-color: #00f;
}

/* Utilities */
.visually-hidden {
	position: absolute; width: .1rem; height: .1rem; padding: 0; margin: -.1rem; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.wrapper {
	max-width: 100vw;
	overflow: hidden;
}

.main {
	margin: var(--space-lg);
}

.section {
	padding: var(--space-lg) var(--space-sm) 0;
	position: relative;
}

.section:last-child {
	padding-bottom: var(--space-lg);
}

.section .section {
	padding: var(--space-md) var(--space-xs) 0;
}

.section__title:has(+ .section__subtitle) {
	margin-bottom: 0;
}

.subtitle {
	color: var(--accent);
	display: inline-block;
	font-size: 1.6rem;
	margin-bottom: var(--space-sm);
}

.list {
	font-size: 1.6rem;
	list-style: none;
	padding-left: 0;
}

/* Header & Nav */
.header--page {
	padding: var(--space-md) var(--space-sm);
	position: relative;
	border-bottom: .1rem solid var(--border);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.header__subtitle {
	font-family: var(--font-sans);
	text-transform: uppercase;
	letter-spacing: .16rem;
	font-size: 1.2rem;
	color: var(--sepia);
	margin-top: var(--space-xs);
	display: block;
}

/* Mobile Nav Toggle */
.header__navigation {
	margin-bottom: var(--space-sm);
}

.navigation__list {
	list-style: none;
	display: flex;
	flex-direction: row;
	gap: 1.6rem;
	margin-top: 1.6rem;
}

.navigation__list__item .anchor {
	text-decoration: none;
	color: var(--text-muted);
	font-size: 1.6rem;
	transition: var(--transition);
}

.navigation__list__item .anchor:hover {
	color: var(--accent-strong);
}

/* Theme Switcher */
.header__theme-switcher {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .8rem;
	margin-top: var(--space-sm);
}

.theme-switcher__label {
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--accent);
}

.theme-switcher__options {
	display: inline-flex;
	padding: .4rem;
	border: .1rem solid var(--border);
	border-radius: 999rem;
	background: var(--surface);
	gap: .4rem;
}

.theme-switcher__option {
	position: relative;
	cursor: pointer;
}

.theme-switcher__option input {
	position: absolute;
	inset: 0;
	opacity: 0;
	margin: 0;
	cursor: pointer;
}

.theme-switcher__option span,
.theme-switcher__option span:link,
.theme-switcher__option span:visited {
	display: block;
	padding: .4rem 1.2rem;
	border-radius: 999rem;
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--text-muted);
	transition: var(--transition);
}

.theme-switcher__option span:focus,
.theme-switcher__option span:hover,
.theme-switcher__option span:active {
	color: var(--accent);
}

.theme-switcher__option input:checked + span,
.theme-switcher__option input:checked + span:link,
.theme-switcher__option input:checked + span:visited {
	background: var(--button-bg);
	color: var(--button-fg);
	box-shadow: 0 .4rem 1.2rem rgba(0, 0, 0, .12);
}

.theme-switcher__option input:checked + span:focus,
.theme-switcher__option input:checked + span:hover,
.theme-switcher__option input:checked + span:active {
	background: var(--accent);
}

.theme-switcher__option input:focus-visible + span {
	outline: .2rem solid var(--accent-strong);
	outline-offset: .2rem;
}

/* Hero Section */
.main__section {
	text-align: center;
}

.section__title--second span {
	font-style: italic;
	color: var(--sepia);
}

.actions__list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	margin-top: var(--space-md);
	align-items: center;
}

:where(button:not(.course__button), .actions__list__item .anchor, form button[type="submit"], .artwork__enlarge) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 5.2rem;
	padding: 0 2.4rem;
	border: none;
	border-radius: .8rem;
	background: var(--button-bg);
	color: var(--button-fg);
	font-family: var(--font-sans);
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: var(--transition);
	position: relative;
	overflow: hidden;
}

.item__anchor {
	min-height: 6.4rem;
}

.item__anchor:hover {
	transform: translateY(-.2rem);
}

.item__anchor.item__anchor--primary {
	color: var(--button-fg);
}

.item__anchor--secondary {
	background: transparent;
	color: var(--button-bg);
	border: .1rem solid var(--button-bg);
	box-shadow: none;
}

/* Portfolio */
.filter {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem 1rem;
	margin-top: var(--space-md);
	margin-bottom: var(--space-md);
	align-items: center;
}

.filter__group--label {
	display: inline-block;
	margin-right: .4rem;
	font-family: var(--font-sans);
	font-size: 1.2rem;
	font-style: normal;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sepia);
}

.course__filter .filter__group--label:nth-of-type(2) {
	margin-left: var(--space-md);
}

.tag--filter {
	appearance: none;
	cursor: pointer;
	background: var(--surface-alt);
	transition: var(--transition);
}

.tag--filter:hover {
	border-color: var(--accent);
	color: var(--text);
}

.tag--filter[aria-pressed="true"] {
	background: var(--button-bg);
	color: var(--button-fg);
	border-color: var(--button-bg);
}

.gallery__artwork[hidden] {
	display: none;
}

.course[hidden] {
	display: none;
}

.tag {
	background: var(--surface-alt);
	color: var(--text-muted);
	padding: .4rem 1.2rem;
	border-radius: 2rem;
	font-size: 1.2rem;
	border: .1rem solid var(--border);
}

button.tag {
	font-family: var(--font-sans);
	font-size: 1.6rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1;
}

.course__filter .tag--filter {
	min-height: 5.2rem;
	padding: 0 1.8rem;
}

.course__filter .tag--filter[aria-pressed="true"] {
	background: var(--button-bg);
	color: var(--button-fg);
	border-color: var(--button-bg);
}

.portfolio__gallery {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	margin-top: var(--space-md);
}

.gallery__artwork {
	background: var(--white);
	box-shadow: var(--shadow-subtle);
	transition: var(--transition);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	border-radius: .4rem;
	overflow: auto;
}

.gallery__artwork:hover {
	box-shadow: var(--shadow-hover);
	transform: translateY(-.4rem);
}

.gallery__artwork figure {
	padding: var(--space-md);
	flex: 1 1 auto;
	border-top: .3rem solid var(--accent-strong);
}

/* Image Placeholders handled natively by CSS background */
.gallery__artwork figure img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background-color: var(--cream);
	display: block;
	cursor: zoom-in; /* Interactive clue */
}

.gallery__artwork figcaption {
	padding-top: var(--space-sm);
}


.gallery__artwork h4 {
	margin-top: var(--space-sm);
	margin-bottom: var(--space-sm);
	font-size: 2rem;
	font-family: var(--font-serif);
	font-weight: 700;
	color: var(--text);
}

.gallery__artwork time {
	font-size: 1.6rem;
	padding-left: 1.2rem;
}
.gallery__artwork time::before {
	content: "—";
	left: 0;
	padding-right: 1.2rem;
	color: var(--sepia);
}

.artwork__footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--space-sm);
	align-items: center;
	background: var(--surface-alt);
	border-top: .1rem solid var(--border);
	padding: var(--space-md);
}

.artwork__footer .artwork__enlarge {
	width: 100%;
	min-height: 5.2rem;
	padding: 0 2.4rem;
	white-space: nowrap;
	background: var(--course-signin-online);
	color: var(--inverse);
}

.artwork__medium,
.artwork__size,
.artwork__price {
	display: inline-block;
	font-size: 2rem;
	position: relative;
	margin-bottom: .4rem;
	color: var(--text);
}

.dialog__artwork .artwork__medium,
.dialog__artwork .artwork__size,
.dialog__artwork .artwork__price {
	display: block;
}

/* Courses */
.course__list {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	margin-top: var(--space-md);
}

.course {
	background: var(--white);
	box-shadow: var(--shadow-subtle);
	transition: var(--transition);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: .4rem;
	overflow: auto;
}

.course__body {
	border-top: .3rem solid var(--accent-strong);
}

.course__body,
.course__footer {
	padding: var(--space-md);
}

.course:hover {
	transform: translateY(-.4rem);
	box-shadow: var(--shadow-hover);
}
.course__title {
	margin-top: var(--space-sm);
	margin-bottom: 0;
}

.course__subtitle {
	display: block;
	font-family: var(--font-sans);
	font-weight: 500;
	color: var(--accent-strong);
	margin-bottom: var(--space-sm);
}

.course__schedule,
.course__duration,
.course__recording,
.course__capacity,
.course__age,
.course__level,
.course__inclusivity,
.course__plan {
	display: block;
	font-size: 1.6rem;
	padding-left: 2rem;
	position: relative;
	margin-bottom: .4rem;
}

.course__plan {
	display: inline-block;
	padding-left: 0;
	margin-left: 2rem;
}

.course__schedule::before,
.course__duration::before,
.course__recording::before,
.course__capacity::before,
.course__age::before,
.course__level::before,
.course__inclusivity::before,
.course__plan::before {
	content: "•";
	position: absolute;
	left: 0;
	color: var(--sepia);
}

.course__plan::before {
	left: -2rem;
}

.course__description {
	font-size: 1.6rem;
}

.course__footer .course__price::before,
.course__footer .course__signin::before {
	content: none;
}

.course__footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--space-sm);
	align-items: center;
	background: var(--surface-alt);
	border-top: .1rem solid var(--border);
}

.course__price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
	font-size: 1.4rem;
	font-weight: 400;
	text-align: left;
	color: var(--text);
}

.course__price,
.course__footer .course__signin {
	margin-bottom: 0;
}

.course__price span {
	display: block;
}

.course__price strong {
	font-size: 2.6rem;
	line-height: 1;
	font-weight: 700;
	color: var(--accent-strong);
}

.course__footer .course__signin {
	width: 100%;
	min-height: 5.2rem;
	padding: 0 2.4rem;
	white-space: nowrap;
	background: var(--course-signin-online);
	color: var(--inverse);
}

.course__signin--hybrid {
	background: linear-gradient(135deg, var(--course-signin-online), var(--course-signin-presential));
	color: var(--inverse);
}

.course__button {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: .8rem;
	min-height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--accent-strong);
	font-family: var(--font-sans);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: .2em;
}

.course__button:hover {
	transform: none;
	box-shadow: none;
	color: var(--terracota);
}

/* About & Manifesto */
.manifest__stanza {
	margin-bottom: var(--space-sm);
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 1.8rem;
	color: var(--text);
	border-left: .2rem solid var(--accent);
	padding-left: var(--space-sm);
}

.stanza__line { display: block; }

.timeline__list {
	list-style: none;
	border-left: .1rem solid var(--border);
	margin-left: .8rem;
}

.timeline__list__item {
	position: relative;
	padding-left: var(--space-md);
	margin-bottom: var(--space-sm);
	margin-left: -.05rem;
}

.timeline__list__item::before {
	content: "";
	position: absolute;
	left: -.4rem;
	top: 1rem;
	width: .8rem;
	height: .8rem;
	background: var(--accent-strong);
	border-radius: 50%;
}

.timeline__list__item span {
	font-family: var(--font-serif);
	font-weight: 500;
	color: var(--text);
	display: block;
}

/* Forms & Contact */
.form__fieldset {
	border: .1rem solid var(--border);
	background: var(--surface);
	padding: var(--space-sm) var(--space-sm) var(--space-md);
	border-radius: .8rem;
}

.fieldset__legend {
	font-family: var(--font-serif);
	font-size: 2rem;
	font-weight: 700;
	padding: 0 var(--space-xs);
	margin: 0 var(--space-xs);
	color: var(--sepia);
}

.contact__list {
	list-style: none;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
	padding: 0 var(--space-sm);
}

.contact__list__item label {
	display: block;
	margin: .4rem 0;
	font-size: 1.4rem;
	font-weight: 500;
}

.contact__list__item > label { margin: 0 0 .4rem; }

.contact__list__item input[type="name"],
.contact__list__item input[type="tel"],
.contact__list__item input[type="email"],
.contact__list__item input[type="text"],
.contact__list__item textarea {
	width: 100%;
	padding: 1.2rem;
	border: .1rem solid var(--border);
	background: var(--surface);
	font-family: var(--font-sans);
	transition: var(--transition);
}

.contact__list__item li input[type="name"],
.contact__list__item li input[type="tel"],
.contact__list__item li input[type="email"],
.contact__list__item li input[type="text"],
.contact__list__item li textarea {
	padding: .4rem;
}

input:focus, textarea:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 .2rem rgba(168, 139, 103, .2);
}

textarea { min-height: 12rem; resize: vertical; }

.contact__list__item ol {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: .8rem;
}

.contact__list__item ol li {
	display: flex;
	align-items: center;
	gap: .8rem;
}

/* Footer */
.footer {
	background: var(--footer-bg);
	color: var(--footer-fg);
	padding: var(--space-lg) var(--space-sm);
	text-align: center;
}

.footer__title {
	color: var(--button-fg);
	font-size: 2.4rem;
}
.footer__subtitle {
	font-family: var(--font-sans);
	text-transform: uppercase;
	letter-spacing: .16rem;
	font-size: 1.2rem;
	color: var(--sepia);
	margin-bottom: 0;
}
.footer__list {
	list-style: none;
	margin: var(--space-md) 0;
	display: flex;
	flex-direction: column;
	gap: .8rem;
}
.footer__list__item .anchor { color: var(--footer-fg); text-decoration: none; }

.footer__text {
	font-size: 1.2rem;
}

/* Dialogs / Modals */
dialog {
	margin: auto;
	padding: var(--space-md);
	border: none;
	background: var(--surface);
	color: var(--text-muted);
	max-width: 90vw;
	width: 100%;
	box-shadow: 0 2.8rem 6rem rgba(0,0,0,.28);
	border-top: .4rem solid var(--accent-strong);
}

.dialog__artwork {
	width: calc(100vw - 4rem);
	max-width: none;
	height: calc(100dvh - 4rem);
	max-height: none;
	padding: clamp(2rem, 2vw, 3.2rem);
	overflow: hidden;
	position: relative;
}

.dialog__artwork figure {
	height: 100%;
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	gap: var(--space-sm);
	min-height: 0;
}

.dialog__artwork figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--surface-alt);
	border-radius: .8rem;
	min-height: 0;
}

.dialog__artwork figcaption {
	max-height: 32vh;
	overflow: auto;
}

dialog::backdrop {
	background: rgba(18, 18, 21, .82);
	backdrop-filter: blur(.4rem);
}

.button--close {
	position: absolute;
	top: 1rem;
	right: 1rem;
}

.dialog__title { margin-top: 1.6rem; }

/* Animations */
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-1rem); }
	to { opacity: 1; transform: translateY(0); }
}