:root{--placeholder-bg:#e8e8e8;--top-bar-h:64px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px}:where(h1,h2,h3,h4,h5,h6,section,article,[id]){scroll-margin-top:var(--top-bar-h)}html,body,div,span,h1,h2,h3,p,a,img,ol,ul,li,header,main,nav,section,footer,figure,article,aside,time,blockquote{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}header,main,nav,section,footer,figure,article,aside{display:block}ol,ul{list-style:none}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100vh;color:var(--fg);-webkit-font-smoothing:antialiased;font-family:Garamond,EB Garamond,Times New Roman,serif;font-size:16px;line-height:24px}.skip-link{z-index:100;background:var(--fg);color:var(--bg);padding:8px 16px;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.link{color:var(--fg);text-transform:uppercase;font-family:inherit;font-weight:400;font-size:inherit;line-height:inherit;cursor:default;background:0 0;border:none;border-radius:0;margin:0;padding:0;text-decoration:none}.link:visited{color:var(--fg)}.link:hover{color:var(--fg-hover);text-decoration:underline}.link:focus-visible{color:var(--bg);background:var(--fg);outline:none}.link:focus:not(:focus-visible){color:var(--fg);background:0 0;outline:none}.link:active{background:var(--fg);color:var(--bg)}.cta-button{--btn-accent:var(--fg);--btn-contrast:var(--bg);color:var(--btn-accent);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--btn-accent);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:12px;padding:14px 24px;font-family:inherit;font-size:15px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.cta-button:visited{color:var(--btn-accent)}.cta-button:hover{background:var(--btn-accent);color:var(--btn-contrast)}.cta-button:focus-visible{outline:2px solid var(--btn-accent);outline-offset:4px}.cta-button--solid{background:var(--btn-accent);color:var(--btn-contrast)}.cta-button--solid:visited{color:var(--btn-contrast)}.cta-button--solid:hover{color:var(--btn-accent);background:0 0}.cta-button--spread{justify-content:space-between}.brand-photo{--brand-tint:.45;--brand-tone:#2b3856;background:var(--brand-tone);isolation:isolate;position:relative;overflow:hidden}.brand-photo>img{object-fit:cover;filter:grayscale(.7)contrast(1.05)brightness(1.02);width:100%;height:100%;display:block}.brand-photo:after{content:"";background:var(--brand-tone);mix-blend-mode:color;opacity:var(--brand-tint);pointer-events:none;position:absolute;inset:0}.top-bar{z-index:50;-webkit-backdrop-filter:saturate(150%)blur(10px);border-bottom:var(--rule-soft);background:#131313eb;position:sticky;top:0}.top-bar-inner{max-width:1180px;padding-block:18px;padding-inline:max(40px, env(safe-area-inset-left)) max(40px, env(safe-area-inset-right));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 32px;margin:0 auto;display:flex}.top-bar-links{flex-wrap:wrap;gap:12px 24px;display:flex}.top-bar-links .link{letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-size:13px}.top-bar-links [aria-current=page]{color:var(--fg-hover);pointer-events:none;font-weight:700}.brand-wrap{text-align:center;cursor:pointer;min-width:13ch;display:inline-block;position:relative}.top-bar-brand,.footer-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--fg);align-items:center;min-height:44px;padding-block:10px;font-size:14px;text-decoration:none;transition:color .15s;display:inline-flex}.footer-brand{letter-spacing:.1em}.footer-brand:visited{color:inherit}.brand-full{white-space:nowrap;transition:opacity .3s}.brand-short{opacity:0;white-space:nowrap;justify-content:center;align-items:center;gap:6px;transition:opacity .3s;display:flex;position:absolute;inset:0}.brand-diamond{background:var(--fg,#fff);flex-shrink:0;width:7px;height:7px;display:inline-block;transform:rotate(45deg)}.brand-wrap:hover .brand-full{opacity:0}.brand-wrap:hover .brand-short{opacity:1}.brand-wrap:hover .footer-brand,.brand-wrap:hover .top-bar-brand{color:var(--fg-hover,inherit);text-decoration:underline}.top-bar-brand:focus-visible,.footer-brand:focus-visible{color:var(--bg);background:var(--fg);outline:none}.top-bar-brand:active,.footer-brand:active{background:var(--fg);color:var(--bg)}.top-bar-brand:active .brand-diamond,.footer-brand:active .brand-diamond,.top-bar-brand:focus-visible .brand-diamond,.footer-brand:focus-visible .brand-diamond{background:var(--bg)}#site-footer{border-top:var(--rule-soft);padding:0 0 10px}.footer-row{justify-content:space-between;align-items:center;gap:24px;padding-top:32px;display:flex}#site-footer .footer-row{border-top:none}.footer-nav{gap:24px;display:flex}.footer-nav .link{letter-spacing:.1em;cursor:pointer;font-size:14px}.footer-meta{text-transform:uppercase;letter-spacing:.1em;margin-top:24px;font-size:12px}@media only screen and (max-width:768px){.top-bar-inner{padding-block:6px;padding-inline:max(20px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-right));flex-direction:column;gap:4px 16px}.top-bar-links{flex:0 auto;justify-content:center;gap:0 12px;width:100%}.top-bar-links .link{letter-spacing:.03em;align-items:center;min-height:34px;padding-block:5px;font-size:13px;display:inline-flex}.top-bar-links .link[href*=resume],.top-bar-links .link[href*=linkedin\.com]{display:none}.footer-row{flex-direction:column;align-items:flex-start;gap:20px}.footer-nav{flex-wrap:wrap;gap:8px 24px}.footer-nav .link{padding-block:10px;line-height:24px}.link:hover{text-decoration:none}.brand-wrap:hover .brand-full{opacity:1}.brand-wrap:hover .brand-short{opacity:0}.brand-wrap:hover .footer-brand,.brand-wrap:hover .top-bar-brand{text-decoration:none}.top-bar .brand-wrap{min-width:0}.top-bar .top-bar-brand{min-height:30px;padding-block:2px}.top-bar .brand-full{display:none}.top-bar .brand-short,.top-bar .brand-wrap:hover .brand-short{opacity:1;display:inline-flex;position:static}}:where(h1,h2,h3,h4){overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
