:root{--bg: #ffffff;--bg-alt: #f7f7f5;--text: #1a1a1a;--muted: #6b6b6b;--border: #e6e6e2;--accent: #2f5d50;--accent-soft: #e7efec;--max: 860px;--radius: 10px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}.nav{position:sticky;top:0;z-index:50;background:#ffffffd9;-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.nav__inner{max-width:var(--max);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.nav__brand{font-weight:700;color:var(--text);letter-spacing:-.01em}.nav__brand:hover{text-decoration:none}.nav__links{display:flex;gap:22px;flex-wrap:wrap}.nav__links a{color:var(--muted);font-size:.94rem;font-weight:500}.nav__links a:hover{color:var(--accent);text-decoration:none}.btn{display:inline-block;padding:10px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);font-weight:600;font-size:.95rem;transition:transform .08s ease,border-color .15s ease,background .15s ease}.btn:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-1px)}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{background:#274d43}.hero{padding:96px 0 72px}.hero__inner{display:flex;flex-direction:column;gap:8px}.hero__eyebrow{margin:0;color:var(--accent);font-weight:600;letter-spacing:.02em}.hero__name{margin:6px 0 10px;font-family:var(--font-display);font-size:clamp(2.6rem,6.5vw,4rem);line-height:1.03;letter-spacing:-.02em;font-weight:700}.hero__tagline{margin:0 0 22px;max-width:640px;font-size:1.2rem;line-height:1.55;color:var(--muted)}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.hero__meta{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.95rem}.pillars-section{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:40px 0}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.pillar__title{margin:0 0 8px;font-size:1.02rem;font-weight:700;color:var(--accent)}.pillar__body{margin:0;color:var(--muted);font-size:.96rem}@media (max-width: 720px){.pillars{grid-template-columns:1fr;gap:20px}}.section{padding:64px 0}.section--alt{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section__title{margin:0 0 30px;font-family:var(--font-display);font-size:1.8rem;letter-spacing:-.01em;font-weight:700}.about{display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:start}.about__photo img{width:100%;border-radius:var(--radius);border:1px solid var(--border);display:block}.about__body p{margin:0 0 16px}.about__body .section__title{margin-bottom:18px}.about__nl{color:var(--muted)}.casestudy{border-top:3px solid var(--accent);padding-top:34px}.casestudy__eyebrow{margin:0 0 6px;color:var(--accent);font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.casestudy__title{margin-bottom:18px}.casestudy__situation{margin:0 0 28px;font-size:1.06rem;max-width:70ch}.casestudy__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:34px}.metric{background:var(--accent-soft);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:6px}.metric__value{font-size:1.9rem;font-weight:800;color:var(--accent);letter-spacing:-.02em;line-height:1}.metric__label{font-size:.9rem;color:var(--muted)}.casestudy__moves{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin-bottom:28px}.move__label{margin:0 0 6px;font-size:1rem;font-weight:700}.move__body{margin:0;color:#333;font-size:.96rem}.casestudy__closing{margin:0;padding-top:22px;border-top:1px solid var(--border);color:var(--muted);max-width:70ch}@media (max-width: 680px){.casestudy__metrics,.casestudy__moves{grid-template-columns:1fr}}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline__item{position:relative;padding:0 0 34px 26px;border-left:2px solid var(--border)}.timeline__item:last-child{border-left-color:transparent;padding-bottom:0}.timeline__item:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-alt)}.timeline__head{margin-bottom:10px}.timeline__title{margin:0;font-size:1.1rem;font-weight:700}.timeline__at{color:var(--muted);font-weight:400}.timeline__meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin-top:2px}.timeline__period{font-variant-numeric:tabular-nums}.timeline__points{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.timeline__points li{color:#333}.timeline__item--condensed{padding-bottom:22px}.timeline__item--condensed:before{width:9px;height:9px;top:8px;left:-5px;background:var(--border)}.timeline__item--condensed .timeline__title{font-size:1rem;font-weight:600;color:var(--muted)}.timeline__item--condensed .timeline__company,.timeline__item--condensed a{color:var(--text)}.timeline__note{margin:6px 0 0;color:var(--muted);font-size:.94rem}.credentials{margin-top:44px;padding-top:28px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px 28px}.credentials__label{margin:0 0 12px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.credentials__edu{margin:0;font-weight:600;display:flex;flex-direction:column;gap:2px}.credentials__eduschool{font-weight:400;color:var(--muted);font-size:.94rem}.skills__tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:5px 12px;font-size:.88rem;font-weight:500}.footer{padding:64px 0 48px;background:var(--accent);color:#eaf1ee}.footer .section__title,.footer__lead{color:#fff}.footer__lead{max-width:520px;margin:0 0 22px}.footer__links{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.footer .btn{background:transparent;border-color:#ffffff59;color:#fff}.footer .btn:hover{border-color:#fff}.footer .btn--primary{background:#fff;color:var(--accent);border-color:#fff}.footer .btn--primary:hover{background:#eef4f1}.footer__fine{margin:0;font-size:.85rem;color:#ffffffb3}@media (max-width: 640px){.about{grid-template-columns:1fr;gap:20px}.about__photo{max-width:160px}.nav__links{gap:14px}.hero{padding:72px 0 56px}}.blog,.post,.notfound{padding:56px 0 72px}.blog__eyebrow{margin:0 0 6px;color:var(--accent);font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.blog__title{font-family:var(--font-display);font-size:2.1rem;line-height:1.2;letter-spacing:-.015em;margin:0 0 12px}.blog__lead{margin:0;color:var(--muted);max-width:62ch}.blog__header{margin-bottom:20px}.blog__section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-weight:600}.blog__empty{color:var(--muted)}.blog__subnav{display:flex;align-items:center;gap:20px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:28px;font-size:.95rem}.blog__subnav a{color:var(--muted)}.blog__subnav a:hover,.blog__subnav a.is-current{color:var(--accent);text-decoration:none}.blog__subnav a.is-current{font-weight:600}.blog__subnav-feed{margin-left:auto;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.nav__links a.is-current{color:var(--accent);font-weight:600}.blog__search{position:relative;display:flex;align-items:center;gap:10px;margin-bottom:32px}.blog__search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.blog__search-input{flex:1;font:inherit;font-size:.98rem;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.blog__search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.blog__search-clear{font:inherit;font-size:.9rem;cursor:pointer;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--muted)}.blog__search-clear:hover{border-color:var(--accent);color:var(--accent)}.blog__result-count{margin:0 0 18px;color:var(--muted);font-size:.92rem}mark{background:#fdf2c4;color:inherit;padding:0 1px;border-radius:2px}.blog__topics{margin-bottom:34px}.post-list{list-style:none;margin:0;padding:0}.post-card{padding:26px 0;border-top:1px solid var(--border)}.post-card:last-child{border-bottom:1px solid var(--border)}.post-card__title{font-family:var(--font-display);font-size:1.4rem;line-height:1.3;margin:4px 0 8px;font-weight:700}.post-card__title a{color:var(--text)}.post-card__title a:hover{color:var(--accent);text-decoration:none}.post-card__excerpt{margin:0 0 12px;color:#444;max-width:70ch}.post-meta{margin:0;color:var(--muted);font-size:.88rem;font-variant-numeric:tabular-nums}.post-meta__draft{margin-left:10px;background:#fdf2c4;color:#6b5300;border-radius:999px;padding:2px 9px;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.tag-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tag-list--wide{gap:10px}a.tag:hover{background:var(--accent);color:#fff;text-decoration:none}.tag__count{opacity:.65;font-variant-numeric:tabular-nums;margin-left:2px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:34px}.pagination__status{color:var(--muted);font-size:.9rem}.pagination__link{font-weight:600}.archive__year{margin-bottom:34px}.archive__heading{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--font-display);font-size:1.5rem;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.archive__count{font-family:var(--font);font-size:.85rem;font-weight:400;color:var(--muted)}.archive__list{list-style:none;margin:0;padding:0}.archive__item{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--bg-alt)}.archive__date,.archive__reading{color:var(--muted);font-size:.86rem;font-variant-numeric:tabular-nums}.archive__link{color:var(--text)}.archive__link:hover{color:var(--accent)}.post__back{margin:0 0 22px;font-size:.9rem}.post__header{margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--border)}.post__title{font-family:var(--font-display);font-size:2.3rem;line-height:1.18;letter-spacing:-.02em;margin:0 0 10px;max-width:22ch}.post__header .tag-list{margin-top:14px}.post__updated{margin:4px 0 0;font-size:.86rem;color:var(--muted)}.post__toc{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;margin-bottom:34px}.post__toc-title{margin:0 0 8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.post__toc ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px;font-size:.95rem}.post__footer{margin-top:48px;padding-top:26px;border-top:1px solid var(--border)}.post__neighbours{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}.post__neighbour{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}.post__neighbour:hover{border-color:var(--accent);text-decoration:none}.post__neighbour--right{text-align:right}.post__neighbour-label{font-size:.8rem;color:var(--accent);font-weight:600}.post__neighbour-title{font-weight:600;line-height:1.35}.post__cta{margin:0;color:var(--muted);font-size:.94rem}.prose{max-width:70ch;font-size:1.06rem}.prose>*+*{margin-top:1.1em}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);line-height:1.25;letter-spacing:-.01em;scroll-margin-top:90px}.prose h2{font-size:1.55rem;margin-top:2em}.prose h3{font-size:1.22rem;margin-top:1.7em}.prose h4{font-size:1.05rem;margin-top:1.5em}.prose a{text-decoration:underline;text-underline-offset:2px}.prose ul,.prose ol{padding-left:24px}.prose li+li{margin-top:.4em}.prose blockquote{margin-left:0;margin-right:0;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:#444;font-style:italic}.prose blockquote p{margin:0}.prose img{max-width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);display:block}.prose figcaption,.prose img+em{color:var(--muted);font-size:.88rem}.prose hr{border:0;border-top:1px solid var(--border);margin:2.4em 0}.prose code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.88em;background:var(--bg-alt);border:1px solid var(--border);border-radius:5px;padding:1px 5px}.prose pre{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;overflow-x:auto;font-size:.9rem;line-height:1.55}.prose pre code{background:none;border:0;padding:0;font-size:inherit}.prose table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:8px 12px;text-align:left}.prose th{background:var(--bg-alt);font-weight:600}.prose kbd{border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:.85em}.heading-anchor{margin-left:8px;color:var(--border);text-decoration:none;font-weight:400}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose h4:hover .heading-anchor{color:var(--accent)}.footnotes{margin-top:3em;padding-top:1.2em;border-top:1px solid var(--border);font-size:.93rem;color:var(--muted)}.footnotes ol{padding-left:20px}.latest-writing{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:24px}.latest-writing__title{font-family:var(--font-display);font-size:1.2rem;margin:4px 0 6px}.latest-writing__title a{color:var(--text)}.latest-writing__title a:hover{color:var(--accent);text-decoration:none}.latest-writing__excerpt{margin:0;color:var(--muted);font-size:.96rem;max-width:70ch}.latest-writing__more{margin:0}@media (max-width: 640px){.post__title{font-size:1.8rem}.blog__title{font-size:1.7rem}.post__neighbours{grid-template-columns:1fr}.archive__item{grid-template-columns:92px 1fr}.archive__reading{display:none}.blog__subnav{gap:14px}}
