@font-face{font-family:'YS Story Sans';src:url('./fonts/dm-sans-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'YS Story Sans';src:url('./fonts/dm-sans-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'YS Story Heading';src:url('./fonts/epilogue-black.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:'YS Story Accent';src:url('./fonts/lora-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
.ys-story.ys3-ready{padding-top:clamp(48px,5vw,72px);padding-bottom:clamp(64px,7vw,100px);color:#082f62;font-family:'YS Story Sans',Arial,sans-serif}
.ys-story.ys3-ready .ys-story__inner{width:100%;max-width:1240px;margin:0 auto}
.ys3-ready *{box-sizing:border-box}
.ys3-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start;margin:0;padding:0 0 30px}
.ys3-intro-copy{min-width:0}
.ys3-ready .ys3-eyebrow{font:700 14px/1.5 'YS Story Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px}
.ys3-ready #ys-story-title{font:900 clamp(46px,4.9vw,72px)/1.06 'YS Story Heading',Arial,sans-serif;letter-spacing:-.055em;margin:0 0 24px;color:#082f62}
.ys3-ready #ys-story-title em{font-family:'YS Story Accent',Georgia,serif;font-weight:400;color:#285640}
.ys3-ready .ys3-intro-copy>p:not(.ys3-eyebrow){font:400 17px/1.5 'YS Story Sans',Arial,sans-serif;max-width:490px;margin:0 0 14px}
.ys3-signals{min-width:0}
.ys3-signals-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.ys3-ready .ys3-signals-heading h2{font:400 16px/1.5 'YS Story Sans',Arial,sans-serif;letter-spacing:0;margin:0}
.ys3-signals-heading button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1px solid #082f6240;background:transparent;color:#082f62;font:400 16px/1 'YS Story Sans',Arial,sans-serif;cursor:pointer}
.ys3-lift{height:450px;display:grid;grid-template-columns:1fr 1fr;gap:18px;overflow:hidden;mask-image:linear-gradient(transparent,#000 7%,#000 91%,transparent)}
.ys3-ready .ys3-track{display:flex;flex-direction:column;gap:18px;padding:0;margin:0;list-style:none;align-self:start;animation:ys3-rise 62s linear infinite;animation-play-state:paused}
.ys3-ready .ys3-track-b{animation-name:ys3-fall;animation-duration:53s}
.ys3-ready .ys3-tile{aspect-ratio:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:12%;border-radius:18px;text-align:center;font:700 clamp(18px,1.55vw,22px)/1.28 'YS Story Sans',Arial,sans-serif;letter-spacing:-.03em;margin:0;color:#082f62}
.ys3-sage{background:#87a990}.ys3-sand{background:#f7f3e9}.ys3-ready .ys3-navy{background:#082f62;color:#f7f3e9}.ys3-pale{background:#87a990}.ys3-ready .ys3-green{background:#285640;color:#fffdf8}
.ys3-lift.is-running .ys3-track{animation-play-state:running}.ys3-lift:not(.is-ready){height:auto;mask-image:none}.ys3-lift:not(.is-ready) .ys3-track{animation:none}
@keyframes ys3-rise{from{transform:translateY(0)}to{transform:translateY(calc(-50% - 9px))}}@keyframes ys3-fall{from{transform:translateY(calc(-50% - 9px))}to{transform:translateY(0)}}
.ys3-approach-summary{display:grid;grid-template-columns:.85fr 1.15fr;gap:6%;align-items:center;padding-top:24px;margin:0}
.ys3-approach-photo{margin:0;min-height:320px;height:350px}
.ys3-approach-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%;border-radius:20px}
.ys3-approach-topics{display:flex;flex-direction:column;gap:22px;min-width:0}
.ys3-approach-topic{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start}
.ys3-ready .ys3-topic-icon{display:block;width:56px;height:56px;object-fit:contain;mix-blend-mode:normal}
.ys3-ready .ys3-approach-topic h3{font:700 20px/1.25 'YS Story Sans',Arial,sans-serif;letter-spacing:-.025em;margin:0 0 8px;color:#082f62}
.ys3-ready .ys3-approach-topic p{font:400 16px/1.5 'YS Story Sans',Arial,sans-serif;letter-spacing:0;margin:0;max-width:540px}
.ys3-ready .ys3-button{display:inline-flex;align-items:center;justify-content:space-between;align-self:flex-start;gap:28px;padding:10px 18px;margin-left:72px;border-radius:100px;background:#082f62;color:#f7f3e9;font:700 15px/1.5 'YS Story Sans',Arial,sans-serif;text-decoration:none}
.ys3-button:hover{background:#285640}.ys3-ready :focus-visible{outline:3px solid #082f62;outline-offset:5px}
@media(max-width:1050px){.ys3-ready #ys-story-title{font-size:50px}.ys3-lift{height:460px}.ys3-approach-summary{grid-template-columns:.7fr 1.3fr;gap:4%}.ys3-approach-photo{height:100%;min-height:340px}.ys3-ready .ys3-approach-topic h3{font-size:19px}}
@media(max-width:767px){.ys-story.ys3-ready{padding-top:64px!important;padding-bottom:60px!important}.ys3-intro{grid-template-columns:1fr;gap:26px;padding-bottom:28px}.ys3-ready #ys-story-title{font-size:clamp(40px,10.5vw,64px)}.ys3-ready #ys-story-title br:nth-of-type(2){display:none}.ys3-ready .ys3-intro-copy>p:not(.ys3-eyebrow){font-size:16px}.ys3-ready .ys3-eyebrow{font-size:13px}.ys3-signals-heading button{display:none}.ys3-lift,.ys3-lift.is-ready{height:auto;overflow:visible;mask-image:none;gap:12px}.ys3-ready .ys3-track{animation:none;transform:none;gap:12px}.ys3-ready .ys3-track-b{padding-top:32px}.ys3-ready .ys3-tile{font-size:clamp(16px,3.7vw,22px);padding:11%;border-radius:13px;min-height:145px}.ys3-tile[aria-hidden]{display:none}.ys3-approach-summary{grid-template-columns:1fr;gap:24px;padding-top:8px}.ys3-approach-photo{min-height:0;height:260px}.ys3-approach-topic{grid-template-columns:44px minmax(0,1fr);gap:12px}.ys3-ready .ys3-topic-icon{width:44px;height:44px}.ys3-ready .ys3-approach-topic h3{font-size:18px;line-height:1.3}.ys3-ready .ys3-approach-topic p{font-size:16px}.ys3-ready .ys3-button{margin-left:56px}}
@media(prefers-reduced-motion:reduce){.ys3-lift,.ys3-lift.is-ready{height:auto;mask-image:none}.ys3-ready .ys3-track{animation:none;transform:none}.ys3-tile[aria-hidden]{display:none}.ys3-signals-heading button{display:none}}

/* Preserve the original Young Support title treatment. */
.ys3-ready #ys-story-title{font-family:"Arial Rounded MT Bold","Avenir Next",Arial,sans-serif;font-size:clamp(38px,4.7vw,72px);font-weight:900;line-height:.96;letter-spacing:-.058em;margin-bottom:28px}
.ys3-ready #ys-story-title .ys3-title-line{display:block}
.ys3-ready #ys-story-title .ys3-title-green{color:#285640}
.ys3-ready #ys-story-title .ys3-title-dot{color:#bf9561}
.ys3-ready .ys3-intro-copy>p:not(.ys3-eyebrow){font-family:"Avenir Next",Avenir,Arial,sans-serif;font-size:clamp(17px,1.3vw,20px);font-weight:400;line-height:1.42;max-width:54ch}
@media(max-width:767px){.ys3-ready #ys-story-title{font-size:clamp(30px,9.5vw,56px);line-height:1;margin-bottom:22px}.ys3-ready .ys3-intro-copy>p:not(.ys3-eyebrow){font-size:17px;line-height:1.5}}

/* Place the photo beneath the introduction and keep both topics together below. */
.ys3-intro-copy .ys3-approach-photo{width:min(100%,320px);height:auto;aspect-ratio:4/5;min-height:0;margin:24px 0 0}
.ys3-intro-copy .ys3-approach-photo>img{object-position:50% 25%;border-radius:20px}
.ys3-approach-summary{display:block;padding-top:12px}
.ys3-approach-topics{display:grid;grid-template-columns:1fr 1fr;column-gap:7%;row-gap:20px;align-items:start}
.ys3-ready .ys3-approach-button{grid-column:2;justify-self:start}
@media(max-width:767px){.ys3-intro-copy .ys3-approach-photo{height:auto;margin-top:22px}.ys3-approach-topics{grid-template-columns:1fr;gap:24px}.ys3-ready .ys3-approach-button{grid-column:1}.ys3-approach-summary{padding-top:8px}}

/* Let the moving tiles follow the complete text-and-portrait column. */
@media(min-width:768px) and (prefers-reduced-motion:no-preference){.ys3-signals{align-self:stretch;display:flex;flex-direction:column;min-height:0}.ys3-lift.is-ready{flex:1 1 0;height:0;min-height:0}.ys3-signals-heading{flex-shrink:0}}

/* Echo the contact photo frame with the opposite gentle tilt. */
.ys3-intro-copy .ys3-approach-photo{width:min(100%,21rem);aspect-ratio:1/1;overflow:hidden;border:.55rem solid #fffdf8;border-radius:9rem 9rem 1.5rem 1.5rem / 4rem 4rem 1.5rem 1.5rem;box-shadow:0 1.2rem 2.4rem rgba(8,47,98,.14);transform:rotate(-1.5deg)}
.ys3-intro-copy .ys3-approach-photo>img{border-radius:0;object-position:50% 23%}

@media(min-width:1024px){.ys3-intro-copy .ys3-approach-photo{transform:translateX(2.5rem) rotate(-1.5deg)}}

/* Mobile: two horizontal rows, fading at the sides. */
@media(max-width:767px) and (prefers-reduced-motion:no-preference){
.ys3-signals-heading button{display:flex;width:44px;height:44px}
.ys3-lift.is-ready{display:flex;flex-direction:column;gap:12px;height:auto;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.ys3-ready .ys3-lift.is-ready .ys3-track{display:flex;flex-direction:row;width:max-content;gap:12px;animation:ys3-mobile-slide 54s linear infinite;animation-play-state:paused;transform:none}
.ys3-ready .ys3-lift.is-ready .ys3-track-b{animation-duration:48s;animation-direction:reverse;padding-top:0}
.ys3-ready .ys3-lift.is-ready .ys3-tile{width:clamp(145px,42vw,190px);height:auto;min-height:0;aspect-ratio:1;padding:16px;font-size:16px}
.ys3-ready .ys3-lift.is-running .ys3-track{animation-play-state:running}
.ys3-lift.is-ready .ys3-tile[aria-hidden]{display:flex}
}
@keyframes ys3-mobile-slide{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}

/* Give the introductory copy breathing room within the rounded panel. */
@media(min-width:1024px){
 .ys3-ready .ys3-intro-copy>#ys-story-title,
 .ys3-ready .ys3-intro-copy>p{padding-left:clamp(40px,3.5vw,60px)}
}
@media(max-width:1023px){
 .ys-story.ys3-ready{padding-left:24px!important;padding-right:24px!important}
}

/* Normal-weight reading copy; the handwritten payoff keeps its own styling. */
.ys-flow__intro > p:not(.ys-flow__quote){font-weight:400!important}
@media (prefers-reduced-motion:reduce){
  [data-ys-reading-light] > .ys-reading-word{opacity:1!important}
}
@media print{
  [data-ys-reading-light] > .ys-reading-word{opacity:1!important}
}

/* Reveal the motion control when exploring the cards or using the keyboard. */
@media (hover:hover) and (pointer:fine){
  .ys3-signals #ys3-motion{opacity:0;pointer-events:none;transition:opacity .2s ease}
  .ys3-signals:hover #ys3-motion,
  .ys3-signals:focus-within #ys3-motion{opacity:1;pointer-events:auto}
}
