/**
 * Membership welcome page (/welcome-to-rp-fitness-cambridge/), body.rp-welcome.
 * The page new members are sent to after joining, so it is instructional first
 * and promotional second. Follows the about/membership benchmark: one fixed
 * 1200px column (.wrap, 48px desktop / 24px mobile), fixed band rhythm, flat
 * bands with no card chrome, 34px navy line icons, red reserved for buttons,
 * ticks and the two-tone heading word. One navy anchor band (RP Fitness Online),
 * matching the homepage rhythm.
 */
body.rp-welcome{
	--navy:#002c41;--red:#e4022e;--ivory:#F6F5EE;--white:#fff;--ink:#0a2233;--muted:#4a5157;--line:#cdd6db;
	margin:0;background:var(--ivory);font-family:'Montserrat',Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;
}
.rp-welcome img{display:block;max-width:100%}
.rp-welcome .wrap{max-width:1200px;margin:0 auto;padding:0 48px}

/* ---------- Bands ---------- */
.rp-welcome .wlintro{background:var(--ivory);padding:96px 0 72px;text-align:center}
.rp-welcome .wlsteps{background:var(--white);padding:80px 0}
.rp-welcome .wlbenefits{background:var(--ivory);padding:80px 0}
.rp-welcome .wlonline{background:var(--navy);padding:80px 0;text-align:center}
.rp-welcome .wlclose{background:var(--white);padding:72px 0;text-align:center}

/* ---------- Intro ---------- */
.rp-welcome .wlh1{
	color:var(--navy);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:800;line-height:1.05;
	letter-spacing:-.01em;text-transform:uppercase;margin:0;
}
.rp-welcome .wlh1 mark{background:transparent}
.rp-welcome .wlsub{font-size:18px;line-height:1.62;color:var(--muted);margin:20px auto 0;max-width:640px}

/* ---------- Steps (white, flat, navy line icons) ---------- */
.rp-welcome .wlsteps-lead{
	font-size:1rem;font-weight:700;color:var(--navy);margin:0 0 44px;text-align:center;
}
.rp-welcome .wlgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.rp-welcome .wlstep{text-align:left}
.rp-welcome .wlstep-ico{width:34px;height:34px;margin:0 0 16px;color:var(--navy)}
.rp-welcome .wlstep-ico svg{width:34px;height:34px;display:block}
.rp-welcome .wlstep h3{
	font-size:1.12rem;font-weight:800;color:var(--navy);margin:0 0 10px;letter-spacing:-.01em;
}
.rp-welcome .wlstep h3 .wlnum{color:var(--red);margin-right:.42em}
.rp-welcome .wlstep p{font-size:16px;line-height:1.66;color:var(--muted);margin:0}
.rp-welcome .wlstep strong{color:var(--ink);font-weight:700}
.rp-welcome .wlstep .wlcode{
	display:inline-block;font-weight:800;color:var(--navy);letter-spacing:.06em;
	background:var(--ivory);border:1px solid var(--line);border-radius:8px;padding:2px 10px;
}
.rp-welcome .wlstep a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.rp-welcome .wlstep a:hover{color:var(--red)}

/* ---------- Benefits (ivory, red round ticks) ---------- */
.rp-welcome .wlbenefits .h2{text-align:center}
.rp-welcome .wllist{list-style:none;margin:40px auto 0;padding:0;max-width:760px;display:grid;gap:18px}
.rp-welcome .wllist li{
	position:relative;padding-left:42px;font-size:17px;line-height:1.62;color:var(--muted);
}
.rp-welcome .wllist li::before{
	content:"";position:absolute;left:0;top:.15em;width:26px;height:26px;border-radius:50%;
	background:var(--red) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px 14px no-repeat;
}

/* ---------- RP Fitness Online (navy anchor) ---------- */
.rp-welcome .wlonline .h2{color:#fff}
.rp-welcome .wlonline-sub{font-size:20px;line-height:1.55;color:#fff;font-weight:700;margin:20px auto 18px;max-width:660px}
.rp-welcome .wlonline-body{font-size:17px;line-height:1.7;color:#cdd6db;margin:0 auto 20px;max-width:720px}
.rp-welcome .wlonline-price{font-size:17px;line-height:1.7;color:#fff;font-weight:700;margin:0 auto 30px;max-width:620px;text-wrap:balance}
.rp-welcome .wlonline .wp-block-buttons{justify-content:center;margin-bottom:52px}
.rp-welcome .wlapp{margin:8px auto 0;max-width:820px}
.rp-welcome .wlapp img{display:block;width:100%;height:auto}

/* ---------- Close ---------- */
.rp-welcome .wlclose p{font-size:17px;line-height:1.66;color:var(--muted);margin:0 auto;max-width:660px}
.rp-welcome .wlsignoff{font-size:1.25rem;font-weight:800;color:var(--navy);margin-top:14px}

/* ---------- Mobile ---------- */
@media (max-width:860px){
	.rp-welcome .wrap{padding-left:24px;padding-right:24px}
	.rp-welcome .wlintro{padding:64px 0 48px}
	.rp-welcome .wlsteps,.rp-welcome .wlbenefits,.rp-welcome .wlonline{padding:52px 0}
	.rp-welcome .wlclose{padding:48px 0}
	.rp-welcome .wlgrid{grid-template-columns:1fr;gap:34px}
	.rp-welcome .wlapp{max-width:100%;margin-top:4px}
	.rp-welcome .wlonline-sub{font-size:18px}
	.rp-welcome .wlonline-body,.rp-welcome .wlonline-price{font-size:16px}
	.rp-welcome .wlsteps-lead{margin-bottom:32px}
}
