.cp-homepage {
  --cp-red: #b82518;
  --cp-red-dark: #861a12;
  --cp-black: #111214;
  --cp-ink: #202124;
  --cp-grey: #f2f3f5;
  --cp-line: #dfe1e5;
  --cp-white: #fff;
  --cp-radius: 18px;
  --cp-shadow: 0 22px 60px rgba(12, 12, 14, .14);
  color: var(--cp-ink);
  font-family: inherit;
  line-height: 1.55;
}

.cp-homepage *, .cp-homepage *::before, .cp-homepage *::after { box-sizing: border-box; }
.cp-homepage h1, .cp-homepage h2, .cp-homepage h3, .cp-homepage p { margin-top: 0; }
.cp-homepage h1, .cp-homepage h2, .cp-homepage h3 { color: inherit; font-family: inherit; font-weight: 800; line-height: 1.04; letter-spacing: -.035em; }
.cp-homepage h2 { font-size: clamp(2rem, 4vw, 3.6rem); margin-bottom: 18px; }
.cp-homepage h3 { font-size: 1.25rem; }
.cp-homepage a { text-underline-offset: 3px; }
.cp-homepage__container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.cp-homepage__eyebrow { margin-bottom: 12px; color: var(--cp-red); font-size: .77rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }

.cp-homepage-top { position: relative; isolation: isolate; margin-bottom: -460px; padding-bottom: 460px; }
.cp-homepage-top::before { position: absolute; z-index: 0; inset: 0; content: ""; pointer-events: none; background-color: #23262a; background-image: linear-gradient(rgba(10,11,13,.38), rgba(10,11,13,.38)), var(--cp-hero-image); background-position: center; background-repeat: no-repeat; background-size: cover; }
.cp-homepage__mini-header { position: relative; z-index: 6; border-bottom: 4px solid var(--cp-red); background: rgba(255,255,255,.97); box-shadow: 0 8px 30px rgba(0,0,0,.15); }
.cp-homepage__mini-header-inner { display: flex; min-height: 92px; gap: 32px; align-items: center; }
.cp-homepage__hero { position: relative; z-index: 1; min-height: 310px; overflow: visible; color: var(--cp-white); background: transparent; }
.cp-homepage__hero::before, .cp-homepage__hero::after { display: none; }
.cp-homepage__logo-link { display: block; width: clamp(210px, 20vw, 285px); flex: 0 0 auto; padding: 0; background: transparent; }
.cp-homepage__logo-link img { display: block; width: 100%; height: auto; }
.cp-homepage__mini-nav { display: flex; flex: 1; gap: clamp(18px, 2vw, 34px); align-items: center; justify-content: center; }
.cp-homepage__mini-nav a { color: var(--cp-black); font-size: .91rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.cp-homepage__mini-nav a:hover { color: var(--cp-red); }
.cp-homepage__header-call { padding: 11px 18px; border-radius: 999px; color: var(--cp-white) !important; background: var(--cp-red); font-size: .82rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.cp-homepage__hero-grid { display: grid; grid-template-columns: 1fr; min-height: 310px; align-items: end; padding-block: 52px 28px; }
.cp-homepage__hero-copy { max-width: 760px; }
.cp-homepage__hero .cp-homepage__eyebrow { color: var(--cp-red); }
.cp-homepage__hero h1 { max-width: 1050px; margin-bottom: 20px; color: var(--cp-white); font-size: clamp(3rem, 6vw, 5.7rem); font-style: italic; letter-spacing: -.05em; text-shadow: 0 4px 24px rgba(0,0,0,.32); }
.cp-homepage__hero h1 span { color: var(--cp-red); }
.cp-homepage__lead { max-width: 680px; margin-bottom: 30px; color: rgba(255,255,255,.9); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.cp-homepage__hero-actions, .cp-homepage__final-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cp-homepage__button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 24px; border: 2px solid transparent; border-radius: 999px; font-size: .92rem; font-weight: 800; line-height: 1; text-decoration: none !important; text-transform: uppercase; letter-spacing: .04em; transition: transform .2s ease, background .2s ease, color .2s ease; }
.cp-homepage__button:hover { transform: translateY(-2px); }
.cp-homepage__button:focus-visible, .cp-homepage button:focus-visible, .cp-homepage a:focus-visible { outline: 3px solid #ffcf32; outline-offset: 3px; }
.cp-homepage__button--white { color: var(--cp-red-dark) !important; background: var(--cp-white); }
.cp-homepage__button--ghost { border-color: rgba(255,255,255,.72); color: var(--cp-white) !important; background: rgba(0,0,0,.16); }
.cp-homepage__button--dark { color: var(--cp-white) !important; background: var(--cp-black); }
.cp-homepage__hero-points { display: flex; flex-wrap: wrap; gap: 13px 22px; margin: 26px 0 0; padding: 0; list-style: none; font-size: .93rem; font-weight: 750; }
.cp-homepage__hero-points li { display: flex; gap: 7px; align-items: center; }
.cp-homepage__hero-points span { display: inline-grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: var(--cp-red); background: var(--cp-white); }
.cp-homepage__booking-anchor { display: block; height: 1px; }
.cp-homepage__rating-card { display: none; }
.cp-homepage__rating-card p { margin-bottom: 4px; }
.cp-homepage__rating-label { color: rgba(255,255,255,.72); font-size: .78rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.cp-homepage__stars { color: #ffcf32; font-size: 1.35rem; letter-spacing: .09em; }
.cp-homepage__rating-note { color: rgba(255,255,255,.6); font-size: .74rem; }
.cp-homepage__trust-strip { position: relative; z-index: 2; padding-block: 20px; border: 0; color: var(--cp-white); background: transparent; box-shadow: none; backdrop-filter: none; }
.cp-homepage__trust-row { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.cp-homepage__trust-item { display: flex; min-height: 74px; gap: 12px; align-items: center; justify-content: center; padding: 12px 18px; border-right: 1px solid rgba(255,255,255,.25); }
.cp-homepage__trust-item:first-child { padding-left: 0; }
.cp-homepage__trust-item:last-child { border-right: 0; padding-right: 0; }
.cp-homepage__trust-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; color: var(--cp-white); background: var(--cp-red); font-size: .75rem; font-weight: 900; }
.cp-homepage__trust-item > div { transform: none; }
.cp-homepage__trust-item strong, .cp-homepage__trust-item small { display: block; }
.cp-homepage__trust-item strong { font-size: .76rem; font-weight: 850; line-height: 1.25; }
.cp-homepage__trust-item small { margin-top: 3px; color: rgba(255,255,255,.68); font-size: .68rem; line-height: 1.25; }

.cp-homepage__section-heading { max-width: 720px; margin-bottom: 42px; }
.cp-homepage__section-heading p:last-child { color: #62656b; }
.cp-homepage__section-heading--center { margin-inline: auto; text-align: center; }
.cp-homepage__benefit-section, .cp-homepage__steps-section, .cp-homepage__fleet-section, .cp-homepage__tiers-section, .cp-homepage__locations-section, .cp-homepage__reviews-section, .cp-homepage__faq-section { padding-block: 100px; }
.cp-homepage__reviews-section {
	background-image: url('https://www.cutpricecarrentals.com/wp-content/uploads/2023/03/b1.jpg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.cp-homepage__reviews-section .cp-homepage__review-score h2,
.cp-homepage__reviews-section .cp-homepage__review-score > p:not(.cp-homepage__eyebrow),
.cp-homepage__reviews-section .cp-homepage__review-score > p:not(.cp-homepage__eyebrow) * {
	color: #fff !important;
}
.cp-homepage__reviews-section .cp-homepage__reviews-link {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	padding: 12px 16px;
	border-radius: 999px;
	color: #151619 !important;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.cp-homepage__reviews-section .cp-homepage__reviews-link:hover {
	color: #fff !important;
	background: var(--cp-red);
}
.cp-homepage__benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--cp-line); border-left: 1px solid var(--cp-line); }
.cp-homepage__benefit-card { min-height: 210px; padding: 30px; border-right: 1px solid var(--cp-line); border-bottom: 1px solid var(--cp-line); background: var(--cp-white); }
.cp-homepage__benefit-card .cp-homepage__icon { display: grid; width: 46px; height: 46px; margin-bottom: 24px; place-items: center; border-radius: 12px; color: var(--cp-white); background: var(--cp-red); font-size: 1rem; font-weight: 900; }
.cp-homepage__benefit-card h3 { margin-bottom: 9px; }
.cp-homepage__benefit-card p { margin-bottom: 0; color: #696c72; font-size: .92rem; }

.cp-homepage__steps-section { position: relative; z-index: 3; overflow: hidden; color: var(--cp-ink); background: var(--cp-white); }
.cp-homepage__steps-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(410px, .95fr); gap: clamp(54px, 7vw, 96px); align-items: center; }
.cp-homepage__steps-visual { position: relative; isolation: isolate; padding: 42px 34px 42px 34px; }
.cp-homepage__steps-visual::before { position: absolute; z-index: -1; inset: 5% 5% 3% 4%; border-radius: 58px; content: ""; background: linear-gradient(145deg, var(--cp-red-dark), var(--cp-red)); transform: rotate(-5deg); }
.cp-homepage__steps-visual::after { display: none; }
.cp-homepage__steps-visual img { display: block; width: 100%; aspect-ratio: 1 / 1.04; border: 8px solid var(--cp-white); border-radius: 36px; object-fit: cover; object-position: 54% center; box-shadow: 0 24px 55px rgba(40,20,20,.2); transform: none; }
.cp-homepage__steps-badge { position: absolute; right: 0; bottom: 22px; display: grid; min-width: 138px; min-height: 82px; place-content: center; padding: 14px 20px; border: 4px solid var(--cp-white); border-radius: 18px; color: var(--cp-white); background: var(--cp-black); box-shadow: 0 12px 28px rgba(0,0,0,.2); font-size: .86rem; font-weight: 900; line-height: 1.2; letter-spacing: .04em; text-transform: uppercase; transform: none; }
.cp-homepage__steps-badge small { margin-top: 4px; color: #ff858a; font-size: .65rem; letter-spacing: .1em; }
.cp-homepage__steps-content h2 { max-width: 590px; margin-bottom: 18px; color: var(--cp-black); font-size: clamp(2.4rem, 4.3vw, 4rem); }
.cp-homepage__steps-intro { max-width: 610px; margin-bottom: 34px; color: #62656b; font-size: 1.02rem; }
.cp-homepage__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.cp-homepage__steps li { position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 14px; min-height: 154px; align-items: start; padding: 20px 18px; border: 1px solid var(--cp-line); border-top: 4px solid var(--cp-red); border-radius: 18px; background: #f7f7f8; box-shadow: none; }
.cp-homepage__steps li:not(:last-child)::after { display: none; }
.cp-homepage__step-marker { position: relative; z-index: 1; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px 4px 12px 4px; color: var(--cp-white); background: var(--cp-black); box-shadow: none; font-size: .9rem; font-weight: 900; }
.cp-homepage__steps small { display: block; margin: 1px 0 4px; color: var(--cp-red); font-size: .74rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cp-homepage__steps h3 { margin: 0 0 6px; color: var(--cp-black); font-size: 1.38rem; }
.cp-homepage__steps p { margin: 0; color: #686b72; font-size: .87rem; }

.cp-homepage__fleet-section { overflow: hidden; background: var(--cp-grey); }
.cp-homepage__fleet-heading { display: flex; max-width: none; align-items: end; justify-content: space-between; }
.cp-homepage__fleet-heading h2 { margin-bottom: 0; }
.cp-homepage__family-link,.cp-homepage__all-vehicles-link { display: grid; grid-template-columns: 38px auto 1fr 26px; gap: 8px 11px; align-items: center; width: 100%; margin-top: 20px; padding: 13px 16px; border: 1px solid rgba(184,37,24,.22); border-radius: 16px; color: var(--cp-black) !important; background: var(--cp-white); box-shadow: 0 10px 28px rgba(34,20,20,.08); text-decoration: none !important; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.cp-homepage__family-link:hover,.cp-homepage__all-vehicles-link:hover { border-color: var(--cp-red); box-shadow: 0 14px 32px rgba(34,20,20,.13); transform: translateY(-2px); }
.cp-homepage__family-link > span,.cp-homepage__all-vehicles-link > span { grid-row: 1 / 3; display: grid; width: 38px; height: 38px; border-radius: 12px 4px 12px 4px; color: var(--cp-white); background: var(--cp-red); place-items: center; }
.cp-homepage__family-link strong,.cp-homepage__all-vehicles-link strong { align-self: end; font-size: .88rem; }
.cp-homepage__family-link small,.cp-homepage__all-vehicles-link small { grid-column: 2 / 4; align-self: start; color: #6a6d73; font-size: .72rem; }
.cp-homepage__family-link b,.cp-homepage__all-vehicles-link b { grid-column: 4; grid-row: 1 / 3; color: var(--cp-red); font-size: 1.25rem; }
.cp-homepage__family-link-wrap { display: grid; grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(100%,980px);margin:0 auto; }
.cp-homepage__all-vehicles-wrap { width:min(100%,420px); margin:18px 0 20px; }
.cp-homepage__all-vehicles-wrap .cp-homepage__all-vehicles-link { margin-top:0; }
.cp-homepage__carousel-buttons { display: flex; gap: 9px; }
.cp-homepage__carousel-button { display: grid; width: 50px; height: 50px; padding: 0; place-items: center; border: 1px solid #cacdd2; border-radius: 50%; color: var(--cp-black); background: var(--cp-white); font: inherit; font-size: 1.25rem; cursor: pointer; }
.cp-homepage__carousel-button:hover { border-color: var(--cp-red); color: var(--cp-white); background: var(--cp-red); }
.cp-homepage__vehicle-track { display: grid; grid-auto-columns: calc((100% - 48px) / 3); grid-auto-flow: column; gap: 24px; overflow-x: auto; padding: 10px 3px 28px; scrollbar-width: thin; scroll-behavior: smooth; scroll-snap-type: x mandatory; }
.cp-homepage__vehicle-card { position: relative; display: flex; min-height: 625px; flex-direction: column; overflow: hidden; padding: 38px 30px 32px; border-radius: 52px; color: var(--cp-white); background-color: var(--cp-red); background-image: linear-gradient(rgba(80,0,0,.08),rgba(80,0,0,.16)),url('https://cutpricecarrentals.com/staging/wp-content/uploads/2026/03/RED-CARD-BACKGROUND.png'); background-position:center; background-size:cover; box-shadow: 0 18px 38px rgba(132,9,14,.2); text-align: center; scroll-snap-align: start; }
.cp-homepage__vehicle-card::before, .cp-homepage__vehicle-card::after { position: absolute; content: ""; width: 150%; height: 90px; border: 1px solid rgba(255,255,255,.1); transform: rotate(-28deg); pointer-events: none; }
.cp-homepage__vehicle-card::before { top: 235px; left: -30%; }
.cp-homepage__vehicle-card::after { right: -40%; bottom: 120px; }
.cp-homepage__vehicle-card h3 { position: relative; z-index: 1; margin-bottom: 22px; color: var(--cp-white); font-size: clamp(1.8rem, 2.5vw, 2.7rem); }
.cp-homepage__vehicle-kicker { position: relative; z-index: 1; min-height: 58px; margin: 0 auto 6px; color: var(--cp-white); font-size: 1.17rem; font-weight: 800; line-height: 1.25; letter-spacing: 0; text-transform: none; }
.cp-homepage__vehicle-example { position: relative; z-index: 1; margin-bottom: 8px; color: rgba(255,255,255,.74); font-size: .82rem; }
.cp-homepage__vehicle-image { position: relative; z-index: 1; display: grid; height: 275px; margin: 0 -20px 8px; place-items: center; background: transparent; }
.cp-homepage__vehicle-image img { display:block; width:100%; height:240px; margin:auto; object-fit:contain; object-position:center; transform:scale(var(--cp-home-image-scale,1)); transform-origin:center; filter:drop-shadow(0 20px 14px rgba(45,0,2,.28)); }
.cp-homepage__vehicle-meta { position: relative; z-index: 1; display: flex; justify-content: center; gap: 8px 16px; margin: auto 0 18px; color: rgba(255,255,255,.78); font-size: .72rem; }
.cp-homepage__vehicle-card a { position: relative; z-index: 1; display: flex; justify-content: center; gap: 16px; color: var(--cp-white); font-size: 1.32rem; font-weight: 600; text-decoration: none; }

.cp-homepage__tiers-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 24px; align-items: stretch; }
.cp-homepage__tiers-grid > .cp-homepage__section-heading { align-self: center; margin: 0 30px 0 0; }
.cp-homepage__tier-card { min-height: 390px; padding: 38px 32px; border-radius: var(--cp-radius); }
.cp-homepage__tier-card--budget { border: 1px solid var(--cp-line); background: var(--cp-grey); }
.cp-homepage__tier-card--premium { color: var(--cp-white); background: var(--cp-black); box-shadow: var(--cp-shadow); }
.cp-homepage__tier-card--premium h3 { color: var(--cp-white); }
.cp-homepage__tier-label { margin-bottom: 65px; color: var(--cp-red); font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cp-homepage__tier-card--premium .cp-homepage__tier-label { color: #ff747a; }
.cp-homepage__tier-card h3 { margin-bottom: 24px; font-size: 2.25rem; }
.cp-homepage__tier-card ul { margin: 0; padding: 0; list-style: none; }
.cp-homepage__tier-card li { position: relative; margin: 14px 0; padding-left: 26px; }
.cp-homepage__tier-card li::before { position: absolute; left: 0; content: "✓"; color: var(--cp-red); font-weight: 900; }

.cp-homepage__locations-section { background: var(--cp-grey); }
.cp-homepage__location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cp-homepage__location-card { position: relative; isolation: isolate; display: flex; min-height: 430px; flex-direction: column; align-items: flex-start; justify-content: end; overflow: hidden; padding: 40px; border-radius: var(--cp-radius); color: var(--cp-white); background: var(--cp-black); }
.cp-homepage__location-card::before { position: absolute; z-index: -2; inset: 0; content: ""; background-image: var(--cp-location-image); background-position: center; background-size: cover; transition: transform .5s ease; }
.cp-homepage__location-card::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(180deg, rgba(10,11,13,0) 28%, rgba(10,11,13,.72) 100%); }
.cp-homepage__location-card:hover::before { transform: scale(1.035); }
.cp-homepage__location-card > p { margin-bottom: auto; color: rgba(255,255,255,.58); font-size: 4.7rem; font-weight: 900; line-height: 1; }
.cp-homepage__location-card h3 { max-width: 460px; margin-bottom: 12px; color: var(--cp-white); font-size: clamp(2rem, 4vw, 3.1rem); }
.cp-homepage__location-card > span { max-width: 420px; margin-bottom: 26px; color: rgba(255,255,255,.78); }
.cp-homepage__city-location-links { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-top: 28px; }
.cp-homepage__city-location-links > span { color: #5e6167; font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cp-homepage__city-location-links a { color: var(--cp-black); font-size: .94rem; font-weight: 850; text-decoration: none; }
.cp-homepage__city-location-links a:hover { color: var(--cp-red); }
.cp-homepage__city-location-links b { margin-left: 4px; color: var(--cp-red); }

.cp-homepage__reviews-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 60px; align-items: center; }
.cp-homepage__review-score h2 { font-size: clamp(2.1rem, 4vw, 3.3rem); }
.cp-homepage__review-score > p:last-child { color: #686b70; }
.cp-homepage__reviews-link { display: inline-flex; margin-top: 4px; color: var(--cp-red); font-size: .9rem; font-weight: 900; text-decoration: none; }
.cp-homepage__reviews-link:hover { color: var(--cp-red-dark); }
.cp-homepage__review-logos { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin: 0 0 14px; }
.cp-homepage__review-logos span { display: inline-flex; gap: 9px; align-items: center; padding: 9px 13px; border: 1px solid #e2e3e6; border-radius: 999px; color: #26282d; background: #fff; font-size: .78rem; font-weight: 850; line-height: 1; }
.cp-homepage__review-logos img { width: 30px; height: 30px; object-fit: contain; }
.cp-homepage__review-carousel { overflow: hidden; border: 1px solid var(--cp-line); border-radius: var(--cp-radius); background: var(--cp-white); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.cp-homepage__review-slides { min-height: 300px; }
.cp-homepage__review-slide { display: grid; min-height: 300px; align-content: center; padding: 42px 48px 34px; }
.cp-homepage__review-slide[hidden] { display: none; }
.cp-homepage__review-platform { margin-bottom: 14px; color: #55585e; font-size: .76rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.cp-homepage__review-platform a { color: inherit; text-decoration: none; }
.cp-homepage__review-platform a:hover { color: var(--cp-red); }
.cp-homepage__review-slide blockquote { max-width: 720px; margin: 19px 0 22px; color: var(--cp-black); font-size: clamp(1.25rem, 2.2vw, 1.7rem); font-weight: 750; line-height: 1.35; }
.cp-homepage__review-slide cite { color: #777a80; font-size: .82rem; font-style: normal; font-weight: 750; }
.cp-homepage__review-controls { display: flex; align-items: center; justify-content: flex-end; gap: 14px; padding: 0 28px 24px; }
.cp-homepage__review-controls button { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--cp-line); border-radius: 50%; color: var(--cp-black); background: var(--cp-white); font: inherit; font-size: 1rem; font-weight: 900; cursor: pointer; }
.cp-homepage__review-controls button:hover { color: var(--cp-white); background: var(--cp-red); }
.cp-homepage__review-controls span { min-width: 48px; color: #777a80; font-size: .72rem; font-weight: 800; text-align: center; }

.cp-homepage__faq-section { background: var(--cp-black); color: var(--cp-white); }
.cp-homepage__faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.cp-homepage__faq-section h2 { color: var(--cp-white); }
.cp-homepage__faq-section .cp-homepage__eyebrow { color: #ff747a; }
.cp-homepage__faq-section .cp-homepage__section-heading p:last-child { color: #aeb0b5; }
.cp-homepage__faq-section .cp-homepage__section-heading a { color: var(--cp-white); }
.cp-homepage__faq-section .cp-homepage__faq-link { display: inline-flex; gap: 12px; align-items: center; margin-top: 20px; color: var(--cp-white); font-size: .78rem; font-weight: 900; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.cp-homepage__faq-section .cp-homepage__faq-link:hover { color: #ffb6b0; }
.cp-homepage__faq-item { border-bottom: 1px solid #3a3c40; }
.cp-homepage__faq-item h3 { margin: 0; }
.cp-homepage__faq-item button { display: flex; width: 100%; gap: 20px; align-items: center; justify-content: space-between; padding: 23px 0; border: 0; color: var(--cp-white); background: transparent; font: inherit; font-size: 1rem; font-weight: 750; text-align: left; cursor: pointer; }
.cp-homepage__faq-item button span { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 1px solid #55585e; border-radius: 50%; color: #ff747a; font-size: 1.3rem; transition: transform .2s ease; }
.cp-homepage__faq-item button[aria-expanded="true"] span { transform: rotate(45deg); }
.cp-homepage__faq-answer p { margin-bottom: 0; padding: 0 45px 23px 0; color: #b7b9be; }

.cp-homepage__final-cta { padding-block: 75px; color: var(--cp-white); background: var(--cp-red); }
.cp-homepage__final-inner { display: flex; gap: 40px; align-items: center; justify-content: space-between; }
.cp-homepage__final-inner h2 { margin-bottom: 10px; color: var(--cp-white); }
.cp-homepage__final-inner p { margin-bottom: 0; color: rgba(255,255,255,.82); }
.cp-homepage__final-inner .cp-homepage__eyebrow { color: #ffd0d2; }

@media (max-width: 980px) {
	.cp-homepage-top { margin-bottom: -720px; padding-bottom: 720px; }
  .cp-homepage__mini-nav { display: none; }
  .cp-homepage__mini-header-inner { justify-content: space-between; }
  .cp-homepage__hero-grid { grid-template-columns: 1fr; padding-block: 48px 24px; }
  .cp-homepage__rating-card { max-width: 420px; align-self: auto; margin: 0; }
  .cp-homepage__benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .cp-homepage__steps-layout { grid-template-columns: 1fr; gap: 58px; }
  .cp-homepage__steps-visual { width: min(720px, 100%); margin-inline: auto; }
  .cp-homepage__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-homepage__vehicle-track { grid-auto-columns: calc((100% - 24px) / 2); }
  .cp-homepage__tiers-grid { grid-template-columns: 1fr 1fr; }
  .cp-homepage__tiers-grid > .cp-homepage__section-heading { grid-column: 1 / -1; margin: 0 0 20px; }
  .cp-homepage__reviews-grid, .cp-homepage__faq-grid { grid-template-columns: 1fr; gap: 35px; }
  .cp-homepage__trust-row { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 680px) {
  .cp-homepage__container { width: min(100% - 28px, 1180px); }
  .cp-homepage__benefit-section, .cp-homepage__steps-section, .cp-homepage__fleet-section, .cp-homepage__tiers-section, .cp-homepage__locations-section, .cp-homepage__reviews-section, .cp-homepage__faq-section { padding-block: 72px; }
  .cp-homepage-top { margin-bottom: -1000px; padding-bottom: 1000px; }
  .cp-homepage__mini-header-inner { min-height: 74px; }
  .cp-homepage__header-call { display: none; }
  /* Start the mobile hero immediately below the Kadence header. The generous
     padding on .cp-homepage-top still carries the city image behind the live
     RCC form, but no longer creates an empty image panel above the heading. */
  .cp-homepage__hero, .cp-homepage__hero-grid { min-height: 0; }
  .cp-homepage__hero-grid {
    align-items: start;
    padding-block: 30px 18px;
  }
  .cp-homepage__hero h1 {
    max-width: 100%;
    margin: 0;
    font-size: clamp(2.45rem, 11.6vw, 3.25rem);
    line-height: .95;
  }
  .cp-homepage__logo-link { width: 215px; padding: 0; }
  .cp-homepage__hero-actions, .cp-homepage__hero-actions .cp-homepage__button { width: 100%; }
  .cp-homepage__rating-card { display: none; }
  .cp-homepage__benefit-grid, .cp-homepage__steps, .cp-homepage__tiers-grid, .cp-homepage__location-grid { grid-template-columns: 1fr; }
	.cp-homepage__family-link-wrap { grid-template-columns: 1fr; gap: 0; }
	.cp-homepage__city-location-links { align-items: flex-start; flex-direction: column; gap: 10px; }
	.cp-homepage__review-slide { min-height: 330px; padding: 34px 26px 28px; }
	.cp-homepage__review-controls { justify-content: center; padding: 0 20px 24px; }
  .cp-homepage__benefit-card { min-height: 0; }
  .cp-homepage__steps-visual { padding: 30px 20px 32px; }
  .cp-homepage__steps-visual::before { inset: 5% 5% 3%; border-radius: 38px; transform: rotate(-4deg); }
  .cp-homepage__steps-visual img { border-width: 5px; border-radius: 26px; }
  .cp-homepage__steps-badge { right: 0; bottom: 14px; min-width: 118px; min-height: 70px; padding: 10px 14px; }
  .cp-homepage__steps-content h2 { font-size: clamp(2.25rem, 11vw, 3.3rem); }
  .cp-homepage__steps { grid-template-columns: 1fr; }
  .cp-homepage__steps li { grid-template-columns: 44px 1fr; gap: 14px; min-height: 0; padding: 18px 16px; }
  .cp-homepage__fleet-heading { align-items: center; }
  .cp-homepage__fleet-heading h2 { font-size: 2.4rem; }
  .cp-homepage__vehicle-track { grid-auto-columns: 88%; }
  .cp-homepage__vehicle-card { min-height: 590px; border-radius: 42px; }
  .cp-homepage__vehicle-image { height: 250px; }
  .cp-homepage__vehicle-image img { height: 220px; }
  .cp-homepage__tier-card { min-height: 330px; }
  .cp-homepage__location-card { min-height: 390px; padding: 30px; }
  /* Keep the trust carousel visually within the city-image hero on phones. */
  .cp-homepage-bottom > .cp-homepage__trust-strip {
    overflow-x: auto;
    color: var(--cp-white);
    background-color: #1d252d;
  background-image: linear-gradient(rgba(8,10,12,.62), rgba(8,10,12,.72)), url('../images/placeholder-road.jpg');
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .cp-homepage__trust-strip .cp-homepage__container { width: max-content; min-width: 100%; }
  .cp-homepage__trust-row { grid-template-columns: repeat(4, 170px); }
  .cp-homepage__trust-item, .cp-homepage__trust-item:first-child, .cp-homepage__trust-item:last-child { padding-inline: 13px; border-right: 1px solid rgba(255,255,255,.28); }
  .cp-homepage__trust-item strong { color: var(--cp-white); }
  .cp-homepage__trust-item small { color: rgba(255,255,255,.86); }
  .cp-homepage__final-inner { align-items: flex-start; flex-direction: column; }
  .cp-homepage__final-actions, .cp-homepage__final-actions .cp-homepage__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cp-homepage *, .cp-homepage *::before, .cp-homepage *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Homepage booking form: a softly rounded outer panel with gentler control
   corners, inspired by the supplied reference while retaining Cut Price red. */
@media (min-width: 721px) {
  body:has(.cp-homepage-top) #rcc_bookingform {
    box-sizing: border-box;
    margin: 0 auto;
    padding: clamp(22px, 2.4vw, 38px) !important;
    border: 1px solid rgba(214, 216, 220, .98) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 18px 45px rgba(8, 13, 23, .18);
  }

  body:has(.cp-homepage-top) #rcc_bookingform :is(input:not([type="hidden"]), select) {
    border: 1px solid #d9dce0 !important;
    border-radius: 11px !important;
    box-shadow: 0 2px 5px rgba(10, 16, 25, .05);
  }

  body:has(.cp-homepage-top) #rcc_bookingform .step_button,
  body:has(.cp-homepage-top) #rcc_bookingform button[type="submit"] {
    border-radius: 11px !important;
    box-shadow: none !important;
  }
}

/* The live RCC form sits between the two homepage shortcodes, rather than
   inside the homepage section. Target it directly so its desktop panel is
   visibly framed even when WordPress moves the shortcode output. */
@media (min-width: 721px) {
  #rcc_bookingform {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    margin: 0 auto !important;
    padding: clamp(28px, 3vw, 46px) !important;
    border: 1px solid #d9dce1 !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow: 0 22px 56px rgba(8, 13, 23, .24) !important;
  }

  #rcc_bookingform :is(input:not([type="hidden"]), select) {
    border-color: #d6d9de !important;
    border-radius: 12px !important;
    background-color: #fff !important;
  }

  #rcc_bookingform .step_button,
  #rcc_bookingform button[type="submit"] {
    border-radius: 12px !important;
  }
}

/* Keep the Home desktop form open to the hero image. This selector matches
   the original Homepage form rule's specificity. */
@media (min-width: 721px) {
	body:has(.cp-homepage-top) :is(#homepage_form, #rcc_bookingform) {
	position: relative !important;
	z-index: 20 !important;
    width: calc(100vw - (var(--cphd-page-gutter) * 2)) !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw + var(--cphd-page-gutter)) !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}
