/* ==========================================================
   Homepage
   ========================================================== */
.rhh-home { font-family: var(--rhh-font); color: var(--rhh-text); }
.rhh-home h1, .rhh-home h2, .rhh-home h3 { font-family: var(--rhh-font); color: var(--rhh-ink); }
.rhh-home ~ .rhh-footer { margin-top: 0; }

/* Hero */
.rhh-hero { position: relative; overflow: hidden; padding: 56px 0 64px; background:
	radial-gradient(60% 80% at 100% 0%, #fde3ee 0%, transparent 60%),
	radial-gradient(40% 60% at 0% 100%, #fff4cc 0%, transparent 60%), #fff; }
.rhh-hero__inner { display: grid; gap: 48px; align-items: center; }
.rhh-hero__title { margin: 0 0 18px; font-size: clamp(36px, 6vw, 60px); line-height: 1.08; font-weight: 700; letter-spacing: -.02em; }
.rhh-hero__title em { font-style: normal; color: var(--rhh-pink); background: linear-gradient(transparent 70%, #ffe27a 70%); }
.rhh-hero__lead { max-width: 52ch; margin: 0 0 28px; font-size: 18px; line-height: 1.6; }
.rhh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.rhh-hero__facts { display: flex; flex-wrap: wrap; gap: 28px; margin: 36px 0 0; padding: 0; list-style: none; }
.rhh-hero__facts li { display: flex; flex-direction: column; }
.rhh-hero__facts strong { color: var(--rhh-ink); font-size: 28px; line-height: 1.1; }
.rhh-hero__facts span { font-size: 14px; color: var(--rhh-muted); }

.rhh-hero__media { position: relative; min-height: 360px; }
.rhh-hero__pic { position: absolute; overflow: hidden; border-radius: 22px; box-shadow: 0 24px 48px rgba(29,32,36,.16); background: #f1f2f4; }
.rhh-hero__pic img { width: 100%; height: 100%; object-fit: cover; }
.rhh-hero__pic--1 { inset: 0 22% 18% 0; }
.rhh-hero__pic--2 { width: 42%; aspect-ratio: 1; right: 0; top: 8%; border: 6px solid #fff; }
.rhh-hero__pic--3 { width: 38%; aspect-ratio: 4 / 3; right: 6%; bottom: 0; border: 6px solid #fff; }
.rhh-hero__badge {
	position: absolute; left: 4%; bottom: 4%; display: flex; gap: 10px; align-items: center; max-width: 260px;
	padding: 12px 16px; background: #fff; border-radius: 14px; box-shadow: 0 12px 30px rgba(29,32,36,.14); font-size: 13px; line-height: 1.35;
}
.rhh-hero__badge strong { display: block; color: var(--rhh-ink); font-size: 15px; }
.rhh-hero__badge-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 50%; background: var(--rhh-pink); color: #fff; }

@media (min-width: 960px) {
	.rhh-hero { padding: 88px 0 96px; }
	.rhh-hero__inner { grid-template-columns: 1.05fr 1fr; }
	.rhh-hero__media { min-height: 480px; }
}

/* Sections */
.rhh-section { padding: 72px 0; }
.rhh-section--tint { background: #f8f8fa; }
.rhh-section__head { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; justify-content: space-between; margin-bottom: 36px; }
.rhh-section__head h2 { margin: 0; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; font-weight: 700; letter-spacing: -.01em; }
.rhh-section__head--center { flex-direction: column; align-items: center; text-align: center; }

/* Steps */
.rhh-steps { display: grid; gap: 24px; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.rhh-step { position: relative; padding: 32px 28px; background: #fff; border: 1px solid var(--rhh-line); border-radius: 20px; counter-increment: step; }
.rhh-step::before { content: counter(step, decimal-leading-zero); position: absolute; top: 24px; right: 28px; color: #eef0f3; font-size: 48px; font-weight: 700; line-height: 1; }
.rhh-step__icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 16px; background: #fdf0f5; color: var(--rhh-pink-dark); }
.rhh-step__icon .rhh-icon, .rhh-benefit__icon .rhh-icon, .rhh-cat__icon .rhh-icon { width: 26px; height: 26px; }
.rhh-step h3 { margin: 0 0 8px; font-size: 22px; }
.rhh-step p { margin: 0; line-height: 1.6; }
@media (min-width: 800px) { .rhh-steps { grid-template-columns: repeat(3, 1fr); } }

/* Categories */
.rhh-cats { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); margin: 0; padding: 0; list-style: none; }
.rhh-cat {
	display: flex; flex-direction: column; align-items: flex-start; gap: 4px; height: 100%; padding: 20px;
	border: 1px solid var(--rhh-line); border-radius: 16px; background: #fff; transition: border-color .2s, transform .2s, box-shadow .2s;
}
.rhh-cat:hover { border-color: var(--rhh-pink); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(233,75,134,.12); }
.rhh-cat__icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 10px; border-radius: 14px; background: #fff4cc; color: var(--rhh-ink); transition: background .2s, color .2s; }
.rhh-cat:hover .rhh-cat__icon { background: var(--rhh-pink); color: #fff; }
.rhh-cat__name { color: var(--rhh-ink); font-weight: 700; font-size: 16px; }
.rhh-cat__count { color: var(--rhh-muted); font-size: 13px; }

/* Why + fees */
.rhh-why { display: grid; gap: 48px; }
.rhh-why__intro h2 { margin: 0 0 16px; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.rhh-why__intro > p { margin: 0 0 28px; font-size: 17px; line-height: 1.65; }
.rhh-fees { display: grid; gap: 12px; }
.rhh-fees__item { display: flex; gap: 16px; align-items: center; padding: 18px 20px; border-radius: 16px; background: #f8f8fa; }
.rhh-fees__item strong { flex: none; min-width: 84px; color: var(--rhh-ink); font-size: 34px; line-height: 1; }
.rhh-fees__item span { font-size: 15px; line-height: 1.5; }
.rhh-fees__item--you { background: var(--rhh-ink); color: #d7dae0; }
.rhh-fees__item--you strong { color: #ffd84d; }
.rhh-benefits { display: grid; gap: 28px 32px; margin: 0; padding: 0; list-style: none; }
.rhh-benefit__icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 12px; border-radius: 14px; background: #fdf0f5; color: var(--rhh-pink-dark); }
.rhh-benefit h3 { margin: 0 0 6px; font-size: 18px; }
.rhh-benefit p { margin: 0; line-height: 1.6; font-size: 15px; }
@media (min-width: 640px) { .rhh-benefits { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .rhh-why { grid-template-columns: .9fr 1.1fr; align-items: start; } }

/* CTA band */
.rhh-cta { padding: 64px 0; background: linear-gradient(120deg, var(--rhh-pink-dark), var(--rhh-pink) 60%, #f47aa8); color: #fff; }
.rhh-cta__inner { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.rhh-cta h2 { margin: 0 0 8px; color: #fff !important; font-size: clamp(28px, 4vw, 38px); }
.rhh-cta p { margin: 0; max-width: 52ch; font-size: 17px; color: #fff; }
