@import 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:wght@400;500;600;700&display=swap';:root{--font-body:'Inter', sans-serif;--font-heading:'Source Serif 4', serif;--color-text:#292d32;--color-muted:#6b7280;--color-heading:#20252b;--color-link:#356b59;--color-link-hover:#244b3e;--color-border:#e5e7eb;--color-surface:#f8f9f7;--content-width:720px;--reading-line-height:1.8}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{font-family:var(--font-body);font-size:17px;font-weight:400;line-height:var(--reading-line-height);color:var(--color-text);background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{color:#fff;background-color:var(--color-link)}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--color-heading);letter-spacing:-.025em;text-wrap:balance}h1,.h1{font-size:clamp(2.4rem,5vw,3.75rem);font-weight:600;line-height:1.08;letter-spacing:-.035em;margin-bottom:1.5rem}h2,.h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-top:2.75rem;margin-bottom:1rem}h3,.h3{font-size:clamp(1.4rem,2.5vw,1.8rem);margin-top:2rem;margin-bottom:.75rem}h4,.h4{font-size:1.3rem;margin-top:1.5rem;margin-bottom:.75rem}h5,.h5{font-size:1.125rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1.4rem}.lead{font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.7;color:var(--color-muted)}small,.small,.text-muted{color:var(--color-muted) !important}strong,b{font-weight:600}a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease}a:hover{color:var(--color-link-hover)}a:focus-visible,button:focus-visible{outline:3px solid #82b9a3;outline-offset:3px}.navbar{font-family:var(--font-body);font-size:.9rem;font-weight:500}.navbar-brand{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;letter-spacing:-.03em}article{max-width:var(--content-width);margin-inline:auto}article h2:first-child,article h3:first-child{margin-top:0}article ul,article ol{padding-left:1.5rem;margin-top:.5rem;margin-bottom:1.75rem}article li{font-family:var(--font-body);font-size:1em;line-height:1.7;margin-bottom:.5rem;padding-left:.2rem}article li::marker{color:var(--color-link)}article li>ul,article li>ol{margin-top:.75rem;margin-bottom:.75rem}article blockquote{margin:2rem 0;padding:.5rem 0 .5rem 1.5rem;border-left:3px solid var(--color-link);color:var(--color-muted);font-family:var(--font-heading);font-size:1.25rem;line-height:1.6}article blockquote p:last-child{margin-bottom:0}.post-meta,.article-meta,.post-date,.post-category{font-family:var(--font-body);font-size:.8rem;line-height:1.5;color:var(--color-muted)}.post-category{color:var(--color-link);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.card{border-color:var(--color-border);border-radius:.75rem;box-shadow:none}.card-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.02em}.card-text{font-size:.95rem;line-height:1.75}.card a{text-decoration:none}.card a:hover{color:var(--color-link-hover)}.btn{font-family:var(--font-body);font-size:.9rem;font-weight:500;border-radius:.4rem;padding:.65rem 1.15rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.btn-primary{background-color:var(--color-link);border-color:var(--color-link)}.btn-primary:hover{background-color:var(--color-link-hover);border-color:var(--color-link-hover)}.form-control,.form-select{font-family:var(--font-body);font-size:.95rem;border-color:var(--color-border);border-radius:.4rem;padding:.7rem .85rem}.form-control:focus,.form-select:focus{border-color:var(--color-link);box-shadow:0 0 0 .2rem rgb(53 107 89/15%)}.form-label{font-size:.9rem;font-weight:600}code,pre,kbd,samp{font-family:sfmono-regular,Consolas,liberation mono,monospace}code{font-size:.88em;color:#8b3654}pre{padding:1.25rem;margin-bottom:1.75rem;overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.6rem;font-size:.875rem;line-height:1.7}pre code{color:inherit;font-size:inherit}table{font-size:.92rem;line-height:1.6}.table thead th{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}hr{margin:2.5rem 0;border:0;border-top:1px solid var(--color-border);opacity:1}footer{font-size:.875rem;line-height:1.7;color:var(--color-muted)}footer h2,footer h3,footer h4{font-family:var(--font-heading)}@media(max-width:767.98px){body{font-size:16px;line-height:1.75}h1,.h1{font-size:clamp(2.25rem,9vw,3rem);line-height:1.1}h2,.h2{margin-top:2.25rem}h3,.h3{margin-top:1.75rem}article ul,article ol{padding-left:1.25rem}article blockquote{padding-left:1rem;font-size:1.15rem}pre{padding:1rem;font-size:.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}}