:root{--paper:#f4efdf;--ink:#24352a;--green:#496a50;--sage:#e3eadb;--white:#fffdf6;--line:#cfc7b2;--terra:#a9614b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Georgia,serif;background-image:linear-gradient(rgba(73,106,80,.04) 1px,transparent 1px);background-size:100% 32px}a{color:#31553a}.wrap{max-width:1050px;margin:auto;padding:0 1rem}header{border-bottom:1px dashed var(--line);position:sticky;top:0;background:rgba(244,239,223,.96);z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0}.brand{font:bold 1.2rem/1.2 'Segoe Print','Comic Sans MS',cursive;text-decoration:none}.nav a{margin-left:.8rem}.hero{padding:4.5rem 0 2.5rem}.crumb{font-size:.85rem}.eyebrow{display:inline-block;padding:.25rem .6rem;border:1px solid var(--green);background:var(--sage);border-radius:999px;font:700 .78rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.05;margin:.75rem 0}h2{font-size:2rem;line-height:1.15;margin-top:2.4rem}h3{line-height:1.2}.lead{font-size:1.14rem;max-width:790px}.search{display:flex;gap:.5rem;margin:1.2rem 0}.search input{flex:1;padding:.85rem;border:1px solid var(--line);background:var(--white);font-size:1rem}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.card{background:var(--white);border:1px solid var(--line);padding:1.2rem;box-shadow:5px 5px 0 rgba(73,106,80,.13)}.card h3{margin:.15rem 0 .5rem}.skill{border-left:5px solid var(--green);padding:.7rem 1rem;background:#edf1e7;margin:.65rem 0}.code{font:bold .84rem Arial,sans-serif;color:var(--green);letter-spacing:.04em}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.32rem .55rem;border:1px dashed var(--green);background:var(--white);font-size:.88rem}.note{background:#efe4cc;border-left:5px solid var(--terra);padding:1rem 1.2rem}.years{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.year{display:block;background:var(--white);border:1px solid var(--line);padding:1rem;text-decoration:none}.year strong{display:block;font-size:1.15rem}.year:hover{transform:translateY(-2px)}footer{margin-top:4rem;padding:2rem 0;border-top:1px dashed var(--line);font-size:.9rem}.source{font-size:.9rem}mark{background:#fff0a8}@media(max-width:700px){.grid,.years{grid-template-columns:1fr}.nav nav{display:none}h1{font-size:2.7rem}}
