/* aljubaer.com /cv — v7.5 (1-Nov-2026). Real A4 pages on screen and on paper, three designs:
   .t-academic (US academic, serif), .t-modern (colour header with photo), .t-resume (dates on the left). */
:root{--ink:#16161d;--ink2:#4a4a58;--rule:#1f1f2b;--ac:#6d28d9;--sans:'Plus Jakarta Sans',system-ui,sans-serif;--serif:'Source Serif 4',Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
html{background:radial-gradient(60rem 40rem at 90% -10%,rgba(236,72,153,.10),transparent 60%),radial-gradient(50rem 36rem at -10% 10%,rgba(109,40,217,.10),transparent 60%),#eeedf5;min-height:100%}
body{margin:0;color:var(--ink);font:14px/1.4 var(--serif);-webkit-font-smoothing:antialiased}
a{color:#3b1d8f;text-decoration:none}a:hover{text-decoration:underline}

/* toolbar */
.cv-bar{position:sticky;top:10px;z-index:10;max-width:1000px;margin:10px auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px;padding:8px 10px 8px 12px;border-radius:18px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.95);box-shadow:0 12px 30px -18px rgba(46,16,101,.45);font:600 13px var(--sans)}
.cv-home{display:flex;align-items:center;gap:8px;color:#141427;font-weight:800}
.cv-logo{height:30px;width:auto}
.cv-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid #e3e3f0;border-radius:11px;overflow:hidden;background:#fff}
.seg a{padding:6px 12px;color:#4f4f6b;white-space:nowrap}.seg a.on{background:linear-gradient(135deg,#6d28d9,#ec4899);color:#fff}.seg a:hover{text-decoration:none;background:#f5f3ff}.seg a.on:hover{background:linear-gradient(135deg,#6d28d9,#ec4899)}
.cv-pages{font:700 11.5px var(--sans);color:#7c7c96;padding:0 4px}
.pr{border:0;border-radius:11px;padding:8px 13px;font:700 13px var(--sans);cursor:pointer;background:#141427;color:#fff;white-space:nowrap}
.pr.ghost{background:#fff;color:#141427;box-shadow:inset 0 0 0 1px #e3e3f0}
.pr:disabled{opacity:.7;cursor:progress}
.cv-edit{position:fixed;right:16px;bottom:16px;z-index:20;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#6d28d9,#ec4899);color:#fff;font:700 13px var(--sans);box-shadow:0 14px 30px -12px rgba(109,40,217,.7)}

/* A4 pages (794 × 1123 px = 210 × 297 mm at 96 dpi) */
.cv-stage{padding:22px 0 60px}
.page{width:794px;height:1123px;margin:0 auto 24px;background:#fff;display:flex;flex-direction:column;padding:46px 60px 26px;box-shadow:0 30px 60px -36px rgba(46,16,101,.45),0 0 0 1px rgba(46,16,101,.06);position:relative;overflow:hidden}
.pg-run{display:flex;justify-content:space-between;min-height:0;font:700 9px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#a3a3b8}
.pg-run:not(:empty){margin:-20px 0 14px;padding-bottom:6px;border-bottom:1px solid #eee}
.pg-body{flex:1;min-height:0;overflow:hidden}
.pg-foot{display:flex;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid #ececf2;font:600 9px var(--sans);letter-spacing:.04em;color:#a3a3b8}
/* the source flow: shown as one sheet if scripts are off, hidden once paged */
.sheet{max-width:794px;margin:18px auto 50px;background:#fff;padding:46px 60px 30px;box-shadow:0 30px 70px -40px rgba(46,16,101,.45)}
body.paged .sheet{position:absolute;left:-10000px;top:0;width:674px;padding:0;margin:0;box-shadow:none}

/* ---------- shared content ---------- */
.cv-head{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:end;padding-bottom:10px;margin-bottom:6px;position:relative}
.cv-head h1{font-size:27px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0;line-height:1.1}
.cv-title{margin:3px 0 0;font-style:italic;font-size:14.5px}
.cv-aff{margin:1px 0 0;color:var(--ink2);font-size:12.5px}
.cv-contact{list-style:none;margin:0;padding:0;text-align:right;font-size:11.8px;color:var(--ink2);line-height:1.5}
.cv-photo{display:none}
.cv-sig{display:none}
.cv-h{font-size:12.2px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:13px 0 5px;padding-bottom:2px;border-bottom:1px solid #c9c9d6;color:var(--rule)}
.cv-h3{font-size:12.8px;font-style:italic;font-weight:600;margin:6px 0 3px;color:var(--ink2)}
.ent{display:grid;grid-template-columns:1fr 92px;gap:0 14px;margin:0 0 5px}
.ent.sk{grid-template-columns:1fr;margin-bottom:2px}
.ent-r{text-align:right;white-space:nowrap;font-size:12.6px;color:var(--ink2)}
.ent ul{margin:1px 0 0;padding-left:16px}
.ent li{margin:0;font-size:13px}
.sub{font-size:12.6px;color:var(--ink2);margin-top:1px}
.kp{font-style:italic}
.muted{color:var(--ink2);font-size:12.8px}
.para{margin:0 0 5px;text-align:justify;hyphens:auto;font-size:13.4px}
.pub{display:grid;grid-template-columns:24px 1fr;margin:0 0 4px;font-size:13px}
.pn{color:var(--ink2)}
.pub a{word-break:break-all;font-size:12.2px}
.st{font-size:11px;color:#7c3aed;font-family:var(--sans);font-weight:700}
.refs{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;font-size:12.8px}
.cv-foot{margin-top:16px;padding-top:6px;border-top:1px solid #ddd;text-align:center;font-size:11px;color:#8a8aa0}
body.paged .cv-foot{display:none}

/* ---------- Academic (US) ---------- */
.t-academic .cv-head{border-bottom:2px solid var(--rule)}

/* ---------- Modern ---------- */
.t-modern{font-family:var(--sans)}
.t-modern .cv-head{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 24px;margin-bottom:10px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#4c1d95,#6d28d9 40%,#db2777 85%,#f59e0b);overflow:hidden}
.t-modern .cv-photo{display:block;width:86px;height:86px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.85)}
.t-modern .cv-head h1{font-family:var(--sans);font-size:26px;font-weight:800;letter-spacing:.02em;text-transform:none}
.t-modern .cv-title{font-style:normal;font-weight:700;font-size:13.5px;opacity:.95}
.t-modern .cv-aff{color:rgba(255,255,255,.85);font-size:11.5px}
.t-modern .cv-contact{color:rgba(255,255,255,.92);font-size:11px;grid-column:1/-1;text-align:left;display:flex;flex-wrap:wrap;gap:2px 14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.3)}
.t-modern .cv-contact a{color:#fff}
.t-modern .cv-sig{display:block;position:absolute;right:20px;top:14px;width:92px;opacity:.9}
.t-modern .cv-sig svg{width:100%;height:auto}
.t-modern .cv-h{font-family:var(--sans);font-size:11.5px;font-weight:800;letter-spacing:.14em;color:#6d28d9;border:0;display:flex;align-items:center;gap:10px;margin-top:15px}
.t-modern .cv-h::before{content:"";width:16px;height:4px;border-radius:2px;background:linear-gradient(90deg,#6d28d9,#ec4899)}
.t-modern .cv-h::after{content:"";flex:1;height:1px;background:#ede9fe}
.t-modern .cv-h3{font-family:var(--sans);font-style:normal;font-size:11.5px;color:#db2777}
.t-modern .ent{position:relative;padding-left:16px;border-left:2px solid #ede9fe;margin-left:4px;padding-bottom:3px;margin-bottom:3px;font-size:12.8px}
.t-modern .ent::before{content:"";position:absolute;left:-6px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2.5px solid #6d28d9}
.t-modern .ent.sk{border:0;padding-left:0;margin-left:0}.t-modern .ent.sk::before{display:none}
.t-modern .ent-r{font-weight:700;color:#6d28d9;font-size:11.5px}
.t-modern .ent li,.t-modern .pub,.t-modern .para{font-size:12.4px}
.t-modern .pn{color:#db2777;font-weight:800}
.t-modern .cv-foot{font-family:var(--sans)}

/* ---------- Résumé ---------- */
.t-resume{font-family:var(--sans)}
.t-resume .cv-head{grid-template-columns:1fr auto;border-bottom:3px solid #0f766e;padding-bottom:12px}
.t-resume .cv-head h1{font-family:var(--sans);font-size:30px;font-weight:800;letter-spacing:-.01em;text-transform:none}
.t-resume .cv-title{font-style:normal;font-weight:700;color:#0f766e;font-size:13.5px}
.t-resume .cv-aff{font-size:11.5px}
.t-resume .cv-contact{grid-column:1/-1;text-align:left;display:flex;flex-wrap:wrap;gap:2px 16px;font-size:11px}
.t-resume .cv-sig{display:block;position:absolute;right:0;top:-6px;width:78px}
.t-resume .cv-sig svg{width:100%;height:auto}
.t-resume .cv-h{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.18em;color:#0f766e;border:0;display:flex;align-items:center;gap:10px}
.t-resume .cv-h::after{content:"";flex:1;height:1px;background:#cdeae6}
.t-resume .cv-h3{font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.t-resume .ent{grid-template-columns:86px 1fr;gap:0 14px;font-size:12.4px}
.t-resume .ent-r{order:-1;text-align:left;font-weight:700;color:#0f766e;font-size:11px;padding-top:1px;white-space:normal}
.t-resume .ent.sk{grid-template-columns:1fr}
.t-resume .ent li,.t-resume .pub,.t-resume .para{font-size:12.2px}
.t-resume .pub{grid-template-columns:86px 1fr;gap:0 14px}.t-resume .pn{text-align:right;color:#0f766e;font-weight:700}

/* phones: the pages are scaled down to fit (cv.js) */
@media (max-width:760px){
  .cv-bar{margin:8px;top:8px}.cv-home span{display:none}
  .sheet{padding:24px 16px;margin:10px 0 0}
}
@media print{
  @page{size:A4;margin:0}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html,body{background:#fff}
  .cv-bar,.cv-edit{display:none!important}
  .cv-stage{padding:0;zoom:1!important}
  .page{margin:0;box-shadow:none;break-after:page;page-break-after:always}
  .page:last-child{break-after:auto;page-break-after:auto}
  a{color:inherit}
  .t-modern .cv-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body:not(.paged) .sheet{box-shadow:none;margin:0}
}
/* while building the PDF file: nothing clipped, no automatic hyphens (the canvas renderer cannot draw them) */
.cv-stage.cap .pg-body{overflow:visible}
.cv-stage.cap .para{hyphens:manual;-webkit-hyphens:manual}

/* v7.6: no colour on the CV itself — black, greys and white only (print-safe, ATS-friendly) */
:root{--ac:#1f2937}
.page a,.sheet a{color:#1f2937}
.st{color:#4b5563}
.t-modern .cv-head{background:#fff;color:#111827;border:0;border-radius:0;border-bottom:3px solid #111827;padding:4px 0 14px}
.t-modern .cv-photo{border:2px solid #e5e7eb;filter:grayscale(1)}
.t-modern .cv-aff{color:#4b5563}.t-modern .cv-contact{color:#374151;border-top:1px solid #e5e7eb}.t-modern .cv-contact a{color:#1f2937}
.t-modern .cv-h{color:#111827}.t-modern .cv-h::before{background:#111827}.t-modern .cv-h::after{background:#e5e7eb}
.t-modern .cv-h3{color:#4b5563}
.t-modern .ent{border-left-color:#e5e7eb}.t-modern .ent::before{border-color:#111827}
.t-modern .ent-r,.t-modern .pn{color:#374151}
.t-resume .cv-head{border-bottom-color:#111827}.t-resume .cv-title,.t-resume .cv-h,.t-resume .ent-r,.t-resume .pn{color:#111827}
.t-resume .cv-h::after{background:#e5e7eb}
.cv-sig{opacity:.85}
.pr.ghost{text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}

/* ===== v8.12 ATS design — one type scale, one spacing scale (4 · 8 · 14 px), black on white =====
   name 20pt bold · headline 11pt regular · contact 9.5pt · section 10.5pt bold caps + rule
   entry title 10.5pt bold · date 10pt regular right · organisation 10pt regular · body 10pt regular */
.t-ats{--ats-ink:#111827;--ats-sub:#374151;--ats-rule:#111827;font-family:Arial,Helvetica,"Liberation Sans",sans-serif;color:var(--ats-ink);font-size:10pt;line-height:1.42;font-weight:400}
.t-ats .pg-run{display:none}
.t-ats b,.t-ats strong{font-weight:700}
.t-ats p{margin:0}
.ats-head{text-align:center;padding-bottom:4px}
.ats-head h1{margin:0;font:700 20pt/1.15 Arial,Helvetica,sans-serif;letter-spacing:.02em;color:var(--ats-ink);text-transform:none}
.ats-hl{margin-top:4px!important;font-size:11pt;font-weight:400;color:var(--ats-sub)}
.ats-ct{margin-top:4px!important;font-size:9.5pt;color:var(--ats-sub);overflow-wrap:anywhere;white-space:pre-wrap}
.ats-h{margin:14px 0 8px;padding-bottom:3px;border-bottom:.9px solid var(--ats-rule);font:700 10.5pt/1.2 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--ats-ink)}
.ats-p{margin-bottom:4px!important;text-align:left}
.ats-it{margin-top:8px}
.ats-it.first{margin-top:0}
.ats-l1{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.ats-l1 b{font-size:10.5pt;font-weight:700;line-height:1.3}
.ats-l1 span{flex:none;white-space:nowrap;font-size:10pt;font-weight:400;font-variant-numeric:tabular-nums;color:var(--ats-ink)}
.ats-l2{font-size:10pt;font-weight:400;font-style:normal;color:var(--ats-sub);margin-top:1px}
.ats-it.nob .ats-l2{margin-bottom:0}
.ats-b{position:relative;padding-left:16px;margin-top:2px!important}
.ats-it + .ats-b{margin-top:4px!important}
.ats-b::before{content:"•";position:absolute;left:4px;top:0}
.ats-ln{margin-bottom:4px!important}
.ats-ln.num{padding-left:20px;text-indent:-20px}
.ats-sh{font-size:10.5pt!important;font-weight:700!important;margin:10px 0 4px!important;padding-bottom:2px;border-bottom:1px dotted #999;text-transform:none!important;letter-spacing:0!important}
.ats-ln.ref{margin-bottom:6px!important}
.t-ats a{color:inherit;text-decoration:none}
/* v8.18: each A4 page clearly separate on screen */
@media screen{
  .cv-stage{padding:26px 0 40px}
  .page{position:relative;margin:0 auto 46px!important;border-radius:2px;box-shadow:0 1px 0 #e5e7eb,0 22px 50px -26px rgba(30,27,75,.45)!important}
  .page::before{content:attr(data-pg);position:absolute;left:0;top:-26px;font:700 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#8b8aa5}
}
@media screen{.page{overflow:visible}}
.cv-h3n{font-weight:400;font-style:normal;opacity:.6;font-size:.9em}
