/* Golden — Base styles */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--g-bg);
	color: var(--g-fg);
	font-family: var(--g-font-body);
	font-size: var(--g-body);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: var(--g-gold); text-decoration: none; transition: color .2s ease, opacity .2s ease; }
a:hover { color: var(--g-gold-soft); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--g-font-display);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 var(--g-s-4);
	color: var(--g-fg);
}
h1 { font-size: var(--g-h1); }
h2 { font-size: var(--g-h1); }
h3 { font-size: var(--g-h2); font-weight: 600; }
p { margin: 0 0 var(--g-s-4); }

::selection { background: var(--g-gold); color: var(--g-ink); }

.container {
	width: 100%;
	max-width: var(--g-container);
	margin: 0 auto;
	padding: 0 var(--g-s-5);
}
.container-narrow { max-width: var(--g-container-narrow); }

.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;
}
.skip-link {
	position: absolute; left: -9999px; top: 0;
	background: var(--g-gold); color: var(--g-ink); padding: 8px 16px; z-index: 9999;
}
.skip-link:focus { left: 16px; top: 16px; }

/* Buttons */
.btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 14px 26px;
	border-radius: var(--g-r-pill);
	font-family: var(--g-font-display);
	font-weight: 600;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
	text-decoration: none;
	line-height: 1;
}
.btn:hover { transform: translateY(-1px); }
.btn-gold { background: var(--g-gold); color: var(--g-ink); }
.btn-gold:hover { background: var(--g-gold-soft); color: var(--g-ink); }
.btn-ghost { background: transparent; color: var(--g-paper); border-color: var(--g-paper); }
.btn-ghost:hover { background: var(--g-paper); color: var(--g-ink); }
.btn-tech { background: var(--g-tech); color: var(--g-paper); }
.btn-tech:hover { background: var(--g-tech-2); color: var(--g-paper); }

/* Header / Footer */
.site-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(14,17,22,0.85);
	backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid var(--g-card-border);
}
.site-header-inner {
	display: flex; align-items: center; justify-content: space-between;
	padding-top: 18px; padding-bottom: 18px;
}
.site-brand {
	display: inline-flex; align-items: center; gap: 12px;
	color: var(--g-fg); font-family: var(--g-font-display); font-weight: 700;
	letter-spacing: 0.18em; text-transform: uppercase; font-size: 0.85rem;
}
.brand-dot {
	width: 22px; height: 22px; border-radius: 50%;
	background: var(--g-ink-3);
	border: 2px solid var(--g-gold);
	position: relative;
	display: inline-block;
}
.brand-dot::after {
	content: ""; position: absolute; inset: 5px;
	background: var(--g-gold); border-radius: 50%;
}
.site-nav .menu {
	list-style: none; padding: 0; margin: 0;
	display: flex; gap: var(--g-s-6);
}
.site-nav .menu a { color: var(--g-fg-muted); font-size: 0.95rem; }
.site-nav .menu a:hover { color: var(--g-gold); }

.site-footer {
	margin-top: var(--g-s-9);
	background: var(--g-ink-2);
	border-top: 1px solid var(--g-card-border);
	padding: var(--g-s-8) 0 var(--g-s-6);
}
.site-footer-inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: var(--g-s-6);
	align-items: start;
}
.site-footer-brand .brand-name { display: inline-block; margin-left: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; font-size: 0.85rem; }
.footer-tag { color: var(--g-fg-muted); margin-top: var(--g-s-3); max-width: 380px; }
.site-footer-nav .menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--g-s-2); }
.site-footer-nav .menu a { color: var(--g-fg-muted); }
.site-footer-meta { color: var(--g-fg-soft); font-size: 0.9rem; }
.site-footer-meta a { color: var(--g-fg-muted); }

@media (max-width: 760px) {
	.site-footer-inner { grid-template-columns: 1fr; }
	.site-nav .menu { gap: var(--g-s-4); }
}

/* Utility classes used in Elementor content via "CSS Classes" */
.g-section { padding: var(--g-s-9) 0; }
.g-section-tight { padding: var(--g-s-7) 0; }
.g-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--g-font-display);
	font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--g-gold); font-weight: 600;
}
.g-eyebrow::before { content: ""; width: 8px; height: 8px; background: var(--g-gold); border-radius: 50%; display: inline-block; }
.g-eyebrow.is-bottle { color: var(--g-bottle); }
.g-eyebrow.is-bottle::before { background: #6FAE9C; }
.g-eyebrow.is-tech { color: #8FA3F0; }
.g-eyebrow.is-tech::before { background: var(--g-tech); }

.g-display {
	font-size: var(--g-display);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.04;
}
.g-display .accent-gold   { color: var(--g-gold); }
.g-display .accent-bottle { color: #5EA08F; }
.g-display .accent-tech   { color: #8FA3F0; }

.g-card {
	background: var(--g-card);
	border: 1px solid var(--g-card-border);
	border-radius: var(--g-r-md);
	padding: var(--g-s-6);
	box-shadow: var(--g-shadow-soft);
	height: 100%;
}
.g-card-gold   { border-top: 3px solid var(--g-gold); }
.g-card-bottle { border-top: 3px solid #5EA08F; }
.g-card-tech   { border-top: 3px solid var(--g-tech); }

.g-tag {
	display: inline-flex; align-items: center;
	padding: 6px 14px; border-radius: var(--g-r-pill);
	font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600;
}
.g-tag-gold   { background: rgba(191,164,103,0.14); color: var(--g-gold); }
.g-tag-bottle { background: rgba(31,77,64,0.30);  color: #6FAE9C; }
.g-tag-tech   { background: rgba(45,79,224,0.18); color: #8FA3F0; }

.g-stat-num   { font-family: var(--g-font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; color: var(--g-gold); line-height: 1; }
.g-stat-label { color: var(--g-fg-muted); font-size: 0.9rem; margin-top: 4px; }
.g-stat-num.is-bottle { color: #6FAE9C; }
.g-stat-num.is-tech   { color: #8FA3F0; }

.g-quote {
	border-left: 3px solid var(--g-gold);
	padding: 8px 0 8px 20px;
	color: var(--g-fg-muted);
	font-style: italic;
}

.g-divider {
	height: 1px; background: var(--g-card-border); margin: var(--g-s-7) 0;
}

/* Reusable helpers for Elementor sections */
.g-bg-ink     { background: var(--g-ink) !important; }
.g-bg-ink-2   { background: var(--g-ink-2) !important; }
.g-bg-bottle  { background: var(--g-bottle) !important; }
.g-bg-tech    { background: var(--g-tech) !important; }
.g-bg-gold    { background: var(--g-gold) !important; color: var(--g-ink) !important; }

/* Article content */
.entry-content { padding: var(--g-s-7) 0; }

/* Comments / WP defaults */
.wp-block-button__link { border-radius: var(--g-r-pill); }
