/* Website resume. Source content stays intact; layout follows the portfolio. */
.resume-page { --resume-blue:#007aff; --resume-heading:#122036; }
.resume-document { width:calc(100% - var(--gutter) * 2); max-width:1120px; margin:0 auto; padding:54px 0 80px; }
.resume-document :is(h1,h2,h3,h4) { color:var(--resume-heading); }
.resume-intro { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:0 0 48px; }
.resume-role { font-size:16px; color:var(--muted); margin-bottom:10px; }
.resume-intro h1 { font-size:48px; line-height:1.25; font-weight:650; letter-spacing:-.025em; }
.resume-focus { font-size:18px; color:var(--muted); margin-top:18px; line-height:1.7; }
.resume-contact { display:flex; flex-direction:column; align-items:flex-start; gap:4px; font-size:16px; font-variant-numeric:tabular-nums; }
.resume-contact>a { display:flex; align-items:center; min-height:36px; }
.resume-contact>a:hover { color:#0067d7; text-decoration:underline; text-underline-offset:4px; }
.resume-download { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:10px 16px; margin-top:12px; border:0; border-radius:8px; background:#eef5ff; color:#0067d7; transition:background .2s; }
.resume-download:hover { background:#deedff; }
.resume-download svg,.resume-product-heading svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.resume-section { display:grid; grid-template-columns:144px minmax(0,1fr); gap:40px; }
.resume-section-label h2 { margin:21px 0 0; font-size:20px; line-height:1.5; font-weight:600; }
.resume-section-body { min-width:0; }
.resume-employer-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 24px; border-radius:10px; background:#f1f6fc; }
.resume-employer-heading h3 { font-size:22px; line-height:1.5; font-weight:600; }
.resume-employer-heading span { display:block; font-size:15px; color:var(--muted); margin-top:5px; }
.resume-period { font-size:14px; color:var(--muted); white-space:nowrap; font-variant-numeric:tabular-nums; }
.resume-job-summary { color:var(--muted); font-size:16px; line-height:1.85; padding:20px 0 0; }
.resume-product { margin-top:32px; }
.resume-product-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.resume-product-heading h3 { font-size:24px; font-weight:650; line-height:1.45; }
.resume-product-heading h3 span { display:block; color:var(--muted); font-size:15px; font-weight:400; margin-top:4px; }
.resume-product-heading>a { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:14px; color:#0067d7; white-space:nowrap; }
.resume-product-heading>a:hover { text-decoration:underline; text-underline-offset:5px; }
.resume-project { font-size:16px; line-height:1.85; }
.resume-project h4 { margin:0 0 10px; font-size:18px; line-height:1.6; font-weight:600; }
.resume-project p { margin:0 0 12px; color:#526882; }
.resume-project ul { margin:12px 0 0; padding-left:20px; }
.resume-project li { padding-left:4px; margin:12px 0; color:#475b72; }
.resume-project li::marker { color:#93b4d7; }
.resume-project strong { font-weight:600; color:#122036; }
.resume-project p strong { color:#0067d7; }
#nexus-ai .resume-project { margin-top:28px; }
.resume-product+.resume-product { margin-top:40px; }
.resume-earlier { margin-top:52px; }
.resume-earlier .resume-project { margin-top:16px; }
.resume-education { margin:0 0 40px; }
.resume-education .resume-section-label h2 { margin-top:0; }
.resume-education .row { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.resume-education h3 { font-size:18px; font-weight:600; line-height:1.6; }
.resume-school-badge { display:inline-block; vertical-align:middle; margin:0 4px 2px; padding:2px 8px; border-radius:5px; background:#e5f1ff; color:#0067d7; font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.02em; }
.resume-education .date { color:var(--muted); font-size:14px; white-space:nowrap; }
.resume-education p { font-size:15px; line-height:1.8; color:var(--muted); margin-top:12px; }
.resume-document :is([id]) { scroll-margin-top:120px; }
@media(max-width:1000px) {
  .resume-section { grid-template-columns:112px minmax(0,1fr); gap:24px; }
  .resume-employer-heading { align-items:flex-start; flex-direction:column; gap:10px; }
}
@media(max-width:760px) {
  .resume-document { padding-top:32px; padding-bottom:48px; }
  .resume-intro { align-items:flex-start; flex-direction:column; gap:24px; padding-bottom:40px; }
  .resume-intro h1 { font-size:38px; }
  .resume-focus { font-size:16px; margin-top:12px; }
  .resume-section { grid-template-columns:minmax(0,1fr); gap:16px; }
  .resume-section-label h2 { margin:0; font-size:21px; }
  .resume-employer-heading { padding:18px; }
  .resume-employer-heading h3 { font-size:19px; }
  .resume-job-summary,.resume-project { font-size:15px; line-height:1.85; }
  .resume-product-heading { align-items:flex-start; gap:12px; }
  .resume-product-heading h3 { font-size:22px; }
  .resume-product-heading h3 span { font-size:14px; }
  .resume-product-heading>a { gap:6px; font-size:13px; }
  .resume-project h4 { font-size:17px; }
  .resume-education .row { flex-direction:column; gap:8px; }
  .resume-earlier { margin-top:40px; }
  .resume-education { margin-bottom:32px; }
}
@media print {
  @page { size:A4; margin:16mm; }
  .resume-page { background:#fff; color:#111; }
  .resume-page :is(.overview-nav,.overview-footer,.skip-link,.resume-download,.resume-product-heading>a,dialog,.toast) { display:none!important; }
  .resume-document { width:100%; max-width:none; margin:0; padding:0; }
  .resume-intro { flex-direction:row; align-items:center; padding-bottom:20px; gap:16px; }
  .resume-intro h1 { font-size:25pt; }
  .resume-role,.resume-focus,.resume-contact { font-size:10pt; }
  .resume-contact>a { min-height:0; }
  .resume-section { display:block; }
  .resume-section-label h2 { font-size:13pt; margin:18px 0 12px; }
  .resume-employer-heading { padding:0; background:none; border-radius:0; flex-direction:row; gap:16px; }
  .resume-employer-heading h3 { font-size:12pt; }
  .resume-employer-heading span,.resume-period { font-size:10pt; }
  .resume-job-summary,.resume-project { font-size:10pt; line-height:1.65; }
  .resume-job-summary { padding-top:10px; }
  .resume-product { margin-top:18px; }
  .resume-product-heading { margin-bottom:12px; }
  .resume-product-heading h3 { font-size:13pt; }
  .resume-product-heading h3 span { display:inline; margin-left:8px; font-size:10pt; }
  .resume-project h4 { font-size:11pt; }
  .resume-project li { margin:7px 0; break-inside:avoid; }
  .resume-project p { margin-bottom:7px; }
  #nexus-ai .resume-project { margin-top:16px; }
  .resume-product+.resume-product,.resume-earlier { margin-top:24px; }
  .resume-education { margin:0 0 20px; }
  .resume-education h3 { font-size:11pt; }
  .resume-education p,.resume-education .date { font-size:10pt; }
  .resume-page :is(h2,h3,h4,.resume-product-heading,.resume-employer-heading) { break-after:avoid; }
  .resume-page a { color:inherit; }
}

/* PDF download uses the verified two-page resume, independent of browser print. */
.resume-contact > .resume-download { justify-content:center; font-weight:600; text-decoration:none; }
.resume-download:focus-visible { outline:2px solid #0067d7; outline-offset:3px; }
