.gallery-intro { max-width: 68ch; margin: -8px 0 24px; color: var(--text-muted); font-size: 14px; line-height: 1.65; }
.export-note { max-width: 64ch; margin: 18px 0 0; padding: 10px 14px; border-left: 3px solid var(--primary); border-radius: 0 8px 8px 0; background: var(--bg-subtle); color: var(--text-muted); font-size: 13px; line-height: 1.6; }
.export-note strong { color: var(--text-main); }
.resume-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.resume-choice { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: var(--bg-card); box-shadow: 0 12px 30px rgb(15 23 42 / 5%); }
.sample-image-button { display: grid; place-items: center; width: 100%; min-height: 385px; padding: 16px; border: 0; border-bottom: 1px solid var(--border); background: var(--bg-subtle); cursor: zoom-in; }
.sample-image-button:hover img { transform: translateY(-4px); box-shadow: 0 15px 32px rgb(15 23 42 / 18%); }
.sample-image-button img { display: block; width: min(100%, 250px); height: auto; aspect-ratio: 794 / 1123; object-fit: contain; background: #fff; box-shadow: 0 7px 19px rgb(15 23 42 / 14%); transition: transform .2s ease, box-shadow .2s ease; }
.resume-choice-content { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.template-number { color: var(--primary); font-size: 12px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.resume-choice h3 { margin: 7px 0 8px; color: var(--text-main); font-size: 19px; letter-spacing: -.45px; }
.resume-choice p { margin: 0; color: var(--text-muted); font-size: 14px; line-height: 1.6; }
.choice-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: auto; padding-top: 20px; }
.choice-actions button, .choice-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 13px; border-radius: 10px; font: inherit; font-size: 13px; font-weight: 700; text-decoration: none; }
.choice-actions button { border: 1px solid var(--border); color: var(--text-main); background: var(--bg-card); }
.choice-actions button:hover { border-color: var(--primary); color: var(--primary); }
.choice-actions a { border: 1px solid #1d4ed8; color: #fff; background: #1d4ed8; }
.choice-actions a:hover { background: #1e40af; }
.sample-image-button:focus-visible, .choice-actions button:focus-visible, .choice-actions a:focus-visible, .sample-dialog button:focus-visible, .sample-dialog select:focus-visible, .sample-dialog a:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }

.sample-dialog { width: min(1000px, calc(100vw - 30px)); max-width: none; max-height: calc(100vh - 30px); margin: auto; padding: 0; border: 1px solid var(--border); border-radius: 18px; background: var(--bg-card); color: var(--text-main); box-shadow: 0 28px 75px rgb(0 0 0 / 30%); overflow: hidden; }
.sample-dialog::backdrop { background: rgb(7 18 36 / 78%); backdrop-filter: blur(8px); }
.sample-dialog-shell { display: flex; flex-direction: column; max-height: calc(100vh - 32px); }
.sample-dialog-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 15px 20px; border-bottom: 1px solid var(--border); }
.sample-dialog-header .hero-eyebrow { margin: 0 0 3px; font-size: 11px; }
.sample-dialog-header h2 { margin: 0; font-size: 20px; line-height: 1.25; }
.sample-dialog-controls { display: flex; align-items: center; gap: 8px; }
.sample-dialog-controls label { font-size: 13px; font-weight: 700; }
.sample-dialog-controls select { min-height: 42px; max-width: 210px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--bg-card); color: var(--text-main); font: inherit; font-size: 13px; }
#closeSampleDialog { width: 42px; height: 42px; border: 1px solid var(--border); border-radius: 9px; background: var(--bg-card); color: var(--text-main); font-size: 26px; line-height: 1; }
.sample-dialog-body { display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px; place-items: center; gap: 8px; min-height: 0; overflow: auto; padding: 18px; background: #dfe7f0; }
.sample-image-scroll { min-width: 0; max-width: 100%; max-height: calc(100vh - 225px); overflow: auto; overscroll-behavior: contain; }
.sample-dialog-body img { display: block; width: auto; max-width: 100%; max-height: calc(100vh - 225px); margin: auto; aspect-ratio: 794 / 1123; object-fit: contain; background: #fff; box-shadow: 0 8px 26px rgb(15 23 42 / 20%); }
.sample-image-scroll.is-zoomed img { width: 794px; min-width: 794px; max-width: none; max-height: none; margin: 0; }
.sample-nav { width: 44px; height: 44px; border: 1px solid #becbda; border-radius: 50%; background: #fff; color: #213b5d; font-size: 31px; line-height: 1; }
.sample-nav:hover { background: #e7f0ff; }
.sample-dialog-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 20px; border-top: 1px solid var(--border); }
.sample-dialog-footer p { color: var(--text-muted); font-size: 12px; line-height: 1.45; }
.sample-dialog-footer #sampleZoomButton { min-height: 42px; padding: 8px 14px; border: 1px solid var(--border); border-radius: 9px; background: var(--bg-card); color: var(--text-main); font: inherit; font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.sample-dialog-footer #sampleZoomButton:hover { border-color: var(--primary); color: var(--primary); }
.sample-dialog-footer .btn-primary { white-space: nowrap; }
@media (max-width: 900px) { .resume-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .site-page.launch-page .top-actions .about-link, .site-page.launch-page .brand-link span { display: none; } .site-page.launch-page .top-bar { padding-inline: 16px; } .resume-gallery { grid-template-columns: 1fr; gap: 16px; } .sample-image-button { min-height: 345px; } .sample-image-button img { width: min(100%, 220px); } .sample-dialog-header { padding: 12px; } .sample-dialog-controls { width: 100%; } .sample-dialog-controls select { flex: 1; min-width: 0; } .sample-dialog-body { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 3px; padding: 10px 5px; } .sample-nav { width: 44px; height: 44px; font-size: 25px; } .sample-image-scroll, .sample-dialog-body img { max-height: calc(100vh - 250px); } .sample-dialog-footer { padding: 12px; } .sample-dialog-footer p { display: none; } .sample-dialog-footer .btn-primary { flex: 1; } }
@media (max-width: 360px) { .sample-dialog-footer { flex-direction: column; gap: 8px; } .sample-dialog-footer #sampleZoomButton, .sample-dialog-footer .btn-primary { width: 100%; justify-content: center; } .sample-image-scroll, .sample-dialog-body img { max-height: calc(100vh - 305px); } }
@media (prefers-reduced-motion: reduce) { .sample-image-button img { transition: none; } }
