:root{--paper: #f2ebd9;--ink: #29231a;--muted: #6b6047;--line: #dcd2ba;--line-strong: #c3b795;--accent: #8a3324;--display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--body: "EB Garamond", Georgia, serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{font-family:var(--body);font-size:21px;line-height:1.7;color:var(--ink);background:radial-gradient(1200px 700px at 50% -10%,rgba(255,250,234,.7),transparent 65%),radial-gradient(1400px 900px at 50% 115%,rgba(112,88,40,.12),transparent 70%),var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.4;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.33 0 0 0 0 0.18 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1}::selection{background:var(--accent);color:var(--paper)}a{color:inherit}.caps{font-family:var(--body);font-variant-caps:all-small-caps;font-size:18px;letter-spacing:.22em;color:var(--muted)}.container{max-width:720px;margin:0 auto;padding:0 26px}.nav{border-bottom:1px solid var(--line)}.nav-inner{max-width:1100px;margin:0 auto;padding:20px 26px;display:flex;align-items:baseline;justify-content:space-between;gap:20px}.nav-brand{font-family:var(--display);font-weight:600;font-size:1.3rem;letter-spacing:.02em;text-decoration:none}.nav-links{display:flex;align-items:baseline;gap:26px}.nav-links a{text-decoration:none;transition:color .25s ease}.nav-links a:hover{color:var(--accent)}.nav-toggle{display:none;position:relative;width:40px;height:40px;margin:-8px -8px -8px 0;border:none;background:none;cursor:pointer;color:var(--ink)}.nav-toggle span{position:absolute;left:9px;right:9px;height:1.5px;background:currentColor;transition:transform .3s ease,opacity .2s ease}.nav-toggle span:first-child{top:16px}.nav-toggle span:last-child{top:23px}.nav-toggle.is-open span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle.is-open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav-mobile{display:none}@media (max-width: 680px){.nav-links{display:none}.nav-toggle{display:block}.nav{position:sticky;top:0;z-index:50;background:#f2ebd9eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-mobile{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--paper);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease,visibility .3s}.nav-mobile.is-open{opacity:1;visibility:visible;transform:none}.nav-mobile-links{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;height:100%}.nav-mobile-links a{font-family:var(--display);font-size:2rem;text-decoration:none;color:var(--ink);transition:color .25s ease}.nav-mobile-links a:active{color:var(--accent)}}.footsteps{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.footstep{position:absolute;width:12px}.footstep svg{display:block;fill:var(--ink)}@media (max-width: 900px){.footsteps{display:none}}.flourish{display:block;width:min(430px,74vw);margin:30px auto 0;color:var(--ink);opacity:.8}.flourish.flip{transform:scaleY(-1);margin-top:34px}.hero{position:relative;text-align:center;padding:clamp(90px,16vh,160px) 0 clamp(80px,12vh,130px)}.hero .container{position:relative;z-index:1}.hero-kicker{color:var(--muted)}.hero-role{font-family:var(--display);font-weight:500;font-size:clamp(3.4rem,10vw,6.8rem);line-height:1.02;letter-spacing:.005em;margin-top:20px}.hero-role em{font-style:italic;font-weight:500;color:var(--accent)}.hero-tagline{max-width:35rem;margin:34px auto 0;font-size:1.45rem;line-height:1.6;color:var(--ink)}.btn{display:inline-block;font-variant-caps:all-small-caps;font-size:19px;letter-spacing:.18em;text-decoration:none;padding:13px 30px;border:1.5px solid var(--accent);transition:background .25s ease,color .25s ease,border-color .25s ease}.btn-primary{background:var(--accent);color:var(--paper)}.btn-primary:hover{background:var(--ink);border-color:var(--ink)}.btn-outline{color:var(--ink);border-color:var(--line-strong)}.btn-outline:hover{border-color:var(--ink)}.hero-status{display:inline-flex;align-items:center;gap:11px;margin-top:34px}.hero-status .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.hero-actions{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:16px 38px;margin-top:44px}.quiet-link{font-variant-caps:all-small-caps;font-size:19px;letter-spacing:.2em;text-decoration:none;color:var(--ink);padding-bottom:3px;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-size:100% 1px;background-position:0 100%;transition:color .25s ease,background-size .3s ease}.quiet-link:hover{color:var(--accent)}.quiet-link.soft{background-size:0 1px}.quiet-link.soft:hover{background-size:100% 1px}.fleuron{text-align:center;color:var(--accent);font-size:1.15rem;opacity:.85;-webkit-user-select:none;user-select:none}.section{padding:clamp(70px,10vh,100px) 0 0}.sec-head{margin-bottom:48px}.sec-eyebrow{color:var(--accent);letter-spacing:.3em}.sec-title{font-family:var(--display);font-weight:600;font-size:clamp(2.2rem,5vw,3rem);line-height:1.08;margin-top:6px}.sec-stroke{width:68px;border-top:2px solid var(--accent);margin-top:18px;transform-origin:left}.about-text p{margin-bottom:1.1em;color:var(--ink)}.about-text>p:first-child{font-size:1.32rem;line-height:1.62}.about-text p:last-child{margin-bottom:0}.about-text>p:first-child:first-letter{font-family:var(--display);font-weight:500;font-size:4.1em;float:left;line-height:.78;padding:8px 12px 0 0;color:var(--accent)}.about-stats{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:10px 20px;margin-top:40px;color:var(--muted)}.about-stats .stat b{font-family:var(--display);font-weight:600;font-size:1.35em;color:var(--ink);margin-right:6px}.about-stats .sep{color:var(--line-strong)}.xp-item+.xp-item{margin-top:44px;padding-top:40px;border-top:1px solid var(--line)}.xp-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}.xp-role{font-family:var(--display);font-weight:600;font-size:1.75rem;line-height:1.3}.xp-dates{font-size:17px}.xp-company{text-decoration:none;transition:color .25s ease}.xp-company:hover{color:var(--accent)}.xp-dates{white-space:nowrap}.xp-summary{font-style:italic;color:var(--muted);margin-top:8px}.xp-points{list-style:none;margin-top:14px}.xp-points li{padding-left:24px;position:relative;margin-bottom:8px}.xp-points li:before{content:"·";position:absolute;left:0;color:var(--accent)}.work+.work{margin-top:48px;padding-top:44px;border-top:1px solid var(--line)}.work-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}.work-title{font-family:var(--display);font-weight:600;font-size:1.95rem;line-height:1.22}.work-title a{text-decoration:none;transition:color .25s ease}.work-title a:hover{color:var(--accent)}.work-title .ext{font-size:.75em;color:var(--accent)}.work-subtitle{font-style:italic;color:var(--muted);font-size:1.15rem;margin-top:2px}.work-desc{margin-top:14px;max-width:58ch}.work-tools{margin-top:16px;font-size:17px;color:var(--accent)}.skill-group{display:flex;align-items:baseline;gap:6px 18px;flex-wrap:wrap;padding:13px 0}.skill-group+.skill-group{border-top:1px solid var(--line)}.skill-group-name{font-family:var(--display);font-weight:600;font-style:italic;font-size:1.4rem;color:var(--accent);min-width:200px}.skill-items{flex:1;min-width:240px;color:var(--ink)}.section-contact{position:relative;text-align:center}.section-contact .container{position:relative;z-index:1}.contact-heading{font-family:var(--display);font-weight:500;font-style:italic;font-size:clamp(2.6rem,7vw,4.2rem);line-height:1.1}.contact-text{color:var(--muted);max-width:30rem;margin:20px auto 0}.contact-email{display:inline-block;font-family:var(--display);font-weight:600;font-size:clamp(1.6rem,4.4vw,2.4rem);color:var(--accent);text-decoration:none;margin-top:38px;padding-bottom:5px;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-size:100% 2px;background-position:0 100%;transition:color .25s ease}.contact-email:hover{color:var(--ink)}.contact-socials{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:12px 34px;margin-top:40px}.footer{text-align:center;padding:80px 0 56px}.footer .fleuron{margin-bottom:20px}.footer-note{color:var(--muted)}.page-head{text-align:center;padding:clamp(60px,11vh,110px) 0 0}.page-title,.post-title{font-family:var(--display);font-weight:500;line-height:1.06;margin-top:16px}.page-title{font-size:clamp(2.9rem,8vw,5rem)}.post-title{font-size:clamp(2.2rem,5.6vw,3.6rem);max-width:26ch;margin-left:auto;margin-right:auto}.page-intro{max-width:34rem;margin:26px auto 0;font-size:1.24rem;font-style:italic;color:var(--muted)}.post-tags{margin-top:22px;color:var(--accent)}.section-entries{padding-top:clamp(50px,8vh,80px)}.entry+.entry{margin-top:46px;padding-top:42px;border-top:1px solid var(--line)}.entry-meta{color:var(--muted)}.entry-title{font-family:var(--display);font-weight:600;font-size:clamp(1.75rem,4vw,2.3rem);line-height:1.18;margin-top:6px}.entry-title a{text-decoration:none;transition:color .25s ease}.entry-title a:hover{color:var(--accent)}.entry-blurb{margin-top:12px;color:var(--ink);max-width:60ch}.entry-foot{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;margin-top:18px}.entry-tags{color:var(--accent)}.post-body{padding-top:clamp(40px,7vh,66px)}.post-body>p{margin-bottom:1.15em}.post-body>p:first-of-type{font-size:1.3rem;line-height:1.62}.post-body>p:first-of-type:first-letter{font-family:var(--display);font-weight:500;font-size:4.1em;float:left;line-height:.78;padding:8px 12px 0 0;color:var(--accent)}.post-body h2{font-family:var(--display);font-weight:600;font-size:clamp(1.6rem,3.4vw,2.05rem);line-height:1.2;margin:1.9em 0 .55em}.post-body h3{font-family:var(--display);font-weight:600;font-style:italic;font-size:1.45rem;margin:1.6em 0 .45em;color:var(--accent)}.post-body strong{font-weight:600}.post-body em{font-style:italic}.post-body a{color:var(--accent);text-decoration:none;background-image:linear-gradient(var(--line-strong),var(--line-strong));background-repeat:no-repeat;background-size:100% 1px;background-position:0 100%;transition:background-size .3s ease}.post-body a:hover{background-image:linear-gradient(var(--accent),var(--accent))}.post-body blockquote{margin:1.6em 0;padding-left:26px;border-left:2px solid var(--accent);font-style:italic;color:var(--muted)}.post-body .post-list{list-style:none;margin:.4em 0 1.3em}.post-body .post-list li{position:relative;padding-left:26px;margin-bottom:.5em}.post-body .post-list li:before{content:"·";position:absolute;left:6px;color:var(--accent)}.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;padding:1px 5px;background:#8a332412;border:1px solid var(--line)}.post-body pre{margin:1.5em 0;padding:18px 20px;overflow-x:auto;background:#29231a0a;border:1px solid var(--line)}.post-body pre code{background:none;border:none;padding:0;font-size:.78em;line-height:1.6}.post-body hr{border:none;border-top:1px solid var(--line);margin:2.2em auto;width:40%}.post-end{text-align:center;padding-top:54px}.post-end .fleuron{margin-bottom:22px}@media (min-width: 1100px){.section:not(.section-contact):not(.section-entries) .container{max-width:min(1320px,88vw);display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);column-gap:clamp(70px,8vw,130px);align-items:start}.section:not(.section-contact) .sec-head{grid-column:1;grid-row:1 / span 99;position:sticky;top:110px;margin-bottom:0}.section:not(.section-contact) .sec-head:after{content:"❦";display:block;margin-top:28px;color:var(--accent);opacity:.45;font-size:1.35rem}.section:not(.section-contact) .container>*:not(.sec-head){grid-column:2}.about-stats{justify-content:flex-start}.hero .container,.section-contact .container,.page-head .container{max-width:860px}}@media (max-width: 680px){body{font-size:18px;line-height:1.65}.caps{font-size:16px;letter-spacing:.16em}.container{padding:0 22px}.nav-inner{padding-left:22px;padding-right:22px}.hero{padding:48px 0 44px}.hero-tagline{font-size:1.2rem;margin-top:24px}.hero-status{margin-top:24px}.flourish{width:min(320px,66vw)}.hero-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:30px}.hero-actions .btn{width:100%;text-align:center}.hero-actions .quiet-link{align-self:center;margin-top:2px}.section{padding-top:52px}.sec-head{margin-bottom:26px}.about-stats{margin-top:28px}.xp-item+.xp-item{margin-top:28px;padding-top:26px}.work+.work{margin-top:28px;padding-top:26px}.contact-email{margin-top:26px}.contact-socials{margin-top:28px}.footer{padding:48px 0 40px}.about-text>p:first-child{font-size:1.18rem}.about-text>p:first-child:first-letter{font-size:3.2em}.xp-role{font-size:1.5rem}.work-title{font-size:1.6rem}.skill-group-name{min-width:100%}.page-head{padding-top:44px}.page-intro{font-size:1.12rem;margin-top:20px}.section-entries{padding-top:40px}.entry+.entry{margin-top:30px;padding-top:28px}.post-body{padding-top:32px}.post-body>p:first-of-type{font-size:1.18rem}.post-body>p:first-of-type:first-letter{font-size:3.2em}.post-end{padding-top:40px}}
