/*
Theme Name: Lucis in fundo
Description: Thème enfant du site Lucis in fundo
Author: Lucis in fundo
Version: 0.9.0
Template: twentytwentyfive
Text Domain: lucis-in-fundo
*/

:root {
	--lif-black: #171717;
	--lif-gold: #b49363;
	--lif-gold-ink: #7a654a;
	--lif-ivory: #f5f2ec;
	--lif-grey: #d8d2c8;
	--lif-glow: #e8d8b6;
	--lif-page-background: #f3f0e9;
	--project-blue: #4a929e;
	--project-coral: #c3705d;
	--project-olive: #77743f;
	--project-purple: #411a6d;
	--project-sand: #a5854b;
	--lif-font-serif: "EB Garamond", Garamond, Georgia, serif;
	--lif-font-sans: "Inter", "Helvetica Neue", Arial, sans-serif;
	--lif-site-title-size: clamp(1.75rem, 2.25vw, 2.65rem);
	--lif-body-size: clamp(1.125rem, 1.18vw, 1.25rem);
	--lif-body-line-height: 1.58;
	--lif-title-content-gap: clamp(1.75rem, 2.25vw, 2.25rem);
	--lif-editorial-columns: minmax(0, 0.9fr) minmax(0, 0.9fr) minmax(0, 1.8fr);
	--lif-editorial-gap: clamp(2.25rem, 4vw, 5.5rem);
	--lif-shell-padding-top: clamp(1.25rem, 3vw, 3rem);
	--lif-shell-padding-inline: clamp(1.25rem, 3.15vw, 3.75rem);
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--lif-page-background);
	color: var(--lif-black);
	font-family: var(--lif-font-serif);
	font-size: var(--lif-body-size);
	font-kerning: normal;
	font-optical-sizing: auto;
	font-synthesis: none;
	line-height: var(--lif-body-line-height);
	text-rendering: optimizeLegibility;
}

.lif-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.lif-wordmark {
	display: block;
	width: fit-content;
	color: var(--lif-black);
	text-decoration: none;
}

.lif-wordmark-name {
	display: block;
	margin: 0;
	font-family: var(--lif-font-serif);
	font-size: var(--lif-site-title-size);
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: -0.025em;
}

.lif-wordmark-production {
	display: block;
	margin-top: 0.35rem;
	color: var(--lif-gold-ink);
	font-family: var(--lif-font-sans);
	font-size: clamp(0.6rem, 0.66vw, 0.7rem);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lif-editorial-shell {
	box-sizing: border-box;
	width: min(100%, 1920px);
	margin-inline: auto;
	padding-top: var(--lif-shell-padding-top);
	padding-inline: var(--lif-shell-padding-inline);
}

.lif-site-header {
	display: grid;
	grid-template-columns: var(--lif-site-header-columns, var(--lif-editorial-columns));
	gap: var(--lif-site-header-gap, var(--lif-editorial-gap));
	align-items: start;
	padding-top: 0.9rem;
	border-top: 1px solid var(--lif-black);
}

.lif-site-header .lif-identity {
	grid-column: 1;
}

.lif-project-excerpt {
	max-width: 30em;
	color: color-mix(in srgb, var(--lif-black) 78%, var(--lif-ivory));
	font-family: var(--lif-font-serif);
	font-size: clamp(1.1rem, 1.3vw, 1.4rem);
	font-style: normal;
	font-weight: 400;
	line-height: 1.28;
	letter-spacing: -0.012em;
}

.lif-project-type {
	color: color-mix(in srgb, var(--lif-black) 82%, var(--lif-ivory));
	font-family: var(--lif-font-sans);
	font-size: clamp(0.65rem, 0.72vw, 0.78rem);
	font-style: normal;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

::selection {
	background: var(--lif-glow);
	color: var(--lif-black);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

@media (max-width: 680px) {
	:root {
		--lif-site-title-size: clamp(1.65rem, 7vw, 2.2rem);
	}
}

@media (max-width: 520px) {
	.lif-editorial-shell {
		padding-inline: 1rem;
	}
}
