/* ==========================================================================
   base.css – Design tokens (colours, fonts, spacing), base elements and layout helpers
   Part of the Devraj Pathak theme. Breakpoints are in responsive.css.
   ========================================================================== */

:root {
	--dp-forest: #16302a;
	--dp-forest-2: #1f4237;
	--dp-forest-3: #2b5a4a;
	--dp-gold: #c39a4e;
	--dp-gold-2: #e3c68b;
	--dp-cream: #faf6ee;
	--dp-sand: #f1eadb;
	--dp-ink: #14201c;
	--dp-text: #33413b;
	--dp-muted: #62716a;
	--dp-line: #e4dccb;
	--dp-white: #ffffff;
	--dp-danger: #b3261e;
	--dp-success: #1e6b47;

	--dp-font-head: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--dp-font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--dp-radius: 18px;
	--dp-radius-sm: 10px;
	--dp-shadow: 0 18px 50px -20px rgba(22, 48, 42, .28);
	--dp-shadow-sm: 0 6px 20px -10px rgba(22, 48, 42, .25);
	--dp-container: 1200px;
	--dp-gutter: 24px;
	--dp-section: 110px;
	--dp-header-h: 78px;
	--dp-ease: cubic-bezier(.2, .7, .2, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--dp-font-body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--dp-text);
	background: var(--dp-white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

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

a { color: var(--dp-forest-3); text-decoration: none; transition: color .2s; }
a:hover { color: var(--dp-gold); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--dp-font-head);
	color: var(--dp-ink);
	line-height: 1.15;
	font-weight: 600;
	margin: 0 0 .5em;
}

p { margin: 0 0 1.1em; }
ul, ol { padding-left: 1.2em; }

button,
input,
select,
textarea { font: inherit; color: inherit; }

:focus-visible { outline: 2px solid var(--dp-gold); outline-offset: 3px; }

[id] { scroll-margin-top: calc(var(--dp-header-h) + 12px); }

.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:focus {
	clip: auto; width: auto; height: auto;
	top: 10px; left: 10px; z-index: 1000;
	padding: 10px 18px;
	background: var(--dp-white); color: var(--dp-ink);
	border-radius: 8px; box-shadow: var(--dp-shadow-sm);
}

.dp-icon { width: 1.15em; height: 1.15em; flex-shrink: 0; }

.dp-container {
	width: 100%;
	max-width: calc(var(--dp-container) + var(--dp-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--dp-gutter);
}
.dp-container--narrow { max-width: calc(820px + var(--dp-gutter) * 2); }

.dp-section { padding: var(--dp-section) 0; position: relative; }
.dp-section--compact { padding: 60px 0 0; }
.dp-section--tint { background: var(--dp-cream); }
.dp-section--dark { background: var(--dp-forest); color: rgba(255, 255, 255, .78); }
.dp-section--dark h2,
.dp-section--dark h3 { color: var(--dp-white); }

.dp-section__head { max-width: 720px; margin: 0 auto 56px; text-align: center; }
.dp-section__head--left { margin: 0; text-align: left; }

.dp-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 12.5px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase;
	color: var(--dp-gold);
	margin-bottom: 14px;
}
.dp-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.dp-eyebrow--light { color: var(--dp-gold-2); }

.dp-title { font-size: clamp(34px, 4.2vw, 52px); letter-spacing: -.01em; }
.dp-lead { font-size: 18px; color: var(--dp-muted); }
.dp-section--dark .dp-lead { color: rgba(255, 255, 255, .72); }

.dp-section__foot { text-align: center; margin-top: 44px; }
