/* ==========================================================================
   Roket REVÙ Blocks — styles (Figma: Revu Clinic 2026 / D + M Homepage)
   ========================================================================== */

:root {
	--rv-blue: #273855;
	--rv-gold: #d2b55b;
	--rv-bg: #f7f6f2;
	--rv-grey: #657184;
	--rv-red: #9c4732;
	--rv-line: #deddda;
	--rv-dark: #252724;
	--rv-deep: #031e61;
	--rv-white: #fff;
	--rv-sans: "Satoshi", "Helvetica Neue", Arial, sans-serif;
	--rv-serif: "Nanum Myeongjo", Georgia, "Times New Roman", serif;
	--rv-pad: 48px;          /* outer gutter of wide sections */
	--rv-pad-in: 128px;      /* inner gutter of split sections */
	--rv-gap: 24px;
}

@media (max-width: 1365px) {
	:root { --rv-pad-in: clamp(32px, 7vw, 128px); }
}
@media (max-width: 1023px) {
	:root { --rv-pad: 24px; --rv-pad-in: 24px; }
}
@media (max-width: 767px) {
	:root { --rv-pad: 12px; --rv-pad-in: 12px; }
}

/* ---------- base ---------- */
.rv {
	position: relative;
	font-family: var(--rv-sans);
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--rv-blue);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: left;
	letter-spacing: 0;
	box-sizing: border-box;
}
.rv *, .rv *::before, .rv *::after { box-sizing: border-box; }
.rv p, .rv h1, .rv h2, .rv h3, .rv h4, .rv h5, .rv h6, .rv ul, .rv li, .rv figure { margin: 0; padding: 0; }
.rv ul { list-style: none; }
.rv a { color: inherit; text-decoration: none; transition: color .2s, background-color .2s, opacity .2s, border-color .2s; }
.rv img { max-width: 100%; height: auto; display: block; border: 0; border-radius: 0; box-shadow: none; }
.rv button { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; min-height: 0; line-height: inherit; }
.rv button:hover, .rv button:focus { background: none; color: inherit; }
.rv svg { flex-shrink: 0; display: block; }
.rv :focus-visible { outline: 2px solid var(--rv-gold); outline-offset: 2px; }
.rv .rv-cover { width: 100%; height: 100%; object-fit: cover; }

/* typography */
.rv .rv-h1, .rv .rv-h2, .rv .rv-h4, .rv .rv-h5, .rv .rv-h6 {
	font-family: var(--rv-serif);
	color: inherit;
	letter-spacing: 0;
	text-transform: none;
	margin: 0;
	padding: 0;
}
.rv .rv-h1 { font-size: 56px; line-height: 60px; font-weight: 400; }
.rv .rv-h2 { font-size: 48px; line-height: 50px; font-weight: 400; }
.rv .rv-h4 { font-size: 28px; line-height: 28px; font-weight: 400; }
.rv .rv-h5 { font-size: 28px; line-height: 32px; font-weight: 700; }
.rv .rv-h6 { font-size: 20px; line-height: 24px; font-weight: 700; }
.rv .rv-p { font-size: 16px; line-height: 24px; font-weight: 500; color: inherit; }
.rv .rv-p-sm { font-size: 14px; line-height: 20px; font-weight: 500; color: inherit; }
.rv .rv-caps { font-size: 12px; line-height: 16px; font-weight: 700; text-transform: uppercase; }
.rv strong, .rv b { font-weight: 700; }

@media (max-width: 767px) {
	.rv .rv-h1 { font-size: 48px; line-height: 50px; }
	.rv .rv-h2 { font-size: 32px; line-height: 34px; }
	.rv .rv-h4 { font-size: 24px; line-height: 24px; }
	.rv .rv-h5 { font-size: 24px; line-height: 26px; }
	.rv .rv-h6 { font-size: 20px; line-height: 24px; }
}

.rv .rv-stack-8 { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.rv .rv-stack-12 { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.rv .rv-stack-16 { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; width: 100%; }

/* badges */
.rv .rv-badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 11px; /* Figma: 6/12 with an inside 1px stroke */
	border-radius: 1000px;
	border: 1px solid transparent;
	font-family: var(--rv-sans);
	font-size: 10px;
	line-height: 10px;
	font-weight: 700;
	letter-spacing: .4px;
	text-transform: uppercase;
	white-space: nowrap;
}
.rv .rv-badge--outline { border-color: var(--rv-blue); color: var(--rv-blue); }
.rv .rv-badge--outline-white { border-color: #fff; color: #fff; }
.rv .rv-badge--red { background: var(--rv-red); color: #fff; }
.rv .rv-badge--white-red { background: #fff; color: var(--rv-red); }
.rv .rv-badge--blue { background: var(--rv-blue); color: #fff; border-radius: 70px; }
.rv .rv-badges { display: flex; flex-wrap: wrap; gap: 4px; }

/* buttons */
.rv .rv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	height: 48px;
	padding: 12px 48px;
	border-radius: 100px;
	font-family: var(--rv-sans);
	font-size: 14px;
	line-height: 23px;
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
	border: 0;
	cursor: pointer;
}
.rv .rv-btn--sm { height: 40px; padding: 8px 24px; line-height: 20px; }
.rv .rv-btn--blue { background: var(--rv-blue); color: #fff; }
.rv .rv-btn--blue:hover { background: #1b2a43; color: #fff; }
.rv .rv-btn--gold { background: var(--rv-gold); color: #fff; }
.rv .rv-btn--gold:hover { background: #c4a548; color: #fff; }
.rv .rv-btn--white { background: #fff; color: var(--rv-blue); }
.rv .rv-btn--white:hover { background: #eeece6; color: var(--rv-blue); }
.rv .rv-btn--block { width: 100%; }
.rv .rv-btn--icon { gap: 24px; padding: 12px 8px 12px 24px; }
.rv .rv-btn--icon svg { width: 32px; height: 32px; transition: transform .2s; }
.rv .rv-btn--icon:hover svg { transform: translateX(3px); }

/* check list */
.rv .rv-features { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.rv .rv-features li { display: flex; gap: 16px; align-items: flex-start; font-size: 16px; line-height: 24px; color: var(--rv-blue); }
.rv .rv-features svg { width: 20px; height: 20px; margin-top: 2px; color: var(--rv-blue); }

/* stars & rating */
.rv .rv-stars { display: inline-flex; gap: 2px; }
.rv .rv-stars svg { width: 16px; height: 16px; }
.rv .rv-rating { display: flex; flex-direction: column; font-size: 14px; line-height: 20px; color: var(--rv-blue); }
.rv .rv-rating__row { display: flex; align-items: center; gap: 8px; }

/* timeline list */
.rv .rv-timeline { display: flex; flex-direction: column; gap: 16px; width: 100%; max-width: 472px; }
.rv .rv-timeline__item { position: relative; display: flex; gap: 24px; align-items: flex-start; }
.rv .rv-timeline__icon { width: 20px; height: 20px; color: var(--rv-blue); position: relative; z-index: 1; margin-top: 2px; }
.rv .rv-timeline__item:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 9.5px;
	top: 22px;
	bottom: -18px;
	width: 1px;
	background: currentColor;
	color: var(--rv-blue);
}
.rv .rv-timeline__body { flex: 1; display: flex; flex-direction: column; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,.1); }
.rv .rv-timeline__title { font-size: 16px; line-height: 24px; font-weight: 700; }
.rv .rv-timeline__text { font-size: 14px; line-height: 20px; color: var(--rv-grey); }
.rv .rv-timeline--dark .rv-timeline__icon { color: var(--rv-gold); --rv-check-bg: var(--rv-blue); }
.rv .rv-timeline--dark .rv-timeline__item:not(:last-child)::before { color: var(--rv-gold); }
.rv .rv-timeline--dark .rv-timeline__body { border-color: rgba(255,255,255,.1); }
.rv .rv-timeline--dark .rv-timeline__title { color: var(--rv-bg); }
.rv .rv-timeline--dark .rv-timeline__text { color: rgba(247,246,242,.6); }

/* glows (blurred gold blobs from the design) */
.rv .rv-glow { position: absolute; pointer-events: none; z-index: 0; border-radius: 50%; filter: blur(80px); }
.rv .rv-glow--hero { left: 0; right: 15%; top: 45%; height: 70%; background: radial-gradient(closest-side, rgba(225, 200, 120, .55), rgba(225, 200, 120, 0)); }
.rv .rv-glow--why { left: 10%; right: 10%; top: 55%; height: 55%; background: radial-gradient(closest-side, rgba(225, 200, 120, .5), rgba(225, 200, 120, 0)); }
.rv .rv-glow--reviews { left: -10%; right: 30%; top: 20%; height: 80%; background: radial-gradient(closest-side, rgba(225, 200, 120, .4), rgba(225, 200, 120, 0)); }
.rv .rv-glow--contact { left: -10%; right: 40%; top: 10%; height: 90%; background: radial-gradient(closest-side, rgba(120, 140, 175, .45), rgba(120, 140, 175, 0)); }

/* section heads */
.rv .rv-section-head { position: relative; z-index: 1; display: flex; gap: 24px; }
.rv .rv-section-head--split { justify-content: space-between; align-items: flex-end; width: 100%; }
.rv .rv-section-head__main { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.rv .rv-section-head__titles { display: flex; flex-direction: column; gap: 8px; }
.rv .rv-section-head--center { flex-direction: column; align-items: center; text-align: center; gap: 16px; max-width: 696px; margin: 0 auto; }
.rv .rv-section-head--center .rv-stack-8 { align-items: center; }

/* ---------- slider ---------- */
.rv .rv-slider { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 32px; width: 100%; }
.rv .rv-slider__viewport {
	width: calc(100% + var(--rv-gut, var(--rv-pad)));
	margin-right: calc(-1 * var(--rv-gut, var(--rv-pad)));
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}
.rv .rv-slider__viewport::-webkit-scrollbar { display: none; }
.rv .rv-slider__track { display: flex; gap: 24px; align-items: stretch; padding-right: var(--rv-gut, var(--rv-pad)); width: max-content; }
.rv .rv-slider__slide { scroll-snap-align: start; flex: 0 0 auto; }
.rv .rv-slider__arrow { position: absolute; right: 0; z-index: 3; width: 48px; height: 48px; border-radius: 50%; transition: opacity .2s, transform .2s; }
.rv .rv-slider__arrow svg { width: 48px; height: 48px; }
.rv .rv-slider__arrow:hover { transform: scale(1.06); }
.rv .rv-slider__arrow--prev { left: 0; right: auto; }
.rv .rv-slider__arrow--prev svg { transform: rotate(180deg); }
.rv .rv-slider__arrow[hidden], .rv .rv-slider__arrow:disabled { opacity: 0; pointer-events: none; }
.rv .rv-slider__dots { display: flex; gap: 16px; align-items: center; height: 8px; }
.rv .rv-slider__dots button { width: 8px; height: 8px; border-radius: 8px; background: #c3c3c3; transition: width .25s, background-color .25s; }
.rv .rv-slider__dots button.is-active { width: 48px; background: var(--rv-blue); }
.rv .rv-slider.is-static .rv-slider__dots,
.rv .rv-slider.is-static .rv-slider__arrow { display: none; }

/* pill link with icon */
.rv .rv-pill-btn {
	display: flex; align-items: center; justify-content: space-between;
	width: 100%; height: 48px; padding: 0 8px 0 24px; border-radius: 100px;
	background: #fff; color: var(--rv-blue); font-size: 14px; line-height: 24px;
}
.rv .rv-pill-btn svg { width: 32px; height: 32px; transition: transform .2s; }
.rv .rv-pill-btn:hover svg { transform: rotate(90deg); }

/* ==========================================================================
   Header
   ========================================================================== */
.rv-header { background: var(--rv-bg); padding: 12px 12px 0; z-index: 50; }
.rv-header__bar {
	display: flex; align-items: center; justify-content: center; gap: 24px;
	min-height: 36px; padding: 8px 2px 8px 12px; border-radius: 4px;
	background: var(--rv-blue); color: #fff;
}
.rv-header__bar-text { font-size: 12px; line-height: 16px; font-weight: 700; text-transform: uppercase; color: #fff; }
.rv .rv-countdown { display: flex; gap: 2px; font-size: 14px; line-height: 16px; }
.rv .rv-countdown__unit { padding: 2px 8px; white-space: nowrap; }
.rv .rv-countdown b { font-weight: 500; font-variant-numeric: tabular-nums; }

.rv-header__row { display: flex; align-items: center; justify-content: space-between; padding: 16px 36px; position: relative; }
.rv-header__left { display: flex; align-items: center; gap: 48px; }
.rv-header__logo { display: block; width: 133px; height: 48px; flex-shrink: 0; }
.rv-header__logo img { width: 100%; height: 100%; object-fit: contain; }
.rv-header__burger { display: none; }

.rv .rv-nav__list { display: flex; align-items: center; gap: 24px; }
.rv .rv-nav__item { position: static; }
.rv .rv-nav__link { display: flex; align-items: center; gap: 2px; font-size: 14px; line-height: 20px; color: var(--rv-blue); padding: 14px 0; position: relative; }
.rv .rv-nav__link:hover { color: var(--rv-blue); }
.rv .rv-nav__item--has-drop > .rv-nav__link::before { content: ""; position: absolute; left: -8px; right: -8px; top: 100%; height: 18px; }
.rv .rv-nav__link::after { content: ""; position: absolute; left: -8px; right: -8px; bottom: -16px; height: 1px; background: var(--rv-gold); transform: scaleX(0); transition: transform .2s; }
.rv .rv-nav__item--has-drop:hover > .rv-nav__link::after,
.rv .rv-nav__item--has-drop:focus-within > .rv-nav__link::after { transform: scaleX(1); }
.rv .rv-nav__chev { width: 20px; height: 20px; transition: transform .2s; }
.rv .rv-nav__item--has-drop:hover .rv-nav__chev,
.rv .rv-nav__item--has-drop:focus-within .rv-nav__chev { transform: rotate(180deg); }
.rv .rv-nav__toggle, .rv .rv-nav__mobile-actions, .rv .rv-nav__langs { display: none; }

.rv .rv-drop {
	position: absolute; left: 0; right: 0; top: 100%;
	background: #fff; border-radius: 4px; padding: 12px;
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity .2s, transform .2s, visibility .2s;
	box-shadow: 0 20px 40px rgba(39, 56, 85, .06);
	z-index: 60;
}
.rv .rv-nav__item--has-drop:hover > .rv-drop,
.rv .rv-nav__item--has-drop:focus-within > .rv-drop { opacity: 1; visibility: visible; transform: none; }
.rv .rv-drop__inner { display: flex; justify-content: space-between; gap: 24px; min-height: 120px; }
.rv .rv-drop__list { display: flex; flex-direction: column; gap: 16px; padding: 24px; width: 326px; }
.rv .rv-drop__list a { display: block; padding: 0 0 16px; border-bottom: 1px solid var(--rv-line); font-size: 12px; line-height: 16px; font-weight: 700; text-transform: uppercase; color: var(--rv-blue); }
.rv .rv-drop__list a:hover { color: var(--rv-gold); }
.rv .rv-drop__promo { position: relative; width: 374px; aspect-ratio: 1; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.rv .rv-drop__promo-img { width: 100%; height: 100%; object-fit: cover; }
.rv .rv-drop__card {
	position: absolute; left: 12px; bottom: 12px; min-width: 198px; max-width: calc(100% - 24px);
	display: flex; flex-direction: column; gap: 10px; padding: 12px;
	border-radius: 4px; background: rgba(255,255,255,.3); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
	color: #fff;
}
.rv .rv-drop__card-row { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; font-size: 16px; line-height: 24px; white-space: nowrap; }
.rv .rv-drop__card-price s { font-size: 14px; opacity: .7; margin-left: 4px; }
.rv .rv-pill-link { display: flex; align-items: center; justify-content: space-between; height: 32px; padding: 0 4px 0 17px; background: #fff; border-radius: 100px; color: var(--rv-blue); font-size: 14px; line-height: 23px; }
.rv .rv-pill-link svg { width: 24px; height: 24px; }

.rv-header__right { display: flex; align-items: center; gap: 32px; }
.rv-header__actions { display: flex; align-items: center; gap: 12px; }
.rv .rv-lang { position: relative; }
.rv .rv-lang__current { display: flex; align-items: center; height: 28px; font-size: 14px; line-height: 20px; color: var(--rv-blue); }
.rv .rv-lang__current svg { width: 24px; height: 24px; }
.rv .rv-lang__menu { position: absolute; top: 100%; left: -8px; min-width: 64px; background: #fff; border-radius: 4px; padding: 6px 0; opacity: 0; visibility: hidden; transition: opacity .2s; box-shadow: 0 10px 30px rgba(39,56,85,.08); z-index: 70; }
.rv .rv-lang:hover .rv-lang__menu, .rv .rv-lang:focus-within .rv-lang__menu, .rv .rv-lang.is-open .rv-lang__menu { opacity: 1; visibility: visible; }
.rv .rv-lang__menu a { display: block; padding: 6px 14px; font-size: 14px; }
.rv .rv-lang__menu a:hover { color: var(--rv-gold); }
.rv .rv-cart { position: relative; display: block; width: 24px; height: 24px; }
.rv .rv-cart svg { width: 24px; height: 24px; }
.rv .rv-cart__count {
	position: absolute; left: 10px; top: -12px; width: 24px; height: 24px; border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	background: var(--rv-blue); border: 1px solid #f5f5f5; color: #fff; font-size: 12px; line-height: 20px; font-weight: 700;
}
.rv .rv-cart__count[hidden] { display: none; }

@media (max-width: 1199px) {
	.rv-header__row { padding: 16px 12px; }
	.rv-header__left { gap: 28px; }
	.rv .rv-nav__list { gap: 16px; }
	.rv-header__right { gap: 20px; }
	.rv .rv-btn--sm { padding: 8px 16px; }
}

/* mobile header + off-canvas menu */
@media (max-width: 1199px) {
	.rv-header { padding: 12px 12px 0; }
	.rv-header__bar { justify-content: space-between; min-height: 28px; padding: 4px 8px; gap: 8px; }
	.rv-header__bar-text { font-size: 12px; line-height: 16px; }
	.rv .rv-countdown { font-size: 12px; gap: 0; }
	.rv .rv-countdown__unit { padding: 0 3px; }
	.rv-header__row { height: 56px; padding: 0; }
	.rv-header__burger { display: flex; width: 24px; height: 24px; align-items: center; justify-content: center; position: relative; z-index: 2; margin-left: 6px; }
	.rv-header .rv-header__burger-close { display: none; }
	.rv-header.is-open .rv-header__burger-open { display: none; }
	.rv-header.is-open .rv-header__burger-close { display: block; }
	.rv-header__row { display: grid; grid-template-columns: 1fr auto 1fr; }
	.rv-header__burger { justify-self: start; }
	.rv-header__left { justify-self: center; gap: 0; }
	.rv-header__right { justify-self: end; }
	.rv-header__logo { width: 92px; height: 34px; }
	.rv-header__actions { display: none; }
	.rv-header__right { margin-right: 6px; }

	.rv .rv-nav {
		position: fixed; left: 12px; right: 12px; top: var(--rv-header-h, 96px); bottom: 20px;
		background: #fff; border-radius: 4px; padding: 12px 12px 24px;
		display: flex; flex-direction: column; overflow-y: auto;
		opacity: 0; visibility: hidden; transform: translateY(-8px);
		transition: opacity .25s, transform .25s, visibility .25s; z-index: 80;
	}
	.rv-header.is-open .rv-nav { opacity: 1; visibility: visible; transform: none; }
	.rv .rv-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.rv .rv-nav__item { position: relative; border-bottom: 1px solid var(--rv-line); }
	.rv .rv-nav__link { padding: 18px 40px 18px 12px; }
	.rv .rv-nav__link::after, .rv .rv-nav__chev { display: none; }
	.rv .rv-nav__toggle { display: flex; position: absolute; right: 4px; top: 12px; width: 32px; height: 32px; align-items: center; justify-content: center; color: var(--rv-blue); }
	.rv .rv-nav__toggle svg { transition: transform .2s; }
	.rv .rv-nav__item.is-open .rv-nav__toggle svg { transform: rotate(90deg); }
	.rv .rv-drop { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; padding: 0 12px; display: none; }
	.rv .rv-nav__item.is-open > .rv-drop { display: block; }
	.rv .rv-drop__inner { flex-direction: column; min-height: 0; }
	.rv .rv-drop__list { padding: 0 0 12px; width: auto; }
	.rv .rv-drop__promo { display: none; }
	.rv .rv-nav__mobile-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 24px 12px 0; }
	.rv .rv-nav__mobile-actions .rv-btn { min-width: 170px; padding: 12px 24px; }
	.rv .rv-nav__langs { display: flex; gap: 8px; margin-top: auto; padding: 32px 12px 0; }
	.rv .rv-lang-pill { display: inline-flex; align-items: center; justify-content: center; width: 67px; height: 32px; border-radius: 100px; background: var(--rv-bg); font-size: 14px; }
	.rv .rv-lang-pill.is-current { background: #fff; border: 1px solid var(--rv-blue); }
	body.rv-menu-open { overflow: hidden; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.rv-hero { display: flex; align-items: stretch; background: var(--rv-bg); padding-right: 12px; overflow: hidden; }
.rv-hero__content { position: relative; z-index: 1; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 48px; padding: 96px var(--rv-pad-in); }
.rv-hero__top { display: flex; flex-direction: column; gap: 24px; }
.rv-hero__titles { display: flex; flex-direction: column; gap: 8px; }
.rv-hero__cta { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.rv-hero__media { position: relative; z-index: 1; width: min(708px, 49.2vw); aspect-ratio: 1; flex-shrink: 0; border-radius: 4px; overflow: hidden; background: linear-gradient(235.9deg, #d4d7dd 40.9%, #dde3f5 48.6%, #f7f6f2 89.3%); }
.rv-hero__media img { position: absolute; inset: 0; }
.rv .rv-offer-card { position: absolute; top: 12px; right: 12px; display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 4px; background: var(--rv-red); color: #fff; align-items: flex-start; }
.rv .rv-offer-card__title { font-size: 16px; line-height: 24px; }
.rv .rv-offer-card__text { font-size: 12px; line-height: 16px; color: rgba(255,255,255,.6); }

@media (max-width: 767px) {
	.rv-hero { flex-direction: column; padding: 0 12px; }
	.rv-hero__media { order: -1; width: 100%; }
	.rv-hero__content { padding: 24px 0 48px; gap: 32px; }
	.rv-hero__cta { flex-direction: column; align-items: flex-start; gap: 16px; }
	.rv-hero__cta .rv-btn { min-width: 215px; }
	.rv-hero .rv-glow--hero { top: 50%; left: -40%; right: -40%; height: 50%; }
}

/* ==========================================================================
   Trust bar
   ========================================================================== */
.rv-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 96px var(--rv-pad-in); background: var(--rv-bg); }
.rv-trust__item { display: flex; flex-direction: column; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--rv-grey); }
.rv-trust__icon { width: 24px; height: 24px; }
.rv-trust__text { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 1023px) {
	.rv-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; padding-top: 48px; padding-bottom: 48px; }
}
@media (max-width: 767px) {
	.rv-trust { column-gap: 15px; padding: 0 12px 48px; }
}

/* ==========================================================================
   Packages
   ========================================================================== */
.rv-packages { display: flex; flex-direction: column; align-items: center; gap: 48px; padding: 96px var(--rv-pad); background: #fff; overflow: hidden; }
.rv-packages__intro { max-width: 636px; }
.rv .rv-pkg { width: 318px; display: flex; flex-direction: column; }
.rv .rv-pkg__media { position: relative; display: flex; gap: 5px; padding: 5px; aspect-ratio: 1; background: var(--rv-bg); border-radius: 4px 4px 0 0; }
.rv .rv-pkg__img { position: relative; flex: 1 1 0; min-width: 0; border-radius: 2px; overflow: hidden; }
.rv .rv-pkg__img img { position: absolute; inset: 0; transition: transform .5s; }
.rv .rv-pkg:hover .rv-pkg__img img { transform: scale(1.03); }
.rv .rv-pkg__stack { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.rv .rv-pkg__stack .rv-pkg__img { flex: 1 1 0; }
.rv .rv-pkg__badges { position: absolute; left: 12px; top: 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.rv .rv-pkg__body { flex: 1; display: flex; flex-direction: column; gap: 24px; padding: 24px; background: var(--rv-bg); border-radius: 0 0 4px 4px; }
.rv .rv-pkg__meta { display: flex; flex-direction: column; gap: 4px; }
.rv .rv-pkg__meta li { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; }
.rv .rv-pkg__meta img, .rv .rv-pkg__meta svg { width: 16px; height: 16px; }
.rv .rv-pkg__price { margin-top: auto; }
.rv .rv-price { display: flex; align-items: baseline; gap: 8px; }
.rv .rv-price__now { font-size: 20px; line-height: 28px; color: var(--rv-red); }
.rv .rv-price__old { font-size: 14px; line-height: 20px; color: var(--rv-grey); }
.rv .rv-price__unit { font-size: 12px; line-height: 16px; color: var(--rv-grey); }
.rv-packages .rv-slider__arrow { top: 303px; right: -16px; }
.rv-packages .rv-slider__arrow--prev { left: -16px; right: auto; }
@media (max-width: 767px) {
	.rv-packages { padding: 48px 12px; gap: 32px; align-items: stretch; }
	.rv-packages .rv-section-head--split { flex-direction: column; align-items: flex-start; gap: 24px; }
	.rv-packages .rv-section-head .rv-btn { min-width: 258px; }
	.rv .rv-pkg { width: 318px; }
	.rv .rv-pkg .rv-h4 { font-size: 24px; line-height: 28px; }
}

/* ==========================================================================
   Treatments grid
   ========================================================================== */
.rv-treatments { display: flex; flex-direction: column; gap: 48px; padding: 0 var(--rv-pad) 96px; background: #fff; }
.rv-treatments__grid { display: flex; flex-direction: column; gap: 24px; }
.rv-treatments__row { display: flex; gap: 24px; }
.rv .rv-tcard { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; height: 306px; padding: 32px; border-radius: 4px; overflow: hidden; color: #fff; isolation: isolate; }
.rv .rv-tcard--wide { flex: 660 1 0; }
.rv .rv-tcard--narrow { flex: 318 1 0; }
.rv .rv-tcard__bg { position: absolute; inset: 0; z-index: -2; }
.rv .rv-tcard__bg img { transition: transform .6s ease; }
.rv .rv-tcard:hover .rv-tcard__bg img { transform: scale(1.04); }
.rv .rv-tcard__shade { position: absolute; inset: 0; z-index: -1; background: rgba(0,0,0,.2); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.rv .rv-tcard--narrow .rv-tcard__shade { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.rv .rv-tcard__content { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; align-self: stretch; width: 258px; max-width: 100%; }
.rv .rv-tcard--narrow .rv-tcard__content { flex: 1; width: auto; min-width: 0; }
.rv .rv-tcard__text { display: flex; flex-direction: column; gap: 12px; }
.rv .rv-tcard__title { display: block; color: #fff; }
.rv .rv-tcard__desc { display: block; color: #fff; }
.rv .rv-tcard__arrow svg { width: 48px; height: 48px; transition: transform .2s; }
.rv .rv-tcard:hover .rv-tcard__arrow svg { transform: translateX(4px); }
@media (max-width: 1023px) {
	.rv-treatments__row { flex-wrap: wrap; }
	.rv .rv-tcard--wide, .rv .rv-tcard--narrow { flex: 1 1 calc(50% - 12px); }
}
@media (max-width: 767px) {
	.rv-treatments { padding: 48px 12px; gap: 32px; }
	.rv-treatments__grid, .rv-treatments__row { gap: 12px; }
	.rv-treatments__row { flex-direction: column; }
	.rv .rv-tcard { flex: none; width: 100%; height: 234px; padding: 24px; }
	.rv .rv-tcard__content { width: auto; flex: 1; }
	.rv .rv-tcard__title { font-size: 24px; line-height: 26px; }
}

/* ==========================================================================
   Why us
   ========================================================================== */
.rv-why { display: flex; flex-direction: column; gap: 96px; padding: 12px 12px 96px 0; background: var(--rv-bg); overflow: hidden; }
.rv-why__top { position: relative; z-index: 1; display: flex; align-items: center; }
.rv-why__content { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 48px; padding: 96px var(--rv-pad-in); min-height: 708px; }
.rv-why__text { display: flex; flex-direction: column; gap: 24px; }
.rv-why__media { width: min(708px, 49.2vw); aspect-ratio: 1; flex-shrink: 0; border-radius: 4.672px; overflow: hidden; }
.rv-why__cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-left: 12px; }
.rv .rv-glass {
	display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 24px; text-align: center;
	padding: 32px 48px; border-radius: 4px; background: rgba(255,255,255,.4); border: 1px solid rgba(255,255,255,.3);
	backdrop-filter: blur(3.5px); -webkit-backdrop-filter: blur(3.5px);
}
.rv .rv-glass__icon { width: 32px; height: 32px; }
@media (max-width: 1199px) {
	.rv .rv-glass { padding: 32px 24px; }
}
@media (max-width: 1023px) {
	.rv-why__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.rv-why { padding: 12px; gap: 48px; }
	.rv-why__top { flex-direction: column; align-items: stretch; }
	.rv-why__media { order: -1; width: 100%; }
	.rv-why__content { padding: 48px 0 0; min-height: 0; }
	.rv-why__cards { grid-template-columns: 1fr; padding: 0; }
	.rv .rv-glass { padding: 32px 24px; }
	.rv .rv-glass .rv-h4 { font-size: 24px; line-height: 24px; }
}

/* ==========================================================================
   Technology split
   ========================================================================== */
.rv-tech { display: flex; align-items: stretch; background: var(--rv-bg); }
.rv-tech--img-left { padding: 12px 0 0 12px; }
.rv-tech--img-right { padding: 96px 12px 0 0; flex-direction: row-reverse; }
.rv-tech--top-large.rv-tech--img-left { padding-top: 96px; }
.rv-tech--top-small.rv-tech--img-right { padding-top: 12px; }
.rv-tech__media { position: relative; width: min(708px, 49.2vw); flex-shrink: 0; border-radius: 4px; overflow: hidden; min-height: 560px; background: linear-gradient(196.9deg, #f7f6f2 14.3%, #657184 172.6%); }
.rv-tech__media img { position: absolute; inset: 0; }
.rv-tech__media--top img { object-position: top; }
.rv-tech__media--bottom img { object-position: bottom; }
.rv-tech__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(39,56,85,.4) 0%, rgba(39,56,85,0) 40%); pointer-events: none; }
.rv .rv-chips { position: absolute; left: 32px; right: 32px; bottom: 32px; display: flex; flex-wrap: wrap; gap: 8px; max-width: 470px; }
.rv .rv-chip { display: inline-flex; align-items: center; gap: 10px; padding: 6px 12px; border: 1px solid #fff; border-radius: 1000px; color: #fff; font-size: 12px; line-height: 16px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.rv .rv-chip svg { width: 10px; height: 7px; color: #fff; }
.rv-tech__content { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 48px; padding: 96px var(--rv-pad-in); }
.rv-tech__text { display: flex; flex-direction: column; gap: 24px; }
.rv .rv-logos { display: flex; gap: 12px; padding-top: 24px; border-top: 1px solid rgba(0,0,0,.1); width: 100%; }
.rv .rv-logos--inline { align-items: center; justify-content: space-between; }
.rv .rv-logos--stacked { flex-direction: column; }
.rv .rv-logos__row { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.rv .rv-logos--stacked .rv-logos__row { gap: 39px; }
.rv .rv-logos__item { display: flex; align-items: center; justify-content: center; }
.rv .rv-logos__item img { width: 100%; height: 100%; object-fit: contain; }
.rv .rv-seal { position: absolute; top: 26px; right: 35px; width: 134px; height: 134px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--rv-gold); border-radius: 50%; padding: 12px; }
.rv .rv-seal img { width: 108px; height: 108px; animation: rv-spin 30s linear infinite; }
@keyframes rv-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rv .rv-seal img { animation: none; } }
@media (max-width: 1199px) {
	.rv .rv-seal { width: 100px; height: 100px; top: 16px; right: 16px; }
	.rv .rv-seal img { width: 78px; height: 78px; }
}
@media (max-width: 767px) {
	.rv-tech, .rv-tech--img-left, .rv-tech--img-right { flex-direction: column; padding: 12px 12px 0; }
	.rv-tech--img-right { padding-top: 0; }
	.rv-tech__media { width: 100%; aspect-ratio: 1; min-height: 0; }
	.rv .rv-chips { left: 16px; right: 16px; bottom: 16px; flex-direction: column; align-items: flex-start; }
	.rv-tech__content { padding: 24px 0 48px; gap: 32px; }
	.rv .rv-logos--inline { flex-direction: row; }
	.rv .rv-logos--stacked .rv-logos__row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; justify-items: center; }
	.rv .rv-seal { display: none; }
}

/* ==========================================================================
   Reviews
   ========================================================================== */
.rv-reviews { display: flex; flex-direction: column; gap: 32px; padding: 96px var(--rv-pad); background: var(--rv-bg); overflow: hidden; }
.rv-reviews__head { gap: 24px; max-width: none; }
.rv-reviews__head .rv-p { max-width: 660px; }
.rv .rv-google { display: inline-flex; align-items: center; gap: 12px; height: 48px; padding: 0 24px 0 8px; border-radius: 100px; background: var(--rv-blue); color: #fff; font-size: 14px; line-height: 20px; }
.rv .rv-google__logo { width: 32px; height: 32px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; }
.rv .rv-google__logo img { width: 24px; height: 24px; }
.rv .rv-google__stars { display: inline-flex; align-items: center; gap: 8px; }
.rv .rv-google__sep { opacity: 1; margin: 0 -4px; }
.rv .rv-review { width: 318px; display: flex; flex-direction: column; justify-content: space-between; gap: 48px; padding: 32px; background: #fff; border-radius: 4px; }
.rv .rv-review__top { display: flex; flex-direction: column; gap: 48px; }
.rv .rv-review__meta { display: flex; justify-content: space-between; align-items: flex-start; }
.rv .rv-review__date { font-size: 12px; line-height: 16px; color: var(--rv-grey); }
.rv .rv-review__author { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; line-height: 20px; }
.rv .rv-verified { display: inline-flex; align-items: center; gap: 8px; padding: 3px 11px 3px 3px; border: 1px solid var(--rv-line); border-radius: 100px; font-size: 12px; line-height: 16px; }
.rv .rv-verified svg { width: 16px; height: 16px; }
.rv-reviews .rv-slider__arrow { top: 232px; right: -16px; }
.rv-reviews .rv-slider__arrow--prev { left: -16px; right: auto; }
@media (max-width: 767px) {
	.rv-reviews { padding: 48px 12px; }
	.rv-reviews__head .rv-h2 { white-space: normal; }
	.rv .rv-google { padding-right: 16px; gap: 8px; font-size: 13px; }
	.rv .rv-review { width: 318px; }
	.rv-reviews .rv-slider__arrow { display: none; }
}

/* ==========================================================================
   CTA banner
   ========================================================================== */
.rv-cta { padding: 0 var(--rv-pad); background: var(--rv-bg); }
.rv-cta__box { position: relative; display: flex; align-items: center; min-height: 480px; padding: 100px 48px; border: 1px solid var(--rv-blue); border-radius: 4px; overflow: hidden; isolation: isolate; }
.rv-cta__bg { position: absolute; inset: 0; z-index: -2; background: rgba(39,56,85,.1); }
.rv-cta__bg img { object-position: bottom; }
.rv-cta__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(39,56,85,.3) 0%, rgba(39,56,85,0) 53.3%); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.rv-cta__content { display: flex; flex-direction: column; gap: 24px; color: #fff; }
.rv-cta__text { max-width: 620px; }
.rv-cta__text .rv-h2, .rv-cta__text .rv-p { max-width: 588px; color: #fff; }
.rv-cta__btns { display: flex; gap: 16px; width: 452px; max-width: 100%; }
.rv-cta__btns .rv-btn:last-child { flex: 1; }
@media (max-width: 767px) {
	.rv-cta { padding: 0 12px; }
	.rv-cta__box { padding: 32px 16px; align-items: flex-start; }
	.rv-cta__shade { background: linear-gradient(180deg, rgba(39,56,85,.35), rgba(39,56,85,.15)); }
	.rv-cta__btns { flex-direction: column; width: auto; }
	.rv-cta__btns .rv-btn { width: 218px; padding: 12px 24px; }
	.rv-cta__btns .rv-btn:last-child { flex: none; }
}

/* ==========================================================================
   Instagram
   ========================================================================== */
.rv-insta { display: flex; flex-direction: column; gap: 48px; padding: 96px var(--rv-pad); background: var(--rv-bg); overflow: hidden; }
.rv-insta__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding: 0 48px; }
.rv-insta__left .rv-h5 { max-width: 343px; }
.rv-insta__right { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.rv .rv-insta__handle { font-size: 20px; line-height: 28px; }
.rv .rv-insta__handle:hover { color: var(--rv-gold); }
.rv .rv-insta__tile { position: relative; display: block; width: 249.6px; height: 312px; border-radius: 4px; overflow: hidden; }
.rv .rv-insta__tile img { transition: transform .5s; }
.rv .rv-insta__tile:hover img { transform: scale(1.04); }
.rv-insta .rv-slider__arrow { top: 132px; right: -16px; }
.rv-insta .rv-slider__arrow--prev { left: -16px; right: auto; }
@media (max-width: 1023px) {
	.rv-insta__head { padding: 0; }
}
@media (max-width: 767px) {
	.rv-insta { padding: 48px 12px; gap: 32px; }
	.rv-insta__head { flex-direction: column; align-items: center; text-align: center; gap: 24px; }
	.rv-insta__left { align-items: center; }
	.rv-insta__left .rv-h5 { font-family: var(--rv-serif); font-weight: 400; font-size: 24px; line-height: 26px; max-width: none; }
	.rv-insta__right { align-items: center; text-align: center; }
	.rv-insta__right .rv-p-sm { font-size: 14px; }
	.rv-slider--insta .rv-slider__viewport { width: 100%; margin: 0; overflow: visible; }
	.rv-slider--insta .rv-slider__track { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; padding: 0; }
	.rv-slider--insta .rv-insta__tile { width: auto; height: auto; aspect-ratio: 168 / 210; }
	.rv-slider--insta .rv-insta__tile:nth-child(n+5) { display: none; }
	.rv-slider--insta .rv-slider__dots, .rv-slider--insta .rv-slider__arrow { display: none; }
}

/* ==========================================================================
   Contact
   ========================================================================== */
.rv-contact { display: flex; flex-direction: column; gap: 12px; padding: 12px 12px 12px var(--rv-pad-in); background: var(--rv-blue); color: var(--rv-bg); overflow: hidden; }
.rv-contact__top, .rv-contact__bottom { position: relative; z-index: 1; display: flex; align-items: stretch; justify-content: space-between; gap: 48px; }
.rv-contact__intro { width: 464px; max-width: 100%; display: flex; flex-direction: column; gap: 48px; padding: 96px 0; }
.rv-contact__intro .rv-h2 { max-width: 377px; color: var(--rv-bg); }
.rv-contact__intro .rv-p { color: var(--rv-bg); }
.rv-contact__visit { display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 20px; flex-wrap: wrap; }
.rv .rv-focus-link { display: inline-flex; padding: 8px 0; border-bottom: 1px solid #fff; color: #fff; font-weight: 700; }
.rv .rv-focus-link:hover { color: var(--rv-gold); border-color: var(--rv-gold); }
.rv-contact__form-card { width: min(708px, 52%); min-height: 852px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; padding: 94px 24px; background: var(--rv-bg); border-radius: 4px; color: var(--rv-blue); }
.rv-contact__form-inner { width: 464px; max-width: 100%; display: flex; flex-direction: column; gap: 48px; }

.rv .rv-form { display: flex; flex-direction: column; gap: 24px; }
.rv .rv-form__row { display: flex; gap: 24px; }
.rv .rv-form__row .rv-field { flex: 1; min-width: 0; }
.rv .rv-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rv .rv-field { display: flex; flex-direction: column; gap: 8px; }
.rv .rv-field label { font-size: 14px; line-height: 20px; color: var(--rv-blue); margin: 0; font-weight: 500; }
.rv .rv-field input, .rv .rv-field select, .rv .rv-field textarea {
	width: 100%; height: 48px; margin: 0; padding: 12px 16px 12px 24px;
	background: #fff; border: 1px solid #fff; border-radius: 100px; box-shadow: none; outline: 0;
	font-family: var(--rv-sans); font-size: 16px; line-height: 24px; font-weight: 500; color: var(--rv-blue);
	-webkit-appearance: none; appearance: none;
}
.rv .rv-field textarea { height: 120px; border-radius: 20px; resize: vertical; }
.rv .rv-field input:focus, .rv .rv-field select:focus, .rv .rv-field textarea:focus { border-color: var(--rv-gold); }
.rv .rv-field .is-invalid, .rv .rv-field input:invalid.is-touched { border-color: var(--rv-red); }
.rv .rv-select { position: relative; }
.rv .rv-select select { padding-right: 48px; color: var(--rv-blue); cursor: pointer; }
.rv .rv-select select.is-empty { color: var(--rv-grey); }
.rv .rv-select svg { position: absolute; right: 16px; top: 50%; width: 24px; height: 24px; transform: translateY(-50%); pointer-events: none; color: var(--rv-blue); }
.rv .rv-check { position: relative; display: flex; gap: 11px; align-items: flex-start; font-size: 14px; line-height: 20px; cursor: pointer; margin: 0; }
.rv .rv-check input { position: absolute; opacity: 0; width: 18px; height: 18px; margin: 0; }
.rv .rv-check__box { flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; border-radius: 2px; border: 1.5px solid var(--rv-blue); background: #fff; display: flex; align-items: center; justify-content: center; }
.rv .rv-check input:checked + .rv-check__box { background: var(--rv-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M12.5 6L7.34375 11.1562L5 8.8125' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='round' stroke='white' fill='none'/%3E%3C/svg%3E") center/18px no-repeat; }
.rv .rv-check input:focus-visible + .rv-check__box { outline: 2px solid var(--rv-gold); outline-offset: 2px; }
.rv .rv-check__text a { text-decoration: underline; }
.rv .rv-form__status { font-size: 14px; line-height: 20px; min-height: 0; }
.rv .rv-form__status:empty { display: none; }
.rv .rv-form__status.is-error { color: var(--rv-red); }
.rv .rv-form__status.is-success { color: #2e6b3f; }
.rv .rv-form.is-loading button[type=submit] { opacity: .6; pointer-events: none; }

.rv-contact__bottom { align-items: center; gap: 48px; }
.rv-contact__details { width: 424px; max-width: 100%; display: flex; flex-direction: column; gap: 24px; padding-top: 12px; }
.rv-contact__details .rv-h5 { color: #fff; }
.rv .rv-contact__list li { display: flex; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 16px; line-height: 24px; color: var(--rv-bg); }
.rv .rv-contact__list li:first-child { padding-top: 0; }
.rv .rv-contact__list li svg { width: 20px; height: 20px; }
.rv .rv-contact__list a:hover { color: var(--rv-gold); }
.rv .rv-contact__list .rv-muted { color: rgba(247,246,242,.6); }
.rv .rv-map { position: relative; display: block; width: min(708px, 52%); aspect-ratio: 708 / 472; flex-shrink: 0; border-radius: 4px; overflow: hidden; background: #eee; }
.rv .rv-map__pin { position: absolute; left: 50%; top: 50%; width: 48px; height: 64px; transform: translate(-50%, -50%); }
.rv .rv-map__pin img { width: 48px; height: 64px; }
@media (max-width: 1199px) {
	.rv-contact__form-card { min-height: 0; padding: 64px 24px; }
}
@media (max-width: 1023px) {
	.rv-contact { padding: 12px; }
	.rv-contact__top, .rv-contact__bottom { flex-direction: column; gap: 12px; }
	.rv-contact__intro { width: 100%; padding: 48px 12px; }
	.rv-contact__form-card, .rv .rv-map { width: 100%; }
	.rv-contact__details { width: 100%; padding: 48px 12px 24px; }
}
@media (max-width: 767px) {
	.rv-contact__intro { padding: 48px 0 32px; gap: 32px; }
	.rv-contact__form-card { padding: 32px 24px; }
	.rv-contact__form-inner { gap: 32px; }
	.rv .rv-form__row { flex-direction: column; }
	.rv-contact__details { padding: 48px 0 24px; }
	.rv .rv-map { aspect-ratio: 351 / 234; }
}

/* ==========================================================================
   Footer
   ========================================================================== */
.rv-footer { display: flex; flex-direction: column; gap: 96px; padding: 96px var(--rv-pad); background: var(--rv-bg); overflow: hidden; }
.rv-footer__decor { position: absolute; left: -252px; top: -32px; width: 1943px; height: 729px; pointer-events: none; z-index: 0; }
.rv-footer__decor img { width: 100%; height: 100%; }
.rv-footer__cta, .rv-footer__main { position: relative; z-index: 1; }
.rv-footer__cta { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.rv-footer__cta .rv-h1 { max-width: 786px; }
.rv-footer__main { display: flex; justify-content: space-between; gap: 48px; }
.rv-footer__brand { width: 479px; display: flex; flex-direction: column; justify-content: space-between; gap: 48px; }
.rv-footer__logo { width: 177px; height: 64px; object-fit: contain; }
.rv-footer__legal { display: flex; flex-direction: column; gap: 8px; color: var(--rv-deep); font-size: 14px; }
.rv-footer__legal-links { display: flex; flex-wrap: wrap; gap: 8px 24px; line-height: 24px; }
.rv-footer__legal-links a { text-decoration: underline; text-underline-position: from-font; }
.rv-footer__legal-links a:hover { color: var(--rv-gold); }
.rv-footer__copy { font-size: 14px; line-height: 20px; }
.rv-footer__cols { width: 720px; max-width: 60%; padding-right: 48px; display: flex; justify-content: space-between; gap: 32px; }
.rv-footer__col { display: flex; flex-direction: column; gap: 16px; min-width: 126px; }
.rv .rv-footer__col-title { display: flex; justify-content: space-between; align-items: center; width: 100%; font-size: 20px; line-height: 28px; letter-spacing: -.2px; color: var(--rv-deep); text-align: left; cursor: default; }
.rv .rv-footer__col-title svg { display: none; }
.rv .rv-footer__links { display: flex; flex-direction: column; gap: 12px; }
.rv .rv-footer__links a, .rv .rv-footer__social a { font-size: 16px; line-height: 24px; color: var(--rv-blue); white-space: nowrap; }
.rv .rv-footer__links a:hover, .rv .rv-footer__social a:hover { color: var(--rv-gold); }
.rv .rv-footer__social { display: flex; flex-direction: column; gap: 16px; }
.rv .rv-footer__social a { display: flex; align-items: center; gap: 12px; }
.rv .rv-footer__social svg { width: 24px; height: 24px; }
@media (max-width: 1199px) {
	.rv-footer__brand { width: auto; flex: 1; }
	.rv-footer__cols { width: auto; max-width: none; padding-right: 0; }
}
@media (max-width: 767px) {
	.rv-footer { padding: 48px 12px; gap: 48px; }
	.rv-footer__decor { left: -270px; top: -17px; width: 728px; height: 273px; }
	.rv-footer__main { flex-direction: column; gap: 0; }
	.rv-footer__brand { display: contents; }
	.rv-footer__logo { order: 1; width: 133px; height: 48px; margin-bottom: 48px; }
	.rv-footer__cols { order: 2; flex-direction: column; gap: 0; padding: 0; }
	.rv-footer__legal { order: 3; margin-top: 48px; }
	.rv-footer__legal-links a { font-size: 14px; }
	.rv-footer__col { gap: 0; border-bottom: 1px solid var(--rv-line); }
	.rv .rv-footer__col-title { font-size: 16px; line-height: 24px; font-weight: 700; padding: 12px 0; cursor: pointer; }
	.rv .rv-footer__col-title svg { display: block; transition: transform .2s; }
	.rv-footer__col.is-open .rv-footer__col-title svg { transform: rotate(45deg); }
	.rv .rv-footer__links { display: none; padding-bottom: 16px; }
	.rv-footer__col.is-open .rv-footer__links { display: flex; }
	.rv-footer__col--social { border-bottom: 0; gap: 12px; padding-top: 12px; }
	.rv .rv-footer__col-title--static { padding: 12px 0 0; cursor: default; }
	.rv .rv-footer__social { gap: 16px; }
}

/* Elementor wrappers: let our sections go edge-to-edge */
.elementor-widget-rrb_header > .elementor-widget-container,
.elementor-widget-rrb_hero > .elementor-widget-container,
.elementor-widget-rrb_trust_bar > .elementor-widget-container,
.elementor-widget-rrb_packages > .elementor-widget-container,
.elementor-widget-rrb_treatments_grid > .elementor-widget-container,
.elementor-widget-rrb_why > .elementor-widget-container,
.elementor-widget-rrb_tech_split > .elementor-widget-container,
.elementor-widget-rrb_reviews > .elementor-widget-container,
.elementor-widget-rrb_cta_banner > .elementor-widget-container,
.elementor-widget-rrb_instagram > .elementor-widget-container,
.elementor-widget-rrb_contact > .elementor-widget-container,
.elementor-widget-rrb_footer > .elementor-widget-container { margin: 0; padding: 0; }
.elementor-widget-rrb_header { z-index: 50; }

/* Theme overrides: Use Any Font / Avada force their fonts with !important on body, p, a, li and headings */
.rv { font-family: var(--rv-sans) !important; }
.rv *:not(svg):not(path) { font-family: inherit !important; }
.rv .rv-h1, .rv .rv-h2, .rv .rv-h4, .rv .rv-h5, .rv .rv-h6 { font-family: var(--rv-serif) !important; }
.rv .rv-h1 { font-size: 56px !important; line-height: 60px !important; }
.rv .rv-h2 { font-size: 48px !important; line-height: 50px !important; }
.rv .rv-h4 { font-size: 28px !important; line-height: 28px !important; }
.rv .rv-h5 { font-size: 28px !important; line-height: 32px !important; }
.rv .rv-h6 { font-size: 20px !important; line-height: 24px !important; }

/* Layout refinements */
.rv .rv-nav__link { white-space: nowrap; }
.rv-why__content > .rv-btn, .rv-tech__content > .rv-btn { align-self: flex-start; }
.rv .rv-chips { flex-direction: column; align-items: flex-start; max-width: none; }
.rv .rv-chips__row { display: flex; gap: 8px; }
.rv-trust { position: relative; }
.rv-trust::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 55% 70% at 45% 0%, rgba(225, 200, 120, .28), rgba(225, 200, 120, 0)); }
.rv-trust__item { position: relative; z-index: 1; }

@media (max-width: 767px) {
	.rv .rv-h1 { font-size: 48px !important; line-height: 50px !important; }
	.rv .rv-h2 { font-size: 32px !important; line-height: 34px !important; }
	.rv .rv-h4 { font-size: 24px !important; line-height: 24px !important; }
	.rv .rv-h5 { font-size: 24px !important; line-height: 26px !important; }
	.rv-treatments .rv-h2 { font-size: 48px !important; line-height: 50px !important; }
	.rv-footer .rv-h1 { font-size: 32px !important; line-height: 34px !important; }
	.rv-insta__left .rv-h5 { font-weight: 400 !important; }
	.rv-why__content, .rv-hero__content, .rv-tech__content { flex: none; min-height: auto; }
	.rv .rv-slider__arrow { display: none !important; }
	.rv .rv-chips__row { display: contents; }
}

/* ==========================================================================
   Fluid wide-screen layout (v1.1)
   Content aligns to the 1440px design grid, split-section images take half
   of the viewport, carousels bleed to the right edge of the screen.
   ========================================================================== */
.rv {
	--rv-vw-real: var(--rv-vw, 100vw);
	--rv-gut: max(var(--rv-pad), calc((var(--rv-vw-real) - 1344px) / 2));
	--rv-gut-in: max(var(--rv-pad-in), calc((var(--rv-vw-real) - 1440px) / 2 + var(--rv-pad-in)));
	--rv-half: calc(50% - 12px);
	--rv-split-h: min(calc(var(--rv-vw-real) / 2 - 12px), 820px);
}
.rv-trust { padding-left: var(--rv-gut-in); padding-right: var(--rv-gut-in); }
.rv-packages, .rv-treatments, .rv-reviews, .rv-insta, .rv-footer, .rv-cta { padding-left: var(--rv-gut); padding-right: var(--rv-gut); }

@media (min-width: 768px) {
	.rv-hero { padding-right: 0; }
	.rv-hero__content { padding-left: var(--rv-gut-in); }
	.rv-hero__media, .rv-why__media, .rv-tech__media { flex: 0 0 var(--rv-half); width: auto; max-width: none; }
	.rv-hero__media { aspect-ratio: auto; align-self: stretch; min-height: var(--rv-split-h); margin-right: 12px; }
	.rv-why { padding-right: 0; }
	.rv-why__top { align-items: stretch; }
	.rv-why__content { padding-left: var(--rv-gut-in); min-height: var(--rv-split-h); }
	.rv-why__media { aspect-ratio: auto; min-height: var(--rv-split-h); margin-right: 12px; }
	.rv-why__cards { padding: 0 12px; }
	.rv-tech--img-left { padding-left: 0; }
	.rv-tech--img-left .rv-tech__media { margin-left: 12px; }
	.rv-tech--img-left .rv-tech__content { padding-right: var(--rv-gut-in); }
	.rv-tech--img-right { padding-right: 0; }
	.rv-tech--img-right .rv-tech__media { margin-right: 12px; }
	.rv-tech--img-right .rv-tech__content { padding-left: var(--rv-gut-in); }
	.rv-tech__media { min-height: min(var(--rv-split-h), 751px); }
}

@media (min-width: 1024px) {
	.rv-contact { padding-left: 0; padding-right: 0; }
	.rv-contact__top, .rv-contact__bottom { gap: 0; }
	.rv-contact__intro, .rv-contact__details { flex: 1 1 0; width: auto; min-width: 0; padding-left: var(--rv-gut-in); padding-right: 48px; }
	.rv-contact__intro > * { max-width: 464px; }
	.rv-contact__details > * { max-width: 424px; }
	.rv-contact__form-card, .rv .rv-map { flex: 0 0 var(--rv-half); width: auto; margin-right: 12px; }
}

/* Long reviews: clamp with a "Read more" toggle */
.rv .rv-review__text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 13; line-clamp: 13; overflow: hidden; }
.rv .rv-review.is-expanded .rv-review__text { display: block; -webkit-line-clamp: unset; line-clamp: unset; }
.rv .rv-review__more { align-self: flex-start; margin-top: -36px; font-size: 14px; line-height: 20px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; color: var(--rv-blue); }
.rv .rv-review__more:hover { color: var(--rv-gold); }

/* QA refinements (v1.1.1) */
.rv .rv-chips__row { flex-wrap: wrap; }
.rv .rv-glass > * { max-width: 340px; margin-left: auto; margin-right: auto; }
@media (min-width: 768px) and (max-width: 1023px) {
	.rv .rv-chips { left: 16px; right: 16px; bottom: 16px; }
	.rv .rv-chips__row { display: contents; }
	.rv-contact__form-card { justify-content: flex-start; padding: 48px 24px; }
	.rv-contact__form-inner { width: 100%; }
}
@media (max-width: 767px) {
	.rv .rv-review__text { -webkit-line-clamp: 10; line-clamp: 10; }
}

/* Mouse drag-to-scroll for carousels (v1.1.2) */
@media (hover: hover) and (pointer: fine) {
	.rv .rv-slider:not(.is-static) .rv-slider__viewport { cursor: grab; }
}
.rv .rv-slider.is-dragging .rv-slider__viewport { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; -webkit-user-select: none; }
.rv .rv-slider.is-dragging .rv-slider__track a, .rv .rv-slider.is-dragging .rv-slider__track img { pointer-events: none; }
.rv .rv-slider__track img { -webkit-user-drag: none; user-select: none; }

/* ==========================================================================
   PRODUCT PAGE (v1.2) — Figma: Revu Clinic 2026 / D + M - PDP
   ========================================================================== */
.elementor-widget-rrb_pdp_hero > .elementor-widget-container,
.elementor-widget-rrb_pdp_about > .elementor-widget-container,
.elementor-widget-rrb_pdp_steps > .elementor-widget-container,
.elementor-widget-rrb_pdp_tech > .elementor-widget-container,
.elementor-widget-rrb_pdp_bikini > .elementor-widget-container,
.elementor-widget-rrb_pdp_cards > .elementor-widget-container,
.elementor-widget-rrb_pdp_faq > .elementor-widget-container { margin: 0; padding: 0; }

.rv-pdp, .rv-pa, .rv-steps, .rv-ptech, .rv-pbik, .rv-pcards, .rv-faq, .rv-reviews--pdp { z-index: 0; overflow-x: clip; }
.rv .rv-pdp__title, .rv .rv-pa__title, .rv .rv-steps__num, .rv .rv-steps__title, .rv .rv-ptech__title, .rv .rv-best__title,
.rv .rv-pbik__title, .rv .rv-pcard__title, .rv .rv-faq__q span, .rv .rv-review__title, .rv .rv-modal__title,
.rv .rv-mlaser__title, .rv .rv-mbikini__title { font-family: var(--rv-serif) !important; color: var(--rv-blue); letter-spacing: 0; text-transform: none; margin: 0; }
.rv .rv-muted { color: var(--rv-grey); }

/* decor (blurred gold shapes, exported from Figma) */
.rv .rv-decor { position: absolute; left: calc(50% - 720px); width: 1440px; z-index: -1; pointer-events: none; line-height: 0; }
.rv .rv-decor svg { display: block; width: 1440px; height: auto; overflow: visible; }
.rv-reviews--pdp .rv-decor--reviews { top: -213px; }
.rv-pa .rv-decor--about { top: -303.72px; }
.rv-pa .rv-decor--about-m { display: none; }
.rv-pcards .rv-decor--team { top: -213px; }
@media (max-width: 767px) {
	.rv .rv-decor { left: 0; }
	.rv-pa .rv-decor--about { display: none; }
	.rv-pa .rv-decor--about-m { display: block; top: -386.39px; width: 375px; }
	.rv-pa .rv-decor--about-m svg { width: 375px; }
	.rv-pcards .rv-decor--team { display: none; }
}

/* shared bits */
.rv .rv-focus { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 8px 0; border-bottom: 1px solid var(--rv-blue); font-size: 14px; line-height: 20px; font-weight: 700; color: var(--rv-blue); white-space: nowrap; }
.rv .rv-focus:hover { color: var(--rv-gold); border-color: var(--rv-gold); }
.rv .rv-focus svg { width: 20px; height: 20px; transition: transform .2s; }
.rv .rv-focus[aria-expanded="true"] svg { transform: rotate(180deg); }
.rv .rv-best { display: flex; flex-direction: column; gap: 8px; width: 100%; padding: 16px; border-radius: 4px; background: rgba(210,181,91,.3); }
.rv .rv-best__title { font-size: 20px !important; line-height: 24px !important; font-weight: 700; }
.rv .rv-best .rv-p { font-size: 16px; line-height: 24px; }
.rv .rv-phead { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; width: 100%; }
.rv .rv-phead--center { align-items: center; text-align: center; }
.rv .rv-phead__text { max-width: 620px; }
.rv .rv-phead--center .rv-phead__text { max-width: 732px; }
.rv .rv-ptech__by { font-size: 14px; line-height: 24px; font-weight: 500; text-transform: uppercase; }
.rv .rv-ptech__logo-row { display: flex; align-items: center; gap: 32px; }
.rv .rv-ptech__logo { display: flex; align-items: center; justify-content: center; flex: none; }
.rv .rv-ptech__logo img { width: 100%; height: 100%; object-fit: contain; }
.rv input.rv-sr, .rv-seg input, .rv-area input, .rv-ses input { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; opacity: 0; pointer-events: none; }
.rv-seg__opt:has(input:focus-visible), .rv-area:has(input:focus-visible), .rv-ses:has(input:focus-visible) { outline: 2px solid var(--rv-gold); outline-offset: 2px; }

/* ---------- hero / configurator ---------- */
.rv-pdp { display: flex; align-items: flex-start; gap: 12px; padding: 12px 12px 0; background: var(--rv-bg); }
.rv .rv-pdp__gallery { flex: 0 0 calc((100% - 12px) * .58120); max-width: 1088px; gap: 0; }
.rv-pdp__gallery .rv-slider__viewport { width: 100%; margin: 0; overflow: visible; }
.rv-pdp__gallery .rv-slider__track { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; width: auto; padding: 0; }
.rv-pdp__gallery .rv-slider__dots { display: none; }
.rv .rv-pdp__shot { position: relative; margin: 0; overflow: hidden; border-radius: 4px; background: var(--rv-bg); aspect-ratio: 1; }
.rv .rv-pdp__shot img { position: absolute; inset: 0; }
.rv .rv-pdp__shot--1 { grid-column: 1 / 3; margin-bottom: 1px; }
.rv .rv-pdp__shot--2, .rv .rv-pdp__shot--3 { border-radius: 2px; }
.rv .rv-pdp__shot--4 { grid-column: 2; grid-row: 2 / 4; aspect-ratio: auto; }
.rv .rv-pdp__shot--3 { grid-column: 1; grid-row: 3; }
.rv-pdp__card { position: sticky; top: 12px; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 39px; padding: 32px; border-radius: 4px; background: #fff; }
.rv-pdp__main { display: flex; flex-direction: column; gap: 32px; }
.rv-pdp__head { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.rv-pdp__review { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 16px; border-radius: 4px; background: var(--rv-bg); }
.rv .rv-pdp__review-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--rv-blue); }
.rv .rv-pdp__rating { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; }
.rv .rv-pdp__rating b { font-weight: 700; }
.rv .rv-pdp__reviews { display: inline-flex; align-items: center; gap: 16px; font-size: 14px; line-height: 20px; }
.rv .rv-pdp__g { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 44px; background: #fff; }
.rv .rv-pdp__g img { width: 18px; height: 18px; }
.rv .rv-pdp__quote { font-size: 14px; line-height: 20px; }
.rv .rv-pdp__author { display: flex; align-items: center; justify-content: flex-end; gap: 12px; font-size: 12px; line-height: 16px; }
.rv .rv-pdp__author b { font-weight: 700; }
.rv .rv-pdp__verified { display: inline-flex; align-items: center; gap: 6px; padding: 1px 7px 1px 1px; border: 1px solid var(--rv-line); border-radius: 100px; font-size: 10px; line-height: 12px; }
.rv .rv-pdp__verified svg { width: 12px; height: 12px; }
.rv .rv-pdp__title { font-size: 36px !important; line-height: 38px !important; font-weight: 400 !important; }
.rv .rv-pdp__title--lg { font-size: 48px !important; line-height: 50px !important; }
.rv .rv-pdp__lead { font-size: 16px; line-height: 24px; }
.rv .rv-pdp__badge-row { display: flex; align-items: center; gap: 16px; }
.rv .rv-pdp__rating-col { display: flex; flex-direction: column; font-size: 14px; line-height: 20px; }
.rv-pdp__group { display: flex; flex-direction: column; gap: 8px; }
.rv .rv-pdp__label { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 16px; line-height: 24px; font-weight: 700; }
.rv .rv-pdp__caption { font-style: normal; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--rv-grey); text-align: right; }
.rv .rv-pdp__info { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: var(--rv-grey); flex: none; }
.rv .rv-pdp__info svg { width: 100%; height: 100%; }
.rv .rv-pdp__info:hover { color: var(--rv-blue); }
.rv-seg { display: flex; gap: 4px; padding: 4px; border-radius: 100px; background: var(--rv-bg); }
.rv .rv-seg__opt { position: relative; flex: 1 1 0; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 16px; height: 40px; margin: 0; border-radius: 100px; font-size: 14px; line-height: 23px; font-weight: 500; color: var(--rv-blue); cursor: pointer; transition: background-color .2s, color .2s; }
.rv .rv-seg__opt svg { width: 16px; height: 16px; }
.rv .rv-seg__opt.is-active { background: var(--rv-gold); color: #fff; }
.rv-areas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rv .rv-area { position: relative; display: flex; align-items: center; gap: 12px; height: 48px; margin: 0; padding: 12px; border-radius: 4px; background: var(--rv-bg); cursor: pointer; transition: background-color .2s, box-shadow .2s; }
.rv .rv-area.is-checked { background: #fff; box-shadow: inset 0 0 0 2px var(--rv-gold); }
.rv .rv-area[hidden] { display: none; }
.rv .rv-area__box { display: flex; width: 20px; height: 20px; flex: none; border: 1px solid var(--rv-grey); border-radius: 2px; }
.rv .rv-area__box svg { display: none; width: 20px; height: 20px; margin: -1px; }
.rv .rv-area.is-checked .rv-area__box svg { display: block; }
.rv .rv-area.is-checked .rv-area__box { border-color: transparent; }
.rv .rv-area__name { flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; }
.rv .rv-area__name .rv-pdp__info { width: 16px; height: 16px; }
.rv .rv-area__price { display: flex; flex-direction: column; align-items: flex-end; text-align: right; white-space: nowrap; }
.rv .rv-area__price b { font-size: 14px; line-height: 20px; font-weight: 500; margin-bottom: -4px; }
.rv .rv-area__price small { font-size: 10px; line-height: 12px; color: var(--rv-grey); }
.rv-sessions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.rv .rv-ses { position: relative; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; margin: 0; padding: 14px; border: 1px solid #e2e0db; border-radius: 4px; background: #fff; color: var(--rv-blue); cursor: pointer; transition: background-color .2s, border-color .2s, box-shadow .2s; }
.rv .rv-ses__top { display: flex; align-items: center; justify-content: space-between; width: 100%; font-size: 14px; line-height: 20px; }
.rv .rv-ses__radio { display: flex; width: 20px; height: 20px; }
.rv .rv-ses__radio svg { width: 20px; height: 20px; }
.rv .rv-ses__on { display: none !important; }
.rv .rv-ses__empty, .rv .rv-ses__priced { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.rv .rv-ses__row { display: flex; align-items: baseline; gap: 5px; white-space: nowrap; }
.rv .rv-ses__row b { font-size: 20px; line-height: 28px; font-weight: 700; color: var(--rv-red); }
.rv .rv-ses--first .rv-ses__row b { color: var(--rv-blue); }
.rv .rv-ses__row small { font-size: 10px; line-height: 12px; color: var(--rv-grey); text-align: right; }
.rv .rv-ses__note { font-size: 10px; line-height: 12px; white-space: nowrap; }
.rv .rv-ses__save { display: inline-flex; padding: 4px 8px; border: 1px solid var(--rv-blue); border-radius: 100px; font-size: 11px; line-height: 1; font-weight: 700; white-space: nowrap; }
.rv .rv-ses__tag { font-size: 10px; line-height: 10px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; white-space: nowrap; }
/* no areas yet */
.rv-pdp.is-empty .rv-ses__priced { display: none; }
.rv-pdp.is-empty .rv-ses--best .rv-ses__tag { font-size: 8px; line-height: 8px; letter-spacing: .32px; color: var(--rv-red); }
.rv-pdp.is-empty .rv-ses.is-selected { background: var(--rv-blue); border-color: var(--rv-blue); color: #fff; --rv-radio-fill: #fff; }
.rv-pdp.is-empty .rv-ses.is-selected .rv-ses__row b { color: var(--rv-gold); }
.rv-pdp.is-empty .rv-ses.is-selected .rv-ses__row small { color: #cdd0d3; }
.rv-pdp.is-empty .rv-ses.is-selected .rv-ses__tag { color: var(--rv-gold); }
/* areas selected */
.rv-pdp.has-areas .rv-ses__empty, .rv-pdp.has-areas .rv-pdp__caption, .rv-pdp.has-areas .rv-pdp__hint { display: none; }
.rv-pdp.has-areas .rv-ses { background: var(--rv-bg); border-color: transparent; }
.rv-pdp.has-areas .rv-ses.is-selected { background: #fff; border-color: var(--rv-gold); box-shadow: inset 0 0 0 1px var(--rv-gold); }
.rv-pdp.has-areas .rv-ses.is-selected .rv-ses__on { display: block !important; }
.rv-pdp.has-areas .rv-ses.is-selected .rv-ses__off { display: none !important; }
.rv-pdp.has-areas .rv-ses.is-selected .rv-ses__save { border-color: #027100; color: #027100; }
.rv .rv-pdp__reco { max-width: 510px; font-size: 12px; line-height: 16px; }
.rv .rv-pdp__reco strong, .rv .rv-pdp__reco b { font-weight: 700; }
/* summary / checkout */
.rv-pdp__checkout { display: flex; flex-direction: column; gap: 32px; }
.rv .rv-pdp__hint { font-size: 14px; line-height: 20px; }
.rv .rv-sum { display: none; flex-direction: column; gap: 8px; }
.rv-pdp.has-areas .rv-pdp__checkout { gap: 24px; padding-top: 12px; border-top: 1px solid var(--rv-line); }
.rv-pdp.has-areas .rv-sum { display: flex; }
.rv .rv-sum__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; line-height: 20px; white-space: nowrap; }
.rv .rv-sum__row > span { display: inline-flex; align-items: center; gap: 16px; }
.rv .rv-sum__row--disc b { font-weight: 700; color: #027100; }
.rv .rv-sum__row--total { align-items: flex-end; }
.rv .rv-sum__row--total b { font-size: 32px; line-height: 28px; font-weight: 500; color: var(--rv-red); }
.rv .rv-pdp__cta { display: flex; align-items: center; justify-content: center; width: 100%; height: 56px; padding: 12px 48px; border-radius: 100px; background: var(--rv-blue); color: #fff; font-size: 16px; line-height: 24px; font-weight: 500; text-align: center; }
.rv .rv-pdp__cta:hover { background: #1b2a43; color: #fff; }
.rv .rv-pdp__cta.is-disabled { background: #cdd0d3; color: #fff; cursor: not-allowed; }
.rv-pdp__trust { display: flex; flex-direction: column; gap: 16px; }
.rv-alloc { display: flex; flex-direction: column; gap: 6px; }
.rv .rv-alloc__row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; font-size: 14px; line-height: 20px; }
.rv .rv-alloc__row strong { font-weight: 700; }
.rv .rv-alloc__row b { flex: none; font-size: 12px; line-height: 16px; font-weight: 700; text-transform: uppercase; }
.rv .rv-alloc__bar { display: block; height: 6px; border-radius: 3px; background: #cdd0d3; overflow: hidden; }
.rv .rv-alloc__bar span { display: block; height: 6px; border-radius: 3px; background: var(--rv-gold); }
.rv-book { display: flex; flex-direction: column; gap: 8px; }
.rv .rv-book__title { font-size: 16px; line-height: 24px; font-weight: 700; }
.rv .rv-book__list { display: flex; flex-direction: column; gap: 6px; }
.rv .rv-book__list li { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; }
.rv .rv-book__list svg { width: 16px; height: 16px; color: var(--rv-blue); }

@media (max-width: 1279px) {
	.rv-pdp__card { padding: 24px; }
	.rv-areas { grid-template-columns: 1fr; }
	.rv-sessions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.rv-pdp { flex-direction: column; align-items: stretch; gap: 0; padding: 0; }
	.rv .rv-pdp__gallery { flex: none; max-width: none; padding: 0 12px 12px; gap: 12px; }
	.rv-pdp__gallery .rv-slider__viewport { overflow-x: auto; }
	.rv-pdp__gallery .rv-slider__track { display: flex; gap: 12px; width: max-content; }
	.rv .rv-pdp__shot, .rv .rv-pdp__shot--4 { width: calc((100vw - 36px) / 2); aspect-ratio: 1; margin: 0; border-radius: 4px; grid-area: auto; }
	.rv-pdp__gallery .rv-slider__dots { display: flex; }
	.rv-pdp__card { position: static; padding: 12px 12px 32px; border-radius: 0; gap: 24px; }
	.rv-pdp__main { gap: 24px; }
	.rv-areas { grid-template-columns: 1fr 1fr; }
	.rv-sessions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.rv .rv-pdp__shot, .rv .rv-pdp__shot--4 { width: calc(100vw - 24px); }
	.rv .rv-pdp__title { font-size: 28px !important; line-height: 30px !important; font-weight: 700 !important; }
	.rv .rv-pdp__title--lg { font-size: 32px !important; line-height: 34px !important; font-weight: 400 !important; }
	.rv-areas { grid-template-columns: 1fr; }
	.rv .rv-area { height: 44px; padding: 8px 12px; }
	.rv .rv-pdp__label { gap: 16px; }
	.rv .rv-pdp__caption { flex: 1 1 0; font-size: 12px; line-height: 16px; }
	.rv-sessions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rv .rv-ses { padding: 12px; }
	.rv .rv-ses__row b { font-size: 18px; line-height: 26px; }
	.rv .rv-pdp__reco { max-width: none; }
	.rv-pdp__checkout { gap: 24px; }
	.rv .rv-sum__row--total b { font-size: 24px; line-height: 24px; }
	.rv .rv-alloc__row { align-items: flex-end; }
	.rv .rv-alloc__row > span { max-width: 193px; }
	.rv .rv-alloc__row strong { display: block; }
	.rv .rv-book__list li { align-items: flex-start; }
	.rv .rv-book__list svg { margin-top: 2px; }
}

/* ---------- modals ---------- */
.rv-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: 54px 16px; overflow-y: auto; overscroll-behavior: contain; }
.rv-modal[hidden] { display: none; }
.rv-modal__backdrop { position: fixed; inset: 0; background: rgba(37,39,36,.5); }
.rv-modal__dialog { position: relative; display: flex; flex-direction: column; align-items: center; gap: 32px; width: 888px; max-width: 100%; padding: 48px; border-radius: 4px; background: #fff; color: var(--rv-blue); outline: 0; }
.rv .rv-modal__close { position: absolute; top: 16px; right: 16px; width: 24px; height: 24px; display: flex; }
.rv .rv-modal__close svg { width: 24px; height: 24px; }
.rv-modal__head { display: flex; flex-direction: column; gap: 12px; text-align: center; width: 100%; }
.rv .rv-modal__title { width: 100%; font-size: 28px !important; line-height: 32px !important; font-weight: 700; text-align: center; }
.rv .rv-modal__text { font-size: 14px; line-height: 20px; }
.rv .rv-modal__text strong { font-weight: 700; }
.rv-modal__cards { display: flex; gap: 8px; width: 100%; align-items: stretch; }
.rv-mlaser { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 32px; padding: 12px 12px 32px; border-radius: 4px; background: var(--rv-bg); }
.rv .rv-mlaser__img { position: relative; display: block; aspect-ratio: 556 / 278; border-radius: 4px; background: #fff; overflow: hidden; }
.rv .rv-mlaser__img img { position: absolute; inset: 0; }
.rv-mlaser__body { display: flex; flex-direction: column; gap: 24px; padding: 0 12px; }
.rv .rv-mlaser__title { font-size: 20px !important; line-height: 24px !important; font-weight: 700; }
.rv .rv-mlaser__logos { display: none; flex-direction: column; gap: 12px; }
.rv-mbikini { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: 24px; border-radius: 4px; background: var(--rv-bg); }
.rv .rv-mbikini__title { font-size: 20px !important; line-height: 24px !important; font-weight: 700; }
.rv .rv-mbikini__img { display: block; width: 100%; max-width: 214.67px; aspect-ratio: 1; margin-bottom: 8px; }
.rv .rv-mbikini__img img { width: 100%; height: 100%; }
.rv .rv-mbikini__text { display: flex; flex-direction: column; gap: 4px; }
.rv .rv-mbikini__text b { font-size: 16px; line-height: 24px; font-weight: 700; }
.rv .rv-mbikini__text span { font-size: 14px; line-height: 20px; }
.rv-modal__foot { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.rv .rv-modal__foot .rv-focus { align-self: center; }
.rv .rv-modal__help { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; font-size: 14px; line-height: 20px; }
body.rv-modal-open { overflow: hidden; }
@media (max-width: 767px) {
	.rv-modal { padding: 12px; }
	.rv-modal__dialog { padding: 48px 12px; gap: 24px; }
	.rv .rv-modal__title { padding: 0 12px; }
	.rv-modal__cards { flex-direction: column; gap: 12px; }
	.rv-mlaser { gap: 24px; }
	.rv .rv-mlaser__img { aspect-ratio: auto; height: 218px; }
	.rv .rv-mlaser__title { font-size: 28px !important; line-height: 30px !important; font-weight: 400; }
	.rv .rv-mlaser__logos { display: flex; }
	.rv .rv-mbikini__img { margin: 0 auto 8px; }
}

/* ---------- trust bar (product page spacing, mobile) ---------- */
@media (max-width: 767px) {
	.rv-trust--pdp { padding-top: 48px; }
	.rv-trust--pdp .rv-trust__item { gap: 16px; padding-bottom: 16px; }
}

/* ---------- reviews (product page style) ---------- */
.rv-reviews--pdp { --rv-gut: var(--rv-gut-in); padding-top: 0; overflow: visible; overflow-x: clip; }
.rv-reviews--pdp .rv-reviews__head { gap: 24px; max-width: 660px; }
.rv-reviews--pdp .rv-reviews__head .rv-stack-8 { gap: 8px; }
.rv-reviews--pdp .rv-review { width: 378px; min-height: 456px; }
.rv-reviews--pdp .rv-review__top { gap: 16px; }
.rv .rv-review__title { margin: 0 0 8px; font-family: var(--rv-serif) !important; font-size: 20px !important; line-height: 24px !important; font-weight: 700 !important; color: var(--rv-blue); letter-spacing: 0; text-transform: none; }
.rv-reviews--pdp .rv-slider__arrow { top: 180px; right: calc(48px - var(--rv-pad-in)); }
.rv-reviews--pdp .rv-slider__arrow--prev { left: -24px; right: auto; }
@media (max-width: 767px) {
	.rv-reviews--pdp { padding-top: 48px; }
	.rv-reviews--pdp .rv-review { width: 318px; min-height: 512px; }
	.rv-reviews--pdp .rv-reviews__head .rv-h2 { max-width: 285px; }
	.rv-reviews--pdp .rv-google { padding: 0 24px 0 8px; gap: 12px; font-size: 14px; }
	.rv.rv-reviews--pdp .rv-slider { gap: 24px; }
	.rv-reviews--pdp .rv-review__top { gap: 48px; }
	.rv.rv-reviews--pdp .rv-review__title { display: none; }
	.rv-reviews--pdp .rv-slider__track { gap: 12px; }
}

/* ---------- CTA spacing (product page) ---------- */
.rv-cta--pdp { padding-top: 96px; padding-bottom: 96px; }
.rv-cta--pdp .rv-cta__shade { background: linear-gradient(270deg, rgba(39,56,85,0) 0%, rgba(39,56,85,.3) 100%); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
@media (max-width: 767px) { .rv-cta--pdp { padding-top: 48px; padding-bottom: 48px; } }

/* ---------- about ---------- */
.rv-pa { display: flex; flex-direction: column; gap: 48px; padding: 0 var(--rv-gut-in) 96px; }
.rv-pa__head { position: relative; display: flex; flex-direction: column; gap: 12px; }
.rv-pa__head .rv-p strong { font-weight: 700; }
.rv-pa__grid { display: flex; gap: 8px; }
.rv-pa__col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.rv .rv-pa__card { display: flex; align-items: flex-start; gap: 24px; min-height: 138px; padding: 32px 48px; border: 1px solid rgba(255,255,255,.2); border-radius: 4px; background: rgba(255,255,255,.4); backdrop-filter: blur(3.5px); -webkit-backdrop-filter: blur(3.5px); }
.rv .rv-pa__icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: none; border-radius: 4px; }
.rv .rv-pa__icon img { width: 24px; height: 24px; }
.rv .rv-pa__body { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; justify-content: center; }
.rv .rv-pa__title { font-size: 20px !important; line-height: 24px !important; font-weight: 700; }
.rv .rv-pa__text { font-size: 14px; line-height: 20px; }
@media (max-width: 1023px) {
	.rv .rv-pa__card { padding: 24px; }
}
@media (max-width: 767px) {
	.rv-pa { gap: 32px; padding: 0 12px 48px; }
	.rv-pa__grid { flex-direction: column; }
	.rv .rv-pa__card { gap: 16px; min-height: 0; padding: 24px 24px 24px 12px; }
	.rv .rv-pa__col--2 .rv-pa__card { gap: 12px; min-height: 138px; padding-bottom: 20px; }
	.rv .rv-pa__icon { width: 24px; height: 24px; }
}

/* ---------- steps ---------- */
.rv-steps { display: flex; flex-direction: column; align-items: center; gap: 48px; padding: 120px var(--rv-gut) ; background: #fff; }
.rv-steps__list { position: relative; display: flex; gap: 24px; width: 100%; max-width: 1184px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.rv-steps__list::before { content: ""; position: absolute; top: 32px; left: calc((100% - 72px) / 8 + 0px); right: calc((100% - 72px) / 8); height: 1px; background: var(--rv-blue); }
.rv .rv-steps__item { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 32px; padding: 0 32px; text-align: center; }
.rv .rv-steps__num { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 1px solid var(--rv-blue); border-radius: 100px; background: #fff; font-size: 28px !important; line-height: 32px !important; font-weight: 700; }
.rv-steps__body { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.rv .rv-steps__title { font-size: 20px !important; line-height: 24px !important; font-weight: 700; }
.rv .rv-steps__text { font-size: 14px; line-height: 20px; }
@media (max-width: 1023px) {
	.rv .rv-steps__item { padding: 0 8px; }
}
@media (max-width: 767px) {
	.rv-steps { align-items: stretch; gap: 24px; padding: 48px 12px; }
	.rv-steps .rv-phead { align-items: flex-start; text-align: left; }
	.rv-steps__list { flex-direction: column; gap: 12px; }
	.rv-steps__list::before { top: 30px; bottom: auto; left: 16px; right: auto; width: 1px; height: calc(100% - 121px); }
	.rv .rv-steps__item { flex-direction: row; align-items: flex-start; gap: 16px; padding: 0; text-align: left; }
	.rv .rv-steps__num { width: 32px; height: 32px; flex: none; font-size: 16px !important; line-height: 24px !important; }
	.rv-steps__body { gap: 10px; padding: 4px 0 12px; border-bottom: 1px solid rgba(0,0,0,.1); }
	.rv .rv-steps__title br { display: none; }
}

/* ---------- technology cards ---------- */
.rv-ptech { display: flex; flex-direction: column; align-items: center; gap: 48px; padding: 96px var(--rv-gut-in); }
.rv-ptech .rv-phead .rv-h2 { max-width: 642px; }
.rv-ptech__grid { display: flex; justify-content: center; gap: 24px; width: 100%; }
.rv-ptech__card { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 48px; padding: 12px 12px 32px; border-radius: 4px; background: #fff; }
.rv .rv-ptech__img { position: relative; display: block; height: 452px; border-radius: 4px; background: var(--rv-bg); overflow: hidden; }
.rv .rv-ptech__img img { position: absolute; inset: 0; }
.rv .rv-ptech__seal { position: absolute; left: calc(100% - 134px); top: 488px; width: 107.77px; height: 108.24px; }
.rv .rv-ptech__seal img { width: 100%; height: 100%; animation: rv-spin 30s linear infinite; }
.rv-ptech__body { display: flex; flex-direction: column; gap: 24px; padding: 0 36px; flex: 1 1 auto; }
.rv-ptech__main { display: flex; flex-direction: column; gap: 24px; }
.rv .rv-ptech__title { font-size: 36px !important; line-height: 38px !important; font-weight: 400 !important; }
.rv .rv-ptech__logos { display: flex; align-items: center; justify-content: space-between; min-height: 56px; }
.rv .rv-ptech__more { font-size: 16px; line-height: 24px; }
.rv .rv-ptech__more p + p { margin-top: 12px; }
.rv .rv-ptech__toggle { margin-top: auto; }
@media (prefers-reduced-motion: reduce) { .rv .rv-ptech__seal img { animation: none; } }
@media (max-width: 1023px) {
	.rv-ptech__body { padding: 0 12px; }
	/* no tablet frame in Figma: use the mobile seal size/placement so it never covers the text */
	.rv .rv-ptech__seal { top: 486px; left: auto; right: 15px; width: 85.77px; height: 86.14px; }
	.rv .rv-ptech__logos { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width: 767px) {
	.rv-ptech { gap: 32px; padding: 48px 12px; }
	.rv-ptech__grid { flex-direction: column; gap: 12px; }
	.rv-ptech__card { gap: 24px; }
	.rv .rv-ptech__img { height: 218px; }
	.rv .rv-ptech__seal { top: 252px; left: auto; right: 15px; width: 85.77px; height: 86.14px; }
	.rv .rv-ptech__title { font-size: 28px !important; line-height: 30px !important; }
	.rv .rv-ptech__logos { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ---------- bikini options ---------- */
.rv-pbik { display: flex; flex-direction: column; align-items: center; gap: 32px; padding: 96px var(--rv-gut-in); background: linear-gradient(205.85deg, #dde3f5 29.992%, #eed79a 95.466%), #d2b55b; }
.rv-pbik__head { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.rv-pbik__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.rv-pbik__row .rv-p { max-width: 824px; }
.rv-pbik__row .rv-p strong { font-weight: 700; }
.rv-pbik__cards { display: flex; gap: 24px; width: 100%; }
.rv .rv-pbik__card { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: 32px; border: 1px solid rgba(255,255,255,.2); border-radius: 4px; background: rgba(255,255,255,.4); backdrop-filter: blur(3.5px); -webkit-backdrop-filter: blur(3.5px); }
.rv .rv-pbik__title { font-size: 28px !important; line-height: 28px !important; font-weight: 400; }
.rv-pbik__inner { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.rv .rv-pbik__img { display: block; width: 216px; height: 216px; }
.rv .rv-pbik__img img { width: 100%; height: 100%; }
.rv .rv-pbik__inner .rv-stack-12 { width: 100%; }
.rv .rv-pbik__text { display: flex; flex-direction: column; gap: 4px; }
.rv .rv-pbik__text b { font-size: 16px; line-height: 24px; font-weight: 700; }
.rv .rv-pbik__text span { font-size: 14px; line-height: 20px; }
@media (max-width: 1023px) {
	.rv .rv-pbik__card { padding: 24px; }
}
@media (max-width: 767px) {
	.rv-pbik { padding: 48px 12px; }
	.rv-pbik__row { flex-direction: column; align-items: center; gap: 16px; }
	.rv-pbik__head .rv-h2, .rv-pbik__row .rv-p { text-align: center; }
	.rv-pbik__row .rv-focus { align-self: center; }
	.rv-pbik__cards { flex-direction: column; gap: 8px; }
	.rv .rv-pbik__card { padding: 30px 10px; gap: 0; border-width: 2px; }
	.rv .rv-pbik__title { font-size: 24px !important; line-height: 24px !important; }
	.rv-pbik__inner { gap: 0; }
	.rv .rv-pbik__img { width: 180px; height: 180px; }
}

/* ---------- card carousels (team / guides / videos) ---------- */
.rv-pcards { display: flex; flex-direction: column; gap: 32px; padding: 96px 0 96px var(--rv-gut); }
.rv-pcards--light { background: var(--rv-bg); }
.rv-pcards--white { background: #fff; }
.rv-pcards--space-none { padding-bottom: 0; }
.rv-pcards .rv-phead { padding-right: var(--rv-gut); }
.rv-pcards .rv-slider { align-items: flex-start; }
.rv-pcards .rv-slider__dots { align-self: center; margin-left: calc(-1 * var(--rv-gut)); }
.rv-pcards .rv-slider__track { gap: 24px; }
.rv .rv-pcard { display: flex; flex-direction: column; gap: 24px; width: 318px; color: var(--rv-blue); }
.rv .rv-pcard__img { position: relative; display: block; height: 398px; border-radius: 4px; overflow: hidden; background: var(--rv-bg); }
.rv .rv-pcard__img img { position: absolute; inset: 0; transition: transform .4s; }
.rv a.rv-pcard:hover .rv-pcard__img img { transform: scale(1.03); }
.rv .rv-pcard__text { display: flex; flex-direction: column; gap: 12px; padding-right: 32px; }
.rv .rv-pcard__label { font-size: 10px; line-height: 10px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }
.rv .rv-pcard__title { font-size: 20px !important; line-height: 24px !important; font-weight: 700; }
.rv-pcards--video .rv-pcard { width: 660px; }
.rv-pcards--video .rv-pcard__img { height: auto; aspect-ratio: 580 / 326; }
.rv-pcards--video .rv-pcard__text { width: 314.67px; }
.rv .rv-pcard__shade { position: absolute; inset: 0; background: rgba(0,0,0,.2); }
.rv .rv-pcard__play { position: absolute; left: 50%; top: 50%; width: 80px; height: 80px; margin: -36px 0 0 -40px; transition: transform .2s; }
.rv .rv-pcard__play svg { width: 80px; height: 80px; }
.rv a.rv-pcard:hover .rv-pcard__play { transform: scale(1.06); }
.rv-pcards .rv-slider__viewport { width: 100%; margin-right: 0; }
.rv-pcards .rv-slider__track { padding-right: var(--rv-gut); }
.rv-pcards .rv-slider__arrow { top: 175px; right: 32px; }
.rv-pcards .rv-slider__arrow--prev { left: -24px; right: auto; }
.rv-pcards--video .rv-slider__arrow { top: 161px; right: 27px; }
.rv-pcards--line { padding-bottom: 0; }
.rv-pcards--line::after { content: ""; display: block; height: 1px; margin: 64px var(--rv-gut) 0 0; background: #cdd0d3; }
@media (max-width: 767px) {
	.rv-pcards { gap: 32px; padding: 48px 0 48px 12px; }
	.rv-pcards--space-none { padding-bottom: 0; }
	.rv-pcards .rv-phead { padding-right: 12px; }
	.rv-pcards .rv-slider__track { gap: 12px; }
	.rv-pcards--video .rv-pcard { width: 318px; }
	.rv-pcards--video .rv-pcard__img { aspect-ratio: 660 / 371; }
	.rv-pcards--video .rv-pcard__text { width: auto; }
	.rv-pcards--line { padding-bottom: 48px; }
	.rv-pcards--line::after { margin: 16px 12px 0 0; }
	.rv-pcards .rv-slider__dots { margin-left: -12px; }
}

/* ---------- FAQ ---------- */
.rv-faq { display: flex; flex-direction: column; gap: 32px; padding: 96px var(--rv-gut-in) 0; }
.rv-faq__list { display: flex; flex-direction: column; gap: 8px; }
.rv-faq__item { border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 2px transparent; transition: box-shadow .2s; }
.rv-faq__item.is-open { box-shadow: inset 0 0 0 2px var(--rv-gold); }
.rv .rv-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 24px; text-align: left; }
.rv .rv-faq__q span { font-size: 20px !important; line-height: 24px !important; font-weight: 700; }
.rv .rv-faq__q svg { width: 24px; height: 24px; color: var(--rv-blue); }
.rv .rv-faq__minus, .rv-faq__item.is-open .rv-faq__plus { display: none; }
.rv-faq__item.is-open .rv-faq__minus { display: block; }
.rv .rv-faq__a { margin-top: -12px; padding: 0 24px 24px; font-size: 16px; line-height: 24px; }
.rv .rv-faq__a p + p { margin-top: 12px; }
/* open item: the 2px gold stroke adds 2px top/bottom (Figma heights), but the text and icon stay
   on the same left/right line as the closed items so nothing shifts sideways */
.rv .rv-faq__item.is-open .rv-faq__q { padding: 26px 24px 24px; }
.rv .rv-faq__item.is-open .rv-faq__a { padding: 0 24px 26px; }
@media (max-width: 767px) {
	.rv-faq { padding: 48px 12px 0; }
	.rv .rv-faq__q { align-items: flex-start; padding: 16px 12px; }
	.rv .rv-faq__a { margin-top: -4px; padding: 0 12px 16px; }
	.rv .rv-faq__item.is-open .rv-faq__q { padding: 18px 12px 16px; }
	.rv .rv-faq__item.is-open .rv-faq__a { padding: 0 12px 18px; }
}
.rv-modal__dialog--video { width: min(1100px, 100%); padding: 0; background: #000; gap: 0; }
.rv-modal__video { width: 100%; aspect-ratio: 16 / 9; }
.rv-modal__video iframe, .rv-modal__video video { display: block; width: 100%; height: 100%; border: 0; }
.rv .rv-modal__dialog--video .rv-modal__close { top: -40px; right: 0; color: #fff; font-size: 32px; line-height: 24px; }
.rv-modal--video { align-items: center; }

/* ---------- 1.3.0: QA round 2 ---------- */
/* seals: never show the square background of an exported SVG while it spins */
.rv .rv-seal img, .rv .rv-ptech__seal img { clip-path: circle(50% at 50% 50%); }

/* product hero is boxed to the 1440 Figma frame on wider screens (background stays full width) */
@media (min-width: 1441px) {
	.rv-pdp { padding-left: calc((100% - 1416px) / 2); padding-right: calc((100% - 1416px) / 2); }
}

/* technology cards: no tablet frame in Figma; keep the inner padding between mobile (12) and desktop (36) */
@media (min-width: 768px) and (max-width: 1023px) {
	.rv-ptech__body { padding: 0 24px; }
}

/* multi-area discount hint + change highlight */
.rv .rv-pdp__nudge { margin-top: 12px; font-size: 12px; line-height: 16px; font-weight: 700; color: #027100; }
.rv .rv-pdp__nudge[hidden] { display: none; }
@keyframes rv-bump { 0% { transform: scale(1); } 35% { transform: scale(1.12); } 100% { transform: scale(1); } }
@keyframes rv-flash { 0% { background-color: rgba(2,113,0,.16); } 100% { background-color: transparent; } }
.rv .rv-bump { animation: rv-bump .45s cubic-bezier(.2,.8,.2,1); transform-origin: center; }
.rv .rv-ses__save.rv-bump, .rv .rv-pdp__nudge.rv-bump { animation: rv-bump .45s cubic-bezier(.2,.8,.2,1), rv-flash .9s ease-out; }
.rv .rv-sum__row--disc b.rv-bump { display: inline-block; transform-origin: right center; }
.rv .rv-ses__save, .rv [data-sum-pct] { will-change: transform; }
@media (prefers-reduced-motion: reduce) { .rv .rv-bump { animation: none !important; } }

/* video lightbox: vertical clips (Shorts / portrait uploads) + playable cards */
.rv-modal--vertical .rv-modal__dialog--video { width: auto; background: transparent; }
.rv-modal--vertical .rv-modal__video { width: min(calc((100vh - 120px) * 9 / 16), calc(100vw - 24px)); aspect-ratio: 9 / 16; background: #000; }
/* uploaded files keep their own shape (landscape, square or portrait) and always fit the screen */
.rv-modal--file .rv-modal__dialog--video { width: auto; max-width: 100%; background: transparent; }
.rv-modal--file .rv-modal__video { width: auto; aspect-ratio: auto; display: flex; justify-content: center; }
.rv .rv-modal--file .rv-modal__video video { width: auto; height: auto; max-width: min(1100px, calc(100vw - 24px)); max-height: calc(100vh - 120px); background: #000; }
.rv a.rv-pcard[data-rv-video] { cursor: pointer; }
.rv a.rv-pcard[data-rv-video]:focus-visible .rv-pcard__play { transform: scale(1.06); }

/* ---------------------------------------------------------------------------
 * Max content width (rrb 1.4.0): the design is a 1440px frame. On wider
 * screens every section keeps its background edge to edge, but its content
 * (images, sliders, badges included) stays inside a centered 1440px frame and
 * is laid out exactly like at 1440px.
 * ------------------------------------------------------------------------ */
@media (min-width: 1441px) {
	.rv { --rv-frame-gap: calc((100% - 1440px) / 2); }
	/* full-bleed sections: size the inner gutters as if the screen were 1440px */
	.rv-hero, .rv-why, .rv-tech, .rv-contact {
		--rv-vw-real: 1440px;
		--rv-gut: max(var(--rv-pad), calc((var(--rv-vw-real) - 1344px) / 2));
		--rv-gut-in: max(var(--rv-pad-in), calc((var(--rv-vw-real) - 1440px) / 2 + var(--rv-pad-in)));
		--rv-split-h: min(calc(var(--rv-vw-real) / 2 - 12px), 820px);
	}
	.rv-hero, .rv-why, .rv-tech, .rv-contact { padding-left: var(--rv-frame-gap); padding-right: var(--rv-frame-gap); }
	.rv-tech .rv-seal { right: calc(var(--rv-frame-gap) + 35px); }
	/* sliders bleed to the frame edge, not the screen edge */
	.rv .rv-slider__viewport { width: calc(100% + var(--rv-pad)); margin-right: calc(-1 * var(--rv-pad)); }
	.rv .rv-slider__track { padding-right: var(--rv-pad); }
	/* product page card carousels (video, team, guides): stop at the frame edge too */
	.rv-pcards { padding-right: calc(var(--rv-gut) - var(--rv-pad)); }
	.rv-pcards .rv-phead { padding-right: var(--rv-pad); }
	.rv-pcards .rv-slider__viewport { width: 100%; margin-right: 0; }
	.rv-pcards .rv-slider__track { padding-right: var(--rv-pad); }
	.rv-pcards .rv-slider__dots { margin-left: calc(-1 * var(--rv-pad)); }
	.rv-pcards--line::after { margin-right: var(--rv-pad); }
}

/* Product template pages (rrb 1.4.0): the design's cream page background
 * (sections with transparent backgrounds rely on it) and no theme sticky bar. */
html:has(> body.rrb-pdp-template), body.rrb-pdp-template { background-color: #f7f6f2; }
body.rrb-pdp-template #sticky-add-to-cart { display: none !important; }

/* Steps (rrb 1.5.0): the connector line works for any number of steps.
 * Each step draws the line from its own bubble to the next one, instead of
 * one line sized for exactly four steps. */
.rv-steps__list::before { content: none; }
.rv .rv-steps__num { position: relative; z-index: 1; }
.rv .rv-steps__item:not(:last-child)::after { content: ""; position: absolute; z-index: 0; top: 32px; left: 50%; width: calc(100% + 24px); height: 1px; background: var(--rv-blue); }
.rv-steps__list:has(> .rv-steps__item:nth-child(5)) .rv-steps__item { padding: 0 12px; }
@media (max-width: 1023px) {
	.rv-steps__list:has(> .rv-steps__item:nth-child(5)) .rv-steps__item { padding: 0 4px; }
}
@media (max-width: 767px) {
	.rv .rv-steps__item:not(:last-child)::after { top: 16px; left: 16px; width: 1px; height: calc(100% + 12px); }
	.rv-steps__list:has(> .rv-steps__item:nth-child(5)) .rv-steps__item { padding: 0; }
}

/* Header (rrb 1.5.0): no outer padding at the top and sides; the countdown
 * bar runs edge to edge. On mobile the logo row keeps its own side space. */
.rv-header { padding: 0; }
.rv-header__bar { border-radius: 0; }
@media (max-width: 1199px) {
	.rv-header { padding: 0; }
	.rv-header__row { padding: 0 12px; }
}

/* rrb umlauts: Nanum Myeongjo has no dieresis glyphs; these faces add composite a/o/u/e/y + A/O/U/E dieresis only (built from the font's own i-dot). Source: rrb-patch/assets/fonts */
@font-face{font-family:'Nanum Myeongjo';font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+00C4,U+00CB,U+00D6,U+00DC,U+00E4,U+00EB,U+00F6,U+00FC,U+00FF;}
@font-face{font-family:'Nanum Myeongjo';font-style:normal;font-weight:700;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+00C4,U+00CB,U+00D6,U+00DC,U+00E4,U+00EB,U+00F6,U+00FC,U+00FF;}

/* product page configurator: session card texts wrap instead of being cut off (2026-11-12) */
.rv .rv-ses { min-width: 0; }
.rv .rv-ses__empty, .rv .rv-ses__priced, .rv .rv-ses__row { max-width: 100%; min-width: 0; }
.rv .rv-ses__note, .rv .rv-ses__tag { white-space: normal; overflow-wrap: break-word; hyphens: auto; }
.rv-pdp.is-switching { opacity: .6; pointer-events: none; transition: opacity .2s; }

/* QA 2026-11-12 F6: configurator area grid. A long area (men "Ganzkoerper" + badge
 * "ohne Intimbereich") set the min-content of a 1fr track, so the right column ran
 * past the card. Grid items may shrink. Badges stay inline after the name as the Figma
 * pill (PDP tile 10409:44717) wherever they fit; in the two-column desktop grid
 * (>=1280px, ~258px tiles) they fit nowhere, so there the badge is a small muted
 * line under the name, the tile keeps its 48px height and the checkbox lines up
 * with the name. */
.rv-areas > .rv-area { min-width: 0; }
.rv-area__name { min-width: 0; }
.rv-area__name > span:first-child { min-width: 0; overflow-wrap: anywhere; -webkit-hyphens: auto; hyphens: auto; }
.rv-area__name .rv-badge { flex: 0 0 auto; }
@media (max-width: 400px) {
	.rv-area__name .rv-badge { padding-left: 8px; padding-right: 8px; }
}
@media (min-width: 1280px) {
	.rv-area:has(.rv-badge) { padding-top: 6px; padding-bottom: 6px; }
	.rv-area:has(.rv-badge) .rv-area__box { align-self: flex-start; }
	.rv-area__name:has(.rv-badge) { flex-direction: column; align-items: flex-start; gap: 0; }
	.rv-area__name .rv-badge { border: 0; border-radius: 0; padding: 0; background: none; color: #657184; font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0; text-transform: none; white-space: normal; }
}

/* Telegram 11-13 hover bug: Avada global `a:hover { color: var(--link_hover_color) }` (#101b2d)
 * out-specified the rrb link colours, so the white text of the navy "Laserpakete bis zu -49 %"
 * bar (header, every page) and other white rrb link cards turned near-black on hover/focus.
 * Pin the colour for the white-text rrb links; specificity (0,3,0) beats a:hover (0,1,1). */
.rv .rv-header__bar-text:hover,
.rv .rv-header__bar-text:focus,
.rv .rv-header__bar-text:focus-visible,
.rv .rv-header__bar-text:active,
.rv .rv-header__bar-text:visited { color: #fff; }
.rv .rv-tcard:hover,
.rv .rv-tcard:focus,
.rv .rv-tcard:focus-visible,
.rv a.rv-offer-card:hover,
.rv a.rv-offer-card:focus,
.rv a.rv-offer-card:focus-visible,
.rv a.rv-google:hover,
.rv a.rv-google:focus,
.rv a.rv-google:focus-visible { color: #fff; }
/* dark-text rrb links keep their own navy instead of Avada's hover colour */
.rv a.rv-header__logo:hover, .rv a.rv-pill-link:hover, .rv a.rv-lang-pill:hover,
.rv a.rv-cart:hover, .rv a.rv-rating:hover, .rv a.rv-pill-btn:hover,
.rv a.rv-pkg__media:hover, .rv a.rv-insta__tile:hover { color: #273855; }

/* Telegram fixes 2026-11-13: allocation numbers hidden by default (toggle "Show allocation numbers"); radio area tiles */
.rv .rv-alloc--nocount .rv-alloc__row > b { display: none; }
.rv .rv-alloc--nocount .rv-alloc__row > span { max-width: none; }
.rv.rv-pdp--radio .rv-area__box { border: 2px solid #657184; border-radius: 50%; }
.rv.rv-pdp--radio .rv-area.is-checked .rv-area__box { border-color: transparent; }
.rv.rv-pdp--radio .rv-area__box svg { margin: -2px; }

/* Sale price 2026-11-13: regular per-session price struck through on the area tile. */
.rv .rv-area__price b { display: flex; align-items: baseline; gap: 4px; }
.rv .rv-area__price .rv-area__was { font-size: 12px; line-height: 16px; font-weight: 400; color: var(--rv-grey); text-decoration: line-through; }
