/**
 * DABYD SYSTEM — BASE.CSS
 * Reset, typography, spacing and utility classes
 */

/* 1. RESET & BASE */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
	--ikg-font-heading: 'Playfair Display', Georgia, serif;
	--ikg-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

	--ikg-text-2xs: .8125rem;   /* 13px */
	--ikg-text-xs:  .875rem;    /* 14px */
	--ikg-text-sm:  .9375rem;   /* 15px */
	--ikg-text-base: 1rem;      /* 16px */
	--ikg-text-md:  1.0625rem;  /* 17px */
	--ikg-text-lg:  1.125rem;   /* 18px */
	--ikg-text-xl:  1.25rem;    /* 20px */

	--ikg-space-xs: 8px;
	--ikg-space-sm: 16px;
	--ikg-space-md: 24px;
	--ikg-space-lg: 40px;
	--ikg-space-xl: 64px;
	--ikg-space-2xl: 96px;
	--ikg-space-3xl: 128px;
	--ikg-radius: 16px;
	--ikg-radius-sm: 8px;
	--ikg-radius-pill: 50px;
	--ikg-max-width: 1200px;
	--ikg-transition: .3s cubic-bezier(.4, 0, .2, 1);
}

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

body {
	font-family: var(--ikg-font-body);
	color: var(--ikg-text-main);
	background: var(--ikg-bg-main);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

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

.ikg-a {
	color: var(--ikg-text-accent);
	text-decoration: none;
	transition: color var(--ikg-transition), filter var(--ikg-transition);
}

/* 2. TYPOGRAPHY */
.ikg-h1, .ikg-h2, .ikg-h3, .ikg-h4 {
	font-family: var(--ikg-font-heading);
	font-weight: 600;
	line-height: 1.2;
	color: var(--ikg-text-main);
}

.ikg-h1 { font-size: clamp(2.6rem, 6vw, 3.8rem); }
.ikg-h2 { font-size: clamp(2rem, 5vw, 2.8rem); }
.ikg-h3 { font-size: clamp(1.5rem, 4vw, 2rem); }
.ikg-h4 { font-size: 1.3rem; }

.ikg-h1 em, .ikg-h2 em {
	font-style: italic;
	color: var(--ikg-text-accent);
}

.ikg-section-label {
	font-family: var(--ikg-font-body);
	font-size: .89rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--ikg-text-accent);
	margin-bottom: var(--ikg-space-sm);
	display: block;
}

/* 3. LAYOUT */
.ikg-container {
	max-width: var(--ikg-max-width);
	margin: 0 auto;
	padding: 0 var(--ikg-space-md);
}

.ikg-section {
	padding: var(--ikg-space-2xl) 0;
	color: var(--ikg-text-main);
	background: var(--ikg-bg-main);
}

/* 4. BUTTONS */
.ikg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--ikg-space-xs);
	font-family: var(--ikg-font-body);
	font-size: .96rem;
	font-weight: 700;
	padding: 14px 32px;
	border-radius: var(--ikg-radius-pill);
	border: none;
	cursor: pointer;
	min-height: 48px;
}

.ikg-btn-primary {
	background: var(--ikg-btn-primary-bg);
	color: var(--ikg-btn-primary-text);
	box-shadow: var(--ikg-shadow-soft);
}

.ikg-btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: var(--ikg-shadow-medium);
}

.ikg-btn-secondary {
	background: transparent;
	color: var(--ikg-btn-secondary-text);
	border: 2px solid var(--ikg-btn-secondary-border);
}

.ikg-btn-secondary:hover {
	background: var(--ikg-btn-secondary-border);
	color: var(--ikg-scale-light-100);
	transform: translateY(-2px);
}

.ikg-btn-ghost {
	background: transparent;
	color: var(--ikg-text-main);
	border: 2px solid var(--ikg-scale-light-300);
}

.ikg-btn-ghost:hover {
	border-color: var(--ikg-text-accent);
	color: var(--ikg-text-accent);
}

.ikg-btn-white {
	background: var(--ikg-scale-light-100);
	color: var(--ikg-scale-accent-100);
}

.ikg-btn-white:hover {
	transform: translateY(-2px);
	box-shadow: var(--ikg-shadow-medium);
}

/* 5. ANIMATIONS (FADE IN) */
.ikg-fade-in {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .8s ease, transform .8s ease;
}

.ikg-fade-in.ikg-visible {
	opacity: 1;
	transform: translateY(0);
}

.ikg-stagger-1 { transition-delay: .1s; }
.ikg-stagger-2 { transition-delay: .2s; }
.ikg-stagger-3 { transition-delay: .3s; }
.ikg-stagger-4 { transition-delay: .4s; }

/* 6. UTILITIES */
.ikg-text-center { text-align: center; }
.ikg-mt-xs { margin-top: var(--ikg-space-xs); }
.ikg-mb-xl { margin-bottom: var(--ikg-space-xl); }
