/* Rose Conveyancing to Meridian Rose welcome dialog. Inherits brand variables from .site[data-brand=rose]. */
.rose-welcome{width:min(560px,calc(100% - 2rem));max-width:none;max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:0;border-top:4px solid var(--accent-light);background:var(--ivory);color:var(--slate);font-family:var(--f);box-shadow:0 24px 60px rgba(5,11,20,.28);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.rose-welcome::backdrop{background:rgba(5,11,20,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.rose-welcome-panel{position:relative;padding:clamp(1.75rem,5vw,2.75rem);padding-top:clamp(2rem,5vw,2.75rem)}
.rose-welcome-panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--paper)}
.rose-welcome-close-form{position:absolute;top:.6rem;right:.6rem;margin:0}
.rose-welcome-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--navy);cursor:pointer;transition:background .25s,border-color .25s}
.rose-welcome-close:hover{background:var(--paper);border-color:var(--grey)}
.rose-welcome-close span{position:relative;width:18px;height:18px}
.rose-welcome-close span::before,.rose-welcome-close span::after{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;background:currentColor}
.rose-welcome-close span::before{transform:rotate(45deg)}.rose-welcome-close span::after{transform:rotate(-45deg)}
.rose-welcome-eyebrow{display:flex;align-items:center;gap:.8rem;margin:0 3rem 1rem 0;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--bronze)}
.rose-welcome-eyebrow::before{content:"";width:28px;height:2px;background:var(--accent-light);flex:none}
.rose-welcome-title{font-family:var(--fd);font-size:clamp(1.6rem,4.6vw,2.2rem);line-height:1.12;color:var(--navy);margin:0;max-width:16ch}
.rose-welcome-rule{display:block;width:56px;height:3px;background:var(--accent-light);margin:1.1rem 0 1.4rem}
.rose-welcome-copy p{font-size:1.02rem;font-weight:500;line-height:1.6;margin:0 0 1.2rem}
.rose-welcome-points{list-style:none;margin:0;padding:0;border-top:1px solid var(--grey)}
.rose-welcome-points li{position:relative;padding:.8rem 0 .8rem 1.6rem;border-bottom:1px solid var(--grey);font-size:.95rem;line-height:1.5}
.rose-welcome-points li::before{content:"";position:absolute;left:0;top:1.55em;width:.9rem;height:2px;background:var(--bronze)}
.rose-welcome-points strong{color:var(--navy);font-weight:600}
.rose-welcome-actions{margin:1.75rem 0 0}
.rose-welcome-continue{width:100%;justify-content:center}
@media(min-width:520px){.rose-welcome-continue{width:auto}}
.rose-welcome :is(button):focus-visible{outline:3px solid var(--bronze);outline-offset:3px}
.rose-welcome-close:focus-visible{background:var(--paper)}
@media(max-height:560px){.rose-welcome{max-height:calc(100dvh - 1rem)}.rose-welcome-panel{padding:1.4rem 1.25rem}.rose-welcome-rule{margin:.8rem 0 1rem}.rose-welcome-points li{padding:.55rem 0 .55rem 1.6rem}}
@media(prefers-reduced-motion:no-preference){
.rose-welcome[open]{animation:rose-welcome-in .45s var(--ease) both}
.rose-welcome[open]::backdrop{animation:rose-welcome-fade .35s ease both}
}
@keyframes rose-welcome-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes rose-welcome-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.rose-welcome,.rose-welcome::backdrop{animation:none!important;transition:none!important}}
