.ys-site-footer__column a, .ys-site-footer__address a, .legal-footer nav a, .legal-header nav a { background-image:linear-gradient(currentColor,currentColor); background-repeat:no-repeat; background-position:left bottom; background-size:0% 1px; transition:background-size .35s ease; text-decoration:none !important; }
.ys-site-footer__column a:is(:hover,:focus-visible,:active,.ys-link-selected), .ys-site-footer__address a:is(:hover,:focus-visible,:active,.ys-link-selected), .legal-footer nav a:is(:hover,:focus-visible,:active,.ys-link-selected), .legal-header nav a:is(:hover,:focus-visible,:active,.ys-link-selected) { background-size:100% 1px; }
.ys-legal-arrival::before { content:""; position:fixed; inset:0; z-index:2147483646; background:#87a990; }
.ys-legal-arrival::after { content:""; position:fixed; z-index:2147483647; left:var(--ys-wipe-x,50%); top:var(--ys-wipe-y,50%); transform:translate(-50%,-50%); width:clamp(80px, 10vw, 144px); aspect-ratio:1; background:url('./young-support-mark-vector.svg?v=20260914-smooth2') center/contain no-repeat; pointer-events:none; }
.ys-legal-wipe { position:fixed; inset:0; z-index:2147483647; overflow:hidden; pointer-events:auto; display:grid; place-items:center; color:#87a990; }
.ys-legal-wipe__shape { position:absolute; width:100%; aspect-ratio:1; }
.ys-legal-wipe__shape svg { position:absolute; width:120%; height:120%; top:-10%; left:-10%; overflow:visible; }
.ys-legal-wipe__mark { position:absolute; left:var(--ys-wipe-x,50%); top:var(--ys-wipe-y,50%); transform:translate(-50%,-50%); width:clamp(80px, 10vw, 144px); aspect-ratio:1; }
.ys-legal-wipe__logo { display:block; position:static; width:100%; height:100%; max-width:none; margin:0; padding:0; object-fit:contain; transform-origin:center; }
@media(max-width:767px) {
  .ys-legal-wipe__shape { height:100%; aspect-ratio:auto; }
  .ys-legal-wipe__shape svg { width:230%; height:120%; left:-65%; }
}
@media(prefers-reduced-motion:reduce) { .ys-legal-arrival::before,.ys-legal-arrival::after { display:none; } }

/* The document bridge and animated cover share the same mobile mark size. */
@media(max-width:767px), (max-width:991px) and (max-height:500px) {
 .ys-legal-arrival::before {background:#faf7f0!important}
 .ys-legal-arrival::after {width:72px;transform:translate(-50%,-50%)}
 .ys-legal-wipe.is-mobile {background:#faf7f0}
 .ys-legal-wipe.is-mobile .ys-legal-wipe__shape {display:none}
 .ys-legal-wipe.is-mobile .ys-legal-wipe__mark {width:72px}
 .ys-legal-wipe.is-mobile .ys-legal-wipe__logo {width:100%;height:100%}
}
/* Scroll targets are placed instantly while the curtain covers the page. */
html.ys-legal-arrival, html.ys-transition-covered {scroll-behavior:auto!important}

/* Mobile keeps the boot curtain itself throughout initialization and reveal.
   Overscan covers Safari's browser-bar resize without moving the fixed mark. */
html.ys-mobile-arrival-curtain::before,
html.ys-mobile-arrival-curtain::after {content:none!important;display:none!important}
.ys-legal-wipe.is-mobile {inset:auto!important;top:0!important;left:0!important;width:100%!important;height:100vh!important;height:100lvh!important;min-height:100%!important;overflow:visible!important}
.ys-legal-wipe.is-mobile::before {content:"";position:absolute;inset:-200px 0;background:#faf7f0;z-index:-1}
/* The saved homepage transition must never surface below the shared curtain. */
html.ys-legal-arrival [data-transition-wrap],
html.ys-transition-covered [data-transition-wrap] {visibility:hidden!important}
