@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light dark;--paper:#f5f4ee;--paper-raised:#fffefa;--ink:#20231f;--muted:#666b61;--line:#dedfd4;--accent:#c7f36b;--accent-ink:#243018;--dark-panel:#242821;--radius:1.25rem;--shell:1120px;--sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--display:"Manrope",var(--sans);--mono:"DM Mono",ui-monospace,monospace}
@media(prefers-color-scheme:dark){:root{--paper:#191c18;--paper-raised:#232720;--ink:#f1f2e9;--muted:#a9afa1;--line:#373d33;--accent:#c7f36b;--accent-ink:#243018;--dark-panel:#10130f}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.2em}a:focus-visible{outline:3px solid #71952f;outline-offset:4px;border-radius:3px}img{display:block;max-width:100%}.shell{width:min(var(--shell),calc(100% - 3rem));margin-inline:auto}.skip-link{position:absolute;z-index:10;top:.75rem;left:.75rem;padding:.7rem 1rem;background:var(--accent);color:var(--accent-ink);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.wordmark{font:800 1.6rem/1 var(--display);letter-spacing:-.09em;text-decoration:none}.wordmark span{color:#8cb63e}.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.1rem)}.primary-nav a{color:var(--muted);font-size:.9rem;text-decoration:none;transition:color .18s ease}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--ink)}.hero{min-height:610px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:clamp(3rem,8vw,7rem);padding-block:5.5rem 6.25rem}.eyebrow{margin:0 0 1.25rem;color:var(--muted);font:500 .75rem/1.5 var(--mono);letter-spacing:.055em;text-transform:uppercase}.status-dot{display:inline-block;width:.5rem;height:.5rem;margin-right:.45rem;border-radius:50%;background:#8eb943;box-shadow:0 0 0 4px color-mix(in srgb,#8eb943 18%,transparent);vertical-align:.05rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display)}.hero h1{max-width:720px;margin-bottom:1.6rem;font-size:clamp(3rem,6.1vw,5.25rem);line-height:1.06;letter-spacing:-.075em;font-weight:700}.hero h1 span{color:var(--muted);font-weight:500}.hero-intro{max-width:610px;color:var(--muted);font-size:1.05rem;line-height:1.85}.hero-intro p{margin-bottom:.8rem}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2rem}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:1.1rem;padding:.8rem 1.2rem;border:1px solid transparent;border-radius:999px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .18s ease,background .18s ease}.button:hover{transform:translateY(-2px)}.button-primary,.button-light{background:var(--accent);color:var(--accent-ink)}.button-primary:hover,.button-light:hover{background:#b9e85c}.text-link{font-size:.9rem;font-weight:600;text-decoration:none}.text-link span{margin-left:.3rem}.hero-visual{position:relative;width:100%;max-width:400px;justify-self:end}.portrait-frame{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:48% 48% var(--radius) var(--radius);background:#dfe5d1}.portrait-frame:after{position:absolute;inset:0;border:1px solid rgb(32 35 31 / 8%);border-radius:inherit;content:"";pointer-events:none}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center}.portrait-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#3b4a2c;font:800 8rem/1 var(--display);letter-spacing:-.1em}.visual-note{margin:1rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.6}.visual-note span{font:.72rem var(--mono);letter-spacing:.04em}.section{padding-block:2.5rem 7rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-heading .eyebrow{margin-bottom:.6rem}.section-heading h2,.contact-inner h2{margin-bottom:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;letter-spacing:-.065em}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.topic-card{position:relative;min-height:230px;padding:1.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);text-decoration:none;transition:border-color .2s ease,transform .2s ease}.topic-card:hover{border-color:#a9c66d;transform:translateY(-3px)}.card-index,.entry-date{color:var(--muted);font:.72rem var(--mono);letter-spacing:.04em}.topic-card h3{margin:1.4rem 2rem .6rem 0;font-size:1.35rem;letter-spacing:-.04em}.topic-card p{max-width:410px;margin-bottom:0;color:var(--muted);font-size:.93rem}.card-arrow{position:absolute;top:1.5rem;right:1.5rem;color:var(--muted)}.contact-band{padding-block:4.5rem;background:var(--dark-panel);color:#f1f2e9}.contact-inner{display:flex;align-items:end;justify-content:space-between;gap:3rem}.contact-inner .eyebrow{color:#b2baaa}.button-light{white-space:nowrap}.site-footer{padding-block:1.8rem;border-top:1px solid var(--line)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}.footer-inner p{margin:0;color:var(--muted);font-size:.8rem}.social-links{display:flex;flex-wrap:wrap;gap:1.1rem}.social-links a{color:var(--muted);font-size:.8rem;text-decoration:none}.social-links a:hover{color:var(--ink)}.prose-page{max-width:860px;min-height:58vh;padding-block:5.5rem 7rem}.page-heading{max-width:740px;margin-bottom:3rem}.page-heading h1{margin-bottom:1rem;font-size:clamp(2.8rem,6vw,4.6rem);line-height:1.08;letter-spacing:-.075em}.page-description{max-width:660px;color:var(--muted);font-size:1.15rem}.prose{max-width:720px;font-size:1.02rem}.prose h2{margin-top:2.5rem;font-size:1.65rem;letter-spacing:-.04em}.prose h3{margin-top:2rem;font-size:1.2rem}.prose p,.prose li{color:var(--muted)}.prose a{color:var(--ink);text-decoration-color:#8eb943;text-decoration-thickness:.12em}.prose blockquote{margin-inline:0;padding-left:1.25rem;border-left:3px solid var(--accent);color:var(--muted)}.entry-list{margin-top:2.5rem;border-top:1px solid var(--line)}.entry-card{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.75rem;border-bottom:1px solid var(--line)}.entry-card h2{margin:.35rem 0;font-size:1.5rem;letter-spacing:-.045em}.entry-card h2 a{text-decoration:none}.entry-card p:not(.entry-date){margin:.5rem 0 0;color:var(--muted)}.entry-date{margin-bottom:0}.entry-arrow{flex:0 0 auto;color:var(--muted);font-size:1.4rem;text-decoration:none}.quiet-note{display:flex;align-items:start;gap:1rem;margin-top:2.5rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised)}.quiet-note span{color:#8eb943;font-size:1.3rem}.quiet-note p{margin:0;color:var(--muted)}
@media(max-width:760px){.shell{width:min(var(--shell),calc(100% - 2rem))}.header-inner{min-height:74px;align-items:flex-start;flex-direction:column;justify-content:center;gap:.8rem;padding-block:1rem}.primary-nav{width:100%;gap:1.1rem;overflow-x:auto;padding-bottom:.2rem}.primary-nav a{flex:0 0 auto;font-size:.82rem}.hero{min-height:0;grid-template-columns:1fr;gap:2.5rem;padding-block:4rem 4.5rem}.hero h1{font-size:clamp(2.8rem,12vw,4.3rem)}.hero-visual{width:min(78%,340px);justify-self:center}.section{padding-block:1.5rem 4.5rem}.topic-grid{grid-template-columns:1fr}.topic-card{min-height:205px}.contact-inner{align-items:flex-start;flex-direction:column;gap:2rem}.footer-inner{align-items:flex-start;flex-direction:column}.prose-page{padding-block:4rem 5rem}}
@media(max-width:420px){.hero-actions{align-items:flex-start;flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column;gap:.5rem}.entry-card{gap:1rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
