/* Fonts loaded via wp_enqueue_style in inc/enqueue.php */

/* ══════════════════════════════════════
   TOKENS — Dual palette (light default)
══════════════════════════════════════ */

/* ── Light (default) ── */
:root,
[data-theme="light"] {
	--bg:         #FAFAF6;
	--surface:    #FFFFFF;
	--surface2:   #F5F2EC;
	--surface3:   #EDEAE3;

	--gold:       #9A7B4F;
	--gold-lt:    #B8955F;
	--gold-dim:   rgba(154,123,79,0.07);
	--gold-bdr:   rgba(154,123,79,0.18);

	--ocean:      #1A7A75;
	--ocean-lt:   #218F89;
	--ocean-dim:  rgba(26,122,117,0.07);
	--ocean-bdr:  rgba(26,122,117,0.18);

	--cream:      #1A1E2E;
	--cream-lt:   #2C3040;
	--cream-dim:  rgba(26,30,46,0.06);
	--t1:         #1A1E2E;
	--t2:         rgba(26,30,46,0.72);
	--t3:         rgba(26,30,46,0.45);

	--border:     rgba(0,0,0,0.06);
	--border-hi:  rgba(0,0,0,0.11);

	--btn-text:   #fff;
	--header-bg:  rgba(250,250,246,0.92);
	--shadow-card: 0 0 0 1px rgba(0,0,0,0.03), 0 24px 80px rgba(0,0,0,0.06);
	--shadow-sm:  0 4px 20px rgba(0,0,0,0.04);
	--shadow-btn: rgba(154,123,79,0.22);
	--shadow-ocean: rgba(26,122,117,0.2);
	--geo-stroke1: #C8BFA8;
	--geo-stroke2: #9A7B4F;
	--dot-alpha:  0.03;
}

/* ── Dark ── */
[data-theme="dark"] {
	--bg:         #0D1117;
	--surface:    #141A24;
	--surface2:   #192233;
	--surface3:   #1E2940;

	--gold:       #C8A96E;
	--gold-lt:    #D4BA84;
	--gold-dim:   rgba(200,169,110,0.10);
	--gold-bdr:   rgba(200,169,110,0.22);

	--ocean:      #2A8F8A;
	--ocean-lt:   #35B5AF;
	--ocean-dim:  rgba(42,143,138,0.14);
	--ocean-bdr:  rgba(42,143,138,0.30);

	--cream:      #F0EAD6;
	--cream-lt:   #F7F3E9;
	--cream-dim:  rgba(240,234,214,0.12);
	--t1:         #F0EAD6;
	--t2:         rgba(240,234,214,0.70);
	--t3:         rgba(240,234,214,0.40);

	--border:     rgba(255,255,255,0.06);
	--border-hi:  rgba(255,255,255,0.11);

	--btn-text:   #0D1117;
	--header-bg:  rgba(13,17,23,0.96);
	--shadow-card: 0 0 0 1px rgba(78,99,94,0.08), 0 24px 80px rgba(0,0,0,0.4);
	--shadow-sm:  0 16px 40px rgba(0,0,0,0.22);
	--shadow-btn: rgba(200,169,110,0.22);
	--shadow-ocean: rgba(78,99,94,0.3);
	--geo-stroke1: #4E635E;
	--geo-stroke2: #d4c9b0;
	--dot-alpha:  0.055;
}

:root {
	--font-d: 'Cormorant Garamond', Georgia, serif;
	--font-b: 'Nunito', system-ui, sans-serif;

	--r:    12px;
	--r-lg: 20px;
	--r-xl: 28px;

	--ease:   cubic-bezier(.22,1,.36,1);
	--spring: cubic-bezier(.34,1.56,.64,1);
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body {
	font-family: var(--font-b);
	background: var(--bg);
	color: var(--t1);
	overflow-x: hidden;
	font-size: 16px;
	line-height: 1.65;
	transition: background .4s ease, color .4s ease;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* ── Layout ── */
.de-container {
	width: min(1080px, calc(100% - 48px));
	margin: 0 auto;
}
.site-main { min-height: 60vh; }

/* ── Buttons ── */
.de-btn-primary {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 13px 28px;
	background: var(--gold); color: var(--btn-text);
	font-family: var(--font-b); font-size: 12px; font-weight: 800;
	letter-spacing: .09em; text-transform: uppercase;
	border-radius: 2px; border: none; cursor: pointer;
	box-shadow: 0 4px 20px var(--shadow-btn);
	transition: transform .22s var(--spring), box-shadow .22s, background .35s, color .35s;
	text-decoration: none;
}
.de-btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 32px var(--shadow-btn);
	background: var(--gold-lt);
}

.de-btn-ghost {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 12px 22px;
	color: var(--gold); border: 1px solid var(--gold-bdr);
	font-family: var(--font-b); font-size: 12px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase;
	border-radius: 2px;
	transition: border-color .2s, background .2s, color .35s;
	text-decoration: none;
}
.de-btn-ghost:hover {
	border-color: var(--gold);
	background: var(--gold-dim);
	color: var(--gold-lt);
}

/* ── Section labels ── */
.de-sec-label {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 10.5px; font-weight: 700; letter-spacing: .24em;
	text-transform: uppercase; color: var(--ocean); margin-bottom: 14px;
	transition: color .35s;
}
.de-sec-label::before { content: '✦'; font-size: 8px; }

.de-sec-title {
	font-family: var(--font-d);
	font-size: clamp(34px, 4.5vw, 54px);
	font-weight: 300; color: var(--t1);
	margin-bottom: 40px; letter-spacing: -.02em; line-height: 1.05;
	transition: color .35s;
}
.de-sec-title em { font-style: italic; color: var(--gold); transition: color .35s; }

/* ── Gold rule ── */
.de-gold-rule {
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--gold), transparent);
	opacity: .28; border: none; margin: 0;
}

/* ── Animations ── */
@keyframes de-fadeUp {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}
.de-reveal {
	opacity: 0; transform: translateY(20px);
	transition: opacity .72s var(--ease), transform .72s var(--ease);
}
.de-reveal.is-visible { opacity: 1; transform: translateY(0); }
.de-reveal--d1 { transition-delay: .10s; }
.de-reveal--d2 { transition-delay: .20s; }

.home .entry-header,
.home .entry-title,
.home .page-title,
.home .wp-block-post-title { display: none !important; }

@media (max-width: 768px) {
	.de-container { width: calc(100% - 32px); }
}

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