.yd-onepage { color: #1b1c19; font-family: 'Inter', sans-serif; }
.yd-onepage-hero {
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: 12rem 0 clamp(5rem, 8vw, 8rem);
    border-radius: 0 0 50px 50px;
    background: #efefeb;
}
.yd-onepage-hero-copy { max-width: none; }
.yd-onepage-hero-grid-text-only { grid-template-columns: minmax(0, 1fr); }
.yd-onepage-hero-grid-text-only .yd-onepage-hero-copy { max-width: 760px; }
.yd-onepage-hero p { max-width: 50ch; margin: 2rem 0 0; font-size: 1rem; line-height: 1.6; }
.yd-onepage-hero-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    margin-top: 1.6rem;
    padding: .95rem 1.2rem;
    overflow: hidden;
    border: 1px solid rgba(175,232,39,.82);
    border-radius: 5px;
    background: #afe827;
    color: #171815;
    font-size: .9rem;
    font-weight: 400;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}
.yd-onepage-hero-link-label { display: block; height: 1.2em; overflow: hidden; line-height: 1.2; }
.yd-onepage-hero-link-label > span { display: block; white-space: nowrap; }
.yd-onepage-hero-link:hover .yd-onepage-hero-link-label > span,
.yd-onepage-hero-link:focus-visible .yd-onepage-hero-link-label > span { animation: vita-home-link-roll .7s ease-in-out 1 both; }
.yd-onepage-hero-link:hover { border-color: rgba(175,232,39,.82); background: rgba(175,232,39,.2); color: #171815; }
.yd-onepage-hero-link:focus-visible { outline: 3px solid #171815; outline-offset: 4px; }
.yd-onepage-item-link { display: inline-flex; gap: .65rem; margin-top: 1.6rem; color: inherit; text-decoration: none; }
.yd-onepage-item-link:hover { text-decoration: underline; text-underline-offset: .3em; }
.yd-onepage-services { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr); gap: clamp(3rem, 7vw, 8rem); align-items: start; width: min(100% - 3rem, 1320px); margin: 0 auto; padding: clamp(5rem, 10vw, 10rem) 0; }
.yd-onepage-services-intro { position: sticky; top: 7rem; }
.yd-onepage-kicker { margin: 0 0 1.3rem; color: #888984; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.yd-onepage-services-intro > h2 { max-width: 18ch; margin: 0; color: #171815 !important; font-size: clamp(1.55rem, 2.35vw, 2.45rem); font-weight: 400; line-height: 1.15; letter-spacing: -.05em; }
.yd-onepage-services-intro > h2 span { color: #afe827; }
.yd-onepage-list { display: grid; gap: .9rem; width: 100%; margin: 0; align-items: start; }
.yd-onepage-item { border-radius: 10px; background: #eeeeeb; overflow: hidden; }
.yd-onepage-item summary { display: flex; align-items: center; justify-content: space-between; padding: 2rem 2.5rem; cursor: pointer; list-style: none; font-size: clamp(1.25rem, 2vw, 1.8rem); letter-spacing: -.04em; }
.yd-onepage-item summary::-webkit-details-marker { display: none; }
.yd-onepage-item summary i { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #e9edd8; font-style: normal; font-size: 1.25rem; font-weight: 300; }
.yd-onepage-item[open] summary i { background: #c9ff2e; }
.yd-onepage-item-body { padding: 0 2.5rem 2.5rem; max-width: 790px; }
.yd-onepage-item-body > p:first-child { max-width: 65ch; margin: 0 0 2rem; color: #4e504d; line-height: 1.6; }
.yd-onepage-item-label { margin: 0 0 .75rem; color: #858681; font-size: .8rem; }
.yd-onepage-item-body ul { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.yd-onepage-item-body li { padding: .55rem .8rem; border-radius: 999px; background: #fff; color: #555751; font-size: .85rem; }
.yd-onepage-item-link { margin-top: 2rem; }
@media (max-width: 700px) {
    .yd-onepage-hero { padding: 9rem 0 5rem; }
    .yd-onepage-services { display: block; width: min(100% - 2rem, 1140px); }
    .yd-onepage-services-intro { position: static; margin-bottom: 2.5rem; }
    .yd-onepage-item summary { padding: 1.4rem 1.25rem; }
    .yd-onepage-item-body { padding: 0 1.25rem 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .yd-onepage-hero-link-label > span { animation: none !important; }
}
