html{scrollbar-gutter:stable}
details summary{touch-action:manipulation}
details summary:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid currentColor;outline-offset:5px}
dialog::backdrop{background:rgb(var(--fw-charcoal-rgb) / 0.788);backdrop-filter:blur(6px)}
.case-study-dialog{width:min(1100px,calc(100vw - 48px));max-width:none;max-height:calc(100svh - 48px);padding:20px;background:var(--fw-ivory);color:var(--fw-ink);border:1px solid var(--fw-line-light);border-radius:18px;box-shadow:0 30px 110px rgb(var(--fw-charcoal-rgb) / 0.4)}
.document-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:16px}
.document-toolbar h2{font-size:16px;font-weight:600;margin:0}
.document-toolbar button{background:var(--fw-raised);color:var(--fw-ivory);border:0;border-radius:24px;padding:12px 18px;min-height:44px;cursor:pointer;white-space:nowrap}
.document-page{height:70svh;overflow:auto;border-radius:6px;background:var(--fw-stone);text-align:center;overscroll-behavior:contain}
.document-page img{display:block;width:min(100%,880px);height:auto;margin:auto;background:white}
.document-navigation{display:flex;align-items:center;gap:16px;padding-top:14px;font-size:12px;flex-wrap:wrap}
.document-navigation button,.document-navigation select{font:inherit;min-height:44px;min-width:44px;background:var(--fw-stone);border:1px solid var(--fw-control);border-radius:6px;color:var(--fw-ink);padding:8px}
.document-navigation button:disabled{opacity:.4}.document-navigation a{color:inherit;margin-left:auto;padding:12px 0}
.document-status{font-size:11px;color:var(--fw-muted-light)}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .reveal-item{animation:editorial-reveal linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes editorial-reveal{0%{opacity:0;transform:translate3d(0,18px,0)}15%,90%{opacity:1;transform:translate3d(0,0,0)}100%{opacity:0;transform:translate3d(0,-8px,0)}}
 }
}
.reduced-motion .reveal-item{animation:none!important}
@media(prefers-reduced-motion:reduce){.reveal-item{animation:none!important}dialog::backdrop{backdrop-filter:none}}
@media print{.reveal-item{animation:none!important;opacity:1!important;transform:none!important}dialog{display:none!important}}
/* Preserve readable type while keeping a short education section with the record. */
@media print{
 .resume-section{padding-top:8pt}
 .resume-role+.resume-role{margin-top:7pt}
 .resume-role li,.resume-credential-group li{margin-bottom:1.5pt}
 .resume-credential-group{margin-bottom:6pt}
 .resume-document[data-format=ats]{line-height:1.45}
 .resume-section:last-child{break-inside:avoid}
 /* A single reading order also keeps long credential groups from stranding
    their section heading or pushing education onto an otherwise empty page. */
 .resume-credential-group{break-inside:auto}
 .resume-credential-group li{break-inside:avoid}
 /* Expanded roles may continue across pages; keep each bullet intact and
    keep headings attached to the organization and opening bullet. */
 .resume-role{break-inside:auto}
 .resume-role-heading,.resume-organization{break-after:avoid}
 .resume-role li{break-inside:avoid}
}
/* Supporting records stay separate from the selected resume's print content. */
.resume-training-download{margin-top:28px;padding-top:20px;border-top:1px solid var(--fw-control)}
.resume-training-download .record-link{display:block;font-size:14px;line-height:1.6;margin-top:10px;padding:8px 0}
.credentials-download{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline}
.training-resource{margin:0 var(--record-pad) 48px;padding:26px 0;border-block:1px solid var(--fw-control);display:flex;justify-content:space-between;align-items:center;gap:24px}
.training-resource p{max-width:48ch;margin-top:8px!important;font-size:16px;line-height:1.6}
.training-resource .record-link{flex-shrink:0;margin-top:0}
.partner-learning{margin-top:24px;border-top:1px solid var(--fw-line-light);padding-top:20px;max-width:850px}
.partner-learning h3{font-size:17px;margin-bottom:12px}.partner-learning ul{padding-left:20px;font-size:15px;line-height:1.7}.partner-learning p{font-size:13px;line-height:1.7;color:var(--fw-muted-light);margin-top:10px!important}
.resume-role-context{margin-top:6px!important}.resume-role-brief+.resume-role-brief{margin-top:18px}
.resume-evidence a{display:inline-block;padding-block:5px}
@media(max-width:760px){.training-resource{display:block;margin-bottom:32px}.training-resource .record-link{margin-top:14px}.credentials-download{display:block}.credentials-download .record-link{display:table}.resume-role-context{font-size:12px;line-height:1.65}}
@media print{.resume-training-download,.training-resource{display:none!important}.resume-role-brief{break-inside:avoid}.resume-role-brief+.resume-role-brief{margin-top:7pt}.resume-role-context{font-size:9pt;line-height:1.4;margin-top:3pt!important}.resume-evidence a{padding:0}.resume-document[data-format=ats] .resume-role-context{font-size:10pt}}
@media print{
 .resume-document{font-size:10pt;line-height:1.4}
 .resume-document[data-format=ats]{font-size:10pt;line-height:1.4}
 .resume-role h3,.resume-credential-group h3{font-size:10pt}
 .resume-dates,.resume-organization{font-size:8.5pt}
 .resume-skills dt,.resume-skills dd,.resume-credential-group li,.resume-evidence,.resume-stack{font-size:9pt}
}

@media print{.resume-section>h2{margin-bottom:7pt!important}.resume-organization{margin:3pt 0 4pt!important}.resume-role ul{margin-top:4pt}}

@media print{.resume-credentials{break-inside:avoid}}
