/* Preserve the approved palette and desktop design. Restore a complete,
   independently scrollable mobile navigation, including short landscape screens. */
html body #drawer:has(.epr-menu){align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:92px 24px 36px;box-sizing:border-box;height:100dvh}
html body #drawer:has(.epr-menu)>.inner{width:min(900px,100%);margin:0 auto;display:block;padding:0}
html body #drawer .epr-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px;list-style:none;margin:0;padding:0}
html body #drawer .epr-menu-group{margin:0;padding:0;min-width:0}
html body #drawer .epr-menu-group .epr-menu-label{font:600 12px/1.4 Manrope,Arial,sans-serif;letter-spacing:.13em;color:#b8c8bf;text-transform:lowercase;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #ffffff26}
html body #drawer .epr-menu-group ul{list-style:none;padding:0;margin:0}
html body #drawer .epr-menu-group li{margin:0;padding:0}
html body #drawer .epr-menu-group a{font:400 19px/1.35 'Source Serif 4',Georgia,serif;display:flex;align-items:center;min-height:44px;width:100%;gap:0;padding:6px 0;box-sizing:border-box;opacity:1;transform:none;transition:color .2s;color:#fff;text-transform:lowercase;white-space:normal}
html body #drawer .epr-menu-group a:focus-visible{outline:2px solid #b8c8bf;outline-offset:4px;border-radius:3px}
html body #drawer:has(.epr-menu) .close{position:fixed;top:20px;right:24px;z-index:2;min-height:44px;padding:8px 16px;background:#4a3855;border:1px solid #ffffff55;border-radius:999px;color:white}
html body #drawer:has(.epr-menu) .dmeta{margin:30px 0 0;padding:22px 0 0;border-top:1px solid #ffffff26}
html body .esf-social-icon svg.epr-social-svg{display:block;width:25px;height:25px;fill:currentColor;color:#60776c;flex:none}
@media(max-width:520px){html body #drawer .epr-menu{grid-template-columns:1fr;gap:24px}html body #drawer .epr-menu-group a{font-size:21px}}
/* Long mobile sections must not remain invisible because an animation's
   desktop intersection threshold cannot be reached on a small screen. */
@media(max-width:800px){html body main .rv{opacity:1!important;transform:none!important}html body main #stmt{opacity:1!important}}
/* Phone-height screens need the complete card, not a desktop sticky stack
   that lets the next card cover its lower copy and destination link. */
@media(max-width:880px){html body #act3 .slab{position:relative;top:auto;min-height:0;transform:none!important}html body #act3 .slab .body{min-height:0}}
/* Let expanded family panels grow to their actual text height. Keep the
   existing accordion and its inactive headings, but do not crop the CTA. */
@media(max-width:900px){html body #family .fv-panel[aria-expanded="true"]{min-height:0}html body #family .fv-panel[aria-expanded="true"] .fv-content{position:relative;inset:auto;height:auto;min-height:470px}html body #family .fv-panel[aria-expanded="false"] .fv-content{display:none}}
/* Touch browsers can retain :hover after a tap; do not freeze the marquee. */
@media(hover:none) and (prefers-reduced-motion:no-preference){html[data-fp12] body #insRow:hover .fp12-logo-track:not(.fp12-offscreen){animation-play-state:running}}
html body[data-epr-route="what-to-expect"] #eleve-footer-contact a[href="sms:+18333489389"],html body[data-epr-route="what-to-expect"] .esf-number-text-control{display:none!important}
@media(prefers-reduced-motion:reduce){html body #drawer:has(.epr-menu),html body #drawer .epr-menu-group a{transition:none}}
/* Compact desktops retain all three visible actions without clipping. */
@media(min-width:1101px) and (max-width:1400px){html body header#nav .wrap.navrow{width:calc(100% - 40px);max-width:none;margin-inline:auto;gap:16px}html body header#nav .links{gap:14px}html body header#nav .nitem>a{font-size:12px}}
@media(min-width:901px) and (max-width:1239px){html body header#nav .links{display:none!important}html body header#nav .burger{display:flex!important}html body header#nav .navrow{justify-content:space-between}}
.epr-skip{position:fixed;left:16px;top:12px;z-index:2147483647;transform:translateY(-180%);padding:14px 22px;background:#4a3855;color:#fff;font:700 16px/1.3 Manrope,Arial,sans-serif;border:2px solid #fff;border-radius:8px}
.epr-skip:focus{transform:none}
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #2a665f;outline-offset:4px;box-shadow:0 0 0 2px #fff}
html body #eleve-site-footer :is(a,button),html body .esf-site-footer :is(a,button){min-height:44px;display:inline-flex;align-items:center}
html body .esf-socials{gap:12px}.epr-care-actions{position:fixed;z-index:900;right:22px;bottom:22px;display:flex;gap:8px}.epr-care-actions a{display:none}.epr-care-actions a.epr-insurance-action{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;background:#4a3855;color:white;border:1px solid #b9acbf;border-radius:999px;box-shadow:0 3px 0 #34273d,0 6px 16px #0003;font:600 14px/1.2 Manrope,Arial,sans-serif;text-decoration:none;text-transform:lowercase}
@media(max-width:800px){body:has(.epr-care-actions){padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.epr-care-actions{right:0;left:0;bottom:0;justify-content:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#f8f5ef;box-shadow:0 -4px 22px #0002;gap:8px}.epr-care-actions a,.epr-care-actions a.epr-insurance-action{display:flex;align-items:center;justify-content:center;min-height:48px;flex:1;padding:8px 10px;background:#4a3855;color:#fff;border-radius:999px;border:1px solid #b9acbf;box-shadow:0 3px 0 #34273d;font:600 14px/1.2 Manrope,Arial,sans-serif;text-decoration:none}.epr-care-actions a.epr-insurance-action{flex:1.45}.elv-privacy-banner{bottom:90px!important}}
/* These motion layers never block touch or reduced-motion navigation. */
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){html body :is(.curtain,#curtain,.wipe,#wipe,.fp11-departure,.cursor,.cursor-dot,.cursor-ring,#cursor,#cursorDot,#cursorRing,.scroll-progress){display:none!important;animation:none!important;transition:none!important;pointer-events:none!important}html body,html body *{cursor:auto!important}html{scroll-behavior:auto!important}}
