:root{
  --paper:#f4eee1; --sand:#e9dfc9; --ink:#2f342b; --muted:#7c8272;
  --sage:#8fa07e; --terra:#c06b47; --pink:#d3a29a;
  --line:rgba(47,52,43,.14);
  --serif:"Fraunces",Georgia,serif; --sans:"Karla",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-weight:300;line-height:1.9;overflow-x:hidden}
::selection{background:var(--terra);color:var(--paper)}

.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.07;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>")}

.topnav{position:fixed;top:1.5rem;right:2rem;z-index:60;display:flex;gap:1.6rem;flex-wrap:wrap}
.topnav a{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;
  padding-bottom:2px;transition:color .4s,border-color .4s}
.topnav a:hover{color:var(--terra);border-color:var(--terra)}

.chapnum{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1.4rem}

/* ---------- subpage shell (resume) ---------- */
.page{position:relative;z-index:10;max-width:56rem;margin:0 auto;padding:2vh 8vw 6vh}
.pagehero{padding:10vh 0 4vh;border-bottom:1px solid var(--line)}
.pagehero h1{font-family:var(--serif);font-weight:480;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.05}
.pagehero .role{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2vw,1.3rem);
  color:var(--terra);margin-top:.6rem}
.pagehero .meta{margin-top:1rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);line-height:2.2}
.pagehero .meta a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}
.pagehero .meta a:hover{color:var(--terra);border-color:var(--terra)}
.summary{max-width:40rem;margin-top:1.6rem;font-size:1.02rem}
.pagehero .summary{max-width:38rem}

.psec{padding:5vh 0;border-bottom:1px solid var(--line)}
.psec:last-of-type{border-bottom:none}
.psec>.chapnum{display:flex;align-items:center;gap:.7rem}
.psec>.chapnum::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage);
  animation:dotBreath 5.5s ease-in-out infinite;flex:none}
@keyframes dotBreath{0%,100%{transform:scale(.8)}45%{transform:scale(1.15)}}

.principles{list-style:none;margin-top:1.4rem;max-width:40rem}
.principles li{padding:1rem 0;border-bottom:1px solid var(--line);font-size:1.02rem}
.principles li:last-child{border:none}
.principles b{font-family:var(--serif);font-weight:480;font-style:italic;
  display:block;font-size:1.15rem;margin-bottom:.2rem}

.impact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:2.2rem 1.5rem;margin-top:1.6rem}
.impact .cell strong{font-family:var(--serif);font-weight:500;
  font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.05;color:var(--terra);display:block}
.impact .cell span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);line-height:1.8;display:block;margin-top:.5rem}

.case{padding:2.4rem 0;border-bottom:1px solid var(--line)}
.case:last-child{border:none}
.case h3{font-family:var(--serif);font-weight:480;font-size:clamp(1.4rem,2.6vw,1.9rem)}
.case .csub{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:.3rem 0 1.4rem}
.case .sar{display:grid;grid-template-columns:5.5rem 1fr;gap:.4rem 1.4rem;font-size:.98rem}
.case .sar dt{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terra);padding-top:.45rem}
.case .sar dd strong{font-family:var(--serif);font-weight:500;color:var(--terra)}

.ledger{margin-top:1rem}
.lrow{display:grid;grid-template-columns:11rem 1fr;gap:1.4rem;padding:1.4rem 0;
  border-bottom:1px solid var(--line)}
.lrow:last-child{border:none}
.lrow h4{font-family:var(--serif);font-weight:480;font-size:1.08rem;line-height:1.4}
.lrow h4 span{display:block;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin-top:.3rem}
.lrow p{font-size:.95rem}

.matrix .mrow{display:grid;grid-template-columns:11rem 1fr;gap:1.4rem;padding:1.1rem 0;
  border-bottom:1px solid var(--line);font-size:.95rem}
.matrix .mrow:last-child{border:none}
.matrix .mrow b{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terra);padding-top:.5rem;font-weight:500}

.honor{display:flex;gap:.8rem;align-items:baseline;padding:.6rem 0;font-size:.98rem}
.honor::before{content:"\25C6";color:var(--terra);font-size:.7rem}

.pills{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.pill{display:inline-block;padding:.85rem 2rem;border:1px solid var(--terra);
  border-radius:999px;font-family:var(--serif);font-style:italic;font-size:1rem;
  color:var(--terra);text-decoration:none;transition:background .5s,color .5s,transform .5s}
.pill:hover{background:var(--terra);color:var(--paper);transform:translateY(-2px)}
.pill.ghost{border-color:var(--line);color:var(--muted)}
.pill.ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}

footer{position:relative;z-index:10;padding:9vh 8vw 5vh;border-top:1px solid var(--line)}
.fgrid{display:flex;justify-content:space-between;gap:3rem;flex-wrap:wrap;align-items:flex-end}
.fname{font-family:var(--serif);font-weight:480;font-size:1.3rem}
.frole{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--muted);
  margin-top:.4rem;line-height:2}
.flinks{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}
.flinks a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);width:max-content}
.flinks a:hover{color:var(--terra);border-color:var(--terra)}
.fmeta{margin-top:3rem;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

@media (max-width:900px){
  .page{padding-top:8vh}
  .topnav{right:1.2rem;gap:1rem}
  .principles{max-width:100%}
  .lrow,.matrix .mrow,.case .sar{grid-template-columns:1fr;gap:.3rem}
  .case .sar dt{padding-top:1rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .psec>.chapnum::before{animation:none}
}

/* ---------- print: resume.html becomes a clean PDF ---------- */
@media print{
  body{background:#fff;color:#161812;font-size:10.5pt;line-height:1.55}
  .grain,.topnav,.noprint{display:none !important}
  .page{max-width:none;padding:0}
  .pagehero{padding:0 0 14pt;border-color:#bbb}
  .pagehero h1{font-size:26pt}
  .psec{padding:12pt 0;border-color:#ccc}
  .psec>.chapnum::before{animation:none}
  .principles li{display:block}
  .case,.lrow,.matrix .mrow,.principles li,.honor,.impact .cell{
    border-color:#ccc;break-inside:avoid;page-break-inside:avoid;padding:8pt 0}
  .psec>.chapnum{break-after:avoid;page-break-after:avoid}
  .case h3,.lrow h4,.case .csub{break-inside:avoid;page-break-inside:avoid;
    break-after:avoid;page-break-after:avoid}
  .summary,.pagehero .summary{max-width:none}
  .impact{gap:10pt}
  .chapnum{color:#333}
  .impact .cell strong,.case .sar dd strong,.case .sar dt{color:#8a4326}
  a{color:#161812;text-decoration:none;border:none !important}
  .pills,footer{display:none}
}

/* ---------- ATS / agent mode ---------- */
/* nav-inline ATS toggle */
.topnav .atsbtn{
  appearance:none;background:transparent;cursor:pointer;
  border:1px solid var(--terra);border-radius:999px;
  font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--terra);padding:.3rem .85rem;line-height:1.6;
  display:inline-flex;align-items:center;gap:.42rem;
  transition:background .35s,color .35s;
}
.topnav .atsbtn:hover,.topnav .atsbtn[aria-pressed="true"]{background:var(--terra);color:var(--paper)}
.topnav .atsbtn .atsdot{
  width:5px;height:5px;border-radius:50%;background:var(--sage);flex:none;
  animation:dotBreath 5.5s ease-in-out infinite;
}
.topnav .atsbtn:hover .atsdot,.topnav .atsbtn[aria-pressed="true"] .atsdot{background:var(--paper)}

/* buttons inside the markdown panel */
.atsbtn{
  appearance:none;border:1px solid var(--terra);background:transparent;cursor:pointer;
  font-family:var(--serif);font-style:italic;font-size:.9rem;color:var(--terra);
  padding:.4rem 1.05rem;border-radius:999px;white-space:nowrap;
  transition:background .35s,color .35s,transform .35s;
}
.atsbtn:hover{background:var(--terra);color:var(--paper);transform:translateY(-1px)}
.atsbtn.ghost{border-color:var(--line);color:var(--muted);font-family:var(--sans);
  font-style:normal;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.atsbtn.ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* the markdown panel */
.ats{display:none;position:relative;z-index:10;max-width:56rem;margin:0 auto;padding:12vh 8vw 8vh}
body.atsmode .ats{display:block}
body.atsmode .page,body.atsmode footer{display:none}
.ats h1{font-family:var(--serif);font-weight:480;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.4rem}
.ats .hint{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  margin-bottom:1.6rem;line-height:2}
.ats pre{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.82rem;line-height:1.75;color:var(--ink);
  background:rgba(233,223,201,.4);border:1px solid var(--line);border-radius:10px;
  padding:1.6rem 1.5rem;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;
  max-height:none;
}
.ats .toolbar{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.2rem}
.copied{color:var(--sage) !important;border-color:var(--sage) !important}

@media (max-width:900px){
  .topnav .atsbtn{padding:.26rem .6rem;letter-spacing:.14em}
  .ats{padding-top:9vh}
  .ats pre{font-size:.76rem;padding:1.1rem 1rem}
}
@media (prefers-reduced-motion:reduce){ .atsdot{animation:none} }
@media print{ .ats{display:none !important} }
