
/* Red Van v2.4 — homepage rebuilt directly from the approved mockup */
:root{
	--rv24-red:#e51b23;
	--rv24-black:#050505;
	--rv24-off:#f4f4f2;
	--rv24-line:#d7d7d3;
	--rv24-muted:#666;
}
body.home{margin:0;background:#fff;color:#111}
body.home .site-header,body.home .mobile-call{display:none!important}
.rv24-shell{width:min(1320px,calc(100% - 64px));margin:0 auto}
.rv24-header{position:absolute;z-index:100;inset:0 0 auto;color:#fff}
.rv24-header-inner{height:94px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.rv24-logo{
	position:relative;
	display:inline-block;
	padding-bottom:13px;
	color:#fff;
	line-height:1
}
.rv24-logo-main{
	display:block;
	width:max-content;
	font:800 24px/1 Arial,sans-serif;
	letter-spacing:-.06em
}
.rv24-logo b{color:var(--rv24-red)}
.rv24-logo small{
	position:absolute;
	left:0;
	top:28px;
	display:block;
	width:max-content;
	margin:0;
	font:700 7px/1 Arial,sans-serif;
	letter-spacing:.02em;
	white-space:nowrap;
	transform-origin:left center
}
.rv24-nav{margin-left:auto}
.rv24-nav ul{display:flex;gap:36px;align-items:center;margin:0;padding:0;list-style:none}
.rv24-nav a{color:#fff;font:700 11px/1 Arial,sans-serif}
.rv24-help{display:inline-flex;align-items:center;gap:18px;margin-left:54px;padding:15px 22px;border-radius:4px;background:var(--rv24-red);color:#fff;font:800 11px Arial,sans-serif}
.rv24-menu{display:none;margin-left:auto;border:0;background:none}
.rv24-menu span{display:block;width:25px;height:2px;margin:5px;background:#fff}

.rv24-hero{padding-top:94px;color:#fff;background:#050505}
.rv24-hero-grid{height:604px;display:grid;grid-template-columns:44% 56%;align-items:center}
.rv24-hero-copy{position:relative;z-index:3;padding-left:0}
.rv24-emergency-pill{display:inline-flex;align-items:center;gap:8px;margin:0 0 28px;padding:8px 11px;border:1px solid #494949;border-radius:5px;font:800 9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.rv24-emergency-pill span{width:6px;height:6px;border-radius:50%;background:var(--rv24-red)}
.rv24-hero h1{margin:0;font:900 clamp(58px,5.6vw,96px)/.88 "Arial Narrow",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.045em}
.rv24-hero h1 em{font-style:normal;color:var(--rv24-red)}
.rv24-lead{max-width:510px;margin:28px 0 0;color:#cfcfcf;font:400 15px/1.7 Arial,sans-serif}
.rv24-actions{display:flex;gap:14px;margin-top:27px}
.rv24-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:22px;padding:0 24px;border-radius:4px;color:#fff;font:800 12px Arial,sans-serif}
.rv24-button-red{background:var(--rv24-red)}
.rv24-button-outline{border:1px solid #626262;background:#0a0a0a}
.rv24-van{height:100%;margin-right:-32px;background:#050505 url("redvan-new-van-v26.png") center/contain no-repeat}
.rv24-trust{height:72px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;border-top:1px solid #292929}
.rv24-trust>span{display:flex;align-items:center;gap:11px;color:#e4e4e4;font:700 10px Arial,sans-serif}
.rv24-trust i{position:relative;width:20px;height:20px;color:#fff}
.rv24-mini-clock{border:1px solid;border-radius:50%}.rv24-mini-clock:before{content:"";position:absolute;left:9px;top:4px;width:1px;height:6px;background:currentColor}.rv24-mini-clock:after{content:"";position:absolute;left:9px;top:9px;width:5px;height:1px;background:currentColor}
.rv24-mini-doc{border:1px solid;border-radius:2px}.rv24-mini-doc:before,.rv24-mini-doc:after{content:"";position:absolute;left:4px;width:10px;height:1px;background:currentColor}.rv24-mini-doc:before{top:6px}.rv24-mini-doc:after{top:11px}
.rv24-mini-shield:before{content:"";position:absolute;inset:1px 3px;border:1px solid;border-radius:45% 45% 55% 55%}
.rv24-mini-star:before{content:"☆";position:absolute;font-size:22px;line-height:20px}

.rv24-services{padding:50px 0 66px;background:#f5f5f3}
.rv24-services-head{display:grid;grid-template-columns:1.1fr 1.25fr auto;gap:58px;align-items:end;margin-bottom:34px}
.rv24-label{margin:0 0 11px;color:var(--rv24-red);font:800 9px Arial,sans-serif;text-transform:uppercase}
.rv24-services h2,.rv24-why h2,.rv24-content h2{margin:0;font:800 28px/1.08 Arial,sans-serif;letter-spacing:-.035em}
.rv24-services-head>p{max-width:460px;margin:0;color:#555;font:400 12px/1.6 Arial,sans-serif}
.rv24-services-head>a{display:flex;gap:16px;align-items:center;color:var(--rv24-red);font:800 10px Arial,sans-serif}
.rv24-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.rv24-service-card{min-height:255px;padding:25px 23px;border:1px solid var(--rv24-line);border-radius:4px;background:#fff;color:#111}
.rv24-service-card .rv24-icon{display:block;width:40px;height:40px;margin-bottom:48px}
.rv24-service-card h3{margin:0 0 13px;font:800 14px/1.2 Arial,sans-serif}
.rv24-service-card p{min-height:54px;margin:0;color:#666;font:400 11px/1.55 Arial,sans-serif}
.rv24-service-card>span{display:block;margin-top:18px;font-size:15px}
.rv24-icon{position:relative;color:#111}
.rv24-drop:before{content:"";position:absolute;left:9px;top:2px;width:20px;height:29px;border:2px solid;border-radius:55% 45% 55% 45%;transform:rotate(45deg)}
.rv24-flame:before{content:"";position:absolute;left:10px;top:0;width:21px;height:32px;border:2px solid;border-radius:65% 35% 65% 35%;transform:rotate(25deg)}
.rv24-spore:before{content:"✣";font-size:38px;line-height:40px}
.rv24-storm:before{content:"☁";font-size:39px;line-height:35px}.rv24-storm:after{content:"↯";position:absolute;left:13px;top:20px;font-size:22px}
.rv24-home:before{content:"⌂";font-size:44px;line-height:36px}

.rv24-why{padding:50px 0;background:#070707;color:#fff}
.rv24-why-grid{display:grid;grid-template-columns:31% 69%;gap:34px}
.rv24-why-copy>p:last-child{max-width:390px;color:#aaa;font:400 12px/1.65 Arial,sans-serif}
.rv24-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rv24-benefit-grid article{min-height:205px;padding:22px;border:1px solid #292929;border-radius:4px;background:#0a0a0a}
.rv24-benefit-icon{display:block;position:relative;width:42px;height:42px;color:var(--rv24-red)}
.rv24-benefit-grid h3{margin:43px 0 9px;color:#fff;font:800 13px/1.35 Arial,sans-serif}
.rv24-benefit-grid p{margin:0;color:#858585;font:400 10px/1.55 Arial,sans-serif}
.rv24-clock{border:1px solid;border-radius:50%}.rv24-clock:before{content:"";position:absolute;left:20px;top:8px;width:1px;height:13px;background:currentColor}.rv24-clock:after{content:"";position:absolute;left:20px;top:20px;width:10px;height:1px;background:currentColor}
.rv24-tools:before{content:"⌁";font-size:44px}
.rv24-docs:before{content:"▣";font-size:38px}
.rv24-person:before{content:"♙";font-size:39px}

.rv24-proof{display:grid;grid-template-columns:44% 56%;min-height:255px;background:#fff}
.rv24-proof-scene{overflow:hidden;background:#d8d5cf}
.rv24-room{position:relative;height:100%;background:linear-gradient(#d7d2c8 0 62%,#92806b 62% 100%)}
.rv24-window{position:absolute;left:7%;top:10%;width:50%;height:45%;border:7px solid #f1f1ef;background:linear-gradient(#cdd8d7,#879797)}
.rv24-sofa{position:absolute;left:10%;bottom:16%;width:43%;height:28%;border-radius:8px 8px 3px 3px;background:#afa796;box-shadow:0 18px 0 #8a8174}
.rv24-dryer{position:absolute;right:10%;bottom:8%;width:28%;height:45%;border-radius:11px;background:#d62b25;box-shadow:inset 0 -24px 0 #1c1c1c}
.rv24-dryer:before{content:"";position:absolute;left:14%;top:11%;width:72%;height:35%;border-radius:6px;background:#1c1c1c}
.rv24-dryer span{position:absolute;left:14%;bottom:12%;color:#fff;font:800 9px Arial,sans-serif}
.rv24-water{position:absolute;inset:auto 0 0;height:18%;background:linear-gradient(rgba(122,153,166,.55),rgba(59,91,106,.55))}
.rv24-proof-copy{padding:42px 6vw}
.rv24-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.rv24-process-grid strong{display:block;color:var(--rv24-red);font:800 25px Arial,sans-serif}
.rv24-process-grid h3{margin:8px 0 5px;font:800 12px Arial,sans-serif}
.rv24-process-grid p{margin:0;color:#666;font:400 9px/1.5 Arial,sans-serif}

.rv24-content{padding:58px 0 65px;background:#fff}
.rv24-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}
.rv24-content-grid>div:first-child>p:not(.rv24-label){max-width:520px;color:#666;font:400 13px/1.65 Arial,sans-serif}
.rv24-text-link{color:var(--rv24-red);font:800 11px Arial,sans-serif}
.rv24-faq details{border-top:1px solid var(--rv24-line)}
.rv24-faq details:last-child{border-bottom:1px solid var(--rv24-line)}
.rv24-faq summary{display:flex;justify-content:space-between;padding:15px 0;cursor:pointer;font:700 11px Arial,sans-serif;list-style:none}
.rv24-faq summary::-webkit-details-marker{display:none}
.rv24-faq p{margin:0 0 16px;color:#666;font:400 11px/1.6 Arial,sans-serif}

.rv24-cta{padding:36px 0;background:#070707;color:#fff}
.rv24-cta-grid{display:grid;grid-template-columns:auto 1.15fr 1fr auto auto;gap:25px;align-items:center}
.rv24-cta-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid #343434;border-radius:50%;color:var(--rv24-red);font-size:24px}
.rv24-cta h2{margin:0;font:800 22px/1.1 Arial,sans-serif}
.rv24-cta p{margin:0;color:#999;font:400 10px/1.55 Arial,sans-serif}

.rv24-footer{padding:58px 0 18px;background:#050505;color:#fff}
.rv24-footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:65px}
.rv24-footer .rv24-logo{margin-bottom:22px}
.rv24-footer p,.rv24-footer a{display:block;color:#8d8d8d;font:400 10px/1.85 Arial,sans-serif}
.rv24-footer h3{margin:0 0 16px;color:#fff;font:800 10px Arial,sans-serif}
.rv24-footer-bottom{display:flex;justify-content:space-between;margin-top:42px;padding-top:18px;border-top:1px solid #222;color:#666;font:400 9px Arial,sans-serif}
.rv24-footer-bottom div{display:flex;gap:25px}

@media(max-width:980px){
	.rv24-nav,.rv24-help{display:none}
	.rv24-menu{display:block}
	.rv24-hero-grid{height:auto;grid-template-columns:1fr}
	.rv24-hero-copy{padding:52px 0 18px}
	.rv24-van{height:500px;margin:0 -32px;background-position:center}
	.rv24-trust{grid-template-columns:repeat(2,1fr);height:auto;padding:20px 0;gap:20px}
	.rv24-services-head,.rv24-why-grid,.rv24-proof,.rv24-content-grid{grid-template-columns:1fr}
	.rv24-service-grid{grid-template-columns:repeat(2,1fr)}
	.rv24-benefit-grid{grid-template-columns:repeat(2,1fr)}
	.rv24-proof-scene{height:300px}
	.rv24-process-grid{grid-template-columns:repeat(2,1fr)}
	.rv24-cta-grid{grid-template-columns:1fr}
	.rv24-footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
	.rv24-shell{width:min(100% - 34px,1320px)}
	.rv24-header-inner{height:76px}
	.rv24-hero{padding-top:76px}
	.rv24-hero-copy{padding-top:42px}
	.rv24-hero h1{font-size:55px}
	.rv24-lead{font-size:13px}
	.rv24-actions{flex-direction:column;align-items:flex-start}
	.rv24-van{height:350px;margin:0 -17px;background-size:contain;background-position:center}
	.rv24-trust{grid-template-columns:1fr}
	.rv24-services-head{gap:22px}
	.rv24-service-grid,.rv24-benefit-grid,.rv24-process-grid,.rv24-footer-grid{grid-template-columns:1fr}
	.rv24-service-card{min-height:190px}
	.rv24-service-card .rv24-icon{margin-bottom:28px}
	.rv24-benefit-grid article{min-height:180px}
	.rv24-content-grid{gap:48px}
	.rv24-footer-bottom{display:block}
	.rv24-footer-bottom div{margin-top:12px}
}


/* Services dropdown */
.rv24-nav .menu-item-has-children { position:relative; }
.rv24-nav .menu-item-has-children > a:after { content:"+"; margin-left:7px; font-size:10px; color:rgba(255,255,255,.6); }
.rv24-nav .sub-menu {
	position:absolute;
	left:-22px;
	top:calc(100% + 18px);
	z-index:40;
	display:block;
	min-width:220px;
	padding:10px;
	background:#171719;
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 20px 55px rgba(0,0,0,.35);
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
	transition:.2s ease;
}
.rv24-nav .sub-menu:before { content:""; position:absolute; left:0; right:0; top:-19px; height:19px; }
.rv24-nav .sub-menu li { display:block; }
.rv24-nav .sub-menu a { display:block; padding:12px 13px; white-space:nowrap; color:rgba(255,255,255,.72); }
.rv24-nav .sub-menu a:hover { background:rgba(255,255,255,.06); color:#fff; }
.rv24-nav .menu-item-has-children:hover > .sub-menu,
.rv24-nav .menu-item-has-children:focus-within > .sub-menu { opacity:1; visibility:visible; transform:none; }


/* Homepage complete services grid */
.rv24-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.rv24-carpet:before{content:"";position:absolute;left:3px;right:3px;bottom:4px;height:8px;border:2px solid currentColor;border-radius:50%;}
.rv24-carpet:after{content:"";position:absolute;left:8px;top:0;width:12px;height:20px;border:2px solid currentColor;border-bottom:0;transform:skewX(-12deg);}
@media(max-width:980px){.rv24-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.rv24-service-grid{grid-template-columns:1fr;}}


/* v3.3 homepage quick actions, horizontal brand line, and Google reviews */
.rv-action-ribbon{
	position:relative;
	z-index:12;
	background:#e51b23;
	color:#fff;
}
.rv-action-ribbon-home{margin-top:94px}
.rv-action-ribbon-inner{
	display:grid;
	grid-template-columns:repeat(3,1fr);
}
.rv-action-ribbon-inner>a{
	position:relative;
	min-height:82px;
	display:grid;
	grid-template-columns:1fr auto;
	grid-template-rows:auto auto;
	align-content:center;
	padding:15px 28px;
	border-right:1px solid rgba(255,255,255,.28);
	color:#fff;
	text-decoration:none;
	transition:background .2s ease;
}
.rv-action-ribbon-inner>a:first-child{border-left:1px solid rgba(255,255,255,.28)}
.rv-action-ribbon-inner>a:hover{background:#c9141b}
.rv-action-ribbon-inner small{
	grid-column:1;
	margin-bottom:5px;
	color:rgba(255,255,255,.7);
	font:700 9px/1 Arial,sans-serif;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.rv-action-ribbon-inner strong{
	grid-column:1;
	font:900 18px/1 Arial,sans-serif;
	letter-spacing:-.02em;
	text-transform:uppercase;
}
.rv-action-ribbon-inner>a>span{
	grid-column:2;
	grid-row:1/3;
	align-self:center;
	font-size:22px;
}
.rv24-hero{padding-top:0}
.rv24-horizontal-slogan{
	width:max-content;
	max-width:none;
	white-space:nowrap;
	font-size:clamp(31px,3.8vw,64px)!important;
	line-height:.95!important;
	letter-spacing:-.05em!important;
}
.rv24-horizontal-slogan span,
.rv24-horizontal-slogan em{display:inline!important}

.rv-google-reviews{
	padding:26px 0;
	background:#fff;
	border-bottom:1px solid var(--rv24-line);
}
.rv-google-reviews-grid{
	display:grid;
	grid-template-columns:auto minmax(260px,1fr) auto;
	align-items:center;
	gap:42px;
}
.rv-google-reviews-badge{
	display:flex;
	align-items:center;
	gap:16px;
}
.rv-google-g{
	display:grid;
	place-items:center;
	width:52px;
	height:52px;
	border:1px solid #ddd;
	border-radius:50%;
	background:#fff;
	color:#4285f4;
	font:900 29px/1 Arial,sans-serif;
	box-shadow:0 7px 24px rgba(0,0,0,.08);
}
.rv-google-reviews-badge p{
	margin:0 0 5px;
	color:#777;
	font:800 9px/1 Arial,sans-serif;
	letter-spacing:.11em;
	text-transform:uppercase;
}
.rv-google-reviews-badge h2{
	margin:0;
	font:900 24px/1 Arial,sans-serif;
	letter-spacing:-.04em;
}
.rv-google-reviews-copy p{
	max-width:610px;
	margin:0;
	color:#555;
	font:400 12px/1.6 Arial,sans-serif;
}
.rv-google-reviews-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	min-height:48px;
	padding:0 21px;
	border:1px solid #111;
	color:#111;
	font:900 10px/1 Arial,sans-serif;
	letter-spacing:.07em;
	text-transform:uppercase;
	text-decoration:none;
}
.rv-google-reviews-button:hover{
	background:#111;
	color:#fff;
}

@media(max-width:1000px){
	.rv-action-ribbon-home{margin-top:82px}
	.rv24-horizontal-slogan{font-size:clamp(29px,6.3vw,60px)!important}
	.rv-google-reviews-grid{grid-template-columns:1fr auto}
	.rv-google-reviews-copy{grid-column:1/-1;grid-row:2}
}
@media(max-width:700px){
	.rv-action-ribbon-home{margin-top:76px}
	.rv-action-ribbon-inner{grid-template-columns:1fr}
	.rv-action-ribbon-inner>a,
	.rv-action-ribbon-inner>a:first-child{
		min-height:68px;
		border-left:0;
		border-right:0;
		border-bottom:1px solid rgba(255,255,255,.28);
	}
	.rv24-horizontal-slogan{
		width:100%;
		font-size:clamp(20px,7vw,35px)!important;
		letter-spacing:-.055em!important;
	}
	.rv-google-reviews-grid{grid-template-columns:1fr;gap:20px}
	.rv-google-reviews-button{width:100%}
}


/* v3.4 centered slogan strip and rotating Google review carousel */
.rv-slogan-strip{
	position:relative;
	z-index:11;
	padding:22px 0 20px;
	background:#0b0b0c;
	border-bottom:1px solid rgba(255,255,255,.08);
	text-align:center;
}
.rv-slogan-strip p{
	margin:0;
	color:#fff;
	font:900 clamp(30px,4.7vw,72px)/.92 Arial,sans-serif;
	letter-spacing:-.06em;
	white-space:nowrap;
}
.rv-slogan-strip em{
	color:#e51b23;
	font-style:normal;
}
.rv24-hero .rv24-hero-copy{padding-top:44px}
.rv24-horizontal-slogan{display:none!important}

.rv-google-reviews-carousel{
	padding:44px 0 38px;
	background:#fff;
}
.rv-review-heading{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:28px;
	margin-bottom:28px;
}
.rv-review-carousel{
	position:relative;
	overflow:hidden;
	border:1px solid #e3e3e3;
	background:#f8f8f8;
}
.rv-review-track{
	position:relative;
	min-height:225px;
}
.rv-review-slide{
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding:36px clamp(24px,7vw,110px);
	text-align:center;
	opacity:0;
	visibility:hidden;
	transform:translateX(30px);
	transition:opacity .45s ease, transform .45s ease, visibility .45s ease;
}
.rv-review-slide.is-active{
	opacity:1;
	visibility:visible;
	transform:none;
}
.rv-review-stars{
	margin-bottom:18px;
	color:#f5b301;
	font:900 20px/1 Arial,sans-serif;
	letter-spacing:.15em;
}
.rv-review-slide blockquote{
	max-width:900px;
	margin:0;
	color:#111;
	font:800 clamp(22px,3.1vw,42px)/1.12 Arial,sans-serif;
	letter-spacing:-.045em;
}
.rv-review-slide p{
	margin:18px 0 0;
	color:#777;
	font:800 10px/1 Arial,sans-serif;
	letter-spacing:.11em;
	text-transform:uppercase;
}
.rv-review-controls{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	padding:18px;
	border-top:1px solid #e3e3e3;
	background:#fff;
}
.rv-review-prev,
.rv-review-next{
	width:42px;
	height:42px;
	border:1px solid #111;
	background:#fff;
	color:#111;
	font-size:18px;
	cursor:pointer;
}
.rv-review-prev:hover,
.rv-review-next:hover{
	background:#111;
	color:#fff;
}
.rv-review-dots{
	display:flex;
	gap:9px;
}
.rv-review-dots button{
	width:8px;
	height:8px;
	padding:0;
	border:0;
	border-radius:50%;
	background:#c8c8c8;
	cursor:pointer;
}
.rv-review-dots button.is-active{background:#e51b23}
.rv-review-source-note{
	margin:0;
	padding:12px 18px;
	border-top:1px solid #eee;
	color:#858585;
	font:700 9px/1.4 Arial,sans-serif;
	letter-spacing:.06em;
	text-align:center;
	text-transform:uppercase;
}

@media(max-width:700px){
	.rv-slogan-strip{padding:17px 0 16px}
	.rv-slogan-strip p{
		font-size:clamp(20px,7vw,34px);
		letter-spacing:-.055em;
	}
	.rv-review-heading{
		align-items:stretch;
		flex-direction:column;
	}
	.rv-review-slide{
		padding:30px 22px;
	}
	.rv-review-slide blockquote{
		font-size:clamp(20px,6vw,29px);
	}
}


/* v3.5 header spacing */
.rv-action-ribbon-home{margin-top:88px}
@media(max-width:900px){
	.rv-action-ribbon-home{margin-top:76px}
}
