/* ═══════════════════════════════════════════
   ABOUT PAGE — shares tokens, nav, footer, buttons and the
   closing CTA with css/index.css (sage + page bg + white)
═══════════════════════════════════════════ */
button.nav-cta, button.nm-cta { font-family:inherit; border:0; cursor:none; }
.ab { display:block; }

/* ── Intro ── */
.ab-hero { background:var(--white); padding-top:64px; }
.ab-hero-inner {
  max-width:1120px; margin:0 auto; padding:56px 44px 88px;
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:64px; align-items:center;
}
.ab-back { display:inline-block; margin-bottom:36px; font-size:14px; font-weight:500; color:var(--ink-70); transition:color .2s; }
.ab-back:hover { color:var(--sage); }
.ab-h1 {
  font-family:var(--ff-d); font-weight:700;
  font-size:clamp(38px,4.6vw,64px); line-height:1.04; letter-spacing:-.035em;
  color:var(--ink); text-wrap:balance; max-width:14em; margin-bottom:24px;
}
.ab-lead { font-size:18px; line-height:1.65; color:var(--ink-70); max-width:48ch; margin-bottom:30px; }
.ab-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-bottom:30px; }
.ab-textlink {
  background:none; border:0; border-bottom:1.5px solid var(--ink-30);
  font-family:inherit; font-size:15px; font-weight:600; color:var(--ink);
  padding:0 0 3px; cursor:none; transition:border-color .2s, color .2s;
}
.ab-textlink:hover { border-color:var(--sage); color:var(--sage); }
.ab-contact { display:flex; flex-wrap:wrap; gap:8px 24px; font-size:14px; color:var(--ink-70); }
.ab-contact a { transition:color .2s; }
.ab-contact a:hover { color:var(--sage); }

.ab-copy > * { animation:fadeUp .6s cubic-bezier(.16,1,.3,1) both; }
.ab-copy > :nth-child(2) { animation-delay:.06s; }
.ab-copy > :nth-child(3) { animation-delay:.12s; }
.ab-copy > :nth-child(4) { animation-delay:.18s; }
.ab-copy > :nth-child(5) { animation-delay:.24s; }

/* Fact sheet */
.ab-facts { background:var(--bg); border-radius:22px; padding:12px 32px; animation:fadeUp .6s cubic-bezier(.16,1,.3,1) .2s both; }
.ab-facts dl > div { padding:18px 0; border-top:1px solid var(--rule); }
.ab-facts dl > div:first-child { border-top:0; }
.ab-facts dt { font-size:13px; font-weight:600; color:var(--ink-70); margin-bottom:4px; }
.ab-facts dd { font-size:16px; font-weight:600; line-height:1.45; color:var(--ink); }

/* ── Sections ── */
.ab-section { padding:96px 0; }
.ab-alt { background:var(--bg); }
.ab-plain { background:var(--white); }
.ab-h2 {
  font-family:var(--ff-d); font-weight:700;
  font-size:clamp(30px,3.6vw,46px); line-height:1.06; letter-spacing:-.03em;
  color:var(--ink); text-wrap:balance;
}
.ab-h2-wide { margin-bottom:56px; }
.ab-split { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:72px; align-items:start; }
.ab-split > .ab-h2 { position:sticky; top:112px; }

.ab-prose p { font-size:19px; line-height:1.75; color:var(--ink-70); max-width:60ch; }
.ab-prose p + p { margin-top:22px; }
.ab-prose strong { color:var(--ink); font-weight:600; }

/* Definition rows (skills, education) */
.ab-skills { border-top:1px solid var(--rule); }
.ab-skills > div {
  display:grid; grid-template-columns:190px minmax(0,1fr); gap:24px;
  padding:20px 0; border-bottom:1px solid var(--rule);
}
.ab-skills dt { font-family:var(--ff-d); font-size:18px; font-weight:600; color:var(--ink); }
.ab-skills dd { font-size:16px; line-height:1.7; color:var(--ink-70); }
.ab-skills dd strong { color:var(--ink); font-weight:600; }

/* ── Experience ── */
.ab-job {
  display:grid; grid-template-columns:230px minmax(0,1fr); gap:24px 48px;
  padding:40px 0; border-top:1px solid var(--rule);
}
.ab-job:first-child { border-top:0; padding-top:0; }
.ab-job-when { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--ink); }
.ab-pip { width:8px; height:8px; border-radius:50%; background:var(--sage); flex-shrink:0; animation:blink 2.2s ease infinite; }
.ab-job-co { font-family:var(--ff-d); font-size:21px; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin-top:8px; }
.ab-job-loc { font-size:14px; line-height:1.55; color:var(--ink-70); margin-top:4px; }
.ab-job h3 { font-family:var(--ff-d); font-size:22px; font-weight:600; letter-spacing:-.01em; line-height:1.25; color:var(--ink); margin-bottom:14px; }
.ab-note { font-weight:400; color:var(--ink-70); }
.ab-job ul { padding-left:18px; }
.ab-job li { font-size:16px; line-height:1.7; color:var(--ink-70); margin-bottom:8px; max-width:68ch; }
.ab-job li::marker { color:var(--sage); }
.ab-job li strong { color:var(--ink); font-weight:600; }
.ab-subrole { margin-top:22px; padding-left:20px; border-left:2px solid var(--sage-bd); }
.ab-subrole h4 { font-size:15px; font-weight:700; color:var(--ink); margin-bottom:10px; }
.ab-products { margin-top:18px; font-size:14px; line-height:1.7; color:var(--ink-70); max-width:68ch; }
.ab-products strong { color:var(--ink); font-weight:600; }
.ab-link { display:inline-block; margin-top:6px; font-size:15px; font-weight:600; color:var(--sage); border-bottom:1.5px solid var(--sage-bd); padding-bottom:2px; transition:border-color .2s; }
.ab-link:hover { border-color:var(--sage); }

/* Closing CTA reuses .cta-section; no socials row here */
.ab-cta .cta-actions { margin-bottom:0; }

/* ── Responsive ── */
@media(max-width:1024px){
  .ab-hero-inner { grid-template-columns:1fr; gap:48px; padding:48px 44px 72px; }
  .ab-facts { max-width:520px; }
}
@media(max-width:900px){
  .ab-hero-inner { padding:40px 24px 64px; }
  .ab-section { padding:72px 0; }
  .ab-split { grid-template-columns:1fr; gap:36px; }
  .ab-split > .ab-h2 { position:static; }
  .ab-job { grid-template-columns:1fr; gap:16px; padding:32px 0; }
  .ab-skills > div { grid-template-columns:1fr; gap:6px; }
  .ab-prose p { font-size:18px; }
}

/* ATS PRINT RESUME — hidden on screen, single-column plain layout for print/PDF */
.ats-resume{display:none;}
@media print{
  @page{size:A4;margin:9mm 12mm;}
  body *{visibility:hidden;}
  #cursor,.nav,.nav-mobile,main,footer{display:none !important;}
  .ats-resume,.ats-resume *{visibility:visible;}
  .ats-resume{
    display:block !important;
    position:absolute;top:0;left:0;width:100%;
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    color:#111;background:#fff;
    font-size:9pt;line-height:1.3;
  }
  .ats-name{font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:18pt;font-weight:700;letter-spacing:.2px;color:#111;}
  .ats-title{font-size:10.5pt;font-weight:600;color:#333;margin-top:2pt;}
  .ats-contact{font-size:8.3pt;color:#444;margin-top:4pt;padding-bottom:6pt;border-bottom:1pt solid #ccc;}
  .ats-h2{font-size:10pt;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#111;margin-top:7pt;padding-bottom:2pt;border-bottom:0.75pt solid #999;}
  .ats-p{margin-top:3pt;}
  .ats-p.ats-tight{margin-top:2pt;}
  .ats-ul{margin:3pt 0 0;padding-left:12pt;}
  .ats-ul li{margin-bottom:1.8pt;}
  .ats-ul-tight li{margin-bottom:1.3pt;}
  .ats-job{margin-top:5pt;page-break-inside:avoid;}
  .ats-job-row{display:flex;justify-content:space-between;font-weight:700;font-size:9.4pt;color:#111;}
  .ats-co{font-weight:700;}
  .ats-date{font-weight:600;color:#444;}
  .ats-loc{font-size:8.3pt;color:#555;font-style:italic;margin-top:1pt;}
  .ats-role{font-weight:600;font-size:9pt;color:#111;margin-top:2pt;}
  .ats-products{font-size:8.1pt;color:#555;margin-top:2pt;}
  .ats-resume strong{font-weight:700;}
}
