/* Lindsey Maria — design system */

:root {
	--lm-black: #0f0f10;
	--lm-cream: #faf7f2;
	--lm-emerald: #0b6e4f;
	--lm-emerald-deep: #084a36;
	--lm-emerald-light: #2fa37a;
	--lm-sapphire: #1d4e89;
	--lm-sapphire-deep: #163c69;
	--lm-ruby: #9e1b32;
	--lm-ruby-deep: #7a1526;
	--lm-amethyst: #6c3483;
	--lm-amethyst-deep: #522867;
	--lm-logo-gold: #e0c088;
	--lm-text: #2a2a2a;
	--lm-text-invert: #f6f3ee;
	--lm-radius: 18px;
	--lm-max-width: 1120px;
	--font-heading: 'Fraunces', 'Iowan Old Style', Georgia, serif;
	--font-body: 'Inter', system-ui, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--font-body);
	color: var(--lm-text);
	background: var(--lm-cream);
	line-height: 1.6;
}

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

a { color: inherit; }

.wrap {
	max-width: var(--lm-max-width);
	margin: 0 auto;
	padding: 0 24px;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--lm-black);
	color: #fff;
	padding: 12px 20px;
	z-index: 1000;
}
.skip-link:focus { left: 12px; top: 12px; }

.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

h1, h2, h3 {
	font-family: var(--font-heading);
	font-weight: 600;
	line-height: 1.2;
	color: var(--lm-emerald-deep);
}

h1 { font-size: clamp(2.2rem, 4vw, 3.2rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 0.6em; }

.eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8rem;
	color: var(--lm-ruby);
	font-weight: 600;
}

.section-lede {
	font-size: 1.15rem;
	max-width: 60ch;
	color: #4a4a4a;
}

/* Header */
.site-header {
	background: var(--lm-black);
	padding: 18px 0;
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.site-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.site-logo__mark {
	height: 40px;
	width: auto;
}
.primary-nav__list {
	list-style: none;
	display: flex;
	gap: 28px;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}
.primary-nav__list a {
	color: var(--lm-text-invert);
	text-decoration: none;
	font-weight: 500;
}
.primary-nav__list a:hover { color: var(--lm-emerald-light); }

/* Buttons */
.button {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none;
	transition: transform 0.15s ease, background 0.15s ease;
}
.button--primary {
	background: var(--lm-emerald);
	color: #fff;
}
.button--primary:hover { background: var(--lm-emerald-deep); }
.button--ghost {
	background: transparent;
	color: var(--lm-emerald-deep);
	border: 2px solid var(--lm-emerald);
}
.button--outline {
	background: transparent;
	border: 2px solid var(--lm-sapphire);
	color: var(--lm-sapphire);
}
.button:hover { transform: translateY(-2px); }

/* Hero */
.hero { padding: 64px 0; background: var(--lm-cream); }
.hero__inner {
	display: grid;
	grid-template-columns: minmax(220px, 360px) 1fr;
	gap: 48px;
	align-items: center;
}
.hero__photo-wrap {
	position: relative;
	max-width: 340px;
	margin: 0 auto;
}
.hero__photo-frame {
	position: absolute;
	left: 4%;
	right: 4%;
	top: 34%;
	bottom: -2%;
	background: var(--lm-emerald);
	border-radius: var(--lm-radius);
	box-shadow: 0 0 60px rgba(11,110,79,0.4);
	z-index: 1;
}
.hero__photo {
	position: relative;
	z-index: 2;
	width: 100%;
	height: auto;
	display: block;
}
.hero__actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 24px; }

@media (max-width: 760px) {
	.hero__inner { grid-template-columns: 1fr; text-align: center; }
	.hero__actions { justify-content: center; }
	.primary-nav__list { justify-content: center; }
}

/* EASE Method */
.ease-method { background: var(--lm-black); color: var(--lm-text-invert); padding: 72px 0; }
.ease-method h2 { color: var(--lm-emerald-light); }
.ease-method .section-lede { color: #cfcac0; }
.ease-method__grid {
	list-style: none;
	margin: 40px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 28px;
}
.ease-method__grid li {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(108,52,131,0.35);
	border-radius: var(--lm-radius);
	padding: 28px;
}
.ease-method__letter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border-radius: 50%;
	color: #fff;
	font-family: var(--font-heading);
	font-weight: 700;
	margin-bottom: 12px;
}
.ease-method__letter--emerald { background: var(--lm-emerald); }
.ease-method__letter--amethyst { background: var(--lm-amethyst); }
.ease-method__letter--sapphire { background: var(--lm-sapphire); }
.ease-method__letter--ruby { background: var(--lm-ruby); }
.ease-method__grid h3 { color: #fff; margin: 0 0 8px; }
.ease-method__grid p { color: #d8d3c8; margin: 0; }

/* Home proof */
.home-proof { padding: 64px 0; text-align: center; }
.home-proof blockquote { font-size: 1.3rem; font-style: italic; max-width: 60ch; margin: 24px auto 0; }
.home-proof footer { margin-top: 16px; font-style: normal; color: #777; }

/* Generic page content */
.page-content { padding: 64px 0; }
.page-content__header { margin-bottom: 40px; }
.page-content__body { margin-top: 48px; max-width: 70ch; }
.page-content__cta { margin-top: 48px; }

/* Offer grid (Work With Me) */
.offer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 28px;
	margin: 40px 0;
}
.offer-card {
	background: #fff;
	border: 1px solid #e7dfd0;
	border-radius: var(--lm-radius);
	padding: 32px;
}
.offer-card__price {
	display: inline-block;
	font-family: var(--font-heading);
	font-weight: 600;
	color: var(--lm-ruby);
	background: rgba(158,27,50,0.08);
	padding: 4px 14px;
	border-radius: 999px;
	margin: -4px 0 16px;
}
.project-services {
	background: var(--lm-emerald-deep);
	color: #fff;
	border-radius: var(--lm-radius);
	padding: 40px;
	margin-top: 40px;
}
.project-services h2 { color: var(--lm-cream); }
.project-services__price {
	font-family: var(--font-heading);
	font-weight: 600;
	color: var(--lm-emerald-light);
	margin: -8px 0 16px;
}
.project-services ul { padding-left: 20px; }

/* Software & Tools */
.tool-categories {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 28px;
	margin-top: 40px;
}
.tool-category {
	background: #fff;
	border: 1px solid #e7dfd0;
	border-radius: var(--lm-radius);
	padding: 24px;
}
.tool-category h2 { font-size: 1.1rem; color: var(--lm-emerald-deep); }
.tool-list { list-style: none; padding: 0; margin: 0; }
.tool-list li {
	padding: 8px 0;
	border-bottom: 1px solid #f0ebe0;
}
.tool-list li:last-child { border-bottom: none; }
.tool-list a {
	color: var(--lm-sapphire);
	text-decoration: underline;
	text-decoration-color: rgba(29,78,137,0.35);
	text-underline-offset: 3px;
}
.tool-list a:hover { color: var(--lm-sapphire-deep); }

.affiliate-disclosure {
	max-width: 65ch;
	margin: 20px 0 0;
	padding: 14px 18px;
	background: #f4efe3;
	border: 1px solid #e7dfd0;
	border-radius: 10px;
	font-size: 0.9rem;
	color: #55503f;
}

/* Testimonials / Fans */
.testimonial-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 32px;
	margin-top: 40px;
}
.testimonial-card {
	background: #fff;
	border: 1px solid #e7dfd0;
	border-radius: var(--lm-radius);
	padding: 28px;
	margin: 0;
}
.testimonial-card__photo {
	width: 140px; height: 140px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid var(--lm-emerald);
	margin-bottom: 16px;
}
.testimonial-card blockquote { margin: 0 0 16px; font-style: italic; }
.testimonial-card figcaption strong { display: block; color: var(--lm-emerald-deep); }
.testimonial-card figcaption span { color: #777; font-size: 0.9rem; }

.ease-in-action {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px dashed var(--lm-amethyst);
}
.ease-in-action h2 { font-size: 1rem; color: var(--lm-amethyst); text-transform: uppercase; letter-spacing: 0.08em; }
.ease-in-action dt { font-weight: 700; color: var(--lm-emerald-deep); margin-top: 10px; }
.ease-in-action dd { margin: 2px 0 0; }

.recognition { margin-top: 64px; text-align: center; }
.recognition__badges {
	display: flex;
	justify-content: center;
	gap: 32px;
	flex-wrap: wrap;
	margin-top: 24px;
}
.recognition__badge img { max-width: 150px; }

/* Contact */
.contact-options { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 32px; }

/* Footer */
.site-footer { background: var(--lm-black); color: var(--lm-text-invert); padding: 64px 0 32px; margin-top: 64px; }
.site-footer__cta { text-align: center; margin-bottom: 40px; }
.site-footer__cta h2 { color: var(--lm-emerald-light); }
.footer-nav__list {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 24px;
	padding: 0;
	margin: 0 0 24px;
	flex-wrap: wrap;
}
.footer-nav__list a { text-decoration: none; color: var(--lm-text-invert); }
.site-footer__social {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}
.site-footer__social a { text-decoration: none; color: var(--lm-emerald-light); }
.site-footer__legal {
	text-align: center;
	color: #9a9a9a;
	font-size: 0.85rem;
}
.site-footer__legal a { color: #cfcac0; text-decoration: underline; }
