html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
[id] { scroll-margin-top: 90px; }

.site-header {
	position: sticky; top: 0; z-index: 20;
	background: rgba(247, 242, 234, 0.92);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(31, 26, 23, 0.08);
}
.monogram {
	width: 42px; height: 42px; margin: 0;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--wp--preset--color--oxblood);
	color: var(--wp--preset--color--paper);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.3rem; font-style: italic;
}
.wp-block-site-title a { text-decoration: none; }

.eyebrow {
	font-size: 0.78rem; font-weight: 600;
	letter-spacing: 0.16em; text-transform: uppercase;
	margin-bottom: 0.5rem;
}
h1 em, h2 em { color: var(--wp--preset--color--oxblood); font-weight: 400; }

/* Hero */
.hero {
	background:
		radial-gradient(circle at 85% 20%, rgba(185, 138, 62, 0.16), transparent 45%),
		var(--wp--preset--color--paper);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; border: 1.5px solid currentColor;
	color: var(--wp--preset--color--ink);
}
.book-card {
	position: relative;
	background: var(--wp--preset--color--white);
	border-radius: 6px 18px 18px 6px;
	padding: 2.5rem 2.25rem 2.25rem 2.75rem;
	box-shadow: 0 30px 60px -30px rgba(31, 26, 23, 0.35), inset 10px 0 0 var(--wp--preset--color--oxblood);
	transform: rotate(1.5deg);
}
.book-card > * { margin: 0; }
.book-card__stars { color: var(--wp--preset--color--gold); letter-spacing: 0.2em; }
.book-card__score { font-family: var(--wp--preset--font-family--serif); font-size: 4.5rem; line-height: 1; margin-top: 0.4rem !important; }
.book-card__label { color: var(--wp--preset--color--muted); font-size: 0.9rem; }
.book-card__list { list-style: none; padding: 0; margin-top: 1.5rem !important; border-top: 1px solid var(--wp--preset--color--cream); }
.book-card__list li { padding: 0.75rem 0; border-bottom: 1px solid var(--wp--preset--color--cream); }

/* Services */
.service-card {
	background: var(--wp--preset--color--paper);
	border: 1px solid rgba(31, 26, 23, 0.07);
	border-radius: 14px; padding: 1.75rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.service-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(31, 26, 23, 0.4); }
.service-card__num { font-family: var(--wp--preset--font-family--serif); font-style: italic; color: var(--wp--preset--color--gold); margin: 0; }
.service-card h3 { margin-top: 0.3rem; }
.genre { border-top: 2px solid var(--wp--preset--color--oxblood); padding-top: 1rem; }

/* Process */
.steps { list-style: none; counter-reset: step; padding: 0; margin-top: 2rem; }
.steps li { counter-increment: step; position: relative; padding: 0 0 1.4rem 3.4rem; }
.steps li::before {
	content: counter(step); position: absolute; left: 0; top: -0.1rem;
	width: 2.3rem; height: 2.3rem; border-radius: 50%;
	display: grid; place-items: center;
	border: 1.5px solid var(--wp--preset--color--oxblood);
	color: var(--wp--preset--color--oxblood);
	font-family: var(--wp--preset--font-family--serif);
}
.steps li span { display: block; color: var(--wp--preset--color--muted); font-size: 0.95rem; }
.video-frame iframe { border-radius: 14px; box-shadow: 0 30px 60px -30px rgba(31, 26, 23, 0.5); }
.video-frame figcaption { color: var(--wp--preset--color--muted); font-size: 0.85rem; text-align: center; }

/* Reviews */
.big-stars { font-size: 2rem; letter-spacing: 0.15em; margin: 0; }
.review-card {
	margin: 0; border: 0 !important;
	background: rgba(255, 255, 255, 0.05);
	border-radius: 14px; padding: 1.75rem !important;
}
.review-card p { font-family: var(--wp--preset--font-family--serif); font-size: 1.15rem; line-height: 1.5; }
.review-card p::before { content: "\201C"; color: var(--wp--preset--color--gold); font-size: 2.6rem; line-height: 0; vertical-align: -0.9rem; margin-right: 0.2rem; }
.review-card cite { font-style: normal; font-size: 0.82rem; color: var(--wp--preset--color--gold); }
.review-card cite strong { color: var(--wp--preset--color--white); }

/* Portfolio */
.portfolio-card__cover {
	aspect-ratio: 4 / 3; border-radius: 12px; margin-bottom: 1rem;
	display: flex; align-items: flex-end; padding: 1.25rem;
	color: var(--wp--preset--color--paper);
	font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
	background-size: cover;
}
.portfolio-card__cover p { margin: 0; }
.cover-0 { background: linear-gradient(135deg, #7A2C2C, #3B1616); }
.cover-1 { background: linear-gradient(135deg, #B98A3E, #6E4E1F); }
.cover-2 { background: linear-gradient(135deg, #3E4A44, #1F1A17); }
.portfolio-card__cover { box-shadow: inset 14px 0 0 rgba(0, 0, 0, 0.18); }
.recent-list { list-style: none; padding: 0; margin: 0; columns: 2 260px; column-gap: 2rem; }
.recent-list li { break-inside: avoid; padding: 0.7rem 0; border-bottom: 1px solid rgba(31, 26, 23, 0.1); font-size: 0.95rem; }

/* About */
.skill-tags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.skill-tags li { background: var(--wp--preset--color--white); border-radius: 999px; padding: 0.35rem 0.9rem; font-size: 0.82rem; }
.check-list { list-style: none; padding: 0; }
.check-list li { position: relative; padding: 0.9rem 0 0.9rem 2.2rem; border-bottom: 1px solid rgba(31, 26, 23, 0.1); }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--oxblood); font-weight: 700; }

/* Contact */
.cta-panel {
	background: var(--wp--preset--color--oxblood);
	border-radius: 24px; padding: clamp(2.5rem, 6vw, 4.5rem) 1.5rem;
}
.price-row { gap: 1rem; margin: 1.5rem 0; }
.price { margin: 0; padding: 0.6rem 1.2rem; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 999px; color: var(--wp--preset--color--cream); font-size: 0.92rem; }
.price strong { font-family: var(--wp--preset--font-family--serif); font-size: 1.2rem; color: var(--wp--preset--color--white); }
.cta-panel .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--cream); }

/* Footer */
.plain-list { list-style: none; padding: 0; }
.plain-list li { padding: 0.2rem 0; }
.plain-list a { text-decoration: none; }

@media (max-width: 781px) {
	.book-card { transform: none; }
	.site-header .wp-block-buttons { display: none; }
}
