/**
 * V4 "instant prices first" components: hero price actions, homepage hero text, contact-page portal pointer.
 * Loaded on every page (the homepage does not load blocks.css), after the other theme sheets and before refine.css.
 */
/* ---------------------------------------------------------------------------------------------
 * V4 instant-price hero actions (cliffe_price_actions): one conspicuous button, quieter secondary
 * route, the "portal opens separately" note and a proof line.
 * ------------------------------------------------------------------------------------------- */
.c-price { max-width: 640px; margin: 0 0 8px; }
.c-price__row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
.c-price .c-price__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 54px;
	padding: 14px 30px; border-radius: var(--pill); background: var(--c-magenta); color: var(--c-white);
	font-family: var(--f-sans); font-size: 17px; font-weight: 700; line-height: 1.2; text-decoration: none;
	box-shadow: 0 8px 20px rgba(185, 0, 106, .22);
	transition: transform .35s var(--ease), box-shadow .35s, background .25s;
}
.c-price .c-price__btn:hover, .c-price .c-price__btn:focus-visible { background: var(--c-magenta-dark); color: var(--c-white); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(185, 0, 106, .3); }
.c-price__btn:focus-visible, .c-price__alt:focus-visible { outline: 3px solid var(--c-ink); outline-offset: 3px; }
.c-price .c-price__alt { font-size: 16px; font-weight: 600; color: var(--c-ink); text-decoration: underline; text-decoration-thickness: 1px; }
.c-price .c-price__alt:hover { color: var(--c-magenta); }
.c-price__note { margin: 14px 0 8px; font-size: 14px; line-height: 1.55; color: var(--c-grey); }
.c-price__proof { margin: 0; font-size: 14px; color: var(--c-ink); }
.c-price__proof a { color: var(--c-magenta); }
.c-hero__body + .c-price { margin-top: -8px; }
@media (max-width: 560px) {
	.c-price__btn { width: 100%; }
	.c-price__row { gap: 14px; }
}

/* Homepage hero (V4): product line above the H1, intro paragraph, then actions and pills. */
.c-hero__kicker.c-hero__kicker--top { margin: 0 0 14px; display: block; letter-spacing: .12em; }
.c-hero--home .c-hero__lead { margin-bottom: 20px; }
.c-hero__intro { max-width: 600px; margin: 0 0 26px; font-size: 19px; line-height: 1.6; color: var(--c-grey); }
.c-hero--home .c-price { margin-bottom: 26px; }
.c-welcome__kicker { margin: 0 0 10px; font-size: 14px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--c-magenta); }

/* Contact page: pointer to the instant pricing portal under the email/phone buttons. */
.c-contact__portal { margin: 28px 0 0; padding: 18px 22px; max-width: 620px; border-left: 4px solid var(--c-magenta); background: rgba(255, 255, 255, .7); font-size: 16px; line-height: 1.55; }
.c-contact__portal strong { display: block; color: var(--c-ink); }
.c-contact__portal a { display: inline-block; margin-top: 4px; font-weight: 700; color: var(--c-magenta); }
.c-contact__portal-note { display: block; margin-top: 6px; font-size: 14px; color: var(--c-grey); }

/* Homepage CTA band: the homepage does not load blocks.css, so the CTA band rules it needs are repeated here (same values as blocks.css). */
.c-cta--home.c-cta { position: relative; overflow: hidden; }
.c-cta--home .c-cta__mark { position: absolute; right: -80px; bottom: -120px; width: 520px; height: auto; opacity: .06; pointer-events: none; }
.c-cta--home .c-cta__inner {
	position: relative; display: flex; flex-wrap: wrap; gap: 32px 56px; align-items: center; justify-content: space-between;
	padding-top: 110px; padding-bottom: 110px;
}
.c-cta--home .c-cta__text { flex: 1 1 600px; color: #E3E1E1; }
.c-cta--home .c-cta__text h2 { color: var(--c-white); font-size: clamp(38px, 4.6vw, 60px); line-height: 1.02; margin-bottom: 20px; }
.c-cta--home .c-cta__actions { display: flex; flex-direction: column; gap: 12px; }
.c-cta--home .c-cta__actions p { margin: 0; }
.c-cta--home .c-cta__actions a {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box;
	padding: 17px 29px; border: 1px solid var(--c-white); border-radius: var(--pill);
	color: var(--c-white); text-decoration: none; font-weight: 600; font-size: 14px; letter-spacing: 0.06em;
	transition: background .25s, color .25s;
}
.c-cta--home .c-cta__actions a:hover { background: var(--c-white); color: var(--c-ink); }
.c-cta--home .c-cta__actions p:first-child a { background: var(--c-magenta); border-color: var(--c-magenta); }
.c-cta--home .c-cta__actions p:first-child a:hover { background: var(--c-magenta-dark); border-color: var(--c-magenta-dark); color: var(--c-white); }
.c-cta--home .c-cta__actions strong { font-weight: inherit; }
