.snap-cohort-resource-detail {
    --sc-resource-accent: var(--snap-cohort-accent, #7d0f29);
    --sc-resource-ink: var(--snap-cohort-ink, #10182d);
    --sc-resource-muted: var(--snap-cohort-muted, #5f6470);
    --sc-resource-border: var(--snap-cohort-border, #e5ded9);
    --sc-resource-soft: color-mix(in srgb, var(--sc-resource-accent) 6%, #fff);
    color: var(--sc-resource-ink);
    margin-inline: auto;
    max-width: 90rem;
}

.snap-cohort-resource-detail__hero,
.snap-cohort-resource-detail__layout,
.snap-cohort-resource-detail__related {
    padding-inline: clamp(1.25rem, 6vw, 5rem);
}

.snap-cohort-resource-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    min-height: 25rem;
}

.snap-cohort-resource-detail__hero-copy {
    align-self: center;
    padding-block: clamp(3rem, 7vw, 6rem);
    padding-right: clamp(2rem, 5vw, 5rem);
}

.snap-cohort-resource-detail__visual {
    margin: 0;
    min-height: 100%;
}

.snap-cohort-resource-detail__visual img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.snap-cohort-resource-detail__breadcrumb {
    color: var(--sc-resource-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .78rem;
    gap: .5rem;
    margin-bottom: 2.5rem;
}

.snap-cohort-resource-detail__breadcrumb a { color: inherit; }
.snap-cohort-resource-detail__eyebrow { color: var(--sc-resource-accent); font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.snap-cohort-resource-detail h1 { font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: clamp(2.25rem, 4.5vw, 4.25rem); font-weight: 400; letter-spacing: -.035em; line-height: .98; margin: .75rem 0 1.25rem; }
.snap-cohort-resource-detail__lead { font-size: 1.08rem; line-height: 1.65; max-width: 34rem; }
.snap-cohort-resource-detail__access { align-items: center; color: #1e6b39; display: flex; font-size: .9rem; gap: .55rem; margin-top: 1.75rem; }

.snap-cohort-resource-detail__layout {
    border-top: 1px solid var(--sc-resource-border);
    display: grid;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 1.45fr) minmax(19rem, .8fr);
    padding-block: clamp(3rem, 6vw, 5.5rem);
}

.snap-cohort-resource-detail :is(h2, h3) { font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-weight: 400; }
.snap-cohort-resource-detail__article > h2 { font-size: clamp(1.8rem, 3vw, 2.65rem); margin-top: 0; }
.snap-cohort-resource-detail__content { color: #3f4450; line-height: 1.7; }
.snap-cohort-resource-detail__content ul { display: grid; gap: .45rem; padding-left: 1.2rem; }

.snap-cohort-resource-detail__files {
    border-left: 1px solid var(--sc-resource-border);
    padding-left: clamp(1.5rem, 4vw, 4rem);
}
.snap-cohort-resource-detail__files > h2 { font-size: 1.8rem; margin-top: 0; }
.snap-cohort-resource-detail__files ul { display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.snap-cohort-resource-detail__files li { align-items: center; display: grid; gap: .75rem; grid-template-columns: 2rem minmax(0, 1fr) auto; padding-block: .6rem; }
.snap-cohort-resource-detail__file-icon { color: var(--sc-resource-accent); }
.snap-cohort-resource-detail__file-copy { display: grid; gap: .25rem; min-width: 0; }
.snap-cohort-resource-detail__file-copy strong { overflow-wrap: anywhere; }
.snap-cohort-resource-detail__file-copy small { color: var(--sc-resource-muted); }
.snap-cohort-resource-detail__file-action,
.snap-cohort-resource-detail__back,
.snap-cohort-resource-detail__primary { border: 1px solid var(--sc-resource-accent); color: var(--sc-resource-accent); display: inline-flex; font-size: .82rem; font-weight: 700; justify-content: center; padding: .75rem 1rem; text-decoration: none; }
.snap-cohort-resource-detail__file-action:hover,
.snap-cohort-resource-detail__file-action:focus-visible,
.snap-cohort-resource-detail__primary:hover,
.snap-cohort-resource-detail__primary:focus-visible { background: var(--sc-resource-accent); color: #fff; }
.snap-cohort-resource-detail__file-action.is-disabled { border-color: transparent; color: var(--sc-resource-muted); }
.snap-cohort-resource-detail__favorite { border-top: 1px solid var(--sc-resource-border); margin-top: 2rem; padding-top: 1.5rem; }
.snap-cohort-resource-detail__favorite .snap-cohort-favorite { background: transparent; border: 1px solid color-mix(in srgb, var(--sc-resource-accent) 35%, transparent); color: var(--sc-resource-accent); padding: .85rem 1rem; width: 100%; }

.snap-cohort-resource-detail__checkpoints { margin-top: 2.5rem; }
.snap-cohort-resource-detail__checkpoints dl { border: 1px solid var(--sc-resource-border); margin: 0; }
.snap-cohort-resource-detail__checkpoints dl div { display: grid; gap: 1rem; grid-template-columns: minmax(9rem, .75fr) 1.4fr; padding: .8rem 1rem; }
.snap-cohort-resource-detail__checkpoints dl div + div { border-top: 1px solid var(--sc-resource-border); }
.snap-cohort-resource-detail__checkpoints :is(dt, dd) { margin: 0; }
.snap-cohort-resource-detail__checkpoints dt { font-weight: 700; }
.snap-cohort-resource-detail__checkpoints dd { color: var(--sc-resource-muted); }

.snap-cohort-resource-detail__guide { background: var(--sc-resource-soft); border: 1px solid color-mix(in srgb, var(--sc-resource-accent) 16%, transparent); margin-top: 1.5rem; padding: 1rem 1.25rem; }
.snap-cohort-resource-detail__guide h3 { font-size: 1rem; margin: 0 0 .8rem; }
.snap-cohort-resource-detail__guide ol { counter-reset: resource-guide; display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; }
.snap-cohort-resource-detail__guide li { counter-increment: resource-guide; display: grid; font-size: .78rem; gap: .2rem; grid-template-columns: 1.6rem 1fr; }
.snap-cohort-resource-detail__guide li::before { align-items: center; background: var(--sc-resource-accent); border-radius: 999px; color: #fff; content: counter(resource-guide); display: flex; grid-row: span 2; height: 1.35rem; justify-content: center; width: 1.35rem; }
.snap-cohort-resource-detail__guide span { color: var(--sc-resource-muted); }
.snap-cohort-resource-detail__back { align-items: center; gap: .4rem; margin-top: 1.5rem; }

.snap-cohort-resource-detail__related { border-top: 1px solid var(--sc-resource-border); padding-block: 2.25rem 3.5rem; }
.snap-cohort-resource-detail__related-heading { align-items: center; display: flex; justify-content: space-between; }
.snap-cohort-resource-detail__related-heading h2 { margin: 0; }
.snap-cohort-resource-detail__related-heading a { color: var(--sc-resource-accent); font-weight: 700; }
.snap-cohort-resource-detail__related-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 1.5rem; }
.snap-cohort-resource-detail__related-grid article { align-items: flex-start; border-right: 1px solid var(--sc-resource-border); display: flex; gap: 1rem; padding-right: 1rem; }
.snap-cohort-resource-detail__related-grid article:last-child { border-right: 0; }
.snap-cohort-resource-detail__related-grid .dashicons { color: var(--sc-resource-accent); }
.snap-cohort-resource-detail__related-grid h3 { font-family: inherit; font-size: .95rem; font-weight: 700; margin: 0; }
.snap-cohort-resource-detail__related-grid h3 a { color: inherit; }
.snap-cohort-resource-detail__related-grid p { color: var(--sc-resource-muted); font-size: .8rem; margin: .3rem 0 0; }

.snap-cohort-resource-detail--locked { min-height: 55vh; padding: clamp(4rem, 10vw, 8rem) 1.25rem; }
.snap-cohort-resource-detail--locked section { margin-inline: auto; max-width: 44rem; text-align: center; }
.snap-cohort-resource-detail--locked h1 { font-size: clamp(2rem, 5vw, 3.8rem); }
.snap-cohort-resource-detail__primary { background: var(--sc-resource-accent); color: #fff; margin-top: 1rem; }

@media (max-width: 900px) {
    .snap-cohort-resource-detail__hero { grid-template-columns: 1fr; }
    .snap-cohort-resource-detail__visual { max-height: 26rem; order: -1; }
    .snap-cohort-resource-detail__layout { grid-template-columns: 1fr; }
    .snap-cohort-resource-detail__files { border-left: 0; border-top: 1px solid var(--sc-resource-border); padding-left: 0; padding-top: 2rem; }
}

@media (max-width: 620px) {
    .snap-cohort-resource-detail__files li { align-items: start; grid-template-columns: 1.5rem 1fr; }
    .snap-cohort-resource-detail__file-action { grid-column: 2; width: fit-content; }
    .snap-cohort-resource-detail__checkpoints dl div,
    .snap-cohort-resource-detail__guide ol,
    .snap-cohort-resource-detail__related-grid { grid-template-columns: 1fr; }
    .snap-cohort-resource-detail__related-heading { align-items: flex-start; flex-direction: column; gap: .75rem; }
    .snap-cohort-resource-detail__related-grid article { border-bottom: 1px solid var(--sc-resource-border); border-right: 0; padding-block: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
    .snap-cohort-resource-detail * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
