/* Visual overview followed by the preserved four-step youth coaching example. */
html.yp-review-open, html.yp-review-open body { overflow: hidden; }
button.yp-case-study-visual { appearance: none; border: 0; color: inherit; cursor: pointer; display: block; font: inherit; padding: 0; text-align: left; width: 100%; }
button.yp-case-study-visual:focus-visible { outline: 3px solid var(--copper-light); outline-offset: -3px; }
.yp-review-dialog { --muted: #aba092; --copper-deep: #8b5e2a; background: #11110f; border: 1px solid rgba(200,145,74,.4); color: #ede7dd; margin: auto; max-height: calc(100dvh - 40px); max-width: none; overscroll-behavior: contain; padding: 0; width: min(1120px, calc(100% - 40px)); }
.yp-review-dialog:not([open]) { display: none; }
.yp-review-dialog [hidden] { display: none !important; }
.yp-review-overview { background: radial-gradient(ellipse at 55% 65%, rgba(198,155,98,.15), transparent 72%), #11110f; padding: 24px 28px 36px; perspective: 1400px; }
.yp-review-overview img { border: 1px solid rgba(211,170,118,.18); box-shadow: 0 24px 42px rgba(0,0,0,.6); display: block; height: auto; transform: rotateY(-4deg) rotateX(1deg); width: 100%; }
.yp-review-overview:focus-visible { outline: 2px solid var(--copper-light); outline-offset: -4px; }
.yp-review-dialog--overview { width: min(1120px, calc(100% - 40px)); }
.yp-review-dialog--overview .yp-review-heading h2 { font-size: clamp(25px, 3vw, 36px); }
.yp-review-dialog--overview .yp-review-footer { gap: 14px; }
.yp-review-dialog::backdrop { background: rgba(0,0,0,.84); backdrop-filter: blur(6px); }
.yp-review-toolbar { background: #11110f; position: sticky; top: 0; z-index: 2; }
.yp-review-heading { align-items: start; display: flex; gap: 24px; justify-content: space-between; padding: 28px 34px; }
.yp-review-heading h2 { color: #ede7dd; font-family: var(--sans); font-size: clamp(27px, 3vw, 40px); font-weight: 400; letter-spacing: -.025em; line-height: 1.12; }
.yp-review-heading .pr-panel-kicker { font-size: 9px; margin-bottom: 10px; }
.yp-review-close { align-items: center; background: transparent; border: 1px solid rgba(200,145,74,.45); color: #ede7dd; cursor: pointer; display: flex; flex-shrink: 0; font-family: var(--sans); font-size: 12px; gap: 14px; min-height: 44px; padding: 8px 14px; }
.yp-review-close span { color: var(--copper-light); font-size: 24px; line-height: 1; }
  .pr-review-tabs { background: #0d0d0c; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pr-review-tab { appearance: none; background: transparent; border: 0; border-bottom: 1px solid var(--divider); border-right: 1px solid var(--divider); color: var(--muted); cursor: pointer; font-family: var(--sans); min-height: 92px; padding: 20px; text-align: left; transition: background .25s ease, color .25s ease; }
  .pr-review-tab:last-child { border-right: 0; }
  .pr-review-tab span { color: var(--copper); display: block; font-size: 9px; font-weight: 700; letter-spacing: .13em; margin-bottom: 8px; }
  .pr-review-tab strong { display: block; font-size: 14px; font-weight: 500; line-height: 1.3; }
  .pr-review-tab:hover, .pr-review-tab[aria-selected="true"] { background: rgba(200,145,74,.12); color: var(--warm-white); }
  .pr-review-tab:focus-visible { outline: 2px solid var(--copper); outline-offset: -3px; }
  .pr-review-panel { min-height: 500px; padding: clamp(34px, 6vw, 70px); }
  .pr-review-panel[hidden] { display: none; }
  .pr-panel-kicker { color: var(--copper); display: block; font-size: 10px; font-weight: 700; letter-spacing: .16em; margin-bottom: 13px; text-transform: uppercase; }
  .pr-panel-title { color: var(--warm-white); font-size: clamp(24px, 3vw, 34px); font-weight: 400; line-height: 1.2; margin-bottom: 30px; }
  .pr-reflection-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pr-reflection-item { background: #181815; border: 1px solid var(--divider); padding: 22px; }
  .pr-reflection-item dt { color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
  .pr-reflection-item dd { color: var(--warm-white); font-size: 15px; line-height: 1.65; margin-top: 10px; }
  .pr-sort-flow { align-items: stretch; display: grid; gap: 22px; grid-template-columns: .8fr 1.4fr .8fr; }
  .pr-sort-stage { background: #181815; border: 1px solid var(--divider); padding: 26px; }
  .pr-sort-stage h4 { color: var(--warm-white); font-size: 17px; font-weight: 500; margin-bottom: 16px; }
  .pr-sort-stage p, .pr-sort-stage li { color: var(--warm-gray); font-size: 13px; line-height: 1.65; }
  .pr-sort-stage ul { list-style: none; margin: 0; padding: 0; }
  .pr-sort-stage li { border-top: 1px solid var(--divider); padding: 9px 0; }
  .pr-sort-stage--middle { background: rgba(200,145,74,.1); border-color: rgba(200,145,74,.35); }
  .pr-document { background: #eee9e0; color: #191714; margin: 0 auto; max-width: 780px; padding: clamp(30px, 5vw, 54px); position: relative; }
  .pr-document::before { background: var(--copper); content: ''; height: 4px; left: 0; position: absolute; right: 0; top: 0; }
  .pr-document-brand { color: var(--copper-deep); display: block; font-size: 9px; font-weight: 700; letter-spacing: .16em; margin-bottom: 26px; text-transform: uppercase; }
  .pr-document-row { border-top: 1px solid rgba(18,17,15,.16); display: grid; gap: 20px; grid-template-columns: 160px 1fr; padding: 18px 0; }
  .pr-document-row strong { font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
  .pr-document-row p { color: #514c45; font-size: 14px; line-height: 1.65; }
  .pr-par-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pr-par-card { background: #181815; border: 1px solid var(--divider); padding: 28px; }
  .pr-par-letter { color: var(--copper); display: block; font-size: 42px; font-weight: 600; line-height: 1; }
  .pr-par-card h4 { color: var(--warm-white); font-size: 18px; font-weight: 500; margin: 16px 0 10px; }
  .pr-par-card p { color: var(--warm-gray); font-size: 13px; line-height: 1.65; }
  .pr-par-cue { background: var(--copper); color: #0a0a09; font-size: clamp(19px, 2.4vw, 28px); font-weight: 500; line-height: 1.35; margin-top: 16px; padding: 24px 28px; }

.yp-review-dialog .pr-review-panel { min-height: 0; padding: 38px 42px 42px; }
.yp-review-dialog .pr-review-panel:focus-visible { outline: 2px solid var(--copper-light); outline-offset: -4px; }
.yp-review-dialog .pr-reflection-grid { margin: 0; }
.yp-review-dialog .pr-reflection-item dd { margin-left: 0; }
.yp-review-dialog .pr-par-card h4 { margin-top: 12px; }
.yp-review-dialog .pr-review-tab { min-height: 78px; }
.yp-review-dialog .pr-panel-title { font-size: clamp(24px, 2.8vw, 32px); }
.yp-review-footer { align-items: center; border-top: 1px solid rgba(200,145,74,.25); display: flex; gap: 20px; justify-content: space-between; padding: 22px 34px; }
.yp-review-progress { color: #aba092; font-size: 12px; margin: 0; white-space: nowrap; }
.yp-review-controls { display: flex; gap: 12px; }
.yp-review-controls button { background: transparent; border: 1px solid rgba(200,145,74,.5); color: #ede7dd; cursor: pointer; font-family: var(--sans); font-size: 12px; min-height: 44px; padding: 11px 18px; }
.yp-review-controls .yp-review-next { background: var(--copper); border-color: var(--copper); color: #090908; font-weight: 500; }
.yp-review-controls button:disabled { cursor: default; opacity: .35; }
.yp-review-dialog button:focus-visible { outline: 2px solid var(--copper-light); outline-offset: -4px; }
@media (max-width: 900px) {
  .yp-review-dialog .pr-sort-flow { grid-template-columns: 1fr; gap: 14px; }
}
@media (min-width: 641px) {
  .yp-review-overview img { max-height: calc(100dvh - 260px); object-fit: contain; }
}
@media (max-width: 640px) {
  .yp-review-dialog { max-height: calc(100dvh - 16px); width: calc(100% - 16px); }
  .yp-review-overview { padding: 18px 12px 28px; }
  .yp-review-overview img { transform: rotateY(-2deg); }
  .yp-review-heading { gap: 12px; padding: 20px 18px; }
  .yp-review-heading h2 { font-size: 26px; }
  .yp-review-heading .pr-panel-kicker { max-width: 24ch; line-height: 1.5; }
  .yp-review-close { font-size: 11px; gap: 8px; padding: 8px 10px; }
  .yp-review-dialog .pr-review-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yp-review-dialog .pr-review-tab { min-height: 72px; padding: 13px 16px; }
  .yp-review-dialog .pr-review-tab strong { font-size: 13px; }
  .yp-review-dialog .pr-review-tab span { margin-bottom: 4px; }
  .yp-review-dialog .pr-review-tab:nth-child(2) { border-right: 0; }
  .yp-review-dialog .pr-review-panel { padding: 28px 18px; }
  .yp-review-dialog .pr-panel-title { font-size: 24px; margin-bottom: 24px; }
  .yp-review-dialog .pr-reflection-grid, .yp-review-dialog .pr-par-grid { grid-template-columns: 1fr; }
  .yp-review-dialog .pr-reflection-item { padding: 20px; }
  .yp-review-dialog .pr-document { padding: 28px 22px; }
  .yp-review-dialog .pr-document-row { gap: 8px; grid-template-columns: 1fr; }
  .yp-review-dialog .pr-par-card { padding: 22px; }
  .yp-review-dialog .pr-par-cue { padding: 22px; font-size: 21px; }
  .yp-review-footer { align-items: stretch; flex-direction: column; gap: 14px; padding: 20px 18px; }
  .yp-review-controls { display: grid; grid-template-columns: auto 1fr; }
  .yp-review-dialog--overview .yp-review-controls { grid-template-columns: 1fr; }
  .yp-review-dialog--overview .yp-review-footer { padding-top: 16px; }
  .yp-review-controls button { font-size: 11px; padding-inline: 12px; }
}
