/* Ritz Valley Chatbot demo landing page */
body.rvc-demo-page .entry-title,
body.rvc-demo-page .wp-block-post-title,
body.rvc-demo-page .page-title { display: none; }

.rvcd {
	--g: #043830; --gold: #c39353; --gold-soft: #efdda8; --bronze1: #de9658; --bronze2: #b46f35;
	--ink: #2b2620; --dim: rgba(43, 38, 32, .66); --cream: #f3ede0; --paper: #fffefe; --line: rgba(43, 38, 32, .12);
	font-family: 'Jost', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	color: var(--ink);
	line-height: 1.6;
}
.rvcd *, .rvcd *::before, .rvcd *::after { box-sizing: border-box; }
.rvcd h1, .rvcd h2, .rvcd h3 { font-family: 'Marcellus', Georgia, serif; font-weight: 400; margin: 0; letter-spacing: .2px; }
.rvcd p { margin: 0; }

/* Full-width sections even inside a narrow theme container */
.rvcd-hero, .rvcd-section { width: 100vw; position: relative; left: 50%; margin-left: -50vw; }

.rvcd-hero {
	min-height: 86vh; display: flex; align-items: center; justify-content: center; text-align: center;
	background-size: cover; background-position: center;
	padding: 90px 20px 70px; color: #fff;
}
.rvcd-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 30, 26, .55) 0%, rgba(4, 30, 26, .35) 45%, rgba(4, 30, 26, .78) 100%); }
.rvcd-hero-inner { position: relative; max-width: 760px; }
.rvcd-logo { height: 56px; width: auto; margin: 0 auto 26px; display: block; }
.rvcd .rvcd-eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: var(--gold-soft); margin-bottom: 14px; }
.rvcd-eyebrow::before, .rvcd-eyebrow::after { content: ''; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.rvcd .rvcd-title { font-size: clamp(36px, 6vw, 68px); line-height: 1.08; color: var(--gold-soft); }
.rvcd .rvcd-lead { font-size: clamp(15px, 1.6vw, 18px); color: rgba(255, 255, 255, .9); max-width: 600px; margin: 20px auto 0; font-weight: 300; }
.rvcd-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 34px; }

.rvcd-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 15px 30px; border-radius: 22px; border: 1px solid transparent; cursor: pointer;
	font: 600 13px/1 'Jost', sans-serif; letter-spacing: 2.2px; text-transform: uppercase; text-decoration: none;
	transition: transform .2s, filter .2s, background .2s;
}
.rvcd-btn-primary { color: #fff; background: linear-gradient(180deg, var(--bronze1), var(--bronze2)); box-shadow: 0 10px 22px -10px rgba(180, 111, 53, .9), inset 0 1px 0 rgba(255, 255, 255, .4); }
.rvcd-btn-primary:hover { transform: translateY(-2px); filter: brightness(1.05); color: #fff; }
.rvcd-btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .06); }
.rvcd-btn-ghost:hover { background: rgba(255, 255, 255, .16); color: #fff; }

.rvcd-section { padding: 84px 20px; text-align: center; background: var(--paper); }
.rvcd-section > * { max-width: 1080px; margin-left: auto; margin-right: auto; }
.rvcd .rvcd-kicker { font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.rvcd .rvcd-h2 { font-size: clamp(28px, 3.4vw, 42px); color: var(--g); margin-bottom: 36px; }

.rvcd-try { background: var(--cream); }
.rvcd-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 900px; }
.rvcd-chip {
	background: #fff; border: 1px solid rgba(195, 147, 83, .6); color: #7a4f24; border-radius: 24px;
	padding: 12px 20px; font: 400 15px/1.3 'Jost', sans-serif; cursor: pointer; transition: all .2s;
}
.rvcd-chip:hover, .rvcd-chip:focus-visible { background: var(--g); border-color: var(--g); color: #fff; outline: none; transform: translateY(-1px); }
.rvcd .rvcd-small { margin-top: 26px; font-size: 14px; color: var(--dim); }
.rvcd-link { background: none; border: 0; padding: 0; color: var(--g); font: inherit; text-decoration: underline; cursor: pointer; }

.rvcd-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: left; }
.rvcd-steps li { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 28px; }
.rvcd-steps span { display: inline-flex; width: 38px; height: 38px; border-radius: 50%; align-items: center; justify-content: center; background: var(--g); color: var(--gold-soft); font-family: 'Marcellus', serif; font-size: 17px; margin-bottom: 16px; }
.rvcd .rvcd-steps h3, .rvcd .rvcd-card h3 { font-size: 21px; color: var(--g); margin-bottom: 8px; }
.rvcd .rvcd-steps p, .rvcd .rvcd-card p { color: var(--dim); font-size: 15px; }

.rvcd-features { background: linear-gradient(180deg, var(--paper), var(--cream)); }
.rvcd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: left; }
.rvcd-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px; border-top: 3px solid var(--gold); }

.rvcd-cta { background: var(--g); }
.rvcd .rvcd-cta .rvcd-h2 { color: var(--gold-soft); margin-bottom: 26px; }

.rvcd .rvcd-disclaimer { text-align: center; font-size: 13px; color: var(--dim); padding: 26px 20px 120px; max-width: 760px; margin: 0 auto; }
.rvcd-disclaimer a { color: var(--g); }

@media (max-width: 900px) {
	.rvcd-steps, .rvcd-grid { grid-template-columns: 1fr; }
	.rvcd-section { padding: 64px 18px; }
}
@media (max-width: 480px) {
	.rvcd-hero { min-height: 78vh; padding: 70px 18px 60px; }
	.rvcd-chip { width: 100%; }
}

body.rvc-demo-page { overflow-x: hidden; }
.rvcd .rvcd-h2, .rvcd .rvcd-kicker, .rvcd .rvcd-small, .rvcd .rvcd-title, .rvcd .rvcd-lead { text-align: center; }
