/* ==========================================================================
   Resala Moments — theme styles
   Cream · gold · espresso. RTL-first, logical properties throughout.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root {
	--rm-ivory: #F8F4EE;
	--rm-cream: #F0E8DC;
	--rm-sand: #E3D5C0;
	--rm-blush: #EEDFD8;
	--rm-gold: #B08D57;
	--rm-gold-light: #D8BE8E;
	--rm-gold-ink: #7E5F36;
	--rm-cocoa: #5E4E43;
	--rm-espresso: #241B16;
	--rm-white: #FFFFFF;
	--rm-line: rgba(126, 95, 54, .22);
	--rm-line-soft: rgba(126, 95, 54, .13);

	/* Headlines: Forma DJR Arabic Banner. Text: IBM Plex Sans Arabic. Both are loaded in inc/fonts.php. */
	--rm-display: "Forma DJR Arabic Banner", "IBM Plex Sans Arabic", system-ui, sans-serif;
	--rm-body: "IBM Plex Sans Arabic", system-ui, sans-serif;
	--rm-latin: var(--rm-display);
	--rm-label: var(--rm-body);

	--rm-wrap: 1240px;
	--rm-pad: clamp(16px, 4vw, 48px);
	--rm-sec: clamp(72px, 10vw, 136px);
	--rm-radius: 18px;
	--rm-ease: cubic-bezier(.22, .61, .36, 1);
	--rm-shadow: 0 30px 60px -32px rgba(36, 27, 22, .38);
	--rm-header-h: 84px;

	--rm-ico-mark: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 fill=%27none%27 stroke=%27black%27 stroke-width=%275.5%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M24 70V32l26 21 26-21v38z%27/%3E%3Ccircle cx=%2750%27 cy=%2759%27 r=%275%27 fill=%27black%27 stroke=%27none%27/%3E%3C/svg%3E");
	--rm-ico-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 7h21M16 1l6 6-6 6'/%3E%3C/svg%3E");
	--rm-ico-tiktok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.53.02C13.84 0 15.14.01 16.44 0c.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07Z'/%3E%3C/svg%3E");
	--rm-ico-team: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
	--rm-ico-film: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z'/%3E%3Cpath d='m6.2 5.3 3.1 3.9M12.4 3.4l3.1 4'/%3E%3Cpath d='M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z'/%3E%3C/svg%3E");
	--rm-ico-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
	--rm-ico-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
	--rm-ico-whatsapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.26-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.21 3.07.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.7.63.71.22 1.36.19 1.87.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.18-1.41-.08-.13-.28-.2-.57-.35m-5.42 7.4h-.01a9.87 9.87 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88 2.64 0 5.12 1.03 6.99 2.9a9.83 9.83 0 0 1 2.89 6.99c0 5.45-4.44 9.88-9.88 9.88m8.41-18.3A11.82 11.82 0 0 0 12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.88 11.88 0 0 0 5.68 1.45h.01c6.55 0 11.89-5.34 11.89-11.89 0-3.18-1.24-6.17-3.48-8.41Z'/%3E%3C/svg%3E");
	--rm-ico-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cpath d='M17.5 6.5h.01'/%3E%3C/svg%3E");
	--rm-ico-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--rm-ico-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
	--rm-ico-sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.94 15.5A2 2 0 0 0 8.5 14.06l-6.13-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0l1.58 6.14a2 2 0 0 0 1.44 1.44l6.13 1.58a.5.5 0 0 1 0 .96l-6.13 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0Z'/%3E%3Cpath d='M20 3v4M22 5h-4'/%3E%3C/svg%3E");
	--rm-ico-layers: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z'/%3E%3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65'/%3E%3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65'/%3E%3C/svg%3E");
	--rm-ico-rings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='15' r='5.5'/%3E%3Ccircle cx='15' cy='15' r='5.5'/%3E%3Cpath d='M10.4 5.6 12 3.2l1.6 2.4L12 8Z'/%3E%3C/svg%3E");
	--rm-ico-baby: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12h.01M15 12h.01'/%3E%3Cpath d='M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5'/%3E%3Cpath d='M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1'/%3E%3C/svg%3E");
	--rm-ico-cake: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8'/%3E%3Cpath d='M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1'/%3E%3Cpath d='M2 21h20M7 8v3M12 8v3M17 8v3M7 4h.01M12 4h.01M17 4h.01'/%3E%3C/svg%3E");
	--rm-ico-briefcase: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3Crect width='20' height='14' x='2' y='6' rx='2'/%3E%3C/svg%3E");
}


/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--rm-header-h) + 16px); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	font-family: var(--rm-body);
	font-weight: 400;
	background: var(--rm-ivory);
	color: var(--rm-espresso);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
html[lang^="en"] body { line-height: 1.7; letter-spacing: .01em; }
:root :is(h1, h2) { font-family: var(--rm-display); font-weight: 300; }
:root :is(h3, h4, h5, h6) { font-family: var(--rm-body); font-weight: 500; }
html[lang^="en"] :is(h1, h2) { line-height: 1.08; letter-spacing: .008em; }
strong, b { font-weight: 700; }

::selection { background: var(--rm-gold-light); color: var(--rm-espresso); }
img { max-width: 100%; height: auto; }
.rm-form, .rm-form *, .rm-form *::before, .rm-form *::after, .rm-info, .rm-info * { box-sizing: border-box; }
a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--rm-gold-ink); outline-offset: 3px; border-radius: 4px; }

:where(.wp-site-blocks) > * { margin-block-start: 0; }
.rm-main .wp-block-post-content > * { margin-block: 0; }

.rm-sec { position: relative; padding: var(--rm-sec) var(--rm-pad); }
.rm-wrap { max-width: var(--rm-wrap); margin-inline: auto; width: 100%; }
.rm-wrap > *, .rm-head > *, .rm-sec .wp-block-group > * { margin-block: 0; }

.rm-center { text-align: center; }
.rm-muted { color: var(--rm-cocoa); }

/* ---------- Type helpers ---------- */
.rm-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .85em;
	margin: 0 0 1rem !important;
	font-family: var(--rm-label);
	font-size: .95rem;
	font-weight: 500;
	color: var(--rm-gold-ink);
	letter-spacing: .02em;
}
html[lang^="en"] .rm-eyebrow { font-size: .78rem; letter-spacing: .24em; text-transform: uppercase; }
.rm-eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7; flex: none; }

.rm-title {
	font-size: clamp(2rem, 4.2vw, 3.3rem);
	line-height: 1.35;
	margin: 0 0 1.1rem !important;
	color: inherit;
	text-wrap: balance;
}
html[lang^="en"] .rm-title { line-height: 1.1; font-size: clamp(2.2rem, 4.6vw, 3.6rem); }

.rm-lead { font-size: clamp(1.05rem, 1.35vw, 1.2rem); line-height: 1.95; color: var(--rm-cocoa); margin: 0 0 1rem !important; text-wrap: pretty; }
html[lang^="en"] .rm-lead { line-height: 1.75; }

.rm-head { max-width: 760px; margin: 0 auto clamp(40px, 6vw, 72px) !important; text-align: center; }
.rm-head .rm-eyebrow { justify-content: center; }
.rm-head .rm-eyebrow::after { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.rm-head .rm-title { margin-bottom: .6rem !important; }

.rm-signature { font-family: var(--rm-display); font-weight: 200; font-size: 1.9rem; color: var(--rm-gold-ink); margin: 1.4rem 0 0 !important; line-height: 1.3; }
html[lang^="en"] .rm-signature { letter-spacing: .02em; }

/* Phones: tighter rhythm so pages read shorter */
@media (max-width: 640px) {
	:root { --rm-sec: 56px; }
	.rm-eyebrow { margin-bottom: .6rem !important; font-size: .88rem; }
	.rm-title { font-size: 1.8rem; line-height: 1.4; margin-bottom: .8rem !important; }
	html[lang^="en"] .rm-title { font-size: 2rem; }
	.rm-lead { font-size: 1rem; line-height: 1.85; }
	.rm-head { margin-bottom: 26px !important; }
	.rm-head .rm-lead { font-size: .95rem; }
	.rm-signature { margin-top: 1rem !important; font-size: 1.5rem; }
	.wp-block-buttons.rm-actions { margin-top: 1.4rem !important; }
}

.rm-quote {
	font-family: var(--rm-display);
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	line-height: 1.6;
	color: var(--rm-gold-ink);
	border-inline-start: 2px solid var(--rm-gold);
	padding-inline-start: 22px;
	margin-top: 1.8rem !important;
}
.rm-quote { font-weight: 300; }
html[lang^="en"] .rm-quote { line-height: 1.3; }

.rm-textlink { margin-top: 1.4rem !important; }
.rm-textlink a, .rm-card__link a {
	color: var(--rm-gold-ink);
	font-weight: 500;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	transition: color .25s, border-color .25s;
}
.rm-textlink a:hover, .rm-card__link a:hover { color: var(--rm-espresso); }
.rm-arrow {
	display: inline-block;
	width: 1.1em;
	height: .7em;
	margin-inline-start: .5em;
	vertical-align: middle;
	background: currentColor;
	-webkit-mask: var(--rm-ico-arrow) center / contain no-repeat;
	mask: var(--rm-ico-arrow) center / contain no-repeat;
	transition: transform .35s var(--rm-ease);
}
html[dir="rtl"] .rm-arrow { transform: scaleX(-1); }
a:hover > .rm-arrow { transform: translateX(4px); }
html[dir="rtl"] a:hover > .rm-arrow { transform: scaleX(-1) translateX(4px); }

/* ---------- Buttons ---------- */
.wp-block-buttons.rm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2rem !important; }
.rm-actions--center { justify-content: center; }
.rm-btn .wp-block-button__link,
.rm-submit,
.rm-hbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6em;
	min-height: 52px;
	padding: .8em 1.9em;
	border-radius: 999px;
	border: 1px solid transparent;
	font-family: var(--rm-body);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .3s var(--rm-ease), color .3s var(--rm-ease), border-color .3s var(--rm-ease), transform .3s var(--rm-ease), box-shadow .3s var(--rm-ease);
}
.rm-btn .wp-block-button__link:hover, .rm-submit:hover { transform: translateY(-2px); }
.rm-btn .wp-block-button__link:active, .rm-submit:active { transform: translateY(0); }

.rm-btn--primary .wp-block-button__link, .rm-submit { background: var(--rm-espresso); color: var(--rm-ivory); box-shadow: 0 14px 30px -18px rgba(36, 27, 22, .7); }
.rm-btn--primary .wp-block-button__link:hover, .rm-submit:hover { background: var(--rm-gold-ink); color: var(--rm-white); }

.rm-btn--ghost .wp-block-button__link { background: transparent; color: var(--rm-espresso); border-color: rgba(36, 27, 22, .32); }
.rm-btn--ghost .wp-block-button__link:hover { border-color: var(--rm-espresso); background: rgba(36, 27, 22, .04); color: var(--rm-espresso); }

.rm-btn--gold .wp-block-button__link { background: var(--rm-gold-light); color: var(--rm-espresso); }
.rm-btn--gold .wp-block-button__link:hover { background: #E8D5AF; color: var(--rm-espresso); }

.rm-btn--light .wp-block-button__link { background: transparent; color: var(--rm-ivory); border-color: rgba(248, 244, 238, .42); }
.rm-btn--light .wp-block-button__link:hover { border-color: var(--rm-ivory); background: rgba(248, 244, 238, .08); color: var(--rm-ivory); }

.rm-btn--wa .wp-block-button__link::before,
.rm-btn--ig .wp-block-button__link::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--rm-ico-whatsapp) center / contain no-repeat;
	mask: var(--rm-ico-whatsapp) center / contain no-repeat;
}
.rm-btn--ig .wp-block-button__link::before { -webkit-mask-image: var(--rm-ico-instagram); mask-image: var(--rm-ico-instagram); }

/* ---------- Icons ---------- */
.rm-ico {
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--i) center / contain no-repeat;
	mask: var(--i) center / contain no-repeat;
	vertical-align: middle;
}
.rm-ico--whatsapp { --i: var(--rm-ico-whatsapp); }
.rm-ico--instagram { --i: var(--rm-ico-instagram); }
.rm-ico--pin { --i: var(--rm-ico-pin); }
.rm-ico--heart { --i: var(--rm-ico-heart); }
.rm-ico--sparkle { --i: var(--rm-ico-sparkle); }
.rm-ico--layers { --i: var(--rm-ico-layers); }
.rm-ico--rings { --i: var(--rm-ico-rings); }
.rm-ico--baby { --i: var(--rm-ico-baby); }
.rm-ico--cake { --i: var(--rm-ico-cake); }
.rm-ico--briefcase { --i: var(--rm-ico-briefcase); }
.rm-ico--tiktok { --i: var(--rm-ico-tiktok); }
.rm-ico--team { --i: var(--rm-ico-team); }
.rm-ico--film { --i: var(--rm-ico-film); }
.rm-ico--clock { --i: var(--rm-ico-clock); }
.rm-ico--lock { --i: var(--rm-ico-lock); }

/* ==========================================================================
   Header
   ========================================================================== */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }

/* The blur lives on a pseudo-element: backdrop-filter on the header itself would trap the fixed mobile menu inside it. */
.rm-header {
	position: relative;
	isolation: isolate;
	padding-inline: var(--rm-pad);
	border-bottom: 1px solid transparent;
	transition: border-color .35s, box-shadow .35s;
}
.rm-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(248, 244, 238, .88);
	-webkit-backdrop-filter: saturate(150%) blur(14px);
	backdrop-filter: saturate(150%) blur(14px);
	transition: background-color .35s;
}
.rm-scrolled .rm-header { border-bottom-color: var(--rm-line-soft); box-shadow: 0 12px 30px -24px rgba(36, 27, 22, .35); }
.rm-scrolled .rm-header::before { background: rgba(248, 244, 238, .95); }

.rm-header__inner {
	max-width: var(--rm-wrap);
	margin-inline: auto;
	min-height: var(--rm-header-h);
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 24px;
}
.rm-header__inner > * { margin: 0 !important; }

.rm-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--rm-espresso); text-decoration: none; }
.rm-mark { width: 50px; height: 50px; flex: none; color: currentColor; transition: transform .6s var(--rm-ease); }
.rm-brand:hover .rm-mark { transform: rotate(-8deg); }
.rm-brand__text { display: flex; flex-direction: column; line-height: 1.05; }
.rm-brand__en { font-family: var(--rm-display); font-size: 1.4rem; font-weight: 400; letter-spacing: .03em; direction: ltr; }
.rm-brand__ar { font-family: var(--rm-body); font-weight: 500; font-size: .78rem; color: var(--rm-gold-ink); margin-top: 4px; }
html[lang^="en"] .rm-brand__ar { text-align: start; }

/* Navigation */
.rm-nav { justify-self: center; font-size: .98rem; font-weight: 500; }
.rm-nav .wp-block-navigation__container { gap: clamp(18px, 2.4vw, 38px); }
.rm-nav .wp-block-navigation-item__content { color: var(--rm-espresso); text-decoration: none; padding-block: 8px; position: relative; }
.rm-nav .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: 2px;
	height: 1px;
	background: var(--rm-gold);
	transform: scaleX(0);
	transition: transform .4s var(--rm-ease);
}
.rm-nav .wp-block-navigation-item__content:hover::after,
.rm-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.rm-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--rm-gold-ink); }

/* Mobile overlay */
.rm-nav .wp-block-navigation__responsive-container-open,
.rm-nav .wp-block-navigation__responsive-container-close { color: var(--rm-espresso); padding: 10px; margin: -10px; }
.rm-nav .wp-block-navigation__responsive-container-open svg,
.rm-nav .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.rm-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--rm-ivory) !important;
	color: var(--rm-espresso) !important;
	padding: clamp(20px, 6vw, 48px);
	background-image: radial-gradient(600px 400px at 100% 0%, rgba(216, 190, 142, .28), transparent 60%) !important;
}
.rm-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px !important; }
.rm-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; }
.rm-nav .is-menu-open .wp-block-navigation__container { gap: 6px !important; align-items: stretch !important; width: 100%; max-width: 520px; margin-inline: auto; }
.rm-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--rm-line-soft); }
.rm-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--rm-display); font-weight: 300; font-size: 1.9rem; padding-block: 12px !important; display: block; width: 100%; text-align: start; }
html[lang^="en"] .rm-nav .is-menu-open .wp-block-navigation-item__content { font-size: 2.2rem; }
.rm-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }

.rm-header__actions { display: flex; align-items: center; gap: 12px; }
.rm-lang {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 0 14px;
	border: 1px solid var(--rm-line);
	border-radius: 999px;
	color: var(--rm-espresso);
	text-decoration: none;
	font-family: var(--rm-body);
	font-size: .82rem;
	font-weight: 500;
	letter-spacing: .14em;
	transition: border-color .25s, background-color .25s;
}
.rm-lang:lang(ar) { letter-spacing: 0; font-size: .92rem; }
.rm-lang:hover { border-color: var(--rm-gold-ink); background: rgba(176, 141, 87, .08); color: var(--rm-espresso); }
.rm-hbtn { min-height: 46px; padding: .6em 1.35em; background: var(--rm-espresso); color: var(--rm-ivory); font-size: .95rem; }
.rm-hbtn:hover { background: var(--rm-gold-ink); color: var(--rm-white); }
.rm-hbtn .rm-ico { width: 18px; height: 18px; }

@media (min-width: 600px) and (max-width: 1024px) {
	.rm-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.rm-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 1024px) {
	.rm-header__inner { display: flex; gap: 12px; }
	.rm-brand { margin-inline-end: auto; }
	.rm-header__actions { order: 2; }
	.rm-nav { order: 3; }
}
@media (max-width: 640px) {
	:root { --rm-header-h: 70px; }
	.rm-hbtn { display: none; }
	.rm-mark { width: 42px; height: 42px; }
	.rm-brand__en { font-size: 1.2rem; }
	.rm-brand__ar { font-size: .72rem; }
}

/* ==========================================================================
   Home — hero
   ========================================================================== */
.rm-hero {
	padding: clamp(28px, 5vw, 72px) var(--rm-pad) clamp(64px, 8vw, 120px);
	background:
		radial-gradient(1100px 600px at 92% 8%, rgba(216, 190, 142, .26), transparent 60%),
		radial-gradient(800px 500px at 0% 100%, rgba(238, 223, 216, .75), transparent 60%),
		var(--rm-ivory);
	overflow: hidden;
}
.rm-hero__inner {
	max-width: var(--rm-wrap);
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	align-items: center;
	gap: clamp(32px, 6vw, 96px);
}
.rm-hero__inner > *, .rm-hero__text > *, .rm-hero__media > * { margin-block: 0; }
.rm-hero__title {
	font-weight: 200;
	font-size: clamp(2.7rem, 6.4vw, 5.4rem);
	line-height: 1.28;
	margin: .15em 0 .35em !important;
	color: var(--rm-espresso);
}
.rm-hero__title em { font-style: normal; font-weight: 400; color: var(--rm-gold-ink); }
html[lang^="en"] .rm-hero__title { line-height: 1.04; font-size: clamp(2.6rem, 5vw, 4.4rem); }
.rm-hero__title { text-wrap: balance; }
.rm-hero .rm-lead { max-width: 33em; }
/* Emirati-owned badge: the one place this is said, so it has to be seen */
.rm-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 1.5rem !important;
	padding: 12px 24px 12px 20px;
	border: 1px solid var(--rm-gold);
	border-radius: 999px;
	background: rgba(255, 255, 255, .6);
	box-shadow: 0 14px 30px -22px rgba(36, 27, 22, .55);
	font-size: 1.12rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--rm-espresso);
}
.rm-hero__badge::before {
	content: "";
	flex: none;
	width: 30px;
	height: 20px;
	border-radius: 3px;
	background:
		linear-gradient(to right, #C8102E 0 26%, transparent 26%),
		linear-gradient(to bottom, #00843D 0 33.4%, #FFFFFF 33.4% 66.6%, #000000 66.6%);
	box-shadow: 0 0 0 1px rgba(36, 27, 22, .14);
}
html[lang^="en"] .rm-hero__badge { font-size: .95rem; letter-spacing: .02em; }
.rm-hero__meta {
	display: flex;
	align-items: center;
	gap: .7em;
	margin-top: 1.8rem !important;
	font-size: .92rem;
	color: var(--rm-cocoa);
}
.rm-hero__meta::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--rm-gold); box-shadow: 0 0 0 5px rgba(176, 141, 87, .16); }

.rm-hero__media { position: relative; width: 100%; max-width: 520px; justify-self: center; padding-block-end: 36px; isolation: isolate; }
.rm-hero__media::before {
	content: "";
	position: absolute;
	inset-block: -16px 20px;
	inset-inline: 16px -16px;
	border: 1px solid var(--rm-gold);
	border-radius: 999px 999px 26px 26px;
	z-index: -1;
	opacity: .7;
}
.rm-hero__main { margin: 0; }
.rm-hero__main img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 30%;
	border-radius: 999px 999px 22px 22px;
	box-shadow: var(--rm-shadow);
}
.rm-hero__thumb {
	position: absolute !important;
	inset-inline-end: -7%;
	bottom: 0;
	width: 40%;
	margin: 0;
	z-index: 2;
}
.rm-hero__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: 50% 40%;
	border-radius: 50%;
	border: 6px solid var(--rm-ivory);
	box-shadow: 0 24px 48px -24px rgba(36, 27, 22, .55);
}

/* Wax seal */
.rm-seal {
	position: absolute;
	inset-inline-start: -4%;
	top: 16%;
	z-index: 3;
	width: clamp(74px, 8vw, 96px);
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	border-radius: 47% 53% 50% 50% / 52% 48% 52% 48%;
	background: radial-gradient(circle at 34% 30%, #D2B07A 0%, #A9824C 45%, #7E5F36 100%);
	box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .07), inset 0 -6px 12px rgba(0, 0, 0, .2), 0 16px 30px -14px rgba(36, 27, 22, .6);
	transform: rotate(-10deg);
}
.rm-seal::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; border: 1px dashed rgba(255, 244, 222, .45); }
.rm-seal__mark { display: block; width: 58%; aspect-ratio: 1; background: #FBF0DA; -webkit-mask: var(--rm-ico-mark) center / contain no-repeat; mask: var(--rm-ico-mark) center / contain no-repeat; filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .25)); }

/* Entrance */
@keyframes rm-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes rm-unveil { from { opacity: 0; clip-path: inset(18% 0 0 0 round 999px 999px 22px 22px); transform: scale(1.04); } to { opacity: 1; clip-path: inset(0 0 0 0 round 999px 999px 22px 22px); transform: none; } }
@keyframes rm-pop { from { opacity: 0; transform: scale(.6) rotate(-30deg); } to { opacity: 1; transform: rotate(-10deg); } }
.rm-js .rm-hero__text > * { animation: rm-rise 1s var(--rm-ease) both; }
.rm-js .rm-hero__text > :nth-child(2) { animation-delay: .1s; }
.rm-js .rm-hero__text > :nth-child(3) { animation-delay: .2s; }
.rm-js .rm-hero__text > :nth-child(4) { animation-delay: .3s; }
.rm-js .rm-hero__text > :nth-child(5) { animation-delay: .4s; }
.rm-js .rm-hero__main img { animation: rm-unveil 1.4s var(--rm-ease) both .1s; }
.rm-js .rm-hero__thumb { animation: rm-rise 1.1s var(--rm-ease) both .6s; }
.rm-js .rm-seal { animation: rm-pop .9s var(--rm-ease) both .9s; }

@media (max-width: 900px) {
	.rm-hero__inner { grid-template-columns: 1fr; text-align: center; }
	.rm-hero__media { order: -1; max-width: 400px; }
	.rm-hero .rm-eyebrow, .rm-hero__meta, .rm-hero .rm-actions { justify-content: center; }
	.rm-hero__badge { margin-inline: auto !important; }
	.rm-hero .rm-lead { margin-inline: auto !important; }
}
@media (max-width: 640px) {
	.rm-hero__media { max-width: 300px; padding-block-end: 24px; }
	.rm-hero__thumb { width: 38%; inset-inline-end: -10%; }
	.rm-seal { inset-inline-start: -8%; }
	.rm-hero .rm-actions { flex-direction: column; align-items: stretch; }
	.rm-hero .rm-actions .wp-block-button { width: 100%; }
	.rm-hero .rm-actions .wp-block-button__link { width: 100%; }
}

/* ==========================================================================
   Home — video hero (full-width background video, header floats over it)
   ========================================================================== */
.rm-vhero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(620px, 100svh, 980px);
	padding: calc(var(--rm-header-h) + 40px) var(--rm-pad) clamp(64px, 10vh, 110px);
	overflow: hidden;
	background: var(--rm-espresso);
	color: var(--rm-ivory);
}
.rm-vhero > * { margin: 0 !important; }
.rm-vhero__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; container-type: size; }
.rm-vhero__video {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100cqw;
	height: 100cqh;
	object-fit: cover;
	transform: translate(-50%, -50%);
	background: var(--rm-espresso);
}
/* Footage stored sideways: swap the box, then turn it upright */
.rm-vhero__media.is-rotated .rm-vhero__video { width: 100cqh; height: 100cqw; transform: translate(-50%, -50%) rotate(90deg); }
.rm-vhero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(0deg, rgba(20, 15, 12, .9) 0%, rgba(20, 15, 12, .45) 38%, rgba(20, 15, 12, .12) 65%, rgba(20, 15, 12, .55) 100%),
		linear-gradient(to left, rgba(20, 15, 12, .55), rgba(20, 15, 12, 0) 62%);
}
html[lang^="en"] .rm-vhero__media::after {
	background:
		linear-gradient(0deg, rgba(20, 15, 12, .9) 0%, rgba(20, 15, 12, .45) 38%, rgba(20, 15, 12, .12) 65%, rgba(20, 15, 12, .55) 100%),
		linear-gradient(to right, rgba(20, 15, 12, .55), rgba(20, 15, 12, 0) 62%);
}
.rm-vhero__cue {
	position: absolute;
	z-index: 2;
	left: 50%;
	bottom: 26px;
	width: 1px;
	height: 46px;
	background: linear-gradient(rgba(248, 244, 238, 0), rgba(248, 244, 238, .7));
	overflow: hidden;
}
.rm-vhero__cue::after { content: ""; position: absolute; left: -1px; top: -10px; width: 3px; height: 10px; border-radius: 3px; background: var(--rm-gold-light); animation: rm-cue 2.4s var(--rm-ease) infinite; }
@keyframes rm-cue { to { transform: translateY(66px); } }

.rm-vhero__inner { position: relative; z-index: 2; width: 100%; max-width: var(--rm-wrap); margin-inline: auto !important; }
.rm-vhero__content { max-width: 640px; }
.rm-vhero__content > * { margin-block: 0; }
.rm-vhero .rm-hero__badge {
	border-color: rgba(216, 190, 142, .75);
	background: rgba(20, 15, 12, .35);
	color: var(--rm-ivory);
	box-shadow: none;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.rm-vhero__title {
	margin: .25em 0 .35em !important;
	font-size: clamp(2.6rem, 6vw, 4.9rem);
	font-weight: 200;
	line-height: 1.25;
	color: var(--rm-ivory);
	text-wrap: balance;
	text-shadow: 0 2px 30px rgba(0, 0, 0, .25);
}
.rm-vhero__title em { font-style: normal; font-weight: 400; color: var(--rm-gold-light); }
html[lang^="en"] .rm-vhero__title { line-height: 1.05; font-size: clamp(2.6rem, 5vw, 4.4rem); }
.rm-vhero .rm-lead { max-width: 34em; color: rgba(248, 244, 238, .86); }
.rm-vhero .rm-hero__meta { color: rgba(248, 244, 238, .66); }
.rm-js .rm-vhero__content > * { animation: rm-rise 1.1s var(--rm-ease) both; }
.rm-js .rm-vhero__content > :nth-child(2) { animation-delay: .12s; }
.rm-js .rm-vhero__content > :nth-child(3) { animation-delay: .24s; }
.rm-js .rm-vhero__content > :nth-child(4) { animation-delay: .36s; }
.rm-js .rm-vhero__content > :nth-child(5) { animation-delay: .48s; }

/* Header floats over the video until the page scrolls */
.rm-has-vhero .wp-site-blocks > header.wp-block-template-part { margin-bottom: calc(var(--rm-header-h) * -1); }
.rm-has-vhero:not(.rm-scrolled) .rm-header { border-bottom-color: transparent; box-shadow: none; }
.rm-has-vhero:not(.rm-scrolled) .rm-header::before {
	background: linear-gradient(180deg, rgba(20, 15, 12, .5), rgba(20, 15, 12, 0));
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.rm-has-vhero:not(.rm-scrolled) .rm-brand,
.rm-has-vhero:not(.rm-scrolled) .rm-lang,
.rm-has-vhero:not(.rm-scrolled) .rm-nav .wp-block-navigation__responsive-container-open,
.rm-has-vhero:not(.rm-scrolled) .rm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content { color: var(--rm-ivory); }
.rm-has-vhero:not(.rm-scrolled) .rm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .current-menu-item > .wp-block-navigation-item__content { color: var(--rm-gold-light); }
.rm-has-vhero:not(.rm-scrolled) .rm-brand__ar { color: var(--rm-gold-light); }
.rm-has-vhero:not(.rm-scrolled) .rm-lang { border-color: rgba(248, 244, 238, .4); }
.rm-has-vhero:not(.rm-scrolled) .rm-hbtn { background: var(--rm-gold-light); color: var(--rm-espresso); }
.rm-wa-float { transition: transform .35s var(--rm-ease), background-color .3s, opacity .4s, visibility .4s; }
.rm-has-vhero:not(.rm-scrolled) .rm-wa-float { opacity: 0; visibility: hidden; transform: translateY(12px); }

@media (max-width: 760px) {
	.rm-vhero { display: block; min-height: 0; padding: 0; }
	.rm-vhero__media { position: relative; height: 52svh; min-height: 330px; max-height: 520px; }
	.rm-vhero__media::after,
	html[lang^="en"] .rm-vhero__media::after { background: linear-gradient(0deg, var(--rm-espresso) 0%, rgba(36, 27, 22, .55) 30%, rgba(20, 15, 12, .05) 60%, rgba(20, 15, 12, .5) 100%); }
	.rm-vhero__cue { display: none; }
	.rm-vhero__inner { margin-top: -84px !important; padding: 0 var(--rm-pad) 48px; }
	.rm-vhero__title { font-size: clamp(2.3rem, 9.4vw, 2.9rem); margin-top: .15em !important; }
	.rm-vhero .rm-hero__badge { margin-bottom: 1rem !important; }
	.rm-vhero__content { margin-inline: auto; text-align: center; }
	.rm-vhero .rm-actions, .rm-vhero .rm-hero__meta { justify-content: center; }
	.rm-vhero .rm-actions { flex-direction: column; align-items: stretch; }
	.rm-vhero .rm-actions .wp-block-button, .rm-vhero .rm-actions .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.rm-vhero__cue::after { animation: none; }
	.rm-js .rm-vhero__content > * { animation: none; }
}

/* ---------- Occasions marquee ---------- */
.rm-strip { background: var(--rm-espresso); color: var(--rm-gold-light); padding: 20px 0; overflow: hidden; }
.rm-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.rm-marquee__track {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 14px 0;
	margin: 0;
	padding: 0 var(--rm-pad);
	list-style: none;
	font-family: var(--rm-display);
	font-weight: 300;
	font-size: clamp(1.15rem, 1.8vw, 1.45rem);
	white-space: nowrap;
}
html[lang^="en"] .rm-marquee__track { letter-spacing: .03em; }
.rm-marquee__track li { display: inline-flex; align-items: center; }
.rm-marquee__track li::after { content: ""; width: 6px; height: 6px; margin-inline: 26px; background: var(--rm-gold); transform: rotate(45deg); }
.rm-marquee.is-ready .rm-marquee__track { flex-wrap: nowrap; justify-content: flex-start; width: max-content; padding: 0; animation: rm-marquee 46s linear infinite; }
html[dir="rtl"] .rm-marquee.is-ready .rm-marquee__track { animation-name: rm-marquee-rtl; }
.rm-marquee:hover .rm-marquee__track { animation-play-state: paused; }
@keyframes rm-marquee { to { transform: translateX(-50%); } }
@keyframes rm-marquee-rtl { to { transform: translateX(50%); } }
@media (prefers-reduced-motion: reduce) {
	.rm-marquee.is-ready .rm-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
	.rm-marquee [aria-hidden="true"] { display: none; }
}

/* ---------- Split layouts (intro, story, invitations) ---------- */
.rm-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 7vw, 112px); align-items: center; }
.rm-split--even { grid-template-columns: 1.05fr .95fr; }
.rm-intro__media { position: relative; max-width: 500px; width: 100%; justify-self: center; }
.rm-frame { position: relative; margin: 0; isolation: isolate; }
.rm-frame img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--rm-radius); }
.rm-frame::before {
	content: "";
	position: absolute;
	inset-block: 22px -22px;
	inset-inline: -22px 22px;
	border: 1px solid var(--rm-gold);
	border-radius: calc(var(--rm-radius) + 4px);
	z-index: -1;
}
.rm-intro__text p:not([class]) { color: var(--rm-cocoa); margin-bottom: 1rem !important; }
.rm-story { background: var(--rm-ivory); }

/* Phones: the image becomes a short banner above the text */
@media (max-width: 760px) {
	.rm-split, .rm-split--even { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.rm-intro__media { max-width: none; }
	.rm-intro__media .rm-frame img { aspect-ratio: 16 / 11; }
	.rm-intro .rm-frame img { object-position: 50% 60%; }
	.rm-story .rm-frame img { object-position: 50% 30%; }
	.rm-engagement .rm-intro__media { display: none; }
	.rm-frame::before { inset-block: 10px -10px; inset-inline: -8px 8px; }
}
@media (max-width: 640px) {
	.rm-hero__media::before { inset-inline: 10px -10px; }
}

/* ---------- Service cards ---------- */
.rm-services { background: var(--rm-cream); }
.rm-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.8vw, 26px); }
.rm-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 12px 12px 26px;
	background: var(--rm-ivory);
	border: 1px solid var(--rm-line-soft);
	border-radius: calc(var(--rm-radius) + 6px);
	transition: transform .6s var(--rm-ease), box-shadow .6s var(--rm-ease);
}
.rm-card:hover { transform: translateY(-6px); box-shadow: var(--rm-shadow); }
.rm-card > * { margin-block: 0 !important; }
.rm-card__img { margin: 0 0 20px !important; overflow: hidden; border-radius: 999px 999px 14px 14px; }
.rm-card__img img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform 1.4s var(--rm-ease); }
.rm-card:hover .rm-card__img img { transform: scale(1.06); }
.rm-card__title { font-size: 1.22rem !important; line-height: 1.45; margin: 0 8px 8px !important; }
html[lang^="en"] .rm-card__title { line-height: 1.3; }
.rm-card__text { margin: 0 8px !important; font-size: .97rem; line-height: 1.85; color: var(--rm-cocoa); }
.rm-card__link { margin: auto 8px 0 !important; padding-top: 18px; font-size: .95rem; }
.rm-card__link a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }

@media (max-width: 1100px) { .rm-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) {
	.rm-card { padding: 10px 10px 20px; }
	.rm-card__img { margin-bottom: 16px !important; }
	.rm-card__img img { aspect-ratio: 1; }
	.rm-card__title { font-size: 1.12rem !important; }
	.rm-card__text { font-size: .92rem; line-height: 1.75; }
	.rm-card__link { padding-top: 12px; }
}

/* ---------- Swipe carousels ----------
   Cards and packages swipe on tablets and phones; values, steps and the services rows on phones.
   theme.js adds the dots (or tabs) and hides them whenever a track has nothing to scroll. */
@media (max-width: 1024px) {
	.rm-cards, .rm-tpkgs, .rm-pkgs {
		display: grid;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		grid-auto-flow: column;
		grid-auto-columns: 42%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		margin-inline: calc(var(--rm-pad) * -1);
		padding: 4px var(--rm-pad) 18px;
		scroll-padding-inline: var(--rm-pad);
		scrollbar-width: none;
	}
	.rm-pkgs { grid-auto-columns: 46%; }
	.rm-cards::-webkit-scrollbar, .rm-tpkgs::-webkit-scrollbar, .rm-pkgs::-webkit-scrollbar { display: none; }
	.rm-cards > *, .rm-tpkgs > *, .rm-pkgs > * { scroll-snap-align: start; }
	.rm-card:hover, .rm-tpkg:hover { transform: none; box-shadow: none; }
}
@media (max-width: 760px) {
	.rm-work__grid, .rm-values__grid, .rm-steps, .rm-svc__rows {
		display: grid;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		grid-auto-flow: column;
		grid-auto-columns: 74%;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		margin-inline: calc(var(--rm-pad) * -1);
		padding: 4px var(--rm-pad) 18px;
		scroll-padding-inline: var(--rm-pad);
		scrollbar-width: none;
	}
	.rm-work__grid::-webkit-scrollbar, .rm-values__grid::-webkit-scrollbar, .rm-steps::-webkit-scrollbar, .rm-svc__rows::-webkit-scrollbar { display: none; }
	.rm-work__grid > *, .rm-values__grid > *, .rm-steps > *, .rm-svc__rows > * { scroll-snap-align: start; }
	.rm-cards { grid-auto-columns: 70%; }
	.rm-tpkgs { grid-auto-columns: 74%; }
	.rm-pkgs { grid-auto-columns: 86%; }
}
.rm-dots { display: flex; justify-content: center; gap: 8px; margin-top: 6px; }
.rm-dots[hidden], .rm-tabs[hidden] { display: none; }
.rm-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: rgba(126, 95, 54, .28); cursor: pointer; transition: width .3s var(--rm-ease), background-color .3s; position: relative; }
.rm-dots button::before { content: ""; position: absolute; inset: -14px -6px; }
.rm-dots button[aria-current="true"] { width: 24px; background: var(--rm-gold-ink); }

/* Tabs: labelled dots above a carousel (services page on phones) */
.rm-tabs {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	margin: 0 calc(var(--rm-pad) * -1) 10px;
	padding: 4px var(--rm-pad);
	scrollbar-width: none;
}
.rm-tabs::-webkit-scrollbar { display: none; }
.rm-tabs button {
	flex: none;
	min-height: 44px;
	padding: 8px 18px;
	border: 1px solid var(--rm-line);
	border-radius: 999px;
	background: transparent;
	color: var(--rm-cocoa);
	font: inherit;
	font-size: .92rem;
	font-weight: 500;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .3s, color .3s, border-color .3s;
}
.rm-tabs button[aria-current="true"] { background: var(--rm-espresso); border-color: var(--rm-espresso); color: var(--rm-ivory); }

/* ---------- Invitations (dark) ---------- */
.rm-invite {
	color: var(--rm-ivory);
	background:
		radial-gradient(900px 520px at 12% 18%, rgba(176, 141, 87, .2), transparent 60%),
		radial-gradient(700px 500px at 100% 100%, rgba(176, 141, 87, .1), transparent 60%),
		var(--rm-espresso);
	overflow: hidden;
}
.rm-invite .rm-title { color: var(--rm-ivory); }
.rm-invite .rm-eyebrow { color: var(--rm-gold-light); }
.rm-invite .rm-lead { color: rgba(248, 244, 238, .78); }
.rm-invite .rm-checks li { color: rgba(248, 244, 238, .9); }

.rm-checks { list-style: none; padding: 0; margin: 1.6rem 0 0 !important; display: grid; gap: 14px; }
.rm-checks li { position: relative; padding-inline-start: 34px; line-height: 1.7; }
.rm-checks li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: .3em;
	width: 19px;
	height: 19px;
	border: 1px solid var(--rm-gold);
	border-radius: 50%;
	background: radial-gradient(circle, var(--rm-gold) 0 3px, transparent 3.5px);
}

/* Envelope mock-up */
.rm-invite-mock { display: grid; justify-items: center; gap: 18px; padding-block: 12px; }
.rm-env { position: relative; width: min(100%, 400px); aspect-ratio: 4 / 5; filter: drop-shadow(0 40px 40px rgba(0, 0, 0, .35)); }
.rm-env__back { position: absolute; inset: 40% 0 0; border-radius: 8px; background: linear-gradient(180deg, #CDB894, #BCA47C); }
.rm-env__card {
	position: absolute;
	inset-inline: 7%;
	top: 0;
	height: 76%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	padding: 30px 22px 0;
	text-align: center;
	color: var(--rm-espresso);
	background:
		radial-gradient(260px 200px at 50% 0%, rgba(216, 190, 142, .28), transparent 70%),
		#FBF8F2;
	border-radius: 6px;
	transform: rotate(-2.5deg);
	transition: transform 1s var(--rm-ease);
}
.rm-env__card::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(176, 141, 87, .55); border-radius: 3px; pointer-events: none; }
.rm-env__card::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(176, 141, 87, .25); border-radius: 2px; pointer-events: none; }
.rm-invite-mock:hover .rm-env__card, .rm-env.is-in .rm-env__card { transform: rotate(-1deg) translateY(-14px); }
.rm-env__small { font-size: .74rem; color: var(--rm-gold-ink); letter-spacing: .04em; }
html[lang^="en"] .rm-env__small { letter-spacing: .2em; text-transform: uppercase; font-size: .62rem; }
.rm-env__title { font-family: var(--rm-display); font-weight: 300; font-size: clamp(1.9rem, 3.4vw, 2.4rem); line-height: 1.25; color: var(--rm-gold-ink); }
html[lang^="en"] .rm-env__title { line-height: 1.05; }
.rm-env__line { font-size: .86rem; line-height: 1.8; color: var(--rm-cocoa); }
.rm-env__names { font-family: var(--rm-display); font-weight: 400; font-size: 1.4rem; line-height: 1.3; }
.rm-env__meta { font-size: .72rem; letter-spacing: .1em; color: var(--rm-gold-ink); border-top: 1px solid var(--rm-line); padding-top: 10px; }
.rm-env__pocket {
	position: absolute;
	inset: 54% 0 0;
	border-radius: 0 0 10px 10px;
	background: linear-gradient(180deg, #E9DCC6 0%, #DCCAB0 100%);
	clip-path: polygon(0 0, 50% 42%, 100% 0, 100% 100%, 0 100%);
}
.rm-env__seal {
	position: absolute;
	left: 50%;
	top: 72%;
	width: 76px;
	aspect-ratio: 1;
	transform: translate(-50%, -50%) rotate(-8deg);
	display: grid;
	place-items: center;
	border-radius: 48% 52% 50% 50% / 52% 48% 52% 48%;
	background: radial-gradient(circle at 34% 30%, #D2B07A 0%, #A9824C 45%, #7E5F36 100%);
	box-shadow: inset 0 -5px 10px rgba(0, 0, 0, .22), 0 10px 20px -8px rgba(0, 0, 0, .5);
}
.rm-env__seal::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; border: 1px dashed rgba(255, 244, 222, .45); }
@media (max-width: 760px) {
	.rm-invite .rm-checks { gap: 10px; margin-top: 1.2rem !important; }
	.rm-invite .rm-checks li { font-size: .95rem; }
	.rm-invite-mock { gap: 12px; padding-block: 0; }
	.rm-env { width: min(100%, 270px); }
	.rm-env__card { padding: 22px 16px 0; gap: 4px; }
	.rm-env__title { font-size: 1.7rem; }
	.rm-env__line { font-size: .78rem; line-height: 1.6; }
	.rm-env__names { font-size: 1.15rem; }
	.rm-env__seal { width: 60px; }
}
.rm-invite-mock__label { margin: 0; font-size: .8rem; letter-spacing: .08em; color: var(--rm-gold-light); opacity: .85; }
.rm-svc .rm-invite-mock__label { color: var(--rm-gold-ink); }
.rm-svc .rm-env { filter: drop-shadow(0 30px 30px rgba(36, 27, 22, .22)); }

/* ---------- Our work grid ---------- */
.rm-work { background: var(--rm-ivory); }
.rm-work__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(9, clamp(52px, 6.2vw, 82px));
	gap: clamp(10px, 1.4vw, 18px);
}
.rm-work__grid > .wp-block-image { margin: 0 !important; overflow: hidden; border-radius: 16px; position: relative; background: var(--rm-cream); }
.rm-work__grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--rm-ease); }
.rm-work__grid > .wp-block-image:hover img { transform: scale(1.06); }
.rm-work__grid > :nth-child(1) { grid-column: 1; grid-row: 1 / span 5; }
.rm-work__grid > :nth-child(2) { grid-column: 2; grid-row: 1 / span 4; }
.rm-work__grid > :nth-child(3) { grid-column: 3; grid-row: 1 / span 5; }
.rm-work__grid > :nth-child(4) { grid-column: 1; grid-row: 6 / span 4; }
.rm-work__grid > :nth-child(5) { grid-column: 2; grid-row: 5 / span 5; }
.rm-work__grid > :nth-child(6) { grid-column: 3; grid-row: 6 / span 4; }
@media (max-width: 760px) {
	.rm-work__grid { grid-auto-columns: 62%; gap: 10px; }
	.rm-work__grid > * { grid-column: auto !important; grid-row: auto !important; aspect-ratio: 4 / 5; }
}

/* ---------- Process ---------- */
.rm-process { background: var(--rm-cream); }
.rm-steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 3vw, 40px); }
.rm-steps::before {
	content: "";
	position: absolute;
	top: 34px;
	inset-inline: 12.5%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--rm-gold) 15%, var(--rm-gold) 85%, transparent);
	opacity: .6;
}
.rm-step { position: relative; text-align: center; }
.rm-step > * { margin-block: 0 !important; }
.rm-step__num {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	margin: 0 auto 22px !important;
	border-radius: 50%;
	border: 1px solid var(--rm-gold);
	background: var(--rm-cream);
	box-shadow: 0 0 0 8px var(--rm-cream);
	font-family: var(--rm-display);
	font-weight: 300;
	font-size: 1.5rem;
	color: var(--rm-gold-ink);
}
.rm-step__title { font-size: 1.2rem !important; margin-bottom: 8px !important; }
.rm-step__text { color: var(--rm-cocoa); font-size: .97rem; line-height: 1.85; max-width: 26ch; margin-inline: auto !important; }
/* Tablets keep the steps in one row */
@media (min-width: 761px) and (max-width: 1024px) {
	.rm-steps { gap: 16px; }
	.rm-step__num { width: 58px; height: 58px; font-size: 1.3rem; margin-bottom: 18px !important; }
	.rm-steps::before { top: 29px; }
	.rm-step__title { font-size: 1.05rem !important; }
	.rm-step__text { font-size: .88rem; line-height: 1.75; }
}
/* Phones: steps become swipeable cards */
@media (max-width: 760px) {
	.rm-steps { grid-auto-columns: 68%; }
	.rm-steps::before { display: none; }
	.rm-step { padding: 20px 18px 22px; text-align: start; border: 1px solid var(--rm-line-soft); border-radius: 20px; background: var(--rm-ivory); }
	.rm-step__num { width: 46px; height: 46px; margin: 0 0 14px !important; font-size: 1.1rem; background: transparent; box-shadow: none; }
	.rm-step__title { font-size: 1.08rem !important; }
	.rm-step__text { max-width: none; margin-inline: 0 !important; font-size: .92rem; line-height: 1.75; }
}

/* ---------- Values ---------- */
.rm-values { background: var(--rm-ivory); }
.rm-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 2.2vw, 30px); }
.rm-value {
	padding: clamp(28px, 3vw, 42px);
	border: 1px solid var(--rm-line-soft);
	border-radius: calc(var(--rm-radius) + 4px);
	background: linear-gradient(180deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0));
	transition: border-color .4s, transform .5s var(--rm-ease);
}
.rm-value:hover { border-color: var(--rm-gold); transform: translateY(-4px); }
.rm-value > * { margin-block: 0 !important; }
.rm-value__ico { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 22px; border-radius: 50%; background: var(--rm-cream); color: var(--rm-gold-ink); }
.rm-value__ico .rm-ico { width: 28px; height: 28px; }
.rm-value__title { font-size: 1.25rem !important; margin-bottom: 10px !important; }
.rm-value__text { color: var(--rm-cocoa); line-height: 1.85; }
@media (min-width: 761px) and (max-width: 1024px) {
	.rm-value { padding: 24px 20px; }
	.rm-value__ico { width: 52px; height: 52px; margin-bottom: 16px; }
	.rm-value__title { font-size: 1.1rem !important; }
	.rm-value__text { font-size: .92rem; line-height: 1.75; }
}
@media (max-width: 760px) {
	.rm-value { padding: 22px 20px; }
	.rm-value:hover { transform: none; }
	.rm-value__ico { width: 50px; height: 50px; margin-bottom: 14px; }
	.rm-value__ico .rm-ico { width: 24px; height: 24px; }
	.rm-value__title { font-size: 1.12rem !important; }
	.rm-value__text { font-size: .93rem; line-height: 1.75; }
}

/* ---------- CTA ---------- */
.rm-cta { overflow: hidden; text-align: center; color: var(--rm-ivory); background: var(--rm-espresso); padding-block: clamp(96px, 13vw, 180px); }
.rm-cta > * { margin-block: 0 !important; }
.rm-cta__bg { position: absolute !important; inset: 0; z-index: 0; margin: 0 !important; }
.rm-cta__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; opacity: .5; }
.rm-cta::after { content: ""; position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse at center, rgba(36, 27, 22, .55) 0%, rgba(36, 27, 22, .88) 80%); }
.rm-cta__inner { position: relative; z-index: 1; max-width: 780px; margin-inline: auto !important; }
.rm-cta .rm-title { color: var(--rm-ivory); font-size: clamp(2.5rem, 5.6vw, 4.6rem); }
.rm-cta .rm-lead { color: rgba(248, 244, 238, .82); }
.rm-cta .rm-ornament { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 34px !important; color: var(--rm-gold-light); }
.rm-ornament::before, .rm-ornament::after { content: ""; width: 70px; height: 1px; background: currentColor; opacity: .6; }
.rm-ornament span { width: 10px; height: 10px; border: 1px solid currentColor; transform: rotate(45deg); }
@media (max-width: 760px) {
	.rm-cta { padding-block: 72px; }
	.rm-cta .rm-title { font-size: clamp(2.1rem, 8.6vw, 2.6rem); }
	.rm-cta .rm-ornament { margin-bottom: 22px !important; }
}

/* ==========================================================================
   Inner pages
   ========================================================================== */
.rm-pagehero {
	padding: clamp(40px, 6vw, 88px) var(--rm-pad) clamp(52px, 7vw, 96px);
	background:
		radial-gradient(900px 420px at 85% 0%, rgba(216, 190, 142, .28), transparent 60%),
		radial-gradient(700px 400px at 0% 100%, rgba(238, 223, 216, .6), transparent 60%),
		var(--rm-ivory);
	border-bottom: 1px solid var(--rm-line-soft);
	overflow: hidden;
}
.rm-pagehero__inner { max-width: var(--rm-wrap); margin-inline: auto; display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.rm-pagehero__inner > *, .rm-pagehero__text > * { margin-block: 0; }
.rm-pagehero__title { font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: 1.25; margin: .1em 0 .3em !important; }
html[lang^="en"] .rm-pagehero__title { line-height: 1.02; }
.rm-pagehero .rm-lead { max-width: 36em; }
.rm-pagehero__img { margin: 0 !important; justify-self: center; width: 100%; max-width: 330px; position: relative; }
.rm-pagehero__img img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 999px 999px 18px 18px; box-shadow: var(--rm-shadow); }
.rm-js .rm-pagehero__text > * { animation: rm-rise 1s var(--rm-ease) both; }
.rm-js .rm-pagehero__text > :nth-child(2) { animation-delay: .1s; }
.rm-js .rm-pagehero__text > :nth-child(3) { animation-delay: .2s; }
.rm-js .rm-pagehero__img img { animation: rm-unveil 1.3s var(--rm-ease) both .1s; }
/* Phones: the photo fills the hero and the title sits on it (like the home video hero) */
@keyframes rm-fade { from { opacity: 0; transform: scale(1.06); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) {
	.rm-pagehero { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: 360px; padding: 0; border-bottom: 0; background: var(--rm-espresso); color: var(--rm-ivory); }
	.rm-pagehero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(20, 15, 12, .94) 0%, rgba(20, 15, 12, .62) 42%, rgba(20, 15, 12, .12) 100%); }
	.rm-pagehero__inner { display: block; width: 100%; padding: 150px var(--rm-pad) 34px; text-align: center; }
	.rm-pagehero__img { position: absolute !important; inset: 0; z-index: -1; max-width: none; width: 100%; height: 100%; }
	.rm-pagehero__img img { width: 100%; height: 100%; aspect-ratio: auto; object-position: 50% 28%; border-radius: 0; box-shadow: none; }
	.rm-js .rm-pagehero__img img { animation: rm-fade 1.4s var(--rm-ease) both; }
	.rm-pagehero .rm-eyebrow { justify-content: center; color: var(--rm-gold-light); }
	.rm-pagehero__title { color: var(--rm-ivory); font-size: clamp(2.2rem, 9vw, 2.8rem); }
	.rm-pagehero .rm-lead { margin: 0 auto !important; font-size: 1rem; line-height: 1.8; color: rgba(248, 244, 238, .86); }
}

/* Services detail */
.rm-svc { background: var(--rm-ivory); padding-block: clamp(24px, 4vw, 48px); }
.rm-svc__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(36px, 7vw, 112px);
	align-items: center;
	padding-block: clamp(48px, 7vw, 96px);
	border-bottom: 1px solid var(--rm-line-soft);
	scroll-margin-top: calc(var(--rm-header-h) + 20px);
}
.rm-svc__row:last-child { border-bottom: 0; }
.rm-svc__row:nth-child(even) > .rm-svc__media { order: 2; }
.rm-svc__media { width: 100%; max-width: 470px; justify-self: center; }
.rm-svc__media > *, .rm-svc__body > * { margin-block: 0; }
.rm-svc__img { margin: 0 !important; }
.rm-svc__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px var(--rm-radius) var(--rm-radius); box-shadow: var(--rm-shadow); }
.rm-svc__num { font-family: var(--rm-display); font-weight: 200; font-size: 3.6rem; line-height: 1; color: var(--rm-gold); margin-bottom: .6rem !important; }
@media (min-width: 761px) and (max-width: 1024px) {
	.rm-svc__row { gap: 36px; padding-block: 48px; }
	.rm-svc__media { max-width: 320px; }
	.rm-svc .rm-title { font-size: 1.9rem; }
	.rm-svc__num { font-size: 2.6rem; }
}
/* Phones: the four services become swipeable cards with tabs on top */
@media (max-width: 760px) {
	.rm-svc { padding-block: 28px 44px; }
	.rm-svc__rows { width: auto; max-width: none; grid-auto-columns: 88%; align-items: start; }
	.rm-svc__row { display: block; padding: 0 0 22px; overflow: hidden; border: 1px solid var(--rm-line-soft); border-radius: 22px; background: var(--rm-white); }
	.rm-svc__row:last-child { border-bottom: 1px solid var(--rm-line-soft); }
	.rm-svc__media { max-width: none; }
	.rm-svc__img img { aspect-ratio: 16 / 10; border-radius: 0; box-shadow: none; object-position: 50% 30%; }
	.rm-svc .rm-invite-mock { aspect-ratio: 16 / 10; align-content: center; gap: 6px; padding: 0; background: var(--rm-cream); }
	.rm-svc .rm-env { width: 30%; filter: drop-shadow(0 14px 14px rgba(36, 27, 22, .2)); }
	.rm-svc .rm-env__card { padding: 8px 4px 0; gap: 1px; }
	.rm-svc .rm-env__card::before { inset: 4px; }
	.rm-svc .rm-env__card::after { display: none; }
	.rm-svc .rm-env__small, .rm-svc .rm-env__line, .rm-svc .rm-env__meta { display: none; }
	.rm-svc .rm-env__title { font-size: .95rem; }
	.rm-svc .rm-env__names { font-size: .7rem; }
	.rm-svc .rm-env__seal { width: 26px; }
	.rm-svc .rm-env__seal::before { inset: 3px; }
	.rm-svc .rm-invite-mock__label { font-size: .7rem; }
	.rm-svc__body { padding: 18px 20px 0; }
	.rm-svc__num { font-size: 2rem; margin-bottom: .3rem !important; }
	.rm-svc .rm-title { font-size: 1.55rem; margin-bottom: .6rem !important; }
	.rm-svc .rm-lead { font-size: .95rem; line-height: 1.8; }
	.rm-svc .rm-checks { gap: 8px; margin-top: 1rem !important; }
	.rm-svc .rm-checks li { font-size: .92rem; padding-inline-start: 28px; }
	.rm-svc .rm-checks li::before { width: 16px; height: 16px; }
	.rm-svc .rm-textlink { margin-top: 1rem !important; }
}

/* Occasions */
.rm-occasions { background: var(--rm-cream); }
.rm-occasions__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rm-chip {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 34px 16px;
	text-align: center;
	background: var(--rm-ivory);
	border: 1px solid var(--rm-line-soft);
	border-radius: var(--rm-radius);
	transition: border-color .4s, transform .5s var(--rm-ease);
}
.rm-chip:hover { border-color: var(--rm-gold); transform: translateY(-4px); }
.rm-chip > * { margin: 0 !important; }
.rm-chip .rm-ico { width: 36px; height: 36px; color: var(--rm-gold-ink); }
.rm-chip__label { font-weight: 500; font-size: 1.05rem; }
@media (max-width: 760px) {
	.rm-occasions__grid { gap: 8px; }
	.rm-chip { gap: 8px; padding: 16px 6px; border-radius: 14px; }
	.rm-chip:hover { transform: none; }
	.rm-chip .rm-ico { width: 26px; height: 26px; }
	.rm-chip__label { font-size: .8rem; line-height: 1.45; }
	.rm-faq-item { padding: 0 18px; }
	.rm-faq-item summary { min-height: 56px; padding-block: 14px; font-size: 1rem; }
	.rm-faq-item p { font-size: .95rem; line-height: 1.8; }
}

/* FAQ */
.rm-faq { background: var(--rm-ivory); }
.rm-faq__list { max-width: 840px; margin-inline: auto; display: grid; gap: 12px; }
.rm-faq-item { background: var(--rm-white); border: 1px solid var(--rm-line-soft); border-radius: 16px; padding: 0 24px; transition: border-color .3s, box-shadow .3s; }
.rm-faq-item[open] { border-color: var(--rm-gold); box-shadow: 0 20px 40px -32px rgba(36, 27, 22, .4); }
.rm-faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 64px;
	padding-block: 16px;
	list-style: none;
	cursor: pointer;
	font-weight: 500;
	font-size: 1.06rem;
}
.rm-faq-item summary::-webkit-details-marker { display: none; }
.rm-faq-item summary::after {
	content: "";
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid var(--rm-line);
	background:
		linear-gradient(var(--rm-gold-ink), var(--rm-gold-ink)) center / 11px 1.5px no-repeat,
		linear-gradient(var(--rm-gold-ink), var(--rm-gold-ink)) center / 1.5px 11px no-repeat;
	transition: transform .35s var(--rm-ease), background-color .3s;
}
.rm-faq-item[open] summary::after { transform: rotate(45deg); background-color: var(--rm-cream); }
.rm-faq-item p { margin: 0 0 22px !important; color: var(--rm-cocoa); line-height: 1.9; }

/* Portfolio gallery grid */
.rm-portfolio { background: var(--rm-ivory); padding-top: clamp(48px, 6vw, 80px); }
.rm-masonry.wp-block-gallery.has-nested-images { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 18px); }
.rm-masonry.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: 100% !important;
	margin: 0 !important;
	aspect-ratio: 4 / 5;
	border-radius: 14px;
	overflow: hidden;
	background: var(--rm-cream);
}
.rm-masonry.wp-block-gallery.has-nested-images figure.wp-block-image img { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1.2s var(--rm-ease); }
.rm-masonry figure.wp-block-image:hover img { transform: scale(1.04); }
@media (min-width: 641px) and (max-width: 1024px) { .rm-masonry.wp-block-gallery.has-nested-images { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; } }
/* Phones: an Instagram-style 3-column square grid */
@media (max-width: 640px) {
	.rm-portfolio { padding-top: 32px; }
	.rm-masonry.wp-block-gallery.has-nested-images { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
	.rm-masonry.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { aspect-ratio: 1; border-radius: 6px; }
}
.rm-portfolio__more { margin-top: clamp(40px, 5vw, 64px) !important; text-align: center; }
.rm-portfolio__more .rm-actions { margin-top: 1rem !important; }
.rm-portfolio__more .rm-btn--ig .wp-block-button__link { direction: ltr; }

/* Contact */
.rm-contact { background: var(--rm-cream); }
.rm-contact__inner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.rm-contact__inner > * { margin: 0 !important; }

.rm-form { background: var(--rm-white); border: 1px solid var(--rm-line-soft); border-radius: 26px; padding: clamp(22px, 4vw, 48px); box-shadow: 0 40px 70px -55px rgba(36, 27, 22, .5); }
.rm-form__head { margin-bottom: 26px; }
.rm-form__title { font-size: clamp(1.8rem, 3vw, 2.3rem); margin: 0 0 4px; }
.rm-form__intro { margin: 0; font-size: .9rem; color: var(--rm-cocoa); }
.rm-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.rm-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.rm-field--full { grid-column: 1 / -1; }
.rm-field label, .rm-field legend { padding: 0; font-size: .93rem; font-weight: 500; color: var(--rm-espresso); }
.rm-field legend { margin-bottom: 10px; }
.rm-req { color: var(--rm-gold-ink); }
.rm-opt { color: var(--rm-cocoa); font-weight: 400; font-size: .82rem; }
.rm-input {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	min-height: 52px;
	padding: 12px 16px;
	border: 1px solid rgba(94, 78, 67, .3);
	border-radius: 12px;
	background: var(--rm-ivory);
	color: var(--rm-espresso);
	font: inherit;
	font-size: 1rem;
	min-width: 0;
	max-width: 100%;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.rm-input::placeholder { color: rgba(94, 78, 67, .62); }
.rm-input:hover { border-color: rgba(94, 78, 67, .5); }
.rm-input:focus { outline: none; border-color: var(--rm-gold-ink); background: var(--rm-white); box-shadow: 0 0 0 4px rgba(176, 141, 87, .2); }
textarea.rm-input { min-height: 120px; resize: vertical; line-height: 1.7; }
select.rm-input {
	padding-inline-end: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237E5F36' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 18px;
	background-position: left 16px center;
}
html[lang^="en"] select.rm-input { background-position: right 16px center; }
input[type="date"].rm-input { min-height: 52px; }
.rm-field.has-error .rm-input { border-color: #A3402F; box-shadow: 0 0 0 4px rgba(163, 64, 47, .12); }
.rm-error { margin: 0; font-size: .85rem; color: #A3402F; }
.rm-error:empty { display: none; }

.rm-checkgroup { display: flex; flex-wrap: wrap; gap: 10px; }
.rm-pill { position: relative; cursor: pointer; }
.rm-pill input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.rm-pill span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 8px 18px;
	border: 1px solid rgba(94, 78, 67, .3);
	border-radius: 999px;
	background: var(--rm-ivory);
	transition: background-color .25s, color .25s, border-color .25s;
}
.rm-pill span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 1px solid currentColor; opacity: .6; transition: background-color .25s; }
.rm-pill:hover span { border-color: var(--rm-gold-ink); }
.rm-pill input:checked + span { background: var(--rm-espresso); border-color: var(--rm-espresso); color: var(--rm-ivory); }
.rm-pill input:checked + span::before { background: var(--rm-gold-light); border-color: var(--rm-gold-light); opacity: 1; }
.rm-pill input:focus-visible + span { outline: 2px solid var(--rm-gold-ink); outline-offset: 2px; }

.rm-form__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 28px; }
.rm-submit .rm-ico { width: 20px; height: 20px; }
.rm-form__note { margin: 0; flex: 1 1 220px; font-size: .86rem; color: var(--rm-cocoa); }

.rm-info { position: sticky; top: calc(var(--rm-header-h) + 32px); padding: clamp(26px, 3.2vw, 40px); border-radius: 26px; background: var(--rm-espresso); color: var(--rm-ivory); overflow: hidden; }
.rm-info::after { content: ""; position: absolute; width: 260px; height: 260px; inset-inline-end: -110px; top: -110px; border-radius: 50%; border: 1px solid rgba(216, 190, 142, .25); box-shadow: 0 0 0 30px rgba(216, 190, 142, .04), 0 0 0 60px rgba(216, 190, 142, .03); pointer-events: none; }
.rm-info__title { margin: 0 0 12px; color: var(--rm-ivory); font-size: 1.7rem; }
.rm-info__item { display: flex; align-items: flex-start; gap: 14px; padding: 18px 0; border-bottom: 1px solid rgba(248, 244, 238, .12); color: inherit; text-decoration: none; }
.rm-info__item:last-child { border-bottom: 0; }
a.rm-info__item:hover .rm-info__value { color: var(--rm-gold-light); }
.rm-info__item > .rm-ico { width: 22px; height: 22px; margin-top: 4px; color: var(--rm-gold-light); }
.rm-info__item > span { display: flex; flex-direction: column; gap: 2px; }
.rm-info__label { font-size: .8rem; color: var(--rm-gold-light); letter-spacing: .04em; }
.rm-info__value { font-size: 1.08rem; transition: color .25s; }
.rm-info__note { font-size: .85rem; color: rgba(248, 244, 238, .66); }

@media (max-width: 900px) {
	.rm-contact__inner { grid-template-columns: minmax(0, 1fr); }
	.rm-info { position: relative; top: 0; }
}
/* Phones: short fields stay in pairs */
@media (max-width: 560px) {
	.rm-form { padding: 22px 16px; border-radius: 20px; }
	.rm-form__head { margin-bottom: 18px; }
	.rm-form__grid { gap: 14px 10px; }
	.rm-field label, .rm-field legend { font-size: .86rem; }
	.rm-input { min-height: 48px; padding: 10px 12px; }
	select.rm-input { padding-inline-end: 32px; background-size: 15px; background-position: left 10px center; }
	html[lang^="en"] select.rm-input { background-position: right 10px center; }
	input[type="date"].rm-input { min-height: 48px; }
	textarea.rm-input { min-height: 96px; }
	.rm-pill span { min-height: 44px; padding: 6px 14px; font-size: .9rem; }
	.rm-form__submit { margin-top: 20px; }
	.rm-submit { width: 100%; }
	.rm-info { padding: 22px 20px; border-radius: 20px; }
	.rm-info__item { padding: 14px 0; }
}
@media (max-width: 340px) { .rm-form__grid { grid-template-columns: minmax(0, 1fr); } }

/* 404 */
.rm-404 { text-align: center; padding-block: clamp(80px, 12vw, 160px); }
.rm-404__inner { max-width: 640px; }
.rm-404__code { font-family: var(--rm-display); font-weight: 200; font-size: clamp(5rem, 14vw, 9rem); line-height: 1; color: var(--rm-gold); margin-bottom: .2em !important; }

/* Blog fallbacks */
.rm-article { padding: clamp(48px, 7vw, 96px) var(--rm-pad); }
.rm-article .rm-title a { color: inherit; text-decoration: none; }


/* ==========================================================================
   Packages & delivery promise
   ========================================================================== */
/* Promise */
.rm-promise { background: var(--rm-ivory); }
.rm-promise__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); }
.rm-stat { padding: clamp(28px, 3.4vw, 46px) 22px; border-radius: var(--rm-radius); background: var(--rm-cream); text-align: center; }
.rm-stat > * { margin-block: 0 !important; }
.rm-stat__num { font-family: var(--rm-display); font-weight: 200; font-size: clamp(3.4rem, 6vw, 5.2rem); line-height: 1; color: var(--rm-gold-ink); }
.rm-stat__unit { margin-top: 8px !important; font-size: .95rem; font-weight: 500; color: var(--rm-cocoa); }
html[lang^="en"] .rm-stat__unit { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; }
.rm-stat__title { margin-top: 18px !important; font-size: 1.2rem !important; }
.rm-stat__text { margin-top: 6px !important; font-size: .95rem; color: var(--rm-cocoa); }
.rm-guarantee {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 26px;
	margin-top: clamp(12px, 1.6vw, 20px) !important;
	padding: 22px clamp(20px, 3vw, 40px);
	border-radius: var(--rm-radius);
	background: var(--rm-espresso);
	color: var(--rm-ivory);
	text-align: center;
}
.rm-guarantee > * { margin: 0 !important; }
.rm-guarantee__label { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; color: var(--rm-gold-light); }
html[lang^="en"] .rm-guarantee__label { font-size: .78rem; letter-spacing: .24em; text-transform: uppercase; }
.rm-guarantee__label::before { content: ""; width: 7px; height: 7px; background: var(--rm-gold); transform: rotate(45deg); }
.rm-guarantee__text { font-size: 1.05rem; }
/* Phones: the three promises stay side by side */
@media (max-width: 760px) {
	.rm-promise__grid { gap: 8px; }
	.rm-stat { padding: 18px 8px 16px; }
	.rm-stat__num { font-size: clamp(2.3rem, 11vw, 3rem); }
	.rm-stat__unit { margin-top: 4px !important; font-size: .8rem; }
	html[lang^="en"] .rm-stat__unit { font-size: .62rem; letter-spacing: .14em; }
	.rm-stat__title { margin-top: 10px !important; font-size: .9rem !important; line-height: 1.4; }
	.rm-stat__text { margin-top: 4px !important; font-size: .78rem; line-height: 1.6; }
	.rm-guarantee { padding: 16px; }
	.rm-guarantee__text { font-size: .95rem; line-height: 1.7; }
}

/* Shared package bits */
.rm-pkg__badge {
	display: inline-flex;
	align-self: flex-start;
	padding: 5px 13px;
	border: 1px solid var(--rm-gold);
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 500;
	color: var(--rm-gold-light);
}
.rm-pkg__label { font-size: .72rem; font-weight: 500; letter-spacing: .22em; color: var(--rm-gold-ink); }
.rm-pkg__name { margin-top: 8px !important; font-family: var(--rm-display) !important; font-weight: 300 !important; font-size: clamp(1.9rem, 2.6vw, 2.35rem) !important; line-height: 1.2 !important; }
.rm-price { margin-top: 14px !important; padding-bottom: 16px; border-bottom: 1px solid var(--rm-line); line-height: 1.2; }
.rm-price__label { font-size: .88rem; color: var(--rm-cocoa); }
.rm-price__cur { font-size: .74rem; font-weight: 500; letter-spacing: .2em; color: var(--rm-gold-ink); }
.rm-price__num { font-family: var(--rm-display); font-weight: 200; font-size: 2.4rem; line-height: 1; color: var(--rm-gold-ink); }
.rm-pkg__list { list-style: none; display: grid; gap: 9px; margin: 16px 0 0 !important; padding: 0; font-size: .95rem; }
.rm-pkg__list li { position: relative; padding-inline-start: 18px; line-height: 1.6; }
.rm-pkg__list li::before { content: ""; position: absolute; inset-inline-start: 0; top: .62em; width: 6px; height: 6px; background: var(--rm-gold); transform: rotate(45deg); }
.is-featured .rm-pkg__label, .is-featured .rm-price__cur, .is-featured .rm-price__num { color: var(--rm-gold-light); }
.is-featured .rm-price__label { color: rgba(248, 244, 238, .65); }
.is-featured .rm-price { border-color: rgba(248, 244, 238, .16); }
.is-featured .rm-pkg__name { color: var(--rm-ivory); }
.is-featured .rm-pkg__list li { color: rgba(248, 244, 238, .86); }

/* Home teaser */
.rm-teaser { background: var(--rm-cream); }
.rm-tpkgs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); }
.rm-tpkg {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 30px 26px 28px;
	border: 1px solid var(--rm-line-soft);
	border-radius: calc(var(--rm-radius) + 4px);
	background: var(--rm-ivory);
	transition: transform .5s var(--rm-ease), box-shadow .5s var(--rm-ease);
}
.rm-tpkg:hover { transform: translateY(-5px); box-shadow: var(--rm-shadow); }
.rm-tpkg > * { margin-block: 0 !important; }
.rm-tpkg.is-featured { background: var(--rm-espresso); border-color: var(--rm-espresso); color: var(--rm-ivory); }
.rm-tpkg .rm-pkg__badge { position: absolute; top: 18px; inset-inline-end: 18px; }
.rm-teaser__more { margin-top: clamp(28px, 4vw, 48px) !important; text-align: center; }
.rm-teaser__note { margin: 0 !important; color: var(--rm-cocoa); }
.rm-teaser__more .rm-actions { margin-top: 1.2rem !important; }
@media (max-width: 1100px) { .rm-tpkgs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Collections */
.rm-collections { background: var(--rm-ivory); }
.rm-pkgs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); align-items: stretch; }
.rm-pkg { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: calc(var(--rm-radius) + 4px); background: var(--rm-cream); }
.rm-pkg > * { margin-block: 0 !important; }
.rm-pkg__img { margin: 0 !important; overflow: hidden; }
.rm-pkg__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; transition: transform 1.4s var(--rm-ease); }
.rm-pkg:hover .rm-pkg__img img { transform: scale(1.04); }
.rm-pkg__body { display: flex; flex: 1; flex-direction: column; padding: 24px 22px 26px; }
.rm-pkg__body > * { margin-block: 0 !important; }
.rm-pkg .rm-pkg__badge { position: absolute; top: 16px; inset-inline-start: 16px; background: var(--rm-espresso); }
.rm-pkg__desc { margin-top: 10px !important; font-size: .93rem; line-height: 1.8; color: var(--rm-cocoa); }
.rm-pkg .rm-pkg__list { margin-bottom: 22px !important; }
.rm-pkg .rm-price { margin-top: auto !important; padding: 18px 0 0; border-top: 1px solid var(--rm-line); border-bottom: 0; }
.rm-pkg__cta { margin-top: 16px !important; }
.rm-pkg__cta .wp-block-button, .rm-pkg__cta .wp-block-button__link { width: 100%; }
.rm-pkg.is-featured { background: var(--rm-espresso); color: var(--rm-ivory); box-shadow: var(--rm-shadow); }
.rm-pkg.is-featured .rm-pkg__desc { color: rgba(248, 244, 238, .72); }
.rm-pkg.is-featured .rm-price { border-color: rgba(248, 244, 238, .16); }
.rm-includes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: clamp(28px, 3.4vw, 44px) 0 0 !important; padding: 0; list-style: none; }
.rm-includes li { display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px; border-radius: 999px; background: var(--rm-cream); font-size: .92rem; font-weight: 500; }
.rm-includes li::before { content: ""; width: 6px; height: 6px; background: var(--rm-gold); transform: rotate(45deg); }
@media (max-width: 1100px) { .rm-pkgs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1024px) {
	.rm-pkg__img img { aspect-ratio: 4 / 3; }
	.rm-pkg__body { padding: 20px 18px 22px; }
	.rm-pkg__list { gap: 7px; font-size: .9rem; }
	.rm-tpkg { padding: 24px 20px 22px; }
}

/* Perks */
.rm-perks { background: var(--rm-cream); }
.rm-perks__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 980px; margin-inline: auto; border-top: 1px solid var(--rm-line); }
.rm-perk { display: grid; grid-template-columns: auto 1fr; align-content: start; column-gap: 18px; padding: 26px 18px; border-bottom: 1px solid var(--rm-line); }
.rm-perk:nth-child(odd) { border-inline-end: 1px solid var(--rm-line); }
.rm-perk > * { margin: 0 !important; }
.rm-perk__num { grid-row: span 2; font-family: var(--rm-display); font-weight: 200; font-size: 2.1rem; line-height: 1; color: var(--rm-gold-ink); }
.rm-perk__title { font-size: 1.15rem !important; }
.rm-perk__sub { margin-top: 4px !important; font-size: .9rem; color: var(--rm-cocoa); }
@media (max-width: 640px) {
	.rm-perk { grid-template-columns: minmax(0, 1fr); row-gap: 6px; padding: 16px 12px; }
	.rm-perk__num { grid-row: auto; font-size: 1.5rem; }
	.rm-perk__title { font-size: .98rem !important; line-height: 1.5; }
	.rm-perk__sub { margin-top: 0 !important; font-size: .82rem; }
}

/* Engagement */
.rm-engagement { background: var(--rm-ivory); }
.rm-plist { margin-top: 26px !important; border-top: 1px solid var(--rm-line); }
.rm-prow { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--rm-line); }
.rm-prow > * { margin: 0 !important; }
.rm-prow__info > * { margin: 0 !important; }
.rm-prow__name { font-size: 1.25rem !important; }
.rm-prow__desc { margin-top: 4px !important; font-size: .92rem; color: var(--rm-cocoa); }
.rm-prow .rm-price { flex: none; padding: 0; border: 0; white-space: nowrap; }
.rm-prow .rm-price__num { font-size: 1.9rem; }

/* Enhancements */
.rm-addons { background: var(--rm-cream); }
.rm-addons__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px, 5vw, 72px); max-width: 980px; margin-inline: auto; border-top: 1px solid var(--rm-line); }
.rm-arow { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--rm-line); }
.rm-arow > * { margin: 0 !important; }
.rm-arow__name { font-weight: 500; }
.rm-arow .rm-price { flex: none; padding: 0; border: 0; white-space: nowrap; }
.rm-arow .rm-price__num { font-size: 1.55rem; }
@media (max-width: 760px) {
	.rm-prow { padding: 14px 0; }
	.rm-prow__name { font-size: 1.12rem !important; }
	.rm-prow .rm-price__num { font-size: 1.6rem; }
	.rm-addons__list { column-gap: 14px; }
	.rm-arow { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 2px; padding: 12px 0; }
	.rm-arow__name { font-size: .9rem; line-height: 1.5; }
	.rm-arow .rm-price__num { font-size: 1.35rem; }
	.rm-launch__grid { gap: 10px; }
	.rm-launch__item { padding: 20px 10px; }
	.rm-launch__big { font-size: 2.8rem; }
	.rm-launch__title { font-size: .95rem; }
	.rm-launch__sub { font-size: .8rem; }
}

/* Launch privilege */
.rm-launch {
	color: var(--rm-ivory);
	text-align: center;
	background:
		radial-gradient(800px 420px at 50% 0%, rgba(176, 141, 87, .22), transparent 65%),
		var(--rm-espresso);
}
.rm-launch .rm-title { color: var(--rm-ivory); }
.rm-launch .rm-eyebrow { color: var(--rm-gold-light); }
.rm-launch__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 900px; margin-inline: auto; }
.rm-launch__item { padding: clamp(24px, 3vw, 36px) 18px; border: 1px solid rgba(216, 190, 142, .35); border-radius: var(--rm-radius); }
.rm-launch__item > * { margin: 0 !important; }
.rm-launch__big { font-family: var(--rm-display); font-weight: 200; font-size: clamp(3.2rem, 6vw, 4.6rem); line-height: 1; color: var(--rm-gold-light); direction: ltr; unicode-bidi: isolate; }
.rm-launch__title { margin-top: 12px !important; font-size: 1.1rem; font-weight: 500; }
.rm-launch__sub { margin-top: 4px !important; font-size: .9rem; color: rgba(248, 244, 238, .66); }
.rm-launch__note { margin-top: 28px !important; color: var(--rm-gold-light); }

/* Booking steps + terms */
.rm-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rm-steps--3::before { inset-inline: 16.6%; }
.rm-terms { max-width: 780px; margin: clamp(36px, 5vw, 56px) auto 0 !important; font-size: .86rem; line-height: 1.9; text-align: center; color: var(--rm-cocoa); }
@media (max-width: 760px) { .rm-terms { margin-top: 18px !important; font-size: .82rem; line-height: 1.8; } }

/* ==========================================================================
   Films (vertical reels + modal player)
   ========================================================================== */
.rm-films {
	color: var(--rm-ivory);
	background:
		radial-gradient(900px 500px at 50% 0%, rgba(176, 141, 87, .2), transparent 65%),
		var(--rm-espresso);
}
.rm-films .rm-title { color: var(--rm-ivory); }
.rm-films .rm-eyebrow { color: var(--rm-gold-light); }
.rm-films .rm-lead { color: rgba(248, 244, 238, .74); }
.rm-films__grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: clamp(10px, 1.4vw, 18px); }
.rm-film {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 9 / 16;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 16px;
	background: #3A2E27;
	cursor: pointer;
	isolation: isolate;
}
.rm-film img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) brightness(.86); transition: transform 1.2s var(--rm-ease), filter .6s var(--rm-ease); }
.rm-film::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(36, 27, 22, 0) 55%, rgba(36, 27, 22, .62)); }
.rm-film:hover img { transform: scale(1.05); filter: none; }
.rm-film__play {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 50%;
	width: 64px;
	height: 64px;
	border: 1px solid rgba(248, 244, 238, .75);
	border-radius: 50%;
	background: rgba(248, 244, 238, .14);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	transform: translate(-50%, -50%);
	transition: transform .4s var(--rm-ease), background-color .3s, border-color .3s;
}
.rm-film__play::before { content: ""; position: absolute; left: 54%; top: 50%; border-style: solid; border-width: 9px 0 9px 15px; border-color: transparent transparent transparent var(--rm-ivory); transform: translate(-50%, -50%); }
.rm-film:hover .rm-film__play { transform: translate(-50%, -50%) scale(1.08); background: var(--rm-gold); border-color: var(--rm-gold); }
.rm-film__dur { position: absolute; z-index: 2; bottom: 12px; inset-inline-start: 12px; padding: 3px 10px; border-radius: 999px; background: rgba(36, 27, 22, .55); font-size: .78rem; font-weight: 500; letter-spacing: .04em; color: var(--rm-ivory); }
.rm-film:focus-visible { outline: 2px solid var(--rm-gold-light); outline-offset: 3px; }
.rm-films .rm-actions { margin-top: clamp(28px, 4vw, 44px) !important; }
@media (max-width: 1024px) {
	.rm-films__grid {
		grid-auto-columns: 34%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		margin-inline: calc(var(--rm-pad) * -1);
		padding: 4px var(--rm-pad) 18px;
		scroll-padding-inline: var(--rm-pad);
		scrollbar-width: none;
	}
	.rm-films__grid::-webkit-scrollbar { display: none; }
	.rm-film { scroll-snap-align: start; }
}
/* Phones: two reels in view at a time */
@media (max-width: 640px) {
	.rm-films__grid { grid-auto-columns: 46%; gap: 10px; }
	.rm-film__play { width: 52px; height: 52px; }
}
.rm-films .rm-dots button { background: rgba(248, 244, 238, .3); }
.rm-films .rm-dots button[aria-current="true"] { background: var(--rm-gold-light); }

html.rm-modal-open { overflow: hidden; }
.rm-vmodal { max-width: none; max-height: none; padding: 0; overflow: visible; border: 0; background: transparent; }
.rm-vmodal::backdrop { background: rgba(20, 15, 12, .93); }
.rm-vmodal__frame {
	width: min(92vw, calc(min(88vh, 860px) * 9 / 16));
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border-radius: 16px;
	background: #000;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8);
}
.rm-vmodal__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.rm-vmodal__close {
	position: fixed;
	top: 18px;
	inset-inline-end: 18px;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(248, 244, 238, .45);
	border-radius: 50%;
	background: rgba(248, 244, 238, .08);
	cursor: pointer;
	transition: background-color .3s;
}
.rm-vmodal__close:hover { background: rgba(248, 244, 238, .2); }
.rm-vmodal__close span::before, .rm-vmodal__close span::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 1.5px; background: var(--rm-ivory); }
.rm-vmodal__close span::before { transform: translate(-50%, -50%) rotate(45deg); }
.rm-vmodal__close span::after { transform: translate(-50%, -50%) rotate(-45deg); }

/* ==========================================================================
   Online booking (WooCommerce)
   ========================================================================== */
/* "Book online" next to WhatsApp on package cards */
.rm-pkg__online { margin-top: 10px !important; }
.rm-pkg__online .wp-block-button, .rm-pkg__online .wp-block-button__link { width: 100%; }
.rm-pkg.is-featured .rm-pkg__online .wp-block-button__link { color: var(--rm-ivory); border-color: rgba(248, 244, 238, .4); }
.rm-pkg.is-featured .rm-pkg__online .wp-block-button__link:hover { background: rgba(248, 244, 238, .08); border-color: var(--rm-ivory); }
.rm-book-link { display: inline-flex; align-items: center; margin-top: 6px; color: var(--rm-gold-ink); font-size: .9rem; font-weight: 500; text-decoration: none; border-bottom: 1px solid currentColor; }

/* Checkout header */
.rm-header--checkout .rm-header__inner--checkout { display: flex; align-items: center; justify-content: space-between; min-height: 76px; }
.rm-secure { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font-size: .9rem; font-weight: 500; color: var(--rm-gold-ink); }
.rm-secure .rm-ico { width: 18px; height: 18px; }

/* Product page */
.woocommerce .wp-block-post-title, .single-product .wp-block-post-title { font-family: var(--rm-display); font-weight: 300; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.3; }
.single-product .wc-block-components-product-price, .single-product .wp-block-woocommerce-product-price { font-family: var(--rm-display); font-weight: 200; font-size: 2.2rem !important; color: var(--rm-gold-ink); }
.single-product .wp-block-post-excerpt__excerpt, .single-product .woocommerce-product-details__short-description { color: var(--rm-cocoa); line-height: 1.85; }
.rm-bookinfo { margin: 0 0 22px; padding: 22px 24px; border-radius: var(--rm-radius); background: var(--rm-cream); }
.rm-bookinfo .rm-pkg__list { margin-top: 0 !important; }
.rm-bookinfo__price { margin: 16px 0 4px; padding-top: 14px; border-top: 1px solid var(--rm-line); font-weight: 500; }
.rm-bookinfo__note { margin: 0; font-size: .92rem; color: var(--rm-cocoa); }
.rm-bookfields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; margin-bottom: 18px; }
.rm-bookfield { display: flex; flex-direction: column; gap: 8px; margin: 0; min-width: 0; }
.rm-bookfield--full, .rm-bookfields__error { grid-column: 1 / -1; }
.rm-bookfield label { font-size: .93rem; font-weight: 500; }
.rm-bookfield .rm-input, .rm-bookfields select { width: 100%; box-sizing: border-box; }
.rm-bookfields .rm-error:empty { display: none; }
@media (max-width: 560px) { .rm-bookfields { grid-template-columns: minmax(0, 1fr); } }
.single-product .quantity { display: none !important; }
.single_add_to_cart_button.button, .single_add_to_cart_button {
	min-height: 54px;
	padding: .8em 2.2em !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--rm-espresso) !important;
	color: var(--rm-ivory) !important;
	font-family: var(--rm-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	transition: background-color .3s var(--rm-ease);
}
.single_add_to_cart_button:hover { background: var(--rm-gold-ink) !important; }
.single_add_to_cart_button:disabled { opacity: .45; cursor: not-allowed; }
.single-product .wp-block-woocommerce-product-meta, .single-product .wp-block-woocommerce-product-details { display: none; }
.rm-booking-product .wp-block-woocommerce-related-products, .rm-booking-product .related.products, .rm-booking-product .wp-block-woocommerce-product-collection { display: none !important; }

/* Cart & checkout blocks */
.wc-block-components-button:not(.is-link) {
	min-height: 54px;
	border-radius: 999px !important;
	background: var(--rm-espresso) !important;
	color: var(--rm-ivory) !important;
	font-family: var(--rm-body);
	font-weight: 500;
}
.wc-block-components-button:not(.is-link):hover { background: var(--rm-gold-ink) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-textarea {
	border-radius: 12px !important;
	border-color: rgba(94, 78, 67, .3) !important;
	background: var(--rm-white) !important;
}
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 14px; }
.wc-block-components-title, .wc-block-components-checkout-step__title { font-family: var(--rm-display) !important; font-weight: 300 !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-product-price__value { color: var(--rm-espresso); }
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata { font-size: .85rem; color: var(--rm-cocoa); }
.wc-block-components-notice-banner { border-radius: 14px; }
.woocommerce-order, .woocommerce-thankyou-order-received { font-family: var(--rm-body); }
.woocommerce-checkout .rm-wa-float, .woocommerce-cart .rm-wa-float { display: none; }

/* ==========================================================================
   Footer
   ========================================================================== */
.rm-footer { background: var(--rm-espresso); color: rgba(248, 244, 238, .82); padding: clamp(64px, 8vw, 104px) var(--rm-pad) 28px; }
.rm-footer__inner { max-width: var(--rm-wrap); margin-inline: auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 48px; }
.rm-footer .rm-brand { color: var(--rm-ivory); }
.rm-footer .rm-mark { width: 60px; height: 60px; }
.rm-footer .rm-brand__ar { color: var(--rm-gold-light); }
.rm-footer__tag { margin: 22px 0 8px; font-family: var(--rm-display); font-weight: 300; font-size: 1.45rem; line-height: 1.5; color: var(--rm-gold-light); }
html[lang^="en"] .rm-footer__tag { line-height: 1.25; }
.rm-footer__about { margin: 0; max-width: 36ch; font-size: .95rem; line-height: 1.85; color: rgba(248, 244, 238, .66); }
.rm-footer__social { display: flex; gap: 10px; margin-top: 22px; }
.rm-footer__social a { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(248, 244, 238, .22); color: var(--rm-ivory); transition: background-color .3s, border-color .3s, color .3s; }
.rm-footer__social a:hover { background: var(--rm-gold-light); border-color: var(--rm-gold-light); color: var(--rm-espresso); }
.rm-footer .rm-footer__h { margin: 6px 0 20px; font-family: var(--rm-label); font-size: .82rem; font-weight: 500; letter-spacing: .06em; color: var(--rm-gold-light); }
html[lang^="en"] .rm-footer .rm-footer__h { letter-spacing: .24em; text-transform: uppercase; font-size: .74rem; }
.rm-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rm-footer a { color: rgba(248, 244, 238, .86); text-decoration: none; transition: color .25s; }
.rm-footer a:hover { color: var(--rm-gold-light); }
.rm-footer__contact a, .rm-footer__contact span { display: inline-flex; align-items: center; gap: 10px; }
.rm-footer__contact .rm-ico { width: 18px; height: 18px; color: var(--rm-gold-light); }
.rm-footer__bottom { max-width: var(--rm-wrap); margin: 64px auto 0; padding-top: 22px; border-top: 1px solid rgba(248, 244, 238, .12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-size: .84rem; color: rgba(248, 244, 238, .55); }
.rm-footer__bottom p { margin: 0; }
@media (max-width: 1024px) {
	.rm-footer__inner { gap: 32px; }
}
/* Phones: brand on top, links and contact side by side */
@media (max-width: 640px) {
	.rm-footer { padding: 48px var(--rm-pad) 92px; }
	.rm-footer__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px 18px; }
	.rm-footer__brand { grid-column: 1 / -1; }
	.rm-footer .rm-mark { width: 48px; height: 48px; }
	.rm-footer__tag { margin: 16px 0 6px; font-size: 1.25rem; }
	.rm-footer__about { font-size: .9rem; line-height: 1.75; }
	.rm-footer__social { margin-top: 16px; }
	.rm-footer .rm-footer__h { margin-bottom: 14px; }
	.rm-footer ul { gap: 10px; font-size: .92rem; }
	.rm-footer__contact a, .rm-footer__contact span { gap: 8px; }
	.rm-footer__bottom { margin-top: 32px; padding-top: 18px; font-size: .78rem; }
}

/* ==========================================================================
   Floating WhatsApp
   ========================================================================== */
.rm-wa-float {
	position: fixed;
	z-index: 90;
	bottom: clamp(16px, 2.4vw, 28px);
	inset-inline-end: clamp(16px, 2.4vw, 28px);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	height: 58px;
	min-width: 58px;
	padding: 0 17px;
	border-radius: 999px;
	background: var(--rm-espresso);
	color: var(--rm-ivory);
	text-decoration: none;
	box-shadow: 0 0 0 1px rgba(216, 190, 142, .55), 0 18px 36px -14px rgba(36, 27, 22, .7);
	transition: transform .35s var(--rm-ease), background-color .3s;
}
.rm-wa-float .rm-ico { width: 24px; height: 24px; color: #FBF0DA; }
.rm-wa-float__label { max-width: 0; overflow: hidden; white-space: nowrap; font-size: .93rem; font-weight: 500; transition: max-width .45s var(--rm-ease), margin .45s var(--rm-ease); }
.rm-wa-float:hover { transform: translateY(-3px); background: var(--rm-gold-ink); color: var(--rm-white); }
.rm-wa-float:hover .rm-wa-float__label, .rm-wa-float:focus-visible .rm-wa-float__label { max-width: 260px; margin-inline-start: 10px; }
.rm-wa-float::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 1px solid var(--rm-gold-light); animation: rm-ping 2.8s var(--rm-ease) infinite; pointer-events: none; }
@keyframes rm-ping { 0% { opacity: .7; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(1.35); } }
@media (hover: none) { .rm-wa-float__label { display: none; } }
@media (prefers-reduced-motion: reduce) { .rm-wa-float::before { animation: none; display: none; } }

/* ==========================================================================
   Lightbox
   ========================================================================== */
.wp-lightbox-overlay .scrim { background-color: var(--rm-espresso) !important; opacity: .96 !important; }
.wp-lightbox-overlay .close-button { color: var(--rm-ivory) !important; fill: var(--rm-ivory) !important; }
.wp-lightbox-overlay .close-button svg { fill: var(--rm-ivory); }
.wp-lightbox-container button { border-radius: 50% !important; }

/* ==========================================================================
   Scroll reveal
   ========================================================================== */
.rm-js .rm-reveal { opacity: 0; transform: translateY(28px); transition: opacity 1s var(--rm-ease), transform 1s var(--rm-ease); transition-delay: var(--rm-delay, 0s); }
.rm-js .rm-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.rm-js .rm-reveal { opacity: 1; transform: none; transition: none; }
	.rm-js .rm-hero__text > *, .rm-js .rm-hero__main img, .rm-js .rm-hero__thumb, .rm-js .rm-seal,
	.rm-js .rm-pagehero__text > *, .rm-js .rm-pagehero__img img { animation: none; }
	.rm-card, .rm-card__img img, .rm-work__grid img, .rm-value, .rm-chip, .rm-env__card { transition: none; }
}
