/* Mitra-inspired footer trial, scoped to the saved floating-hero preview. */
.ry-mf { --mf-dark:var(--color-base-base-dark-100); --mf-light:#eaf3dc; --mf-muted:#5e6754; background:var(--mf-dark); overflow:clip; }
.ry-mf-close { max-width:1280px; margin:auto; padding:110px 30px 0; text-align:center; border-inline:1px solid #ffffff0c; color:var(--mf-light); }
.ry-mf-close h2 { margin:0 auto 18px; max-width:660px; color:inherit; font-size:42px; line-height:1.15; font-weight:400; letter-spacing:-.04em; }
.ry-mf-close p { margin:0 0 32px; color:#eaf3dca3; font-size:16px; }
.ry-mf-actions { display:flex; justify-content:center; align-items:center; gap:12px; }
.ry-mf-actions .cta_primary { min-height:48px; }
.ry-mf-secondary { display:inline-flex; align-items:center; justify-content:center; padding:13px 24px; min-height:48px; border-radius:var(--radius-ui-button-base); color:var(--mf-light); background:#eaf3dc16; font-size:14px; transition:background .2s; }
.ry-mf-secondary:hover { background:#eaf3dc28; }
.ry-mf-transition { position:relative; width:120%; margin-inline:-10%; aspect-ratio:4.08696/1; background:var(--mf-light); overflow:clip; mask-image:linear-gradient(transparent 27%,#000 77%); }
.ry-mf-wave { position:absolute; top:65%; left:0; width:100%; aspect-ratio:2.33251/1; transform:translateY(-50%); mask:url('../images/ry/footer/flow-mask.svg') center/cover no-repeat; }
.ry-mf-wave video { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transform:rotate(180deg); filter:grayscale(1) sepia(.7) saturate(1.6) hue-rotate(38deg); }
.ry-mf-transition::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(transparent 78%,var(--mf-light)); }
.ry-mf-footer { padding:40px 40px 0; background:var(--mf-light); color:var(--color-base-base-dark-100); }
.ry-mf-inner { max-width:1120px; margin:auto; }
.ry-mf-top { display:grid; grid-template-columns:2fr 3fr; gap:20px; }
.ry-mf-brand { display:block; width:145px; }
.ry-mf-brand img { width:100%; height:auto; display:block; }
.ry-mf-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.ry-mf-links h3 { margin:0 0 14px; color:var(--mf-muted); font:400 14px/1.4 var(--typography-font-body); }
.ry-mf-links ul { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.ry-mf-links a { font-size:14px; line-height:1.45; color:inherit; text-decoration:none; }
.ry-mf-links a:hover,.ry-mf-legal a:hover { text-decoration:underline; text-underline-offset:4px; }
.ry-mf-bottom { display:grid; grid-template-columns:2fr 3fr; gap:20px; margin-top:85px; }
.ry-mf-copyright { margin:0; font-size:13px; line-height:1.6; color:var(--mf-muted); }
.ry-mf-legal { display:flex; gap:8px 16px; flex-wrap:wrap; margin-top:18px; }
.ry-mf-legal a { color:var(--mf-muted); font-size:12px; }
.ry-mf-wordmark { font-family:var(--typography-font-heading-sans); font-weight:600; font-size:clamp(110px,14vw,220px); line-height:.9; letter-spacing:-.065em; white-space:nowrap; margin:0 0 -20px; }
.ry-mf-motion { display:flex; align-items:center; gap:7px; padding:6px 0; margin:18px 0 22px; background:none; border:0; font-size:11px; color:var(--mf-muted); cursor:pointer; }
.ry-mf-motion svg { width:11px; height:11px; }
.ry-mf a:focus-visible,.ry-mf button:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media(max-width:1100px) {
 .ry-mf-top,.ry-mf-bottom { grid-template-columns:1fr 3fr; }
 .ry-mf-links { gap:18px; }
 .ry-mf-wordmark { font-size:17vw; }
}
@media(max-width:767px) {
 .ry-mf-close { margin-inline:20px; padding:80px 20px 0; }
 .ry-mf-close h2 { font-size:32px; max-width:360px; }
 .ry-mf-close p { font-size:14px; }
 .ry-mf-actions { flex-direction:column; gap:10px; }
 .ry-mf-actions > * { width:100%; max-width:300px; }
 .ry-mf-transition { width:200%; margin-left:-50%; aspect-ratio:4.08696/1; }
 .ry-mf-footer { padding:40px 24px 0; }
 .ry-mf-top { grid-template-columns:1fr; gap:40px; }
 .ry-mf-brand { width:135px; }
 .ry-mf-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
 .ry-mf-links a { display:inline-block; padding-block:3px; }
 .ry-mf-links ul { gap:5px; }
 .ry-mf-bottom { grid-template-columns:1fr; gap:38px; margin-top:54px; }
 .ry-mf-wordmark { font-size:23vw; margin-bottom:-10px; }
 .ry-mf-motion { margin-bottom:0; }
}
.ry-mf-links li { margin:0; padding:0; }
.ry-mf-wordmark { font-weight:400; letter-spacing:-.045em; }

.ry-mf-socials { display:flex; align-items:center; gap:8px; margin-top:16px; }
.ry-mf-socials a { display:grid; place-items:center; width:32px; height:32px; color:var(--color-base-base-dark-100); border-radius:var(--radius-general-small); transition:background .2s; }
.ry-mf-socials a:hover { background:#231f2310; }
.ry-mf-socials svg { display:block; width:18px; height:18px; }
.ry-mf-socials + .ry-mf-legal { margin-top:12px; }

/* Two offer columns, four benefits in each. */
.ry-mf-offer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:40px; max-width:720px; margin:28px auto 32px; text-align:left; }
.ry-mf-offer ul { display:grid; gap:14px; align-content:start; list-style:none; padding:0; margin:0; }
.ry-mf-offer li { display:flex; align-items:flex-start; gap:10px; padding:0; margin:0; color:#eaf3dcdf; font-size:16px; line-height:1.5; }
.ry-mf-offer svg { display:block; flex:none; width:18px; height:18px; margin-top:3px; color:var(--color-base-accent-primary); }
.ry-mf-offer ul:first-child li:first-child { color:var(--mf-light); font-weight:500; }
@media(max-width:767px) {
  .ry-mf-offer { column-gap:20px; margin-block:24px 28px; }
  .ry-mf-offer ul { gap:14px; }
  .ry-mf-offer li { gap:7px; font-size:13px; line-height:1.5; }
  .ry-mf-offer svg { width:15px; height:15px; margin-top:2px; }
}
@media(max-width:380px) {
  .ry-mf-offer { column-gap:12px; }
  .ry-mf-offer li { gap:5px; font-size:12px; }
  .ry-mf-offer svg { width:13px; height:13px; }
}

.ry-mf-wordmark { display:flex; align-items:flex-start; gap:.04em; width:max-content; position:relative; }
.ry-mf-copyright-mark { position:static; inset:auto; display:block; flex:none; margin-top:.6em; font-family:var(--typography-font-body); font-size:.13em; font-weight:400; line-height:1; letter-spacing:0; }

/* Copyright follows the social links; legal links live in the Company column. */
.ry-mf-bottom .ry-mf-socials { margin-top: 0; }
.ry-mf-socials + .ry-mf-copyright { margin-top: 16px; }
